@goast/typescript 0.8.0-beta.1 → 0.8.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.
Files changed (114) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +52 -52
  3. package/assets/client/angular/angular-service.utils.ts +82 -82
  4. package/assets/client/angular/request-builder.ts +377 -377
  5. package/assets/client/fetch/fetch-client.utils.ts +52 -52
  6. package/assets/client/k6/request-builder.js +448 -448
  7. package/assets/client/k6/request-builder.ts +366 -366
  8. package/assets/stubs/easy-network-stub/easy-network-stub.utils.ts +257 -257
  9. package/esm/src/generators/models/model-generator.d.ts +22 -0
  10. package/esm/src/generators/models/model-generator.d.ts.map +1 -1
  11. package/esm/src/generators/models/model-generator.js +37 -5
  12. package/esm/src/generators/services/angular-services/angular-service-generator.js +9 -9
  13. package/esm/src/generators/services/angular-services/angular-services-generator.js +2 -2
  14. package/esm/src/generators/services/easy-network-stub/easy-network-stub-generator.js +9 -9
  15. package/esm/src/generators/services/fetch-clients/fetch-client-generator.js +4 -4
  16. package/esm/src/generators/services/k6-clients/k6-client-generator.d.ts.map +1 -1
  17. package/esm/src/generators/services/k6-clients/k6-client-generator.js +23 -13
  18. package/esm/src/import-collection.d.ts.map +1 -1
  19. package/esm/src/import-collection.js +2 -2
  20. package/package.json +2 -2
  21. package/script/src/generators/models/model-generator.d.ts +22 -0
  22. package/script/src/generators/models/model-generator.d.ts.map +1 -1
  23. package/script/src/generators/models/model-generator.js +37 -5
  24. package/script/src/generators/services/angular-services/angular-service-generator.js +9 -9
  25. package/script/src/generators/services/angular-services/angular-services-generator.js +2 -2
  26. package/script/src/generators/services/easy-network-stub/easy-network-stub-generator.js +9 -9
  27. package/script/src/generators/services/fetch-clients/fetch-client-generator.js +4 -4
  28. package/script/src/generators/services/k6-clients/k6-client-generator.d.ts.map +1 -1
  29. package/script/src/generators/services/k6-clients/k6-client-generator.js +23 -13
  30. package/script/src/import-collection.d.ts.map +1 -1
  31. package/script/src/import-collection.js +1 -1
  32. package/src/mod.ts +7 -0
  33. package/src/src/assets.ts +9 -0
  34. package/src/src/ast/_index.ts +54 -0
  35. package/src/src/ast/common.ts +1 -0
  36. package/src/src/ast/index.ts +1 -0
  37. package/src/src/ast/node.ts +10 -0
  38. package/src/src/ast/nodes/argument.ts +40 -0
  39. package/src/src/ast/nodes/array-type.ts +49 -0
  40. package/src/src/ast/nodes/arrow-function.ts +91 -0
  41. package/src/src/ast/nodes/call.ts +55 -0
  42. package/src/src/ast/nodes/class.ts +133 -0
  43. package/src/src/ast/nodes/constructor-parameter.ts +70 -0
  44. package/src/src/ast/nodes/constructor.ts +77 -0
  45. package/src/src/ast/nodes/decorator.ts +76 -0
  46. package/src/src/ast/nodes/doc-tag.ts +291 -0
  47. package/src/src/ast/nodes/doc.ts +102 -0
  48. package/src/src/ast/nodes/enum-value.ts +72 -0
  49. package/src/src/ast/nodes/enum.ts +77 -0
  50. package/src/src/ast/nodes/export.ts +54 -0
  51. package/src/src/ast/nodes/function-type.ts +60 -0
  52. package/src/src/ast/nodes/function.ts +107 -0
  53. package/src/src/ast/nodes/generic-parameter.ts +71 -0
  54. package/src/src/ast/nodes/indexer.ts +60 -0
  55. package/src/src/ast/nodes/interface.ts +117 -0
  56. package/src/src/ast/nodes/intersection-type.ts +67 -0
  57. package/src/src/ast/nodes/lookup-type.ts +53 -0
  58. package/src/src/ast/nodes/method.ts +138 -0
  59. package/src/src/ast/nodes/object-type.ts +52 -0
  60. package/src/src/ast/nodes/object.ts +48 -0
  61. package/src/src/ast/nodes/parameter.ts +85 -0
  62. package/src/src/ast/nodes/property-accessor.ts +173 -0
  63. package/src/src/ast/nodes/property.ts +192 -0
  64. package/src/src/ast/nodes/reference.ts +194 -0
  65. package/src/src/ast/nodes/string.ts +49 -0
  66. package/src/src/ast/nodes/tuple.ts +53 -0
  67. package/src/src/ast/nodes/type-alias.ts +75 -0
  68. package/src/src/ast/nodes/typeof.ts +42 -0
  69. package/src/src/ast/nodes/types.ts +40 -0
  70. package/src/src/ast/nodes/union-type.ts +62 -0
  71. package/src/src/ast/nodes/variable.ts +73 -0
  72. package/src/src/ast/references/angular.ts +24 -0
  73. package/src/src/ast/references/easy-network-stub.ts +21 -0
  74. package/src/src/ast/references/index.ts +5 -0
  75. package/src/src/ast/references/k6.ts +8 -0
  76. package/src/src/ast/references/rxjs.ts +7 -0
  77. package/src/src/ast/references/typescript.ts +35 -0
  78. package/src/src/ast/utils/get-type-script-builder-options.ts +19 -0
  79. package/src/src/ast/utils/to-ts-node.ts +27 -0
  80. package/src/src/ast/utils/write-ts-generic-parameters.ts +25 -0
  81. package/src/src/ast/utils/write-ts-members.ts +28 -0
  82. package/src/src/ast/utils/write-ts-nodes.ts +35 -0
  83. package/src/src/ast/utils/write-ts-parameters.ts +25 -0
  84. package/src/src/common-results.ts +26 -0
  85. package/src/src/config.ts +96 -0
  86. package/src/src/file-builder.ts +137 -0
  87. package/src/src/generators/file-generator.ts +15 -0
  88. package/src/src/generators/index.ts +6 -0
  89. package/src/src/generators/models/index.ts +3 -0
  90. package/src/src/generators/models/model-generator.ts +530 -0
  91. package/src/src/generators/models/models-generator.ts +108 -0
  92. package/src/src/generators/models/models.ts +121 -0
  93. package/src/src/generators/services/angular-services/angular-service-generator.ts +431 -0
  94. package/src/src/generators/services/angular-services/angular-services-generator.ts +295 -0
  95. package/src/src/generators/services/angular-services/index.ts +3 -0
  96. package/src/src/generators/services/angular-services/models.ts +277 -0
  97. package/src/src/generators/services/angular-services/refs.ts +54 -0
  98. package/src/src/generators/services/easy-network-stub/easy-network-stub-generator.ts +250 -0
  99. package/src/src/generators/services/easy-network-stub/easy-network-stubs-generator.ts +211 -0
  100. package/src/src/generators/services/easy-network-stub/index.ts +3 -0
  101. package/src/src/generators/services/easy-network-stub/models.ts +124 -0
  102. package/src/src/generators/services/easy-network-stub/refs.ts +47 -0
  103. package/src/src/generators/services/fetch-clients/fetch-client-generator.ts +305 -0
  104. package/src/src/generators/services/fetch-clients/fetch-clients-generator.ts +163 -0
  105. package/src/src/generators/services/fetch-clients/index.ts +3 -0
  106. package/src/src/generators/services/fetch-clients/models.ts +130 -0
  107. package/src/src/generators/services/fetch-clients/refs.ts +21 -0
  108. package/src/src/generators/services/k6-clients/index.ts +3 -0
  109. package/src/src/generators/services/k6-clients/k6-client-generator.ts +515 -0
  110. package/src/src/generators/services/k6-clients/k6-clients-generator.ts +171 -0
  111. package/src/src/generators/services/k6-clients/models.ts +247 -0
  112. package/src/src/generators/services/k6-clients/refs.ts +16 -0
  113. package/src/src/import-collection.ts +236 -0
  114. package/src/src/utils.ts +79 -0
@@ -235,13 +235,13 @@ export class DefaultTypeScriptAngularServiceGenerator extends TypeScriptFileGene
235
235
  ], '\n'), { multiline: true })
236
236
  : null,
237
237
  '',
238
- s `return ${ctx.refs.waitForResponse([responseModelType])}(${s.indent `
239
- this.http.request(rb.build({${s.indent `
240
- responseType: ${ts.string(responseType)},
241
- accept: ${ts.string(accept)},
242
- context,`}
243
- })),
244
- {${s.indent `
238
+ s `return ${ctx.refs.waitForResponse([responseModelType])}(${s.indent `
239
+ this.http.request(rb.build({${s.indent `
240
+ responseType: ${ts.string(responseType)},
241
+ accept: ${ts.string(accept)},
242
+ context,`}
243
+ })),
244
+ {${s.indent `
245
245
  errorResponseTypes: ${ts.object({
246
246
  members: [
247
247
  ...Object.entries(this.getEndpointStatusCodes(ctx, endpoint))
@@ -250,8 +250,8 @@ export class DefaultTypeScriptAngularServiceGenerator extends TypeScriptFileGene
250
250
  return ts.property(key, { value: ts.string(value.parser) });
251
251
  }),
252
252
  ],
253
- })}`}
254
- }`}
253
+ })}`}
254
+ }`}
255
255
  )`,
256
256
  ], '\n'),
257
257
  });
@@ -163,8 +163,8 @@ export class TypeScriptAngularServicesGenerator extends OpenApiServicesGeneratio
163
163
  ], '\n');
164
164
  }
165
165
  getRootUrl(ctx) {
166
- var _a, _b, _c, _d, _e, _f;
167
- return modifyString((_f = (_e = (_d = (_c = ((_a = ctx.data.services[0].$src) !== null && _a !== void 0 ? _a : (_b = ctx.data.services[0].endpoints[0]) === null || _b === void 0 ? void 0 : _b.$src)) === null || _c === void 0 ? void 0 : _c.document.servers) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.url) !== null && _f !== void 0 ? _f : '/', ctx.config.rootUrl);
166
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
167
+ return modifyString((_j = (_h = (_g = (_f = (_e = ((_b = (_a = ctx.data.services[0]) === null || _a === void 0 ? void 0 : _a.$src) !== null && _b !== void 0 ? _b : (_d = (_c = ctx.data.services[0]) === null || _c === void 0 ? void 0 : _c.endpoints[0]) === null || _d === void 0 ? void 0 : _d.$src)) === null || _e === void 0 ? void 0 : _e.document) === null || _f === void 0 ? void 0 : _f.servers) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.url) !== null && _j !== void 0 ? _j : '/', ctx.config.rootUrl);
168
168
  }
169
169
  // #endregion
170
170
  // #region Index
@@ -99,15 +99,15 @@ export class DefaultTypeScriptEasyNetworkStubGenerator extends TypeScriptFileGen
99
99
  ],
100
100
  returnType: 'this',
101
101
  body: appendValueGroup([
102
- s `this.stubWrapper.stub2<${requestType}>()(${s.indent `
103
- ${ts.string(endpoint.method.toUpperCase())},
104
- ${this.getStubClassName(ctx)}.${this.getEndpointPathPropertyName(ctx, endpoint)},
105
- async (request) => {${s.indent `
106
- if (this.stubWrapper.options.rememberRequests) {${s.indent `
107
- this.${this.getEndpointRequestsFieldName(ctx, endpoint)}.push(request);`}
108
- }
109
- throw await response(${this.getResponderVariableName(ctx, endpoint)}, request);`}
110
- }`}
102
+ s `this.stubWrapper.stub2<${requestType}>()(${s.indent `
103
+ ${ts.string(endpoint.method.toUpperCase())},
104
+ ${this.getStubClassName(ctx)}.${this.getEndpointPathPropertyName(ctx, endpoint)},
105
+ async (request) => {${s.indent `
106
+ if (this.stubWrapper.options.rememberRequests) {${s.indent `
107
+ this.${this.getEndpointRequestsFieldName(ctx, endpoint)}.push(request);`}
108
+ }
109
+ throw await response(${this.getResponderVariableName(ctx, endpoint)}, request);`}
110
+ }`}
111
111
  );`,
112
112
  'return this;',
113
113
  ], '\n'),
@@ -140,7 +140,7 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
140
140
  const method = this.getInterfaceEndpointMethod(ctx, endpoint);
141
141
  method.accessModifier = 'public';
142
142
  method.body = appendValueGroup([
143
- s `const url = new ${ctx.refs.urlBuilder()}(this.options.baseUrl)${s.indent `
143
+ s `const url = new ${ctx.refs.urlBuilder()}(this.options.baseUrl)${s.indent `
144
144
  .withPath(${ts.string(endpoint.path)})${(b) => b.forEach(endpoint.parameters, (b, p) => {
145
145
  switch (p.target) {
146
146
  case 'path':
@@ -150,11 +150,11 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
150
150
  b.append(s `\n.withQueryParam(${ts.string(p.name)}, params.${toCasing(p.name, ctx.config.paramNameCasing)})`);
151
151
  break;
152
152
  }
153
- })}
153
+ })}
154
154
  .build();`}`,
155
155
  'const headers = { ...this.options.headers };',
156
- ...endpoint.parameters.filter((x) => x.target === 'header').map((p) => s `if (params && params.${toCasing(p.name, ctx.config.paramNameCasing)} !== undefined) {${s.indent `
157
- headers[${ts.string(p.name)}] = String(params.${toCasing(p.name, ctx.config.paramNameCasing)});`}
156
+ ...endpoint.parameters.filter((x) => x.target === 'header').map((p) => s `if (params && params.${toCasing(p.name, ctx.config.paramNameCasing)} !== undefined) {${s.indent `
157
+ headers[${ts.string(p.name)}] = String(params.${toCasing(p.name, ctx.config.paramNameCasing)});`}
158
158
  }`),
159
159
  s `const response = (this.options.fetch ?? fetch)(url, ${ts.object({
160
160
  members: [
@@ -1 +1 @@
1
- {"version":3,"file":"k6-client-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/k6-clients/k6-client-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EAGrB,KAAK,YAAY,EAGlB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAEzG,KAAK,OAAO,GAAG,kCAAkC,CAAC;AAClD,KAAK,MAAM,GAAG,iCAAiC,CAAC;AAChD,KAAK,OAAO,GAAG,qBAAqB,CAAC;AAErC,MAAM,WAAW,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IAC1E,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACnD;AAED,qBAAa,kCAAmC,SAAQ,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAC7F,YAAW,2BAA2B;IACtB,QAAQ,CAAC,GAAG,EAAE,kCAAkC,GAAG,YAAY,CAAC,iCAAiC,CAAC;IA4BlH,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAetF,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAqErG,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;IAuBjH,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAqBvE,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;IA0E7G,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IA2DnD,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;IA4FpF,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;IAiBhE,SAAS,CAAC,0BAA0B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS;IAOnG,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAC3B,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACpD,gBAAgB,CAAC,OAAO,CAAC;IAU5B,SAAS,CAAC,aAAa,CACrB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,uBAAuB,GAAG;QAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAAE,GAClE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IAMnB,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAI5C,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAI3E,SAAS,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAIhF,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAIlF,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAI5E,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAU3C,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAQxD,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO;CAG3E"}
1
+ {"version":3,"file":"k6-client-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/k6-clients/k6-client-generator.ts"],"names":[],"mappings":"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"}
@@ -154,7 +154,11 @@ export class DefaultTypeScriptK6ClientGenerator extends TypeScriptFileGenerator
154
154
  type: schema
155
155
  ? (b) => b.appendModelUsage(ctx.input.typescript.models[schema.id], importOptions)
156
156
  : this.getAnyType(ctx),
157
- description: (parameter.deprecated ? 'Deprecated: ' : '') + parameter.description,
157
+ description: parameter.description
158
+ ? (parameter.deprecated ? 'Deprecated: ' : '') + parameter.description
159
+ : parameter.deprecated
160
+ ? 'Deprecated'
161
+ : undefined,
158
162
  required: parameter.required,
159
163
  };
160
164
  });
@@ -243,9 +247,15 @@ export class DefaultTypeScriptK6ClientGenerator extends TypeScriptFileGenerator
243
247
  }),
244
248
  parameters: [
245
249
  ts.constructorParameter('rootUrl', { type: isJs ? undefined : rootUrlType }),
246
- ts.constructorParameter('defaultK6ParamsFactory', { type: isJs ? undefined : paramType, optional: true }),
250
+ // `optional` renders a TypeScript `?`, which is a syntax error in a `.js` file. JavaScript
251
+ // parameters are optional anyway, and the JSDoc `@param [defaultK6ParamsFactory]` above
252
+ // already records it.
253
+ ts.constructorParameter('defaultK6ParamsFactory', {
254
+ type: isJs ? undefined : paramType,
255
+ optional: isJs ? undefined : true,
256
+ }),
247
257
  ],
248
- body: s `this.rootUrl = rootUrl;
258
+ body: s `this.rootUrl = rootUrl;
249
259
  this._defaultK6ParamsFactory = defaultK6ParamsFactory;`,
250
260
  }),
251
261
  ...ctx.service.endpoints.map((e) => this.getEndpointMethod(ctx, e)),
@@ -307,17 +317,17 @@ export class DefaultTypeScriptK6ClientGenerator extends TypeScriptFileGenerator
307
317
  : null,
308
318
  '',
309
319
  ctx.config.language === 'javascript'
310
- ? s `return /** @type {${returnType}} */ (${s.indent `
311
- ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${s.indent `
312
- accept: ${ts.string(accept)},
313
- params: this.getK6Params(k6Params),`}
314
- })`}
320
+ ? s `return /** @type {${returnType}} */ (${s.indent `
321
+ ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${s.indent `
322
+ accept: ${ts.string(accept)},
323
+ params: this.getK6Params(k6Params),`}
324
+ })`}
315
325
  );`
316
- : s `return (${s.indent `
317
- ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${s.indent `
318
- accept: ${ts.string(accept)},
319
- params: this.getK6Params(k6Params),`}
320
- })`}
326
+ : s `return (${s.indent `
327
+ ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${s.indent `
328
+ accept: ${ts.string(accept)},
329
+ params: this.getK6Params(k6Params),`}
330
+ })`}
321
331
  ) as unknown as ${returnType};`,
322
332
  ], '\n'),
323
333
  });
@@ -1 +1 @@
1
- {"version":3,"file":"import-collection.d.ts","sourceRoot":"","sources":["../../src/src/import-collection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAA+B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,6BAGlD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEtE,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAE7C,OAAO,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC;IAI5D,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,OAAO,IAAI,gBAAgB,EAAE,CAMvC;IAED,OAAO,CAAC,QAAQ;IAeT,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAU1F,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAU1F,KAAK,IAAI,IAAI;IAQb,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAMxD,OAAO,CAAC,OAAO,EAAE,aAAa;IAiDrC,SAAS,CAAC,mBAAmB,CAC3B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,YAAY,EAC3E,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAC3D,OAAO,EAAE;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE;IA2BvC,SAAS,CAAC,cAAc,CACtB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,uBAAuB,EAAE,uBAAuB,GAC/C,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE;IASxD,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB;IAKjE,SAAS,CAAC,iBAAiB,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,uBAAuB,EAAE,uBAAuB,GAC/C,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAUjC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAW5E,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAQ7E"}
1
+ {"version":3,"file":"import-collection.d.ts","sourceRoot":"","sources":["../../src/src/import-collection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAA+B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,6BAGlD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEtE,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAE7C,OAAO,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC;IAI5D,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,OAAO,IAAI,gBAAgB,EAAE,CAMvC;IAED,OAAO,CAAC,QAAQ;IAeT,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAU1F,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAU1F,KAAK,IAAI,IAAI;IAQb,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAMxD,OAAO,CAAC,OAAO,EAAE,aAAa;IAiDrC,SAAS,CAAC,mBAAmB,CAC3B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,YAAY,EAC3E,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAC3D,OAAO,EAAE;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE;IA2BvC,SAAS,CAAC,cAAc,CACtB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,uBAAuB,EAAE,uBAAuB,GAC/C,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE;IASxD,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB;IAKjE,SAAS,CAAC,iBAAiB,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,uBAAuB,EAAE,uBAAuB,GAC/C,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAUjC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAW5E,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAQ7E"}
@@ -1,5 +1,5 @@
1
1
  import { extname } from 'node:path';
2
- import { StringBuilder } from '@goast/core';
2
+ import { compareString, StringBuilder } from '@goast/core';
3
3
  import { defaultTypeScriptGeneratorConfig } from './config.js';
4
4
  import { getModulePathRelativeToFile } from './utils.js';
5
5
  export const defaultImportExportCollectionOptions = {
@@ -170,7 +170,7 @@ export class ImportExportCollection {
170
170
  }
171
171
  sortAndResolve(data, filePath, importModuleTransformer) {
172
172
  return Array.from(data.entries())
173
- .sort(([fromModuleA], [fromModuleB]) => fromModuleA.localeCompare(fromModuleB))
173
+ .sort(([a], [b]) => compareString(a, b))
174
174
  .map(([fromModule, names]) => [...this.resolveModulePath(fromModule, filePath, importModuleTransformer), Array.from(names).sort()]);
175
175
  }
176
176
  getImportKind(fromModule) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goast/typescript",
3
- "version": "0.8.0-beta.1",
3
+ "version": "0.8.0",
4
4
  "description": "Provides gOAst generators for generating TypeScript code from OpenAPI specifications.",
5
5
  "author": {
6
6
  "name": "Marc Schmidt (MaSch0212)",
@@ -25,7 +25,7 @@
25
25
  "dependencies": {
26
26
  "tslib": "^2.6.2",
27
27
  "fs-extra": "^11.3.3",
28
- "@goast/core": "0.6.0-beta.1"
28
+ "@goast/core": "0.6.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^20.9.0",
@@ -20,6 +20,28 @@ export declare class DefaultTypeScriptModelGenerator extends TypeScriptFileGener
20
20
  protected getEnumValuesVariable(ctx: Context, schema: ApiSchema): ts.Variable<Builder>;
21
21
  protected getIndexer(ctx: Context, schema: ObjectLikeApiSchema): ts.Indexer<Builder> | null;
22
22
  protected getProperties(ctx: Context, schema: ObjectLikeApiSchema): ts.Property<Builder>[];
23
+ /**
24
+ * The type of a schema used as a *member* of an enclosing type - a composition branch, an array element, an
25
+ * `additionalProperties` value - with the schema's own nullability applied.
26
+ *
27
+ * `getType` renders a schema's type without its `null` on purpose: the two contexts that render a schema's type
28
+ * as a whole declare nullability themselves. A property has it added by `getProperties`, and a top-level type
29
+ * alias deliberately does not hoist it, because that would change what every declared type means for consumers.
30
+ * A member position has neither - nothing downstream can add the `null` back - so unless it is admitted here the
31
+ * emitted type cannot represent a value the spec explicitly permits.
32
+ */
33
+ protected getMemberType(ctx: Context, schema: Nullable<ApiSchema>, options?: {
34
+ skipSchemas?: boolean;
35
+ useBaseType?: boolean;
36
+ }): ts.Type<Builder> | null;
37
+ /**
38
+ * Whether a schema needs a `null` added to the type `getType` renders for it. A schema that only ever renders as
39
+ * `null` (the null type itself) already admits it, and adding a second one would emit `(null) | (null)`.
40
+ *
41
+ * Nullability is read through the reference chain the same way `getType` reads the type, so a `$ref` to a
42
+ * declared nullable schema - whose own declaration does not hoist the `null` - still admits null where it is used.
43
+ */
44
+ protected isNullableMember(schema: ApiSchema): boolean;
23
45
  protected getType(ctx: Context, schema: Nullable<ApiSchema>, options?: {
24
46
  skipSchemas?: boolean;
25
47
  useBaseType?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"model-generator.d.ts","sourceRoot":"","sources":["../../../../src/src/generators/models/model-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-generator.d.ts","sourceRoot":"","sources":["../../../../src/src/generators/models/model-generator.ts"],"names":[],"mappings":"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"}
@@ -161,7 +161,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_js_1.TypeScriptFile
161
161
  getIndexer(ctx, schema) {
162
162
  var _a;
163
163
  return schema.additionalProperties
164
- ? index_js_1.ts.indexer(index_js_1.ts.refs.string(), (_a = (schema.additionalProperties === true ? null : this.getType(ctx, schema.additionalProperties))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { readonly: ctx.config.immutableTypes })
164
+ ? index_js_1.ts.indexer(index_js_1.ts.refs.string(), (_a = (schema.additionalProperties === true ? null : this.getMemberType(ctx, schema.additionalProperties))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { readonly: ctx.config.immutableTypes })
165
165
  : null;
166
166
  }
167
167
  getProperties(ctx, schema) {
@@ -177,6 +177,33 @@ class DefaultTypeScriptModelGenerator extends file_generator_js_1.TypeScriptFile
177
177
  });
178
178
  });
179
179
  }
180
+ /**
181
+ * The type of a schema used as a *member* of an enclosing type - a composition branch, an array element, an
182
+ * `additionalProperties` value - with the schema's own nullability applied.
183
+ *
184
+ * `getType` renders a schema's type without its `null` on purpose: the two contexts that render a schema's type
185
+ * as a whole declare nullability themselves. A property has it added by `getProperties`, and a top-level type
186
+ * alias deliberately does not hoist it, because that would change what every declared type means for consumers.
187
+ * A member position has neither - nothing downstream can add the `null` back - so unless it is admitted here the
188
+ * emitted type cannot represent a value the spec explicitly permits.
189
+ */
190
+ getMemberType(ctx, schema, options) {
191
+ const type = this.getType(ctx, schema, options);
192
+ return type !== null && schema && this.isNullableMember(schema) ? index_js_1.ts.unionType([type, 'null']) : type;
193
+ }
194
+ /**
195
+ * Whether a schema needs a `null` added to the type `getType` renders for it. A schema that only ever renders as
196
+ * `null` (the null type itself) already admits it, and adding a second one would emit `(null) | (null)`.
197
+ *
198
+ * Nullability is read through the reference chain the same way `getType` reads the type, so a `$ref` to a
199
+ * declared nullable schema - whose own declaration does not hoist the `null` - still admits null where it is used.
200
+ */
201
+ isNullableMember(schema) {
202
+ const resolved = (0, core_1.getSchemaReference)(schema, core_1.DEFAULT_IGNORED_SCHEMA_PROPERTIES);
203
+ if (resolved.kind === 'null')
204
+ return false;
205
+ return schema.nullable === true || resolved.nullable === true;
206
+ }
180
207
  getType(ctx, schema, options) {
181
208
  if (!schema)
182
209
  return this.getAnyType(ctx);
@@ -231,7 +258,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_js_1.TypeScriptFile
231
258
  }
232
259
  getArrayType(ctx, schema) {
233
260
  var _a;
234
- return index_js_1.ts.arrayType((_a = this.getType(ctx, schema.items)) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
261
+ return index_js_1.ts.arrayType((_a = this.getMemberType(ctx, schema.items)) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
235
262
  readonly: ctx.config.immutableTypes,
236
263
  });
237
264
  }
@@ -279,16 +306,21 @@ class DefaultTypeScriptModelGenerator extends file_generator_js_1.TypeScriptFile
279
306
  return this.getAnyType(ctx);
280
307
  }
281
308
  const useBaseType = schema.id === ctx.schema.id;
309
+ // allOf branches must all hold at once, i.e. an intersection. anyOf branches only require at least one to hold,
310
+ // i.e. a union - TypeScript unions already admit values matching several branches, so no Partial<> wrapper is
311
+ // needed to express that overlap. A schema with both intersects the allOf branches with the anyOf union.
282
312
  return index_js_1.ts.intersectionType([
283
- ...schema.allOf.map((x) => this.getType(ctx, x, { useBaseType })),
284
- ...schema.anyOf.map((x) => index_js_1.ts.reference('Partial', null, { generics: [this.getType(ctx, x, { useBaseType })] })),
313
+ ...schema.allOf.map((x) => this.getMemberType(ctx, x, { useBaseType })),
314
+ schema.anyOf.length > 0
315
+ ? index_js_1.ts.unionType(schema.anyOf.map((x) => this.getMemberType(ctx, x, { useBaseType })))
316
+ : null,
285
317
  ]);
286
318
  }
287
319
  getOneOfType(ctx, schema) {
288
320
  if (schema.oneOf.length === 0) {
289
321
  return this.getAnyType(ctx);
290
322
  }
291
- return index_js_1.ts.unionType(schema.oneOf.map((x) => this.getType(ctx, x)));
323
+ return index_js_1.ts.unionType(schema.oneOf.map((x) => this.getMemberType(ctx, x)));
292
324
  }
293
325
  getMultiType(ctx, schema) {
294
326
  if (schema.type.length === 0) {
@@ -238,13 +238,13 @@ class DefaultTypeScriptAngularServiceGenerator extends file_generator_js_1.TypeS
238
238
  ], '\n'), { multiline: true })
239
239
  : null,
240
240
  '',
241
- (0, core_1.builderTemplate) `return ${ctx.refs.waitForResponse([responseModelType])}(${core_1.builderTemplate.indent `
242
- this.http.request(rb.build({${core_1.builderTemplate.indent `
243
- responseType: ${index_js_1.ts.string(responseType)},
244
- accept: ${index_js_1.ts.string(accept)},
245
- context,`}
246
- })),
247
- {${core_1.builderTemplate.indent `
241
+ (0, core_1.builderTemplate) `return ${ctx.refs.waitForResponse([responseModelType])}(${core_1.builderTemplate.indent `
242
+ this.http.request(rb.build({${core_1.builderTemplate.indent `
243
+ responseType: ${index_js_1.ts.string(responseType)},
244
+ accept: ${index_js_1.ts.string(accept)},
245
+ context,`}
246
+ })),
247
+ {${core_1.builderTemplate.indent `
248
248
  errorResponseTypes: ${index_js_1.ts.object({
249
249
  members: [
250
250
  ...Object.entries(this.getEndpointStatusCodes(ctx, endpoint))
@@ -253,8 +253,8 @@ class DefaultTypeScriptAngularServiceGenerator extends file_generator_js_1.TypeS
253
253
  return index_js_1.ts.property(key, { value: index_js_1.ts.string(value.parser) });
254
254
  }),
255
255
  ],
256
- })}`}
257
- }`}
256
+ })}`}
257
+ }`}
258
258
  )`,
259
259
  ], '\n'),
260
260
  });
@@ -167,8 +167,8 @@ class TypeScriptAngularServicesGenerator extends core_1.OpenApiServicesGeneratio
167
167
  ], '\n');
168
168
  }
169
169
  getRootUrl(ctx) {
170
- var _a, _b, _c, _d, _e, _f;
171
- return (0, utils_js_1.modifyString)((_f = (_e = (_d = (_c = ((_a = ctx.data.services[0].$src) !== null && _a !== void 0 ? _a : (_b = ctx.data.services[0].endpoints[0]) === null || _b === void 0 ? void 0 : _b.$src)) === null || _c === void 0 ? void 0 : _c.document.servers) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.url) !== null && _f !== void 0 ? _f : '/', ctx.config.rootUrl);
170
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
171
+ return (0, utils_js_1.modifyString)((_j = (_h = (_g = (_f = (_e = ((_b = (_a = ctx.data.services[0]) === null || _a === void 0 ? void 0 : _a.$src) !== null && _b !== void 0 ? _b : (_d = (_c = ctx.data.services[0]) === null || _c === void 0 ? void 0 : _c.endpoints[0]) === null || _d === void 0 ? void 0 : _d.$src)) === null || _e === void 0 ? void 0 : _e.document) === null || _f === void 0 ? void 0 : _f.servers) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.url) !== null && _j !== void 0 ? _j : '/', ctx.config.rootUrl);
172
172
  }
173
173
  // #endregion
174
174
  // #region Index
@@ -102,15 +102,15 @@ class DefaultTypeScriptEasyNetworkStubGenerator extends file_generator_js_1.Type
102
102
  ],
103
103
  returnType: 'this',
104
104
  body: (0, core_1.appendValueGroup)([
105
- (0, core_1.builderTemplate) `this.stubWrapper.stub2<${requestType}>()(${core_1.builderTemplate.indent `
106
- ${index_js_1.ts.string(endpoint.method.toUpperCase())},
107
- ${this.getStubClassName(ctx)}.${this.getEndpointPathPropertyName(ctx, endpoint)},
108
- async (request) => {${core_1.builderTemplate.indent `
109
- if (this.stubWrapper.options.rememberRequests) {${core_1.builderTemplate.indent `
110
- this.${this.getEndpointRequestsFieldName(ctx, endpoint)}.push(request);`}
111
- }
112
- throw await response(${this.getResponderVariableName(ctx, endpoint)}, request);`}
113
- }`}
105
+ (0, core_1.builderTemplate) `this.stubWrapper.stub2<${requestType}>()(${core_1.builderTemplate.indent `
106
+ ${index_js_1.ts.string(endpoint.method.toUpperCase())},
107
+ ${this.getStubClassName(ctx)}.${this.getEndpointPathPropertyName(ctx, endpoint)},
108
+ async (request) => {${core_1.builderTemplate.indent `
109
+ if (this.stubWrapper.options.rememberRequests) {${core_1.builderTemplate.indent `
110
+ this.${this.getEndpointRequestsFieldName(ctx, endpoint)}.push(request);`}
111
+ }
112
+ throw await response(${this.getResponderVariableName(ctx, endpoint)}, request);`}
113
+ }`}
114
114
  );`,
115
115
  'return this;',
116
116
  ], '\n'),
@@ -143,7 +143,7 @@ class DefaultTypeScriptFetchClientGenerator extends file_generator_js_1.TypeScri
143
143
  const method = this.getInterfaceEndpointMethod(ctx, endpoint);
144
144
  method.accessModifier = 'public';
145
145
  method.body = (0, core_1.appendValueGroup)([
146
- (0, core_1.builderTemplate) `const url = new ${ctx.refs.urlBuilder()}(this.options.baseUrl)${core_1.builderTemplate.indent `
146
+ (0, core_1.builderTemplate) `const url = new ${ctx.refs.urlBuilder()}(this.options.baseUrl)${core_1.builderTemplate.indent `
147
147
  .withPath(${index_js_1.ts.string(endpoint.path)})${(b) => b.forEach(endpoint.parameters, (b, p) => {
148
148
  switch (p.target) {
149
149
  case 'path':
@@ -153,11 +153,11 @@ class DefaultTypeScriptFetchClientGenerator extends file_generator_js_1.TypeScri
153
153
  b.append((0, core_1.builderTemplate) `\n.withQueryParam(${index_js_1.ts.string(p.name)}, params.${(0, core_1.toCasing)(p.name, ctx.config.paramNameCasing)})`);
154
154
  break;
155
155
  }
156
- })}
156
+ })}
157
157
  .build();`}`,
158
158
  'const headers = { ...this.options.headers };',
159
- ...endpoint.parameters.filter((x) => x.target === 'header').map((p) => (0, core_1.builderTemplate) `if (params && params.${(0, core_1.toCasing)(p.name, ctx.config.paramNameCasing)} !== undefined) {${core_1.builderTemplate.indent `
160
- headers[${index_js_1.ts.string(p.name)}] = String(params.${(0, core_1.toCasing)(p.name, ctx.config.paramNameCasing)});`}
159
+ ...endpoint.parameters.filter((x) => x.target === 'header').map((p) => (0, core_1.builderTemplate) `if (params && params.${(0, core_1.toCasing)(p.name, ctx.config.paramNameCasing)} !== undefined) {${core_1.builderTemplate.indent `
160
+ headers[${index_js_1.ts.string(p.name)}] = String(params.${(0, core_1.toCasing)(p.name, ctx.config.paramNameCasing)});`}
161
161
  }`),
162
162
  (0, core_1.builderTemplate) `const response = (this.options.fetch ?? fetch)(url, ${index_js_1.ts.object({
163
163
  members: [
@@ -1 +1 @@
1
- {"version":3,"file":"k6-client-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/k6-clients/k6-client-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"k6-client-generator.d.ts","sourceRoot":"","sources":["../../../../../src/src/generators/services/k6-clients/k6-client-generator.ts"],"names":[],"mappings":"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"}
@@ -157,7 +157,11 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_js_1.TypeScriptF
157
157
  type: schema
158
158
  ? (b) => b.appendModelUsage(ctx.input.typescript.models[schema.id], importOptions)
159
159
  : this.getAnyType(ctx),
160
- description: (parameter.deprecated ? 'Deprecated: ' : '') + parameter.description,
160
+ description: parameter.description
161
+ ? (parameter.deprecated ? 'Deprecated: ' : '') + parameter.description
162
+ : parameter.deprecated
163
+ ? 'Deprecated'
164
+ : undefined,
161
165
  required: parameter.required,
162
166
  };
163
167
  });
@@ -246,9 +250,15 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_js_1.TypeScriptF
246
250
  }),
247
251
  parameters: [
248
252
  index_js_1.ts.constructorParameter('rootUrl', { type: isJs ? undefined : rootUrlType }),
249
- index_js_1.ts.constructorParameter('defaultK6ParamsFactory', { type: isJs ? undefined : paramType, optional: true }),
253
+ // `optional` renders a TypeScript `?`, which is a syntax error in a `.js` file. JavaScript
254
+ // parameters are optional anyway, and the JSDoc `@param [defaultK6ParamsFactory]` above
255
+ // already records it.
256
+ index_js_1.ts.constructorParameter('defaultK6ParamsFactory', {
257
+ type: isJs ? undefined : paramType,
258
+ optional: isJs ? undefined : true,
259
+ }),
250
260
  ],
251
- body: (0, core_1.builderTemplate) `this.rootUrl = rootUrl;
261
+ body: (0, core_1.builderTemplate) `this.rootUrl = rootUrl;
252
262
  this._defaultK6ParamsFactory = defaultK6ParamsFactory;`,
253
263
  }),
254
264
  ...ctx.service.endpoints.map((e) => this.getEndpointMethod(ctx, e)),
@@ -310,17 +320,17 @@ class DefaultTypeScriptK6ClientGenerator extends file_generator_js_1.TypeScriptF
310
320
  : null,
311
321
  '',
312
322
  ctx.config.language === 'javascript'
313
- ? (0, core_1.builderTemplate) `return /** @type {${returnType}} */ (${core_1.builderTemplate.indent `
314
- ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${core_1.builderTemplate.indent `
315
- accept: ${index_js_1.ts.string(accept)},
316
- params: this.getK6Params(k6Params),`}
317
- })`}
323
+ ? (0, core_1.builderTemplate) `return /** @type {${returnType}} */ (${core_1.builderTemplate.indent `
324
+ ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${core_1.builderTemplate.indent `
325
+ accept: ${index_js_1.ts.string(accept)},
326
+ params: this.getK6Params(k6Params),`}
327
+ })`}
318
328
  );`
319
- : (0, core_1.builderTemplate) `return (${core_1.builderTemplate.indent `
320
- ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${core_1.builderTemplate.indent `
321
- accept: ${index_js_1.ts.string(accept)},
322
- params: this.getK6Params(k6Params),`}
323
- })`}
329
+ : (0, core_1.builderTemplate) `return (${core_1.builderTemplate.indent `
330
+ ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${core_1.builderTemplate.indent `
331
+ accept: ${index_js_1.ts.string(accept)},
332
+ params: this.getK6Params(k6Params),`}
333
+ })`}
324
334
  ) as unknown as ${returnType};`,
325
335
  ], '\n'),
326
336
  });
@@ -1 +1 @@
1
- {"version":3,"file":"import-collection.d.ts","sourceRoot":"","sources":["../../src/src/import-collection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAA+B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,6BAGlD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEtE,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAE7C,OAAO,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC;IAI5D,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,OAAO,IAAI,gBAAgB,EAAE,CAMvC;IAED,OAAO,CAAC,QAAQ;IAeT,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAU1F,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAU1F,KAAK,IAAI,IAAI;IAQb,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAMxD,OAAO,CAAC,OAAO,EAAE,aAAa;IAiDrC,SAAS,CAAC,mBAAmB,CAC3B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,YAAY,EAC3E,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAC3D,OAAO,EAAE;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE;IA2BvC,SAAS,CAAC,cAAc,CACtB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,uBAAuB,EAAE,uBAAuB,GAC/C,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE;IASxD,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB;IAKjE,SAAS,CAAC,iBAAiB,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,uBAAuB,EAAE,uBAAuB,GAC/C,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAUjC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAW5E,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAQ7E"}
1
+ {"version":3,"file":"import-collection.d.ts","sourceRoot":"","sources":["../../src/src/import-collection.ts"],"names":[],"mappings":"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"}
@@ -173,7 +173,7 @@ class ImportExportCollection {
173
173
  }
174
174
  sortAndResolve(data, filePath, importModuleTransformer) {
175
175
  return Array.from(data.entries())
176
- .sort(([fromModuleA], [fromModuleB]) => fromModuleA.localeCompare(fromModuleB))
176
+ .sort(([a], [b]) => (0, core_1.compareString)(a, b))
177
177
  .map(([fromModule, names]) => [...this.resolveModulePath(fromModule, filePath, importModuleTransformer), Array.from(names).sort()]);
178
178
  }
179
179
  getImportKind(fromModule) {
package/src/mod.ts ADDED
@@ -0,0 +1,7 @@
1
+ export * from './src/ast/index.js';
2
+ export * from './src/common-results.js';
3
+ export * from './src/config.js';
4
+ export * from './src/file-builder.js';
5
+ export * from './src/generators/index.js';
6
+ export * from './src/import-collection.js';
7
+ export * from './src/utils.js';
@@ -0,0 +1,9 @@
1
+ import { AssetManager } from '@goast/core';
2
+ import { pathToFileURL, URL } from 'node:url';
3
+
4
+ declare const __filename: string | undefined;
5
+ const scriptUrl = typeof __filename === 'undefined' ? import.meta.url : pathToFileURL(__filename);
6
+
7
+ const manager = new AssetManager(new URL('../assets/', scriptUrl));
8
+ export const getAssetFileContent = manager.getAssetFileContent.bind(manager);
9
+ export const copyAssetFile = manager.copyAssetFile.bind(manager);