@major-tech/resource-client 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/generate-clients.mjs +56 -26
- package/dist/base.cjs +7 -2
- package/dist/base.cjs.map +2 -2
- package/dist/base.d.ts +6 -0
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +6 -1
- package/dist/base.js.map +1 -1
- package/package.json +1 -1
package/bin/generate-clients.mjs
CHANGED
|
@@ -27,13 +27,35 @@ const __dirname = path.dirname(__filename);
|
|
|
27
27
|
// User's project root (where the command is run from)
|
|
28
28
|
const projectRoot = process.cwd();
|
|
29
29
|
const resourcesConfigPath = path.join(projectRoot, 'resources.json');
|
|
30
|
-
|
|
30
|
+
|
|
31
|
+
function getClientsDir() {
|
|
32
|
+
const srcDir = path.join(projectRoot, 'src');
|
|
33
|
+
if (fs.existsSync(srcDir)) {
|
|
34
|
+
return path.join(srcDir, 'clients');
|
|
35
|
+
}
|
|
36
|
+
return path.join(projectRoot, 'clients');
|
|
37
|
+
}
|
|
31
38
|
|
|
32
39
|
/**
|
|
33
40
|
* Client template
|
|
34
41
|
*/
|
|
35
|
-
function clientTemplate(data) {
|
|
36
|
-
|
|
42
|
+
function clientTemplate(data, framework) {
|
|
43
|
+
const isNextJs = framework === 'nextjs';
|
|
44
|
+
|
|
45
|
+
const imports = [
|
|
46
|
+
`import { ${data.clientClass} } from '@major-tech/resource-client';`,
|
|
47
|
+
isNextJs ? `import { headers } from 'next/headers';` : ''
|
|
48
|
+
].filter(Boolean).join('\n');
|
|
49
|
+
|
|
50
|
+
const getHeadersConfig = isNextJs ? `
|
|
51
|
+
getHeaders: async () => {
|
|
52
|
+
const h = await headers();
|
|
53
|
+
return {
|
|
54
|
+
'x-major-user-jwt': h.get('x-major-user-jwt') || '',
|
|
55
|
+
};
|
|
56
|
+
},` : '';
|
|
57
|
+
|
|
58
|
+
return `${imports}
|
|
37
59
|
|
|
38
60
|
/**
|
|
39
61
|
* ${data.description}
|
|
@@ -45,8 +67,8 @@ function clientTemplate(data) {
|
|
|
45
67
|
* DO NOT EDIT - Auto-generated by @major-tech/resource-client
|
|
46
68
|
*/
|
|
47
69
|
|
|
48
|
-
const BASE_URL = import.meta.env.MAJOR_API_BASE_URL || 'https://api.prod.major.build';
|
|
49
|
-
const MAJOR_JWT_TOKEN = import.meta.env.MAJOR_JWT_TOKEN;
|
|
70
|
+
const BASE_URL = ${isNextJs ? 'process.env.MAJOR_API_BASE_URL' : 'import.meta.env.MAJOR_API_BASE_URL'} || 'https://api.prod.major.build';
|
|
71
|
+
const MAJOR_JWT_TOKEN = ${isNextJs ? 'process.env.MAJOR_JWT_TOKEN' : 'import.meta.env.MAJOR_JWT_TOKEN'};
|
|
50
72
|
|
|
51
73
|
class ${data.clientName}Singleton {
|
|
52
74
|
private static instance: ${data.clientClass} | null = null;
|
|
@@ -58,7 +80,7 @@ class ${data.clientName}Singleton {
|
|
|
58
80
|
majorJwtToken: MAJOR_JWT_TOKEN,
|
|
59
81
|
applicationId: '${data.applicationId}',
|
|
60
82
|
resourceId: '${data.resourceId}',
|
|
61
|
-
fetch: (...args) => fetch(...args)
|
|
83
|
+
fetch: (...args) => fetch(...args),${getHeadersConfig}
|
|
62
84
|
});
|
|
63
85
|
}
|
|
64
86
|
return ${data.clientName}Singleton.instance;
|
|
@@ -127,7 +149,7 @@ function getClientClass(type) {
|
|
|
127
149
|
return typeMap[type] || 'PostgresResourceClient';
|
|
128
150
|
}
|
|
129
151
|
|
|
130
|
-
function generateClientFile(resource) {
|
|
152
|
+
function generateClientFile(resource, framework) {
|
|
131
153
|
const clientName = toCamelCase(resource.name) + 'Client';
|
|
132
154
|
const clientClass = getClientClass(resource.type);
|
|
133
155
|
|
|
@@ -138,7 +160,7 @@ function generateClientFile(resource) {
|
|
|
138
160
|
resourceId: resource.id,
|
|
139
161
|
applicationId: resource.applicationId,
|
|
140
162
|
clientName,
|
|
141
|
-
});
|
|
163
|
+
}, framework);
|
|
142
164
|
}
|
|
143
165
|
|
|
144
166
|
function generateIndexFile(resources) {
|
|
@@ -155,7 +177,7 @@ function generateIndexFile(resources) {
|
|
|
155
177
|
return indexTemplate({ exports });
|
|
156
178
|
}
|
|
157
179
|
|
|
158
|
-
function addResource(resourceId, name, type, description, applicationId) {
|
|
180
|
+
function addResource(resourceId, name, type, description, applicationId, framework) {
|
|
159
181
|
const validTypes = ['database-postgresql', 'database-dynamodb', 'api-hubspot', 'api-custom', 'storage-s3'];
|
|
160
182
|
if (!validTypes.includes(type)) {
|
|
161
183
|
console.error(`❌ Invalid type: ${type}`);
|
|
@@ -192,13 +214,13 @@ function addResource(resourceId, name, type, description, applicationId) {
|
|
|
192
214
|
console.log(` Type: ${type}`);
|
|
193
215
|
console.log(` ID: ${resourceId}`);
|
|
194
216
|
|
|
195
|
-
regenerateClients(resources);
|
|
217
|
+
regenerateClients(resources, framework);
|
|
196
218
|
}
|
|
197
219
|
|
|
198
220
|
/**
|
|
199
221
|
* Remove a resource by name
|
|
200
222
|
*/
|
|
201
|
-
function removeResource(name) {
|
|
223
|
+
function removeResource(name, framework) {
|
|
202
224
|
const resources = loadResources();
|
|
203
225
|
const index = resources.findIndex(r => r.name === name);
|
|
204
226
|
|
|
@@ -213,7 +235,7 @@ function removeResource(name) {
|
|
|
213
235
|
console.log(`✅ Removed resource: ${removed.name}`);
|
|
214
236
|
console.log(` ID: ${removed.id}`);
|
|
215
237
|
|
|
216
|
-
regenerateClients(resources);
|
|
238
|
+
regenerateClients(resources, framework);
|
|
217
239
|
}
|
|
218
240
|
|
|
219
241
|
/**
|
|
@@ -239,7 +261,9 @@ function listResources() {
|
|
|
239
261
|
/**
|
|
240
262
|
* Regenerate all client files
|
|
241
263
|
*/
|
|
242
|
-
function regenerateClients(resources) {
|
|
264
|
+
function regenerateClients(resources, framework) {
|
|
265
|
+
const clientsDir = getClientsDir();
|
|
266
|
+
|
|
243
267
|
// Ensure clients directory exists
|
|
244
268
|
if (!fs.existsSync(clientsDir)) {
|
|
245
269
|
fs.mkdirSync(clientsDir, { recursive: true });
|
|
@@ -255,7 +279,7 @@ function regenerateClients(resources) {
|
|
|
255
279
|
resources.forEach(resource => {
|
|
256
280
|
const fileName = toCamelCase(resource.name) + '.ts';
|
|
257
281
|
const filePath = path.join(clientsDir, fileName);
|
|
258
|
-
const code = generateClientFile(resource);
|
|
282
|
+
const code = generateClientFile(resource, framework);
|
|
259
283
|
fs.writeFileSync(filePath, code, 'utf-8');
|
|
260
284
|
});
|
|
261
285
|
|
|
@@ -265,6 +289,9 @@ function regenerateClients(resources) {
|
|
|
265
289
|
fs.writeFileSync(indexPath, indexCode, 'utf-8');
|
|
266
290
|
|
|
267
291
|
console.log(`✅ Generated ${resources.length} client(s) in ${clientsDir}`);
|
|
292
|
+
if (framework) {
|
|
293
|
+
console.log(` Framework: ${framework}`);
|
|
294
|
+
}
|
|
268
295
|
}
|
|
269
296
|
|
|
270
297
|
/**
|
|
@@ -274,10 +301,19 @@ function main() {
|
|
|
274
301
|
const args = process.argv.slice(2);
|
|
275
302
|
const command = args[0];
|
|
276
303
|
|
|
304
|
+
// Extract --framework flag
|
|
305
|
+
const frameworkIndex = args.indexOf('--framework');
|
|
306
|
+
let framework = undefined;
|
|
307
|
+
if (frameworkIndex !== -1 && args[frameworkIndex + 1]) {
|
|
308
|
+
framework = args[frameworkIndex + 1];
|
|
309
|
+
// Remove --framework and its value from args
|
|
310
|
+
args.splice(frameworkIndex, 2);
|
|
311
|
+
}
|
|
312
|
+
|
|
277
313
|
if (!command) {
|
|
278
314
|
console.log('Usage:');
|
|
279
|
-
console.log(' npx @major-tech/resource-client add <resource_id> <name> <type> <description> <application_id>');
|
|
280
|
-
console.log(' npx @major-tech/resource-client remove <name>');
|
|
315
|
+
console.log(' npx @major-tech/resource-client add <resource_id> <name> <type> <description> <application_id> [--framework <nextjs|vite>]');
|
|
316
|
+
console.log(' npx @major-tech/resource-client remove <name> [--framework <nextjs|vite>]');
|
|
281
317
|
console.log(' npx @major-tech/resource-client list');
|
|
282
318
|
console.log('\nTypes: database-postgresql | database-dynamodb | api-hubspot | api-custom | storage-s3');
|
|
283
319
|
return;
|
|
@@ -288,10 +324,10 @@ function main() {
|
|
|
288
324
|
const [, resourceId, name, type, description, applicationId] = args;
|
|
289
325
|
if (!resourceId || !name || !type || !description || !applicationId) {
|
|
290
326
|
console.error('❌ Missing arguments');
|
|
291
|
-
console.log('Usage: add <resource_id> <name> <type> <description> <application_id>');
|
|
327
|
+
console.log('Usage: add <resource_id> <name> <type> <description> <application_id> [--framework <nextjs|vite>]');
|
|
292
328
|
process.exit(1);
|
|
293
329
|
}
|
|
294
|
-
addResource(resourceId, name, type, description, applicationId);
|
|
330
|
+
addResource(resourceId, name, type, description, applicationId, framework);
|
|
295
331
|
break;
|
|
296
332
|
}
|
|
297
333
|
|
|
@@ -301,7 +337,7 @@ function main() {
|
|
|
301
337
|
console.error('❌ Missing name');
|
|
302
338
|
process.exit(1);
|
|
303
339
|
}
|
|
304
|
-
removeResource(name);
|
|
340
|
+
removeResource(name, framework);
|
|
305
341
|
break;
|
|
306
342
|
}
|
|
307
343
|
|
|
@@ -309,13 +345,7 @@ function main() {
|
|
|
309
345
|
listResources();
|
|
310
346
|
break;
|
|
311
347
|
}
|
|
312
|
-
|
|
313
|
-
case 'regenerate': {
|
|
314
|
-
const resources = loadResources();
|
|
315
|
-
regenerateClients(resources);
|
|
316
|
-
break;
|
|
317
|
-
}
|
|
318
|
-
|
|
348
|
+
|
|
319
349
|
default: {
|
|
320
350
|
console.error(`❌ Unknown command: ${command}`);
|
|
321
351
|
process.exit(1);
|
package/dist/base.cjs
CHANGED
|
@@ -34,7 +34,8 @@ class BaseResourceClient {
|
|
|
34
34
|
majorJwtToken: config.majorJwtToken,
|
|
35
35
|
applicationId: config.applicationId,
|
|
36
36
|
resourceId: config.resourceId,
|
|
37
|
-
fetch: config.fetch || globalThis.fetch
|
|
37
|
+
fetch: config.fetch || globalThis.fetch,
|
|
38
|
+
getHeaders: config.getHeaders
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
41
|
async invokeRaw(payload, invocationKey) {
|
|
@@ -43,12 +44,16 @@ class BaseResourceClient {
|
|
|
43
44
|
payload,
|
|
44
45
|
invocationKey
|
|
45
46
|
};
|
|
46
|
-
|
|
47
|
+
let headers = {
|
|
47
48
|
"Content-Type": "application/json"
|
|
48
49
|
};
|
|
49
50
|
if (this.config.majorJwtToken) {
|
|
50
51
|
headers["x-major-jwt"] = this.config.majorJwtToken;
|
|
51
52
|
}
|
|
53
|
+
if (this.config.getHeaders) {
|
|
54
|
+
const extraHeaders = await this.config.getHeaders();
|
|
55
|
+
headers = { ...headers, ...extraHeaders };
|
|
56
|
+
}
|
|
52
57
|
try {
|
|
53
58
|
const response = await this.config.fetch(url, {
|
|
54
59
|
method: "POST",
|
package/dist/base.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/base.ts"],
|
|
4
|
-
"sourcesContent": ["import type {\n ResourceInvokePayload,\n InvokeResponse,\n InvokeRequest,\n} from \"./schemas\";\nimport { ResourceInvokeError } from \"./errors\";\n\nexport interface BaseClientConfig {\n baseUrl: string;\n majorJwtToken?: string;\n applicationId: string;\n resourceId: string;\n fetch?: typeof fetch;\n}\n\nexport abstract class BaseResourceClient {\n protected readonly config: {\n baseUrl: string;\n majorJwtToken?: string;\n applicationId: string;\n resourceId: string;\n fetch: typeof fetch;\n };\n\n constructor(config: BaseClientConfig) {\n this.config = {\n baseUrl: config.baseUrl.replace(/\\/$/, \"\"),\n majorJwtToken: config.majorJwtToken,\n applicationId: config.applicationId,\n resourceId: config.resourceId,\n fetch: config.fetch || globalThis.fetch,\n };\n }\n\n protected async invokeRaw(\n payload: ResourceInvokePayload,\n invocationKey: string,\n ): Promise<InvokeResponse> {\n const url = `${this.config.baseUrl}/internal/apps/v1/${this.config.applicationId}/resource/${this.config.resourceId}/invoke`;\n \n const body: InvokeRequest = {\n payload,\n invocationKey,\n };\n\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAKA;;;;;AAAA,oBAAoC;
|
|
4
|
+
"sourcesContent": ["import type {\n ResourceInvokePayload,\n InvokeResponse,\n InvokeRequest,\n} from \"./schemas\";\nimport { ResourceInvokeError } from \"./errors\";\n\nexport interface BaseClientConfig {\n baseUrl: string;\n majorJwtToken?: string;\n applicationId: string;\n resourceId: string;\n fetch?: typeof fetch;\n /**\n * Optional function to get additional headers (e.g. for auth)\n * Useful for Next.js Server Components where headers() must be called dynamically\n */\n getHeaders?: () => Promise<Record<string, string>> | Record<string, string>;\n}\n\nexport abstract class BaseResourceClient {\n protected readonly config: {\n baseUrl: string;\n majorJwtToken?: string;\n applicationId: string;\n resourceId: string;\n fetch: typeof fetch;\n getHeaders?: () => Promise<Record<string, string>> | Record<string, string>;\n };\n\n constructor(config: BaseClientConfig) {\n this.config = {\n baseUrl: config.baseUrl.replace(/\\/$/, \"\"),\n majorJwtToken: config.majorJwtToken,\n applicationId: config.applicationId,\n resourceId: config.resourceId,\n fetch: config.fetch || globalThis.fetch,\n getHeaders: config.getHeaders,\n };\n }\n\n protected async invokeRaw(\n payload: ResourceInvokePayload,\n invocationKey: string,\n ): Promise<InvokeResponse> {\n const url = `${this.config.baseUrl}/internal/apps/v1/${this.config.applicationId}/resource/${this.config.resourceId}/invoke`;\n \n const body: InvokeRequest = {\n payload,\n invocationKey,\n };\n\n let headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n };\n\n if (this.config.majorJwtToken) {\n headers[\"x-major-jwt\"] = this.config.majorJwtToken;\n }\n\n if (this.config.getHeaders) {\n const extraHeaders = await this.config.getHeaders();\n headers = { ...headers, ...extraHeaders };\n }\n\n try {\n const response = await this.config.fetch(url, {\n method: \"POST\",\n headers,\n credentials: \"include\",\n body: JSON.stringify(body),\n });\n\n const data = await response.json();\n return data as InvokeResponse;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new ResourceInvokeError(`Failed to invoke resource: ${message}`);\n }\n }\n}\n\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAKA;;;;;AAAA,oBAAoC;AAe9B,MAAgB,mBAAkB;EAfxC,OAewC;;;EACnB;EASnB,YAAY,QAAwB;AAClC,SAAK,SAAS;MACZ,SAAS,OAAO,QAAQ,QAAQ,OAAO,EAAE;MACzC,eAAe,OAAO;MACtB,eAAe,OAAO;MACtB,YAAY,OAAO;MACnB,OAAO,OAAO,SAAS,WAAW;MAClC,YAAY,OAAO;;EAEvB;EAEU,MAAM,UACd,SACA,eAAqB;AAErB,UAAM,MAAM,GAAG,KAAK,OAAO,OAAO,qBAAqB,KAAK,OAAO,aAAa,aAAa,KAAK,OAAO,UAAU;AAEnH,UAAM,OAAsB;MAC1B;MACA;;AAGF,QAAI,UAAkC;MACpC,gBAAgB;;AAGlB,QAAI,KAAK,OAAO,eAAe;AAC7B,cAAQ,aAAa,IAAI,KAAK,OAAO;IACvC;AAEA,QAAI,KAAK,OAAO,YAAY;AAC1B,YAAM,eAAe,MAAM,KAAK,OAAO,WAAU;AACjD,gBAAU,EAAE,GAAG,SAAS,GAAG,aAAY;IACzC;AAEA,QAAI;AACF,YAAM,WAAW,MAAM,KAAK,OAAO,MAAM,KAAK;QAC5C,QAAQ;QACR;QACA,aAAa;QACb,MAAM,KAAK,UAAU,IAAI;OAC1B;AAED,YAAM,OAAO,MAAM,SAAS,KAAI;AAChC,aAAO;IACT,SAAS,OAAO;AACd,YAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,YAAM,IAAI,kCAAoB,8BAA8B,OAAO,EAAE;IACvE;EACF;;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/base.d.ts
CHANGED
|
@@ -5,6 +5,11 @@ export interface BaseClientConfig {
|
|
|
5
5
|
applicationId: string;
|
|
6
6
|
resourceId: string;
|
|
7
7
|
fetch?: typeof fetch;
|
|
8
|
+
/**
|
|
9
|
+
* Optional function to get additional headers (e.g. for auth)
|
|
10
|
+
* Useful for Next.js Server Components where headers() must be called dynamically
|
|
11
|
+
*/
|
|
12
|
+
getHeaders?: () => Promise<Record<string, string>> | Record<string, string>;
|
|
8
13
|
}
|
|
9
14
|
export declare abstract class BaseResourceClient {
|
|
10
15
|
protected readonly config: {
|
|
@@ -13,6 +18,7 @@ export declare abstract class BaseResourceClient {
|
|
|
13
18
|
applicationId: string;
|
|
14
19
|
resourceId: string;
|
|
15
20
|
fetch: typeof fetch;
|
|
21
|
+
getHeaders?: () => Promise<Record<string, string>> | Record<string, string>;
|
|
16
22
|
};
|
|
17
23
|
constructor(config: BaseClientConfig);
|
|
18
24
|
protected invokeRaw(payload: ResourceInvokePayload, invocationKey: string): Promise<InvokeResponse>;
|
package/dist/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EAEf,MAAM,WAAW,CAAC;AAGnB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EAEf,MAAM,WAAW,CAAC;AAGnB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7E;AAED,8BAAsB,kBAAkB;IACtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,OAAO,KAAK,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7E,CAAC;gBAEU,MAAM,EAAE,gBAAgB;cAWpB,SAAS,CACvB,OAAO,EAAE,qBAAqB,EAC9B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,CAAC;CAoC3B"}
|
package/dist/base.js
CHANGED
|
@@ -8,6 +8,7 @@ export class BaseResourceClient {
|
|
|
8
8
|
applicationId: config.applicationId,
|
|
9
9
|
resourceId: config.resourceId,
|
|
10
10
|
fetch: config.fetch || globalThis.fetch,
|
|
11
|
+
getHeaders: config.getHeaders,
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
async invokeRaw(payload, invocationKey) {
|
|
@@ -16,12 +17,16 @@ export class BaseResourceClient {
|
|
|
16
17
|
payload,
|
|
17
18
|
invocationKey,
|
|
18
19
|
};
|
|
19
|
-
|
|
20
|
+
let headers = {
|
|
20
21
|
"Content-Type": "application/json",
|
|
21
22
|
};
|
|
22
23
|
if (this.config.majorJwtToken) {
|
|
23
24
|
headers["x-major-jwt"] = this.config.majorJwtToken;
|
|
24
25
|
}
|
|
26
|
+
if (this.config.getHeaders) {
|
|
27
|
+
const extraHeaders = await this.config.getHeaders();
|
|
28
|
+
headers = { ...headers, ...extraHeaders };
|
|
29
|
+
}
|
|
25
30
|
try {
|
|
26
31
|
const response = await this.config.fetch(url, {
|
|
27
32
|
method: "POST",
|
package/dist/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAe/C,MAAM,OAAgB,kBAAkB;IACnB,MAAM,CAOvB;IAEF,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK;YACvC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,OAA8B,EAC9B,aAAqB;QAErB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,qBAAqB,IAAI,CAAC,MAAM,CAAC,aAAa,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU,SAAS,CAAC;QAE7H,MAAM,IAAI,GAAkB;YAC1B,OAAO;YACP,aAAa;SACd,CAAC;QAEF,IAAI,OAAO,GAA2B;YACpC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9B,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACpD,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC5C,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAsB,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED