oazapfts 3.6.0 → 4.0.0

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.
@@ -1,6 +1,14 @@
1
1
  version: 2
2
2
  updates:
3
- - package-ecosystem: "npm"
4
- directory: "/"
3
+ - package-ecosystem: npm
4
+ directory: /
5
+ open-pull-requests-limit: 999
6
+ rebase-strategy: disabled
5
7
  schedule:
6
- interval: "weekly"
8
+ interval: weekly
9
+ - package-ecosystem: github-actions
10
+ directory: /
11
+ open-pull-requests-limit: 999
12
+ rebase-strategy: disabled
13
+ schedule:
14
+ interval: weekly
@@ -8,10 +8,10 @@ jobs:
8
8
  ci:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
- - uses: actions/checkout@v2
12
- - uses: actions/setup-node@v2
11
+ - uses: actions/checkout@v3
12
+ - uses: actions/setup-node@v3
13
13
  with:
14
- node-version: 16.x
14
+ node-version: 18
15
15
  check-latest: true
16
16
  - run: npm ci
17
17
  - run: npm test
@@ -1,13 +1,13 @@
1
- import ts from 'typescript';
2
- import { OpenAPIV3 } from 'openapi-types';
3
- import { Opts } from '.';
1
+ import ts from "typescript";
2
+ import { OpenAPIV3 } from "openapi-types";
3
+ import { Opts } from ".";
4
4
  export declare const verbs: string[];
5
- declare type ContentType = 'json' | 'form' | 'multipart';
5
+ declare type ContentType = "json" | "form" | "multipart";
6
6
  export declare const contentTypes: Record<string, ContentType>;
7
7
  /**
8
8
  * Get the name of a formatter function for a given parameter.
9
9
  */
10
- export declare function getFormatter({ style, explode }: OpenAPIV3.ParameterObject): "form" | "space" | "pipe" | "deep" | "explode";
10
+ export declare function getFormatter({ style, explode, }: OpenAPIV3.ParameterObject): "form" | "deep" | "explode" | "space" | "pipe";
11
11
  export declare function getOperationIdentifier(id?: string): string | undefined;
12
12
  /**
13
13
  * Create a method name for a given operation, either from its operationId or
@@ -85,7 +85,7 @@ export default class ApiGenerator {
85
85
  }, required?: string[], additionalProperties?: boolean | OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject): ts.TypeLiteralNode;
86
86
  getTypeFromResponses(responses: OpenAPIV3.ResponsesObject): ts.UnionTypeNode;
87
87
  getTypeFromResponse(resOrRef: OpenAPIV3.ResponseObject | OpenAPIV3.ReferenceObject): ts.TypeNode;
88
- getResponseType(responses?: OpenAPIV3.ResponsesObject): 'json' | 'text' | 'blob';
88
+ getResponseType(responses?: OpenAPIV3.ResponsesObject): "json" | "text" | "blob";
89
89
  getSchemaFromContent(content: any): any;
90
90
  wrapResult(ex: ts.Expression): ts.Expression;
91
91
  generateApi(): ts.SourceFile;
@@ -33,33 +33,37 @@ const path_1 = __importDefault(require("path"));
33
33
  const cg = __importStar(require("./tscodegen"));
34
34
  const generateServers_1 = __importStar(require("./generateServers"));
35
35
  exports.verbs = [
36
- 'GET',
37
- 'PUT',
38
- 'POST',
39
- 'DELETE',
40
- 'OPTIONS',
41
- 'HEAD',
42
- 'PATCH',
43
- 'TRACE',
36
+ "GET",
37
+ "PUT",
38
+ "POST",
39
+ "DELETE",
40
+ "OPTIONS",
41
+ "HEAD",
42
+ "PATCH",
43
+ "TRACE",
44
44
  ];
45
45
  exports.contentTypes = {
46
- '*/*': 'json',
47
- 'application/json': 'json',
48
- 'application/hal+json': 'json',
49
- 'application/x-www-form-urlencoded': 'form',
50
- 'multipart/form-data': 'multipart',
46
+ "*/*": "json",
47
+ "application/json": "json",
48
+ "application/hal+json": "json",
49
+ "application/problem+json": "json",
50
+ "application/geo+json": "json",
51
+ "application/x-www-form-urlencoded": "form",
52
+ "multipart/form-data": "multipart",
51
53
  };
52
54
  /**
53
55
  * Get the name of a formatter function for a given parameter.
54
56
  */
55
- function getFormatter({ style, explode }) {
56
- if (style === 'spaceDelimited')
57
- return 'space';
58
- if (style === 'pipeDelimited')
59
- return 'pipe';
60
- if (style === 'deepObject')
61
- return 'deep';
62
- return explode ? 'explode' : 'form';
57
+ function getFormatter({ style = "form", explode = true, }) {
58
+ if (explode && style === "deepObject")
59
+ return "deep";
60
+ if (explode)
61
+ return "explode";
62
+ if (style === "spaceDelimited")
63
+ return "space";
64
+ if (style === "pipeDelimited")
65
+ return "pipe";
66
+ return "form";
63
67
  }
64
68
  exports.getFormatter = getFormatter;
65
69
  function getOperationIdentifier(id) {
@@ -80,7 +84,7 @@ function getOperationName(verb, path, operationId) {
80
84
  const id = getOperationIdentifier(operationId);
81
85
  if (id)
82
86
  return id;
83
- path = path.replace(/\{(.+?)\}/, 'by $1').replace(/\{(.+?)\}/, 'and $1');
87
+ path = path.replace(/\{(.+?)\}/, "by $1").replace(/\{(.+?)\}/, "and $1");
84
88
  return lodash_1.default.camelCase(`${verb} ${path}`);
85
89
  }
86
90
  exports.getOperationName = getOperationName;
@@ -89,17 +93,17 @@ function isNullable(schema) {
89
93
  }
90
94
  exports.isNullable = isNullable;
91
95
  function isReference(obj) {
92
- return obj && '$ref' in obj;
96
+ return obj && "$ref" in obj;
93
97
  }
94
98
  exports.isReference = isReference;
95
99
  //See https://swagger.io/docs/specification/using-ref/
96
100
  function getReference(spec, ref) {
97
101
  const path = ref
98
102
  .slice(2)
99
- .split('/')
100
- .map((s) => unescape(s.replace(/~1/g, '/').replace(/~0/g, '~')));
103
+ .split("/")
104
+ .map((s) => unescape(s.replace(/~1/g, "/").replace(/~0/g, "~")));
101
105
  const ret = lodash_1.default.get(spec, path);
102
- if (typeof ret === 'undefined') {
106
+ if (typeof ret === "undefined") {
103
107
  throw new Error(`Can't find ${path}`);
104
108
  }
105
109
  return ret;
@@ -110,7 +114,7 @@ exports.getReference = getReference;
110
114
  */
111
115
  function getReferenceName(obj) {
112
116
  if (isReference(obj)) {
113
- return lodash_1.default.camelCase(obj.$ref.split('/').slice(-1)[0]);
117
+ return lodash_1.default.camelCase(obj.$ref.split("/").slice(-1)[0]);
114
118
  }
115
119
  }
116
120
  exports.getReferenceName = getReferenceName;
@@ -124,12 +128,15 @@ function createUrlExpression(path, qs) {
124
128
  // Use a replacer function to collect spans as a side effect:
125
129
  const head = path.replace(/(.*?)\{(.+?)\}(.*?)(?=\{|$)/g, (_substr, head, name, literal) => {
126
130
  const expression = lodash_1.default.camelCase(name);
127
- spans.push({ expression: typescript_1.factory.createIdentifier(expression), literal });
131
+ spans.push({
132
+ expression: cg.createCall(typescript_1.factory.createIdentifier("encodeURIComponent"), { args: [typescript_1.factory.createIdentifier(expression)] }),
133
+ literal,
134
+ });
128
135
  return head;
129
136
  });
130
137
  if (qs) {
131
138
  // add the query string as last span
132
- spans.push({ expression: qs, literal: '' });
139
+ spans.push({ expression: qs, literal: "" });
133
140
  }
134
141
  return cg.createTemplateString(head, spans);
135
142
  }
@@ -138,14 +145,14 @@ exports.createUrlExpression = createUrlExpression;
138
145
  * Create a call expression for one of the QS runtime functions.
139
146
  */
140
147
  function callQsFunction(name, args) {
141
- return cg.createCall(typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createIdentifier('QS'), name), { args });
148
+ return cg.createCall(typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createIdentifier("QS"), name), { args });
142
149
  }
143
150
  exports.callQsFunction = callQsFunction;
144
151
  /**
145
152
  * Create a call expression for one of the oazapfts runtime functions.
146
153
  */
147
154
  function callOazapftsFunction(name, args, typeArgs) {
148
- return cg.createCall(typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createIdentifier('oazapfts'), name), { args, typeArgs });
155
+ return cg.createCall(typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createIdentifier("oazapfts"), name), { args, typeArgs });
149
156
  }
150
157
  exports.callOazapftsFunction = callOazapftsFunction;
151
158
  /**
@@ -168,9 +175,9 @@ function supportDeepObjects(params) {
168
175
  obj = merged[name] = {
169
176
  name,
170
177
  in: p.in,
171
- style: 'deepObject',
178
+ style: "deepObject",
172
179
  schema: {
173
- type: 'object',
180
+ type: "object",
174
181
  properties: {},
175
182
  },
176
183
  };
@@ -206,7 +213,7 @@ class ApiGenerator {
206
213
  if (!isReference(obj))
207
214
  return obj;
208
215
  const ref = obj.$ref;
209
- if (!ref.startsWith('#/')) {
216
+ if (!ref.startsWith("#/")) {
210
217
  throw new Error(`External refs are not supported (${ref}). Make sure to call SwaggerParser.bundle() first.`);
211
218
  }
212
219
  return getReference(this.spec, ref);
@@ -236,7 +243,7 @@ class ApiGenerator {
236
243
  return name;
237
244
  }
238
245
  getRefBasename(ref) {
239
- return ref.replace(/.+\//, '');
246
+ return ref.replace(/.+\//, "");
240
247
  }
241
248
  /**
242
249
  * Create a type alias for the schema referenced by the given ReferenceObject
@@ -261,7 +268,7 @@ class ApiGenerator {
261
268
  if (discriminator) {
262
269
  // oneOf + discriminator -> tagged union (polymorphism)
263
270
  if (discriminator.propertyName === undefined) {
264
- throw new Error('Discriminators require a propertyName');
271
+ throw new Error("Discriminators require a propertyName");
265
272
  }
266
273
  // By default, the last component of the ref name (i.e., after the last trailing slash) is
267
274
  // used as the discriminator value for each variant. This can be overridden using the
@@ -277,7 +284,7 @@ class ApiGenerator {
277
284
  if (!isReference(variant)) {
278
285
  // From the Swagger spec: "When using the discriminator, inline schemas will not be
279
286
  // considered."
280
- throw new Error('Discriminators require references, not inline schemas');
287
+ throw new Error("Discriminators require references, not inline schemas");
281
288
  }
282
289
  return !mappedValues.has(this.getRefBasename(variant.$ref));
283
290
  })
@@ -333,9 +340,14 @@ class ApiGenerator {
333
340
  }
334
341
  if (schema.allOf) {
335
342
  // allOf -> intersection
336
- return typescript_1.factory.createIntersectionTypeNode(schema.allOf.map((schema) => this.getTypeFromSchema(schema)));
343
+ const types = schema.allOf.map((schema) => this.getTypeFromSchema(schema));
344
+ if (schema.properties || schema.additionalProperties) {
345
+ // properties -> literal type
346
+ types.push(this.getTypeFromProperties(schema.properties || {}, schema.required, schema.additionalProperties));
347
+ }
348
+ return typescript_1.factory.createIntersectionTypeNode(types);
337
349
  }
338
- if ('items' in schema) {
350
+ if ("items" in schema) {
339
351
  // items -> array
340
352
  return typescript_1.factory.createArrayTypeNode(this.getTypeFromSchema(schema.items));
341
353
  }
@@ -348,24 +360,24 @@ class ApiGenerator {
348
360
  const types = schema.enum.map((s) => {
349
361
  if (s === null)
350
362
  return cg.keywordType.null;
351
- if (typeof s === 'boolean')
363
+ if (typeof s === "boolean")
352
364
  return s
353
365
  ? typescript_1.factory.createLiteralTypeNode(typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.TrueKeyword))
354
366
  : typescript_1.factory.createLiteralTypeNode(typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.FalseKeyword));
355
- if (typeof s === 'number')
367
+ if (typeof s === "number")
356
368
  return typescript_1.factory.createLiteralTypeNode(typescript_1.factory.createNumericLiteral(s));
357
369
  return typescript_1.factory.createLiteralTypeNode(typescript_1.factory.createStringLiteral(s));
358
370
  });
359
371
  return types.length > 1 ? typescript_1.factory.createUnionTypeNode(types) : types[0];
360
372
  }
361
- if (schema.format == 'binary') {
362
- return typescript_1.factory.createTypeReferenceNode('Blob', []);
373
+ if (schema.format == "binary") {
374
+ return typescript_1.factory.createTypeReferenceNode("Blob", []);
363
375
  }
364
376
  if (schema.type) {
365
377
  // string, boolean, null, number
366
378
  if (schema.type in cg.keywordType)
367
379
  return cg.keywordType[schema.type];
368
- if (schema.type === 'integer')
380
+ if (schema.type === "integer")
369
381
  return cg.keywordType.number;
370
382
  }
371
383
  return cg.keywordType.any;
@@ -377,10 +389,14 @@ class ApiGenerator {
377
389
  const members = Object.keys(props).map((name) => {
378
390
  const schema = props[name];
379
391
  const isRequired = required && required.includes(name);
392
+ let type = this.getTypeFromSchema(schema);
393
+ if (!isRequired && this.opts.unionUndefined) {
394
+ type = typescript_1.factory.createUnionTypeNode([type, cg.keywordType.undefined]);
395
+ }
380
396
  return cg.createPropertySignature({
381
397
  questionToken: !isRequired,
382
398
  name,
383
- type: this.getTypeFromSchema(schema),
399
+ type,
384
400
  });
385
401
  });
386
402
  if (additionalProperties) {
@@ -393,19 +409,19 @@ class ApiGenerator {
393
409
  }
394
410
  getTypeFromResponses(responses) {
395
411
  return typescript_1.factory.createUnionTypeNode(Object.entries(responses).map(([code, res]) => {
396
- const statusType = code === 'default'
412
+ const statusType = code === "default"
397
413
  ? cg.keywordType.number
398
414
  : typescript_1.factory.createLiteralTypeNode(typescript_1.factory.createNumericLiteral(code));
399
415
  const props = [
400
416
  cg.createPropertySignature({
401
- name: 'status',
417
+ name: "status",
402
418
  type: statusType,
403
419
  }),
404
420
  ];
405
421
  const dataType = this.getTypeFromResponse(res);
406
422
  if (dataType !== cg.keywordType.void) {
407
423
  props.push(cg.createPropertySignature({
408
- name: 'data',
424
+ name: "data",
409
425
  type: dataType,
410
426
  }));
411
427
  }
@@ -421,33 +437,33 @@ class ApiGenerator {
421
437
  getResponseType(responses) {
422
438
  // backwards-compatibility
423
439
  if (!responses)
424
- return 'text';
440
+ return "text";
425
441
  const resolvedResponses = Object.values(responses).map((response) => this.resolve(response));
426
442
  // if no content is specified, assume `text` (backwards-compatibility)
427
443
  if (!resolvedResponses.some((res) => { var _a; return Object.keys((_a = res.content) !== null && _a !== void 0 ? _a : []).length > 0; })) {
428
- return 'text';
444
+ return "text";
429
445
  }
430
446
  const isJson = resolvedResponses.some((response) => {
431
447
  var _a;
432
448
  const responseMimeTypes = Object.keys((_a = response.content) !== null && _a !== void 0 ? _a : {});
433
- return responseMimeTypes.some((mimeType) => exports.contentTypes[mimeType] === 'json');
449
+ return responseMimeTypes.some((mimeType) => exports.contentTypes[mimeType] === "json");
434
450
  });
435
451
  // if there’s `application/json` or `*/*`, assume `json`
436
452
  if (isJson) {
437
- return 'json';
453
+ return "json";
438
454
  }
439
455
  // if there’s `text/*`, assume `text`
440
- if (resolvedResponses.some((res) => { var _a; return Object.keys((_a = res.content) !== null && _a !== void 0 ? _a : []).some((type) => type.startsWith('text/')); })) {
441
- return 'text';
456
+ if (resolvedResponses.some((res) => { var _a; return Object.keys((_a = res.content) !== null && _a !== void 0 ? _a : []).some((type) => type.startsWith("text/")); })) {
457
+ return "text";
442
458
  }
443
459
  // for the rest, assume `blob`
444
- return 'blob';
460
+ return "blob";
445
461
  }
446
462
  getSchemaFromContent(content) {
447
463
  const contentType = Object.keys(exports.contentTypes).find((t) => t in content);
448
464
  let schema;
449
465
  if (contentType) {
450
- schema = lodash_1.default.get(content, [contentType, 'schema']);
466
+ schema = lodash_1.default.get(content, [contentType, "schema"]);
451
467
  }
452
468
  if (schema) {
453
469
  return schema;
@@ -455,31 +471,31 @@ class ApiGenerator {
455
471
  // if no content is specified -> string
456
472
  // `text/*` -> string
457
473
  if (Object.keys(content).length === 0 ||
458
- Object.keys(content).some((type) => type.startsWith('text/'))) {
459
- return { type: 'string' };
474
+ Object.keys(content).some((type) => type.startsWith("text/"))) {
475
+ return { type: "string" };
460
476
  }
461
477
  // rest (e.g. `application/octet-stream`, `application/gzip`, …) -> binary
462
- return { type: 'string', format: 'binary' };
478
+ return { type: "string", format: "binary" };
463
479
  }
464
480
  wrapResult(ex) {
465
481
  var _a;
466
- return ((_a = this.opts) === null || _a === void 0 ? void 0 : _a.optimistic) ? callOazapftsFunction('ok', [ex]) : ex;
482
+ return ((_a = this.opts) === null || _a === void 0 ? void 0 : _a.optimistic) ? callOazapftsFunction("ok", [ex]) : ex;
467
483
  }
468
484
  generateApi() {
469
485
  this.reset();
470
486
  // Parse ApiStub.ts so that we don't have to generate everything manually
471
- const stub = cg.parseFile(path_1.default.resolve(__dirname, '../../src/codegen/ApiStub.ts'));
487
+ const stub = cg.parseFile(path_1.default.resolve(__dirname, "../../src/codegen/ApiStub.ts"));
472
488
  // ApiStub contains `const servers = {}`, find it ...
473
- const servers = cg.findFirstVariableDeclaration(stub.statements, 'servers');
489
+ const servers = cg.findFirstVariableDeclaration(stub.statements, "servers");
474
490
  // servers.initializer is readonly, this might break in a future TS version, but works fine for now.
475
491
  Object.assign(servers, {
476
492
  initializer: (0, generateServers_1.default)(this.spec.servers || []),
477
493
  });
478
- const { initializer } = cg.findFirstVariableDeclaration(stub.statements, 'defaults');
494
+ const { initializer } = cg.findFirstVariableDeclaration(stub.statements, "defaults");
479
495
  if (!initializer || !typescript_1.default.isObjectLiteralExpression(initializer)) {
480
- throw new Error('No object literal: defaults');
496
+ throw new Error("No object literal: defaults");
481
497
  }
482
- cg.changePropertyValue(initializer, 'baseUrl', (0, generateServers_1.defaultBaseUrl)(this.spec.servers || []));
498
+ cg.changePropertyValue(initializer, "baseUrl", (0, generateServers_1.defaultBaseUrl)(this.spec.servers || []));
483
499
  // Collect class functions to be added...
484
500
  const functions = [];
485
501
  // Keep track of names to detect duplicates
@@ -517,7 +533,7 @@ class ApiGenerator {
517
533
  ? supportDeepObjects(resolvedParameters)
518
534
  : resolvedParameters;
519
535
  // split into required/optional
520
- const [required, optional] = lodash_1.default.partition(parameters, 'required');
536
+ const [required, optional] = lodash_1.default.partition(parameters, "required");
521
537
  // convert parameter names to argument names ...
522
538
  const argNames = {};
523
539
  parameters
@@ -537,7 +553,7 @@ class ApiGenerator {
537
553
  body = this.resolve(requestBody);
538
554
  const schema = this.getSchemaFromContent(body.content);
539
555
  const type = this.getTypeFromSchema(schema);
540
- bodyVar = lodash_1.default.camelCase(type.name || getReferenceName(schema) || 'body');
556
+ bodyVar = lodash_1.default.camelCase(type.name || getReferenceName(schema) || "body");
541
557
  methodParams.push(cg.createParameter(bodyVar, {
542
558
  type,
543
559
  questionToken: !body.required,
@@ -556,20 +572,20 @@ class ApiGenerator {
556
572
  }))),
557
573
  }));
558
574
  }
559
- methodParams.push(cg.createParameter('opts', {
560
- type: typescript_1.factory.createTypeReferenceNode('Oazapfts.RequestOpts', undefined),
575
+ methodParams.push(cg.createParameter("opts", {
576
+ type: typescript_1.factory.createTypeReferenceNode("Oazapfts.RequestOpts", undefined),
561
577
  questionToken: true,
562
578
  }));
563
579
  // Next, build the method body...
564
580
  const returnType = this.getResponseType(responses);
565
- const query = parameters.filter((p) => p.in === 'query');
581
+ const query = parameters.filter((p) => p.in === "query");
566
582
  const header = parameters
567
- .filter((p) => p.in === 'header')
583
+ .filter((p) => p.in === "header")
568
584
  .map((p) => p.name);
569
585
  let qs;
570
586
  if (query.length) {
571
587
  const paramsByFormatter = lodash_1.default.groupBy(query, getFormatter);
572
- qs = callQsFunction('query', Object.entries(paramsByFormatter).map(([format, params]) => {
588
+ qs = callQsFunction("query", Object.entries(paramsByFormatter).map(([format, params]) => {
573
589
  //const [allowReserved, encodeReserved] = _.partition(params, "allowReserved");
574
590
  return callQsFunction(format, [
575
591
  cg.createObjectLiteral(params.map((p) => [p.name, argNames[p.name]])),
@@ -578,24 +594,24 @@ class ApiGenerator {
578
594
  }
579
595
  const url = createUrlExpression(path, qs);
580
596
  const init = [
581
- typescript_1.factory.createSpreadAssignment(typescript_1.factory.createIdentifier('opts')),
597
+ typescript_1.factory.createSpreadAssignment(typescript_1.factory.createIdentifier("opts")),
582
598
  ];
583
- if (method !== 'GET') {
584
- init.push(typescript_1.factory.createPropertyAssignment('method', typescript_1.factory.createStringLiteral(method)));
599
+ if (method !== "GET") {
600
+ init.push(typescript_1.factory.createPropertyAssignment("method", typescript_1.factory.createStringLiteral(method)));
585
601
  }
586
602
  if (bodyVar) {
587
- init.push(cg.createPropertyAssignment('body', typescript_1.factory.createIdentifier(bodyVar)));
603
+ init.push(cg.createPropertyAssignment("body", typescript_1.factory.createIdentifier(bodyVar)));
588
604
  }
589
605
  if (header.length) {
590
- init.push(typescript_1.factory.createPropertyAssignment('headers', typescript_1.factory.createObjectLiteralExpression([
591
- typescript_1.factory.createSpreadAssignment(typescript_1.factory.createLogicalAnd(typescript_1.factory.createIdentifier('opts'), typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createIdentifier('opts'), 'headers'))),
606
+ init.push(typescript_1.factory.createPropertyAssignment("headers", typescript_1.factory.createObjectLiteralExpression([
607
+ typescript_1.factory.createSpreadAssignment(typescript_1.factory.createLogicalAnd(typescript_1.factory.createIdentifier("opts"), typescript_1.factory.createPropertyAccessExpression(typescript_1.factory.createIdentifier("opts"), "headers"))),
592
608
  ...header.map((name) => cg.createPropertyAssignment(name, typescript_1.factory.createIdentifier(argNames[name]))),
593
609
  ], true)));
594
610
  }
595
611
  const args = [url];
596
612
  if (init.length) {
597
613
  const m = Object.entries(exports.contentTypes).find(([type]) => {
598
- return !!lodash_1.default.get(body, ['content', type]);
614
+ return !!lodash_1.default.get(body, ["content", type]);
599
615
  });
600
616
  const initObj = typescript_1.factory.createObjectLiteralExpression(init, true);
601
617
  args.push(m ? callOazapftsFunction(m[1], [initObj]) : initObj); // json, form, multipart
@@ -603,10 +619,10 @@ class ApiGenerator {
603
619
  functions.push(cg.addComment(cg.createFunctionDeclaration(name, {
604
620
  modifiers: [cg.modifier.export],
605
621
  }, methodParams, cg.block(typescript_1.factory.createReturnStatement(this.wrapResult(callOazapftsFunction({
606
- json: 'fetchJson',
607
- text: 'fetchText',
608
- blob: 'fetchBlob',
609
- }[returnType], args, returnType === 'json' || returnType === 'blob'
622
+ json: "fetchJson",
623
+ text: "fetchText",
624
+ blob: "fetchBlob",
625
+ }[returnType], args, returnType === "json" || returnType === "blob"
610
626
  ? [
611
627
  this.getTypeFromResponses(responses) ||
612
628
  typescript_1.default.SyntaxKind.AnyKeyword,
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AACvB,yDAAyC;AACzC,gDAAwB;AAExB,gDAAkC;AAClC,qEAAoE;AAIvD,QAAA,KAAK,GAAG;IACnB,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;CACR,CAAC;AAIW,QAAA,YAAY,GAAgC;IACvD,KAAK,EAAE,MAAM;IACb,kBAAkB,EAAE,MAAM;IAC1B,sBAAsB,EAAE,MAAM;IAC9B,mCAAmC,EAAE,MAAM;IAC3C,qBAAqB,EAAE,WAAW;CACnC,CAAC;AAEF;;GAEG;AACH,SAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAA6B;IACxE,IAAI,KAAK,KAAK,gBAAgB;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,KAAK,KAAK,eAAe;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,MAAM,CAAC;IAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC;AALD,oCAKC;AAED,SAAgB,sBAAsB,CAAC,EAAW;IAChD,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO;IAChC,EAAE,GAAG,gBAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;AAC1C,CAAC;AALD,wDAKC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,IAAY,EACZ,WAAoB;IAEpB,MAAM,EAAE,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAClB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzE,OAAO,gBAAC,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AATD,4CASC;AAED,SAAgB,UAAU,CAAC,MAAW;IACpC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAFD,gCAEC;AAED,SAAgB,WAAW,CAAC,GAAQ;IAClC,OAAO,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;AAC9B,CAAC;AAFD,kCAEC;AAED,sDAAsD;AACtD,SAAgB,YAAY,CAAC,IAAS,EAAE,GAAW;IACjD,MAAM,IAAI,GAAG,GAAG;SACb,KAAK,CAAC,CAAC,CAAC;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,GAAG,GAAG,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;KACvC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,oCAWC;AACD;;GAEG;AACH,SAAgB,gBAAgB,CAAC,GAAQ;IACvC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,gBAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACtD;AACH,CAAC;AAJD,4CAIC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAY,EAAE,EAAkB;IAClE,MAAM,KAAK,GAA0D,EAAE,CAAC;IACxE,6DAA6D;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CACvB,8BAA8B,EAC9B,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC,CACF,CAAC;IACF,IAAI,EAAE,EAAE;QACN,oCAAoC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;KAC7C;IACD,OAAO,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAhBD,kDAgBC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAAY,EAAE,IAAqB;IAChE,OAAO,EAAE,CAAC,UAAU,CAClB,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC9B,IAAI,CACL,EACD,EAAE,IAAI,EAAE,CACT,CAAC;AACJ,CAAC;AARD,wCAQC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAClC,IAAY,EACZ,IAAqB,EACrB,QAAwB;IAExB,OAAO,EAAE,CAAC,UAAU,CAClB,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACpC,IAAI,CACL,EACD,EAAE,IAAI,EAAE,QAAQ,EAAE,CACnB,CAAC;AACJ,CAAC;AAZD,oDAYC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,MAAmC;IACpE,MAAM,GAAG,GAAgC,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,EAAE;YACN,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO;SACR;QACD,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;gBACnB,IAAI;gBACJ,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACf;QACD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AA1BD,gDA0BC;AAED;;GAEG;AACH,MAAqB,YAAY;IAC/B,YACkB,IAAwB,EACxB,OAAa,EAAE;IAC/B,kGAAkG;IAClF,cAAc,KAAK;QAHnB,SAAI,GAAJ,IAAI,CAAoB;QACxB,SAAI,GAAJ,IAAI,CAAW;QAEf,gBAAW,GAAX,WAAW,CAAQ;QAGrC,YAAO,GAA8B,EAAE,CAAC;QAExC,0EAA0E;QAC1E,SAAI,GAAyC,EAAE,CAAC;QAEhD,0CAA0C;QAC1C,gBAAW,GAA2B,EAAE,CAAC;IARtC,CAAC;IAUJ,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,CAAI,GAAkC;QAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAClC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,oDAAoD,CAC5F,CAAC;SACH;QACD,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAM,CAAC;IAC3C,CAAC;IAED,YAAY,CAAI,KAA4C;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,IAAe;;QAClB,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,0CAAE,QAAQ,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;QAC3E,IAAI,QAAQ,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QACD,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,EAAE;YACtB,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;YAC1E,OAAO,CAAC,QAAQ,CAAC;SAClB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;YAChC,IAAI,IAAI,IAAI,CAAC;SACd;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAA8B;QACxC,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAyB,GAAG,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAC9B,gBAAC,CAAC,UAAU,CAAC,gBAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CACrE,CAAC;YAEF,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,oBAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAEzE,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,CAAC,0BAA0B,CAAC;gBAC5B,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC/B,IAAI;gBACJ,IAAI;aACL,CAAC,CACH,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY,CACV,QAAgE,EAChE,aAA6C;QAE7C,IAAI,aAAa,EAAE;YACjB,uDAAuD;YACvD,IAAI,aAAa,CAAC,YAAY,KAAK,SAAS,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YAED,0FAA0F;YAC1F,qFAAqF;YACrF,kCAAkC;YAClC,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACrD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CACzB,CACF,CAAC;YAEF,OAAO,oBAAO,CAAC,mBAAmB,CAE9B;gBACE,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAChD,CAAC,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;oBACpC,kBAAkB;oBAClB,EAAE,IAAI,EAAE,UAAU,EAAE;iBACrB,CACF;gBACD,GAAG,QAAQ;qBACR,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;oBAClB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;wBACzB,mFAAmF;wBACnF,eAAe;wBACf,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;qBACH;oBACD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBACf,IAAI,CAAC,cAAc,CAAE,MAAoC,CAAC,IAAI,CAAC;oBAC/D,MAAM;iBACP,CAAC;aAEP,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,EAAE;YACtC,yEAAyE;YACzE,oBAAO,CAAC,0BAA0B,CAAC;gBACjC,oBAAO,CAAC,qBAAqB,CAAC;oBAC5B,EAAE,CAAC,uBAAuB,CAAC;wBACzB,IAAI,EAAE,aAAa,CAAC,YAAY;wBAChC,IAAI,EAAE,oBAAO,CAAC,qBAAqB,CACjC,oBAAO,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAChD;qBACF,CAAC;iBACH,CAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;aAChC,CAAC,CACH,CACF,CAAC;SACH;aAAM;YACL,0BAA0B;YAC1B,OAAO,oBAAO,CAAC,mBAAmB,CAChC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CACzD,CAAC;SACH;IACH,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CACf,MAA2D;QAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC,MAAM,CAAC;YACvB,CAAC,CAAC,oBAAO,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,qBAAqB,CACnB,MAA2D;QAE3D,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;QACvC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,iBAAiB;YACjB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;SAC9D;QACD,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,iBAAiB;YACjB,OAAO,oBAAO,CAAC,mBAAmB,CAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAC7D,CAAC;SACH;QACD,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,wBAAwB;YACxB,OAAO,oBAAO,CAAC,0BAA0B,CACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAC7D,CAAC;SACH;QACD,IAAI,OAAO,IAAI,MAAM,EAAE;YACrB,iBAAiB;YACjB,OAAO,oBAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1E;QACD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,oBAAoB,EAAE;YACpD,6BAA6B;YAC7B,OAAO,IAAI,CAAC,qBAAqB,CAC/B,MAAM,CAAC,UAAU,IAAI,EAAE,EACvB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,oBAAoB,CAC5B,CAAC;SACH;QACD,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,iCAAiC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClC,IAAI,CAAC,KAAK,IAAI;oBAAE,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC3C,IAAI,OAAO,CAAC,KAAK,SAAS;oBACxB,OAAO,CAAC;wBACN,CAAC,CAAC,oBAAO,CAAC,qBAAqB,CAC3B,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAClD;wBACH,CAAC,CAAC,oBAAO,CAAC,qBAAqB,CAC3B,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CACnD,CAAC;gBACR,IAAI,OAAO,CAAC,KAAK,QAAQ;oBACvB,OAAO,oBAAO,CAAC,qBAAqB,CAAC,oBAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,OAAO,oBAAO,CAAC,qBAAqB,CAAC,oBAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACzE;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE;YAC7B,OAAO,oBAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACpD;QACD,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,gCAAgC;YAChC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW;gBAAE,OAAO,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;SAC7D;QAED,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,KAEC,EACD,QAAmB,EACnB,oBAG6B;QAE7B,MAAM,OAAO,GAAqB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,uBAAuB,CAAC;gBAChC,aAAa,EAAE,CAAC,UAAU;gBAC1B,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;aACrC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,oBAAoB,EAAE;YACxB,MAAM,IAAI,GACR,oBAAoB,KAAK,IAAI;gBAC3B,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG;gBACpB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;YAEnD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7C;QACD,OAAO,oBAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,oBAAoB,CAAC,SAAoC;QACvD,OAAO,oBAAO,CAAC,mBAAmB,CAChC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE;YAC5C,MAAM,UAAU,GACd,IAAI,KAAK,SAAS;gBAChB,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM;gBACvB,CAAC,CAAC,oBAAO,CAAC,qBAAqB,CAAC,oBAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;YAExE,MAAM,KAAK,GAAG;gBACZ,EAAE,CAAC,uBAAuB,CAAC;oBACzB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,UAAU;iBACjB,CAAC;aACH,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,QAAQ,KAAK,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE;gBACpC,KAAK,CAAC,IAAI,CACR,EAAE,CAAC,uBAAuB,CAAC;oBACzB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;iBACf,CAAC,CACH,CAAC;aACH;YACD,OAAO,oBAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,mBAAmB,CACjB,QAA8D;QAE9D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;QACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,eAAe,CACb,SAAqC;QAErC,0BAA0B;QAC1B,IAAI,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC;QAE9B,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CACvB,CAAC;QAEF,sEAAsE;QACtE,IACE,CAAC,iBAAiB,CAAC,IAAI,CACrB,CAAC,GAAG,EAAE,EAAE,WAAC,OAAA,MAAM,CAAC,IAAI,CAAC,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA,EAAA,CACnD,EACD;YACA,OAAO,MAAM,CAAC;SACf;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;;YACjD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,QAAQ,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;YAC9D,OAAO,iBAAiB,CAAC,IAAI,CAC3B,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAY,CAAC,QAAQ,CAAC,KAAK,MAAM,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,wDAAwD;QACxD,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC;SACf;QAED,qCAAqC;QACrC,IACE,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,WAC7B,OAAA,MAAM,CAAC,IAAI,CAAC,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA,EAAA,CACxE,EACD;YACA,OAAO,MAAM,CAAC;SACf;QAED,8BAA8B;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,oBAAoB,CAAC,OAAY;QAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC;QACX,IAAI,WAAW,EAAE;YACf,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;SAClD;QACD,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC;SACf;QAED,uCAAuC;QACvC,qBAAqB;QACrB,IACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAC7D;YACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC3B;QAED,0EAA0E;QAC1E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,EAAiB;;QAC1B,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,UAAU,EAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;IAED,WAAW;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,yEAAyE;QACzE,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CACvB,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,8BAA8B,CAAC,CACxD,CAAC;QAEF,qDAAqD;QACrD,MAAM,OAAO,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC5E,oGAAoG;QACpG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YACrB,WAAW,EAAE,IAAA,yBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SACtD,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,4BAA4B,CACrD,IAAI,CAAC,UAAU,EACf,UAAU,CACX,CAAC;QACF,IAAI,CAAC,WAAW,IAAI,CAAC,oBAAE,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE;YAC9D,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QAED,EAAE,CAAC,mBAAmB,CACpB,WAAW,EACX,SAAS,EACT,IAAA,gCAAc,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CACxC,CAAC;QAEF,yCAAyC;QACzC,MAAM,SAAS,GAA6B,EAAE,CAAC;QAE/C,2CAA2C;QAC3C,MAAM,KAAK,GAA2B,EAAE,CAAC;QAEzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO;aACR;YAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClC,6CAA6C;gBAC7C,IAAI,CAAC,aAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAAE,OAAO;gBAEpC,MAAM,EAAE,GAA+B,IAAY,CAAC,IAAI,CAAC,CAAC;gBAC1D,MAAM,EACJ,WAAW,EACX,WAAW,EACX,SAAS,EACT,OAAO,EACP,WAAW,EACX,IAAI,GACL,GAAG,EAAE,CAAC;gBAEP,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACnB,OAAO;iBACR;gBAED,IAAI,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrD,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,mEAAmE;oBACnE,qEAAqE;oBACrE,oCAAoC;oBACpC,IAAI,IAAI,KAAK,CAAC;iBACf;gBAED,+BAA+B;gBAC/B,MAAM,kBAAkB,GAAG;oBACzB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;oBACrC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC;iBACpC,CAAC;gBAEF,qEAAqE;gBACrE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW;oBACjC,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;oBACxC,CAAC,CAAC,kBAAkB,CAAC;gBAEvB,+BAA+B;gBAC/B,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,gBAAC,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAEjE,gDAAgD;gBAChD,MAAM,QAAQ,GAAQ,EAAE,CAAC;gBACzB,UAAU;qBACP,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAClB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;qBACnC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChB,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEL,iEAAiE;gBACjE,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBACjD,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBAC5D,CAAC,CACH,CAAC;gBAEF,IAAI,IAAS,CAAC;gBACd,IAAI,OAAO,CAAC;gBAEZ,sBAAsB;gBACtB,IAAI,WAAW,EAAE;oBACf,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC5C,OAAO,GAAG,gBAAC,CAAC,SAAS,CAClB,IAAY,CAAC,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,MAAM,CACzD,CAAC;oBACF,YAAY,CAAC,IAAI,CACf,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE;wBAC1B,IAAI;wBACJ,aAAa,EAAE,CAAC,IAAI,CAAC,QAAQ;qBAC9B,CAAC,CACH,CAAC;iBACH;gBAED,6CAA6C;gBAC7C,IAAI,QAAQ,CAAC,MAAM,EAAE;oBACnB,YAAY,CAAC,IAAI,CACf,EAAE,CAAC,eAAe,CAChB,EAAE,CAAC,mBAAmB,CACpB,QAAQ;yBACL,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;yBACnC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACjD,EACD;wBACE,WAAW,EAAE,oBAAO,CAAC,6BAA6B,EAAE;wBACpD,IAAI,EAAE,oBAAO,CAAC,qBAAqB,CACjC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjB,EAAE,CAAC,uBAAuB,CAAC;4BACzB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BACpC,aAAa,EAAE,IAAI;4BACnB,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAC1B,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAC9B;yBACF,CAAC,CACH,CACF;qBACF,CACF,CACF,CAAC;iBACH;gBAED,YAAY,CAAC,IAAI,CACf,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;oBACzB,IAAI,EAAE,oBAAO,CAAC,uBAAuB,CACnC,sBAAsB,EACtB,SAAS,CACV;oBACD,aAAa,EAAE,IAAI;iBACpB,CAAC,CACH,CAAC;gBAEF,iCAAiC;gBAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,UAAU;qBACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;qBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,EAAE,CAAC;gBACP,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,MAAM,iBAAiB,GAAG,gBAAC,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBACzD,EAAE,GAAG,cAAc,CACjB,OAAO,EACP,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;wBACzD,+EAA+E;wBAC/E,OAAO,cAAc,CAAC,MAAM,EAAE;4BAC5B,EAAE,CAAC,mBAAmB,CACpB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9C;yBACF,CAAC,CAAC;oBACL,CAAC,CAAC,CACH,CAAC;iBACH;gBAED,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1C,MAAM,IAAI,GAAkC;oBAC1C,oBAAO,CAAC,sBAAsB,CAAC,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;iBACjE,CAAC;gBAEF,IAAI,MAAM,KAAK,KAAK,EAAE;oBACpB,IAAI,CAAC,IAAI,CACP,oBAAO,CAAC,wBAAwB,CAC9B,QAAQ,EACR,oBAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CACpC,CACF,CAAC;iBACH;gBAED,IAAI,OAAO,EAAE;oBACX,IAAI,CAAC,IAAI,CACP,EAAE,CAAC,wBAAwB,CACzB,MAAM,EACN,oBAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAClC,CACF,CAAC;iBACH;gBAED,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,IAAI,CAAC,IAAI,CACP,oBAAO,CAAC,wBAAwB,CAC9B,SAAS,EACT,oBAAO,CAAC,6BAA6B,CACnC;wBACE,oBAAO,CAAC,sBAAsB,CAC5B,oBAAO,CAAC,gBAAgB,CACtB,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,SAAS,CACV,CACF,CACF;wBACD,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,EAAE,CAAC,wBAAwB,CACzB,IAAI,EACJ,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACzC,CACF;qBACF,EACD,IAAI,CACL,CACF,CACF,CAAC;iBACH;gBAED,MAAM,IAAI,GAAoB,CAAC,GAAG,CAAC,CAAC;gBAEpC,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;wBACrD,OAAO,CAAC,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACH,MAAM,OAAO,GAAG,oBAAO,CAAC,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAClE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;iBACzF;gBAED,SAAS,CAAC,IAAI,CACZ,EAAE,CAAC,UAAU,CACX,EAAE,CAAC,yBAAyB,CAC1B,IAAI,EACJ;oBACE,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAChC,EACD,YAAY,EACZ,EAAE,CAAC,KAAK,CACN,oBAAO,CAAC,qBAAqB,CAC3B,IAAI,CAAC,UAAU,CACb,oBAAoB,CAClB;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,WAAW;iBAClB,CAAC,UAAU,CAAC,EACb,IAAI,EACJ,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM;oBAC5C,CAAC,CAAC;wBACE,IAAI,CAAC,oBAAoB,CAAC,SAAU,CAAC;4BACnC,oBAAE,CAAC,UAAU,CAAC,UAAU;qBAC3B;oBACH,CAAC,CAAC,SAAS,CACd,CACF,CACF,CACF,CACF,EACD,OAAO,IAAI,WAAW,CACvB,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAClB,UAAU,EAAE,EAAE,CAAC,WAAW,CACxB,IAAI,CAAC,UAAU,EACf,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CACnC;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAzpBD,+BAypBC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"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"}