quickbase-js 2.1.0 → 2.2.1

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.
Files changed (112) hide show
  1. package/README.md +700 -90
  2. package/bin/quickbase-js.js +54 -0
  3. package/dist/auth/index.d.ts.map +1 -1
  4. package/dist/auth/index.js +5 -1
  5. package/dist/auth/index.js.map +1 -1
  6. package/dist/auth/ticket.d.ts +13 -0
  7. package/dist/auth/ticket.d.ts.map +1 -1
  8. package/dist/auth/ticket.js +103 -3
  9. package/dist/auth/ticket.js.map +1 -1
  10. package/dist/cli/schema.d.ts +23 -0
  11. package/dist/cli/schema.d.ts.map +1 -0
  12. package/dist/cli/schema.js +425 -0
  13. package/dist/cli/schema.js.map +1 -0
  14. package/dist/client/request.d.ts +2 -1
  15. package/dist/client/request.d.ts.map +1 -1
  16. package/dist/client/request.js +165 -18
  17. package/dist/client/request.js.map +1 -1
  18. package/dist/core/config.d.ts.map +1 -1
  19. package/dist/core/config.js +4 -0
  20. package/dist/core/config.js.map +1 -1
  21. package/dist/core/errors.d.ts +17 -0
  22. package/dist/core/errors.d.ts.map +1 -1
  23. package/dist/core/errors.js +32 -0
  24. package/dist/core/errors.js.map +1 -1
  25. package/dist/core/index.d.ts +2 -2
  26. package/dist/core/index.d.ts.map +1 -1
  27. package/dist/core/index.js +1 -1
  28. package/dist/core/index.js.map +1 -1
  29. package/dist/core/schema.d.ts +37 -0
  30. package/dist/core/schema.d.ts.map +1 -0
  31. package/dist/core/schema.js +168 -0
  32. package/dist/core/schema.js.map +1 -0
  33. package/dist/core/transform.d.ts +36 -0
  34. package/dist/core/transform.d.ts.map +1 -0
  35. package/dist/core/transform.js +205 -0
  36. package/dist/core/transform.js.map +1 -0
  37. package/dist/core/types.d.ts +108 -0
  38. package/dist/core/types.d.ts.map +1 -1
  39. package/dist/core/types.js.map +1 -1
  40. package/dist/index.d.ts +11 -2
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +7 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/quickbase.esm.js +3 -3
  45. package/dist/quickbase.esm.js.map +4 -4
  46. package/dist/quickbase.min.js +3 -3
  47. package/dist/quickbase.min.js.map +4 -4
  48. package/dist/xml/codepages.d.ts +60 -0
  49. package/dist/xml/codepages.d.ts.map +1 -0
  50. package/dist/xml/codepages.js +88 -0
  51. package/dist/xml/codepages.js.map +1 -0
  52. package/dist/xml/dbvars.d.ts +39 -0
  53. package/dist/xml/dbvars.d.ts.map +1 -0
  54. package/dist/xml/dbvars.js +54 -0
  55. package/dist/xml/dbvars.js.map +1 -0
  56. package/dist/xml/errors.d.ts +64 -0
  57. package/dist/xml/errors.d.ts.map +1 -0
  58. package/dist/xml/errors.js +102 -0
  59. package/dist/xml/errors.js.map +1 -0
  60. package/dist/xml/fields.d.ts +45 -0
  61. package/dist/xml/fields.d.ts.map +1 -0
  62. package/dist/xml/fields.js +86 -0
  63. package/dist/xml/fields.js.map +1 -0
  64. package/dist/xml/groups.d.ts +196 -0
  65. package/dist/xml/groups.d.ts.map +1 -0
  66. package/dist/xml/groups.js +424 -0
  67. package/dist/xml/groups.js.map +1 -0
  68. package/dist/xml/html.d.ts +61 -0
  69. package/dist/xml/html.d.ts.map +1 -0
  70. package/dist/xml/html.js +110 -0
  71. package/dist/xml/html.js.map +1 -0
  72. package/dist/xml/index.d.ts +456 -0
  73. package/dist/xml/index.d.ts.map +1 -0
  74. package/dist/xml/index.js +747 -0
  75. package/dist/xml/index.js.map +1 -0
  76. package/dist/xml/metadata.d.ts +49 -0
  77. package/dist/xml/metadata.d.ts.map +1 -0
  78. package/dist/xml/metadata.js +84 -0
  79. package/dist/xml/metadata.js.map +1 -0
  80. package/dist/xml/records.d.ts +106 -0
  81. package/dist/xml/records.d.ts.map +1 -0
  82. package/dist/xml/records.js +220 -0
  83. package/dist/xml/records.js.map +1 -0
  84. package/dist/xml/request.d.ts +129 -0
  85. package/dist/xml/request.d.ts.map +1 -0
  86. package/dist/xml/request.js +190 -0
  87. package/dist/xml/request.js.map +1 -0
  88. package/dist/xml/roles.d.ts +117 -0
  89. package/dist/xml/roles.d.ts.map +1 -0
  90. package/dist/xml/roles.js +241 -0
  91. package/dist/xml/roles.js.map +1 -0
  92. package/dist/xml/schema.d.ts +94 -0
  93. package/dist/xml/schema.d.ts.map +1 -0
  94. package/dist/xml/schema.js +354 -0
  95. package/dist/xml/schema.js.map +1 -0
  96. package/dist/xml/transform.d.ts +154 -0
  97. package/dist/xml/transform.d.ts.map +1 -0
  98. package/dist/xml/transform.js +182 -0
  99. package/dist/xml/transform.js.map +1 -0
  100. package/dist/xml/types.d.ts +531 -0
  101. package/dist/xml/types.d.ts.map +1 -0
  102. package/dist/xml/types.js +22 -0
  103. package/dist/xml/types.js.map +1 -0
  104. package/dist/xml/users.d.ts +92 -0
  105. package/dist/xml/users.d.ts.map +1 -0
  106. package/dist/xml/users.js +166 -0
  107. package/dist/xml/users.js.map +1 -0
  108. package/dist/xml/webhooks.d.ts +98 -0
  109. package/dist/xml/webhooks.d.ts.map +1 -0
  110. package/dist/xml/webhooks.js +202 -0
  111. package/dist/xml/webhooks.js.map +1 -0
  112. package/package.json +6 -2
@@ -0,0 +1,425 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI Schema Generator
4
+ *
5
+ * Generates a schema definition from a QuickBase application.
6
+ *
7
+ * Usage:
8
+ * npx quickbase-js schema --realm <realm> --app <appId> --token <token>
9
+ *
10
+ * Options:
11
+ * --realm QuickBase realm (e.g., "mycompany")
12
+ * --app Application ID (e.g., "bqw123abc")
13
+ * --token User token for authentication (or set QB_USER_TOKEN env var)
14
+ * --output Output file path (default: stdout)
15
+ * --format Output format: "ts" or "json" (default: "ts")
16
+ * --merge Merge with existing schema file, preserving custom aliases
17
+ * --help Show help
18
+ */
19
+ import { createClient } from '../index.js';
20
+ /**
21
+ * Parse command line arguments
22
+ */
23
+ function parseArgs(args) {
24
+ const options = {};
25
+ for (let i = 0; i < args.length; i++) {
26
+ const arg = args[i];
27
+ const next = args[i + 1];
28
+ switch (arg) {
29
+ case '--realm':
30
+ case '-r':
31
+ options.realm = next;
32
+ i++;
33
+ break;
34
+ case '--app':
35
+ case '-a':
36
+ options.app = next;
37
+ i++;
38
+ break;
39
+ case '--token':
40
+ case '-t':
41
+ options.token = next;
42
+ i++;
43
+ break;
44
+ case '--output':
45
+ case '-o':
46
+ options.output = next;
47
+ i++;
48
+ break;
49
+ case '--format':
50
+ case '-f':
51
+ options.format = next;
52
+ i++;
53
+ break;
54
+ case '--help':
55
+ case '-h':
56
+ options.help = true;
57
+ break;
58
+ case '--merge':
59
+ case '-m':
60
+ options.merge = true;
61
+ break;
62
+ }
63
+ }
64
+ return options;
65
+ }
66
+ /**
67
+ * Show help message
68
+ */
69
+ function showHelp() {
70
+ console.log(`
71
+ quickbase-js schema - Generate schema from QuickBase application
72
+
73
+ Usage:
74
+ npx quickbase-js schema [options]
75
+
76
+ Options:
77
+ -r, --realm <realm> QuickBase realm (required, e.g., "mycompany")
78
+ -a, --app <appId> Application ID (required, e.g., "bqw123abc")
79
+ -t, --token <token> User token (or set QB_USER_TOKEN env var)
80
+ -o, --output <file> Output file path (default: stdout)
81
+ -f, --format <type> Output format: "ts" or "json" (default: "ts")
82
+ -m, --merge Merge with existing schema, preserving custom aliases
83
+ -h, --help Show this help message
84
+
85
+ Examples:
86
+ # Generate TypeScript schema to stdout
87
+ npx quickbase-js schema -r mycompany -a bqw123abc -t your-token
88
+
89
+ # Generate and save to file
90
+ npx quickbase-js schema -r mycompany -a bqw123abc --output schema.ts
91
+
92
+ # Generate JSON format
93
+ npx quickbase-js schema -r mycompany -a bqw123abc -f json -o schema.json
94
+
95
+ # Update existing schema with new fields (preserves custom aliases)
96
+ npx quickbase-js schema -r mycompany -a bqw123abc -o schema.ts --merge
97
+
98
+ # Using environment variable for token
99
+ QB_USER_TOKEN=your-token npx quickbase-js schema -r mycompany -a bqw123abc
100
+ `);
101
+ }
102
+ /**
103
+ * Convert a label to a camelCase alias
104
+ */
105
+ function labelToAlias(label) {
106
+ // Remove non-alphanumeric chars except spaces
107
+ const cleaned = label
108
+ .replace(/[^a-zA-Z0-9\s]/g, '')
109
+ .trim();
110
+ // Handle empty string
111
+ if (!cleaned)
112
+ return 'field';
113
+ // Split by spaces and convert to camelCase
114
+ const words = cleaned.split(/\s+/);
115
+ return words
116
+ .map((word, i) => {
117
+ const lower = word.toLowerCase();
118
+ if (i === 0)
119
+ return lower;
120
+ return lower.charAt(0).toUpperCase() + lower.slice(1);
121
+ })
122
+ .join('');
123
+ }
124
+ /**
125
+ * Make alias unique by appending number if needed
126
+ */
127
+ function makeUnique(alias, existing) {
128
+ if (!existing.has(alias)) {
129
+ existing.add(alias);
130
+ return alias;
131
+ }
132
+ let counter = 2;
133
+ while (existing.has(`${alias}${counter}`)) {
134
+ counter++;
135
+ }
136
+ const unique = `${alias}${counter}`;
137
+ existing.add(unique);
138
+ return unique;
139
+ }
140
+ /**
141
+ * Fetch schema from QuickBase application
142
+ */
143
+ async function fetchSchema(realm, appId, token) {
144
+ const client = createClient({
145
+ realm,
146
+ auth: { type: 'user-token', userToken: token },
147
+ });
148
+ // Fetch all tables
149
+ const tables = await client.getAppTables({ appId });
150
+ const schema = { tables: {} };
151
+ for (const table of tables) {
152
+ if (!table.id || !table.name)
153
+ continue;
154
+ // Generate table alias from name
155
+ const tableAlias = labelToAlias(table.name);
156
+ // Fetch fields for this table
157
+ const fields = await client.getFields({ tableId: table.id });
158
+ const fieldAliases = new Set();
159
+ const fieldMap = {};
160
+ for (const field of fields) {
161
+ if (!field.label)
162
+ continue;
163
+ // Generate field alias from label
164
+ let alias = labelToAlias(field.label);
165
+ alias = makeUnique(alias, fieldAliases);
166
+ fieldMap[alias] = field.id;
167
+ }
168
+ schema.tables[tableAlias] = {
169
+ id: table.id,
170
+ fields: fieldMap,
171
+ };
172
+ }
173
+ return schema;
174
+ }
175
+ /**
176
+ * Format schema as TypeScript
177
+ */
178
+ function formatAsTypeScript(schema) {
179
+ const lines = [
180
+ '/**',
181
+ ' * QuickBase Schema Definition',
182
+ ' * Generated by: npx quickbase-js schema',
183
+ ` * Generated at: ${new Date().toISOString()}`,
184
+ ' */',
185
+ '',
186
+ "import type { Schema } from 'quickbase-js';",
187
+ '',
188
+ 'export const schema: Schema = {',
189
+ ' tables: {',
190
+ ];
191
+ const tableAliases = Object.keys(schema.tables);
192
+ for (let t = 0; t < tableAliases.length; t++) {
193
+ const tableAlias = tableAliases[t];
194
+ const table = schema.tables[tableAlias];
195
+ const isLastTable = t === tableAliases.length - 1;
196
+ lines.push(` ${tableAlias}: {`);
197
+ lines.push(` id: '${table.id}',`);
198
+ lines.push(' fields: {');
199
+ const fieldAliases = Object.keys(table.fields);
200
+ for (let f = 0; f < fieldAliases.length; f++) {
201
+ const fieldAlias = fieldAliases[f];
202
+ const fieldId = table.fields[fieldAlias];
203
+ const isLastField = f === fieldAliases.length - 1;
204
+ const comma = isLastField ? '' : ',';
205
+ lines.push(` ${fieldAlias}: ${fieldId}${comma}`);
206
+ }
207
+ lines.push(' },');
208
+ lines.push(` }${isLastTable ? '' : ','}`);
209
+ }
210
+ lines.push(' },');
211
+ lines.push('};');
212
+ lines.push('');
213
+ return lines.join('\n');
214
+ }
215
+ /**
216
+ * Format schema as JSON
217
+ */
218
+ function formatAsJson(schema) {
219
+ return JSON.stringify(schema, null, 2) + '\n';
220
+ }
221
+ /**
222
+ * Load existing schema from a file
223
+ */
224
+ async function loadExistingSchema(filePath, format) {
225
+ const fs = await import('fs');
226
+ if (!fs.existsSync(filePath)) {
227
+ return null;
228
+ }
229
+ const content = fs.readFileSync(filePath, 'utf-8');
230
+ if (format === 'json') {
231
+ try {
232
+ return JSON.parse(content);
233
+ }
234
+ catch {
235
+ console.error(`Warning: Could not parse existing JSON schema at ${filePath}`);
236
+ return null;
237
+ }
238
+ }
239
+ // Parse TypeScript format - extract the schema object
240
+ // Look for pattern: export const schema: Schema = { ... }
241
+ const schemaMatch = content.match(/export\s+const\s+schema[^=]*=\s*(\{[\s\S]*\});?\s*$/m);
242
+ if (!schemaMatch) {
243
+ console.error(`Warning: Could not parse existing TypeScript schema at ${filePath}`);
244
+ return null;
245
+ }
246
+ try {
247
+ // Use Function constructor to safely evaluate the object literal
248
+ // This handles the JS object syntax in the TS file
249
+ const schemaStr = schemaMatch[1];
250
+ const fn = new Function(`return ${schemaStr}`);
251
+ return fn();
252
+ }
253
+ catch (e) {
254
+ console.error(`Warning: Could not evaluate existing schema: ${e}`);
255
+ return null;
256
+ }
257
+ }
258
+ /**
259
+ * Build reverse lookup: field ID -> alias for a table
260
+ */
261
+ function buildFieldIdToAlias(table) {
262
+ const map = new Map();
263
+ for (const [alias, id] of Object.entries(table.fields)) {
264
+ map.set(id, alias);
265
+ }
266
+ return map;
267
+ }
268
+ /**
269
+ * Build reverse lookup: table ID -> alias
270
+ */
271
+ function buildTableIdToAlias(schema) {
272
+ const map = new Map();
273
+ for (const [alias, table] of Object.entries(schema.tables)) {
274
+ map.set(table.id, alias);
275
+ }
276
+ return map;
277
+ }
278
+ /**
279
+ * Merge new schema with existing schema, preserving custom aliases
280
+ */
281
+ function mergeSchemas(existing, fresh) {
282
+ const stats = {
283
+ tablesAdded: 0,
284
+ tablesRemoved: 0,
285
+ tablesPreserved: 0,
286
+ fieldsAdded: 0,
287
+ fieldsRemoved: 0,
288
+ fieldsPreserved: 0,
289
+ };
290
+ const merged = { tables: {} };
291
+ // Build reverse lookup for existing schema (ID -> alias)
292
+ const existingTableIdToAlias = buildTableIdToAlias(existing);
293
+ const existingFieldIdToAlias = new Map();
294
+ for (const [, table] of Object.entries(existing.tables)) {
295
+ existingFieldIdToAlias.set(table.id, buildFieldIdToAlias(table));
296
+ }
297
+ // Track which existing tables we've seen (by ID)
298
+ const seenTableIds = new Set();
299
+ // Process each table from fresh schema
300
+ for (const [freshTableAlias, freshTable] of Object.entries(fresh.tables)) {
301
+ const tableId = freshTable.id;
302
+ seenTableIds.add(tableId);
303
+ // Use existing alias if available, otherwise use fresh alias
304
+ const tableAlias = existingTableIdToAlias.get(tableId) ?? freshTableAlias;
305
+ const existingFieldMap = existingFieldIdToAlias.get(tableId);
306
+ // Track which existing fields we've seen (by ID)
307
+ const seenFieldIds = new Set();
308
+ const mergedFields = {};
309
+ // Process each field from fresh schema
310
+ for (const [freshFieldAlias, fieldId] of Object.entries(freshTable.fields)) {
311
+ seenFieldIds.add(fieldId);
312
+ // Use existing alias if available, otherwise use fresh alias
313
+ const fieldAlias = existingFieldMap?.get(fieldId) ?? freshFieldAlias;
314
+ mergedFields[fieldAlias] = fieldId;
315
+ if (existingFieldMap?.has(fieldId)) {
316
+ stats.fieldsPreserved++;
317
+ }
318
+ else {
319
+ stats.fieldsAdded++;
320
+ }
321
+ }
322
+ // Check for removed fields (in existing but not in fresh)
323
+ if (existingFieldMap) {
324
+ for (const [fieldId] of existingFieldMap) {
325
+ if (!seenFieldIds.has(fieldId)) {
326
+ stats.fieldsRemoved++;
327
+ }
328
+ }
329
+ }
330
+ merged.tables[tableAlias] = {
331
+ id: tableId,
332
+ fields: mergedFields,
333
+ };
334
+ if (existingTableIdToAlias.has(tableId)) {
335
+ stats.tablesPreserved++;
336
+ }
337
+ else {
338
+ stats.tablesAdded++;
339
+ }
340
+ }
341
+ // Check for removed tables (in existing but not in fresh)
342
+ for (const [, table] of Object.entries(existing.tables)) {
343
+ if (!seenTableIds.has(table.id)) {
344
+ stats.tablesRemoved++;
345
+ }
346
+ }
347
+ return { merged, stats };
348
+ }
349
+ /**
350
+ * Main CLI entry point
351
+ */
352
+ export async function main(args) {
353
+ const options = parseArgs(args);
354
+ if (options.help) {
355
+ showHelp();
356
+ return;
357
+ }
358
+ // Validate required options
359
+ const realm = options.realm;
360
+ const app = options.app;
361
+ const token = options.token || process.env.QB_USER_TOKEN;
362
+ if (!realm) {
363
+ console.error('Error: --realm is required');
364
+ process.exit(1);
365
+ }
366
+ if (!app) {
367
+ console.error('Error: --app is required');
368
+ process.exit(1);
369
+ }
370
+ if (!token) {
371
+ console.error('Error: --token is required (or set QB_USER_TOKEN env var)');
372
+ process.exit(1);
373
+ }
374
+ const format = options.format || 'ts';
375
+ // Merge requires an output file
376
+ if (options.merge && !options.output) {
377
+ console.error('Error: --merge requires --output to specify the file to merge with');
378
+ process.exit(1);
379
+ }
380
+ try {
381
+ console.error(`Fetching schema from ${realm}/${app}...`);
382
+ let schema = await fetchSchema(realm, app, token);
383
+ const tableCount = Object.keys(schema.tables).length;
384
+ const fieldCount = Object.values(schema.tables).reduce((sum, t) => sum + Object.keys(t.fields).length, 0);
385
+ console.error(`Found ${tableCount} tables with ${fieldCount} fields`);
386
+ // Merge with existing schema if requested
387
+ if (options.merge && options.output) {
388
+ const existing = await loadExistingSchema(options.output, format);
389
+ if (existing) {
390
+ const { merged, stats } = mergeSchemas(existing, schema);
391
+ schema = merged;
392
+ console.error(`Merge complete:`);
393
+ console.error(` Tables: ${stats.tablesPreserved} preserved, ${stats.tablesAdded} added, ${stats.tablesRemoved} removed`);
394
+ console.error(` Fields: ${stats.fieldsPreserved} preserved, ${stats.fieldsAdded} added, ${stats.fieldsRemoved} removed`);
395
+ }
396
+ else {
397
+ console.error(`No existing schema found at ${options.output}, creating new file`);
398
+ }
399
+ }
400
+ // Format output
401
+ const output = format === 'json'
402
+ ? formatAsJson(schema)
403
+ : formatAsTypeScript(schema);
404
+ // Write output
405
+ if (options.output) {
406
+ const fs = await import('fs');
407
+ fs.writeFileSync(options.output, output, 'utf-8');
408
+ console.error(`Schema written to ${options.output}`);
409
+ }
410
+ else {
411
+ console.log(output);
412
+ }
413
+ }
414
+ catch (error) {
415
+ console.error('Error:', error instanceof Error ? error.message : error);
416
+ process.exit(1);
417
+ }
418
+ }
419
+ // Run if executed directly
420
+ const isDirectExecution = typeof process !== 'undefined' &&
421
+ process.argv[1]?.endsWith('schema.js');
422
+ if (isDirectExecution) {
423
+ main(process.argv.slice(2));
424
+ }
425
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,9 @@ export interface RequestExecutorOptions {
30
30
  /**
31
31
  * Extract dbid from request options for temp-token auth.
32
32
  * Checks multiple locations where table/app ID may appear.
33
+ * Resolves aliases to IDs if schema is provided.
33
34
  */
34
- export declare function extractDbid(options: RequestOptions): string | undefined;
35
+ export declare function extractDbid(options: RequestOptions, config?: ResolvedConfig): string | undefined;
35
36
  /**
36
37
  * Execute a request with full retry logic
37
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/client/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAY9C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9D,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAyCvE;AA6ID;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,GAAG,OAAO,EAC9C,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAAC,CAAC,CAAC,CA8EZ;AAcD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB;cAEvD,CAAC,4BAA4B,cAAc;EAGxD"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/client/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAoL9C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9D,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,GAAG,SAAS,CAyCpB;AA6ID;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,GAAG,OAAO,EAC9C,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAAC,CAAC,CAAC,CAkGZ;AAcD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB;cAEvD,CAAC,4BAA4B,cAAc;EAGxD"}