-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.ts
123 lines (97 loc) · 2.45 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
export interface SwellConfig {
description?: string;
route?: {
public?: boolean;
methods?: [string, ...string[]];
headers?: { [key: string]: string };
cache?: {
timeout?: number;
};
};
model?: {
events: [string, ...string[]];
conditions?: object;
schedule?: {
formula: string;
};
sequence?: number;
};
cron?: {
schedule: string;
};
}
export interface SwellStore {
id: string;
url: string;
admin_url: string;
}
export declare class SwellRequest {
originalRequest: Request;
context: any;
url: string;
method: string;
headers: Headers;
referrer: string | undefined;
credentials: string | undefined;
appId?: string | null;
storeId?: string | null;
accessToken?: string | null;
publicKey?: string | null;
store: SwellStore;
session?: { [key: string]: any };
apiHost: string;
logParams?: object;
swell: SwellAPI;
body: SwellData;
data: SwellData;
query: { [key: string]: string };
constructor(originalRequest: Request, context: any);
initialize(): Promise<void>;
parseJson(input: string): object;
appValues(idOrValues: object | string, values?: object): object | undefined;
}
export type SwellRequestMethod = "get" | "put" | "post" | "delete";
export interface SwellData {
[key: string]: any;
}
export interface SwellSettings {
[key: string]: any;
}
export declare class SwellAPI {
request: SwellRequest;
baseUrl: string;
basicAuth: string;
context: any;
constructor(req: SwellRequest, context: any);
toBase64(inputString: string): string;
stringifyQuery(queryObject: Record<string, any>, prefix?: string): string;
makeRequest(
method: SwellRequestMethod,
url: string,
data?: any
): Promise<any>;
get(url: string, query?: any): Promise<any>;
put(url: string, data: any): Promise<any>;
post(url: string, data: any): Promise<any>;
delete(url: string, data: any): Promise<any>;
settings(id?: string): Promise<SwellSettings>;
}
export interface SwellErrorOptions {
method?: string;
endpointUrl?: string;
status?: number;
}
export declare class SwellError extends Error {
status: number;
constructor(message: string | object, options?: SwellErrorOptions);
}
export interface SwellResponseOptions extends ResponseInit {
status?: number;
headers?: HeadersInit;
}
export declare class SwellResponse extends Response {
constructor(
data: string | object | undefined,
options?: SwellResponseOptions
);
}