@skmtc/core 0.0.556 → 0.0.558

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 (63) hide show
  1. package/esm/context/GenerateContext.d.ts +2 -12
  2. package/esm/context/GenerateContext.d.ts.map +1 -1
  3. package/esm/context/GenerateContext.js +19 -109
  4. package/esm/dsl/model/ModelInsertable.d.ts +5 -1
  5. package/esm/dsl/model/ModelInsertable.d.ts.map +1 -1
  6. package/esm/dsl/model/toModelInsertable.d.ts +3 -1
  7. package/esm/dsl/model/toModelInsertable.d.ts.map +1 -1
  8. package/esm/dsl/model/toModelInsertable.js +6 -6
  9. package/esm/dsl/operation/OperationInsertable.d.ts +5 -17
  10. package/esm/dsl/operation/OperationInsertable.d.ts.map +1 -1
  11. package/esm/dsl/operation/toOperationInsertable.d.ts +3 -2
  12. package/esm/dsl/operation/toOperationInsertable.d.ts.map +1 -1
  13. package/esm/dsl/operation/toOperationInsertable.js +8 -8
  14. package/esm/mod.d.ts +0 -2
  15. package/esm/mod.d.ts.map +1 -1
  16. package/esm/mod.js +0 -2
  17. package/esm/run/handleEnrichment.d.ts +1 -1
  18. package/esm/run/handleEnrichment.d.ts.map +1 -1
  19. package/esm/run/handleEnrichment.js +3 -3
  20. package/esm/run/toSettings.d.ts.map +1 -1
  21. package/esm/run/toSettings.js +7 -27
  22. package/esm/types/EnrichmentRequest.d.ts +1 -1
  23. package/esm/types/EnrichmentRequest.d.ts.map +1 -1
  24. package/esm/types/GeneratorType.d.ts +1 -2
  25. package/esm/types/GeneratorType.d.ts.map +1 -1
  26. package/package.json +1 -1
  27. package/script/context/GenerateContext.d.ts +2 -12
  28. package/script/context/GenerateContext.d.ts.map +1 -1
  29. package/script/context/GenerateContext.js +19 -109
  30. package/script/dsl/model/ModelInsertable.d.ts +5 -1
  31. package/script/dsl/model/ModelInsertable.d.ts.map +1 -1
  32. package/script/dsl/model/toModelInsertable.d.ts +3 -1
  33. package/script/dsl/model/toModelInsertable.d.ts.map +1 -1
  34. package/script/dsl/model/toModelInsertable.js +6 -6
  35. package/script/dsl/operation/OperationInsertable.d.ts +5 -17
  36. package/script/dsl/operation/OperationInsertable.d.ts.map +1 -1
  37. package/script/dsl/operation/toOperationInsertable.d.ts +3 -2
  38. package/script/dsl/operation/toOperationInsertable.d.ts.map +1 -1
  39. package/script/dsl/operation/toOperationInsertable.js +8 -8
  40. package/script/mod.d.ts +0 -2
  41. package/script/mod.d.ts.map +1 -1
  42. package/script/mod.js +0 -2
  43. package/script/run/handleEnrichment.d.ts +1 -1
  44. package/script/run/handleEnrichment.d.ts.map +1 -1
  45. package/script/run/handleEnrichment.js +3 -3
  46. package/script/run/toSettings.d.ts.map +1 -1
  47. package/script/run/toSettings.js +7 -27
  48. package/script/types/EnrichmentRequest.d.ts +1 -1
  49. package/script/types/EnrichmentRequest.d.ts.map +1 -1
  50. package/script/types/GeneratorType.d.ts +1 -2
  51. package/script/types/GeneratorType.d.ts.map +1 -1
  52. package/esm/dsl/GatewayBase.d.ts +0 -13
  53. package/esm/dsl/GatewayBase.d.ts.map +0 -1
  54. package/esm/dsl/GatewayBase.js +0 -19
  55. package/esm/dsl/operation/toOperationGateway.d.ts +0 -39
  56. package/esm/dsl/operation/toOperationGateway.d.ts.map +0 -1
  57. package/esm/dsl/operation/toOperationGateway.js +0 -84
  58. package/script/dsl/GatewayBase.d.ts +0 -13
  59. package/script/dsl/GatewayBase.d.ts.map +0 -1
  60. package/script/dsl/GatewayBase.js +0 -23
  61. package/script/dsl/operation/toOperationGateway.d.ts +0 -39
  62. package/script/dsl/operation/toOperationGateway.d.ts.map +0 -1
  63. package/script/dsl/operation/toOperationGateway.js +0 -88
@@ -3,9 +3,9 @@ import { Definition } from '../dsl/Definition.js';
3
3
  import type { OasDocument } from '../oas/document/Document.js';
4
4
  import type { OasSchema } from '../oas/schema/Schema.js';
5
5
  import type { OasRef } from '../oas/ref/Ref.js';
6
- import type { ClientGeneratorSettings, ClientSettings, EnrichedSetting } from '../types/Settings.js';
6
+ import type { ClientSettings, EnrichedSetting } from '../types/Settings.js';
7
7
  import type { Method } from '../types/Method.js';
8
- import type { OperationInsertable, OperationGateway } from '../dsl/operation/OperationInsertable.js';
8
+ import type { OperationInsertable } from '../dsl/operation/OperationInsertable.js';
9
9
  import type { OasOperation } from '../oas/operation/Operation.js';
10
10
  import type { ModelInsertable } from '../dsl/model/ModelInsertable.js';
11
11
  import type { GenerationType, GeneratedValue } from '../types/GeneratedValue.js';
@@ -204,15 +204,6 @@ export declare class GenerateContext {
204
204
  * @returns Content settings for model
205
205
  */
206
206
  toModelContentSettings<V, EnrichmentType>({ refName, insertable }: BuildModelSettingsArgs<V, EnrichmentType>): ContentSettings<EnrichmentType>;
207
- /**
208
- * Generate and return content settings for a gateway
209
- *
210
- * Content settings are produced by passing base settings
211
- * through toIdentifier, toExportPath methods on the gateway
212
- * @param gateway
213
- * @returns Content settings for model
214
- */
215
- toGatewayContentSetting<EnrichmentType>(gateway: OperationGateway<EnrichmentType>): ContentSettings<undefined>;
216
207
  /**
217
208
  * Look up operation settings for a given generatorId, path and method.
218
209
  * @param { generatorId, path, method }
@@ -220,7 +211,6 @@ export declare class GenerateContext {
220
211
  */
221
212
  toOperationSettings({ generatorId, path, method }: GetOperationSettingsArgs): EnrichedSetting;
222
213
  toModelSettings({ generatorId, refName }: ToModelSettingsArgs): EnrichedSetting;
223
- toGeneratorSettings(generatorId: string): ClientGeneratorSettings | undefined;
224
214
  /**
225
215
  * Perform one lookup of schema by `refName`.
226
216
  * @param refName
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../src/context/GenerateContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../src/context/GenerateContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAGtE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,KAAK,GAAG,MAAM,wCAAwC,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,KAAK,eAAe,GAAG;IACrB,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAC9C,UAAU,EAAE,UAAU,CAAA;IACtB,oBAAoB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IAClD,eAAe,EAAE,CAAC,cAAc,OAAO,aAAa,CAClD,aAAa,CAAC,cAAc,CAAC,EAC7B,cAAc,CACf,CAAA;CACF,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAA;IACxC,OAAO,CAAC,EAAE;QACR,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAA;KAClE,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAA;IACxC,OAAO,CAAC,EAAE;QACR,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAAC,CAAA;KACvD,CAAA;IACD,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,2BAA2B,CAAC,MAAM,SAAS,UAAU,IAAI;IACnE,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,cAAc,IAAI;IAC5D,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,CAAC,CAAA;IACR,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,cAAc,EACxB,cAAc,IACZ;IACF,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAClD,SAAS,EAAE,YAAY,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,cAAc,EAAE,cAAc,IAAI;IAChG,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,CAAC,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,cAAc,EACxB,cAAc,IACZ,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAA;AAYlC,KAAK,uBAAuB,CAAC,CAAC,EAAE,cAAc,IAAI;IAChD,SAAS,EAAE,YAAY,CAAA;IACvB,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;CACnD,CAAA;AAED,KAAK,sBAAsB,CAAC,CAAC,EAAE,cAAc,IAAI;IAC/C,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;CAC/C,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAClD,CAAA;AAED,qBAAa,eAAe;;IAG1B,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAC9C,oBAAoB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IAClD,eAAe,EAAE,CAAC,cAAc,OAAO,aAAa,CAClD,aAAa,CAAC,cAAc,CAAC,EAC7B,cAAc,CACf,CAAA;gBAIW,EACV,WAAW,EACX,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,eAAe,EAChB,EAAE,eAAe;IAYlB;;OAEG;IACH,QAAQ,IAAI,cAAc;IA8D1B,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAoBlD;;;;;;;;;;;;;;OAcG;IACH,2BAA2B,CAAC,MAAM,SAAS,UAAU,EAAE,EACrD,MAAM,EACN,UAAU,EACV,eAAe,EACf,eAAe,EAChB,EAAE,2BAA2B,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IA0BrF;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAAE,EAC1C,UAAU,EACV,KAAK,EACL,eAAe,EAChB,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IA6B3C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,OAAY,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,YAAY;IAiEzF;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,cAAc,EAAE,EAAE,EAAE,EACtE,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EAChB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAYrD;;;;;;;;;;;;;OAaG;IAEH,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,cAAc,EAAE,cAAc,EAAE,EAC9E,UAAU,EACV,OAAO,EACP,UAAU,EACV,eAAe,EAChB,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;IAYzE;;;;;;;;;OASG;IACH,0BAA0B,CAAC,CAAC,EAAE,cAAc,EAAE,EAC5C,SAAS,EACT,UAAU,EACX,EAAE,uBAAuB,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC;IAe/E;;;;;;;;OAQG;IACH,sBAAsB,CAAC,CAAC,EAAE,cAAc,EAAE,EACxC,OAAO,EACP,UAAU,EACX,EAAE,sBAAsB,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC;IAc9E;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,wBAAwB,GAAG,eAAe;IAW7F,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,mBAAmB,GAAG,eAAe;IAsB/E;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IAUpE;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;CAGvE"}
@@ -21,6 +21,7 @@ import { tracer } from '../helpers/tracer.js';
21
21
  import { Inserted } from '../dsl/Inserted.js';
22
22
  import { File } from '../dsl/File.js';
23
23
  import invariant from 'tiny-invariant';
24
+ import { match } from 'ts-pattern';
24
25
  export class GenerateContext {
25
26
  constructor({ oasDocument, settings, logger, callback, captureCurrentResult, stackTrail, toGeneratorsMap }) {
26
27
  _GenerateContext_instances.add(this);
@@ -78,22 +79,16 @@ export class GenerateContext {
78
79
  */
79
80
  generate() {
80
81
  const generators = Object.values(this.toGeneratorsMap());
81
- Sentry.startSpan({ name: 'Generate operations' }, () => generators
82
- .filter(generator => generator.type === 'operation')
83
- .forEach(generator => {
82
+ Sentry.startSpan({ name: 'Generate' }, () => generators.forEach(generator => {
84
83
  this.trace(generator.id, () => {
85
- __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_runOperationGenerator).call(this, { oasDocument: this.oasDocument, generator });
86
- });
87
- }));
88
- Sentry.startSpan({ name: 'Generate models' }, () => {
89
- generators
90
- .filter(generator => generator.type === 'model')
91
- .forEach(generator => {
92
- this.trace(generator.id, () => {
93
- __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_runModelGenerator).call(this, { oasDocument: this.oasDocument, generator });
84
+ match(generator.type)
85
+ .with('operation', () => __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_runOperationGenerator).call(this, { oasDocument: this.oasDocument, generator }))
86
+ .with('model', () => __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_runModelGenerator).call(this, { oasDocument: this.oasDocument, generator }))
87
+ .otherwise(matched => {
88
+ throw new Error(`Invalid generator type: '${matched}' on ${generator.id}`);
94
89
  });
95
90
  });
96
- });
91
+ }));
97
92
  return {
98
93
  files: __classPrivateFieldGet(this, _GenerateContext_files, "f"),
99
94
  previews: __classPrivateFieldGet(this, _GenerateContext_previews, "f")
@@ -322,44 +317,25 @@ export class GenerateContext {
322
317
  enrichments: insertable.toEnrichments({ refName, context: this })
323
318
  });
324
319
  }
325
- /**
326
- * Generate and return content settings for a gateway
327
- *
328
- * Content settings are produced by passing base settings
329
- * through toIdentifier, toExportPath methods on the gateway
330
- * @param gateway
331
- * @returns Content settings for model
332
- */
333
- toGatewayContentSetting(gateway) {
334
- return new ContentSettings({
335
- identifier: gateway.toIdentifier(),
336
- selected: true,
337
- exportPath: gateway.toExportPath(),
338
- enrichments: undefined
339
- });
340
- }
341
320
  /**
342
321
  * Look up operation settings for a given generatorId, path and method.
343
322
  * @param { generatorId, path, method }
344
323
  * @returns Base settings for operation
345
324
  */
346
325
  toOperationSettings({ generatorId, path, method }) {
347
- const generatorSettings = this.toGeneratorSettings(generatorId);
326
+ const generatorSettings = this.settings?.generators?.find(({ id }) => id === generatorId);
348
327
  const operationSettings = generatorSettings && 'operations' in generatorSettings
349
328
  ? generatorSettings.operations[path]?.[method]
350
329
  : undefined;
351
330
  return operationSettings ?? { selected: false, enrichments: undefined };
352
331
  }
353
332
  toModelSettings({ generatorId, refName }) {
354
- const generatorSettings = this.toGeneratorSettings(generatorId);
333
+ const generatorSettings = this.settings?.generators?.find(({ id }) => id === generatorId);
355
334
  const modelSettings = generatorSettings && 'models' in generatorSettings
356
335
  ? generatorSettings.models[refName]
357
336
  : undefined;
358
337
  return modelSettings ?? { selected: false, enrichments: undefined };
359
338
  }
360
- toGeneratorSettings(generatorId) {
361
- return this.settings?.generators?.find(({ id }) => id === generatorId);
362
- }
363
339
  /**
364
340
  * Perform one lookup of schema by `refName`.
365
341
  * @param refName
@@ -385,74 +361,15 @@ export class GenerateContext {
385
361
  }
386
362
  }
387
363
  _GenerateContext_files = new WeakMap(), _GenerateContext_previews = new WeakMap(), _GenerateContext_stackTrail = new WeakMap(), _GenerateContext_instances = new WeakSet(), _GenerateContext_runOperationGenerator = function _GenerateContext_runOperationGenerator({ oasDocument, generator }) {
388
- if (generator._class === 'OperationGateway') {
389
- const gatewaySettings = this.toGatewayContentSetting(generator);
390
- const gatewayInstance = new generator({
391
- context: this,
392
- settings: gatewaySettings
393
- });
394
- oasDocument.operations.forEach(operation => {
395
- // TODO If we make OasOperation generic, for example by
396
- // adding a `method` type, we could make isSupported
397
- // a type guard which could help us narrow down the
398
- // exact operation type that a generator receives.
399
- // This would allow us to remove some type checks
400
- // in the generator implementations
401
- // https://linear.app/skmtc/issue/SKM-32/generic-models-operations
402
- const { path, method } = operation;
403
- this.trace([path, method], () => {
404
- if (!generator.isSupported({
405
- operation,
406
- context: this
407
- })) {
408
- return this.captureCurrentResult('notSupported');
409
- }
410
- const settings = this.toOperationSettings({
411
- generatorId: generator.id,
412
- path,
413
- method
414
- });
415
- if (!settings) {
416
- return this.captureCurrentResult('notSelected');
417
- }
418
- gatewayInstance.transformOperation(operation);
419
- this.captureCurrentResult('success');
420
- });
421
- });
422
- return this.defineAndRegister({
423
- identifier: gatewaySettings.identifier,
424
- value: gatewayInstance,
425
- destinationPath: gatewaySettings.exportPath
426
- });
427
- }
428
- if (generator._class === 'OperationInsertable') {
429
- return oasDocument.operations.forEach(operation => {
430
- // TODO If we make OasOperation generic, for example by
431
- // adding a `method` type, we could make isSupported
432
- // a type guard which could help us narrow down the
433
- // exact operation type that a generator receives.
434
- // This would allow us to remove some type checks
435
- // in the generator implementations
436
- // https://linear.app/skmtc/issue/SKM-32/generic-models-operations
437
- const { path, method } = operation;
438
- this.trace([path, method], () => {
439
- if (!generator.isSupported({ operation, context: this })) {
440
- return this.captureCurrentResult('notSupported');
441
- }
442
- const settings = this.toOperationSettings({
443
- generatorId: generator.id,
444
- path,
445
- method
446
- });
447
- if (!settings) {
448
- return this.captureCurrentResult('notSelected');
449
- }
450
- this.insertOperation({ insertable: generator, operation });
451
- this.captureCurrentResult('success');
452
- });
364
+ return oasDocument.operations.forEach(operation => {
365
+ this.trace([operation.path, operation.method], () => {
366
+ if (!generator.isSupported({ operation, context: this })) {
367
+ return this.captureCurrentResult('notSupported');
368
+ }
369
+ generator.transform({ context: this, operation });
370
+ this.captureCurrentResult('success');
453
371
  });
454
- }
455
- throw new Error(`Unknown generator type`);
372
+ });
456
373
  }, _GenerateContext_runModelGenerator = function _GenerateContext_runModelGenerator({ oasDocument, generator }) {
457
374
  const refNames = oasDocument.components?.toSchemasRefNames() ?? [];
458
375
  return refNames.forEach(refName => {
@@ -460,14 +377,7 @@ _GenerateContext_files = new WeakMap(), _GenerateContext_previews = new WeakMap(
460
377
  if (!generator.isSupported()) {
461
378
  return this.captureCurrentResult('notSupported');
462
379
  }
463
- const selected = this.toModelSettings({
464
- generatorId: generator.id,
465
- refName
466
- });
467
- if (!selected) {
468
- return this.captureCurrentResult('notSelected');
469
- }
470
- this.insertModel({ insertable: generator, refName });
380
+ generator.transform({ context: this, refName });
471
381
  this.captureCurrentResult('success');
472
382
  });
473
383
  });
@@ -16,15 +16,19 @@ type ToEnrichmentsArgs = {
16
16
  refName: RefName;
17
17
  context: GenerateContext;
18
18
  };
19
+ export type TransformModelArgs = {
20
+ context: GenerateContext;
21
+ refName: RefName;
22
+ };
19
23
  export type ModelInsertable<V, EnrichmentType> = {
20
24
  prototype: V;
21
25
  } & {
22
26
  new ({ context, refName, settings, destinationPath }: ModelInsertableConstructorArgs<EnrichmentType>): V;
23
27
  id: string;
24
28
  type: 'model';
25
- _class: 'ModelInsertable';
26
29
  toIdentifier: (refName: RefName) => Identifier;
27
30
  toExportPath: (refName: RefName) => string;
31
+ transform: ({ context, refName }: TransformModelArgs) => void;
28
32
  toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(refName: RefName) => EnrichmentRequest<RequestedEnrichment> | undefined;
29
33
  toEnrichments: ({ refName, context }: ToEnrichmentsArgs) => EnrichmentType;
30
34
  isSupported: () => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ModelInsertable.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/ModelInsertable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,KAAK,8BAA8B,CAAC,cAAc,IAAI;IACpD,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,cAAc,IAAI;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,GAAG;IAClE,KAAK,EACH,OAAO,EACP,OAAO,EACP,QAAQ,EACR,eAAe,EAChB,EAAE,8BAA8B,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IACrD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,iBAAiB,CAAA;IAEzB,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU,CAAA;IAC9C,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAA;IAC1C,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,KAAK,cAAc,CAAA;IAC1E,WAAW,EAAE,MAAM,OAAO,CAAA;CAG3B,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"ModelInsertable.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/ModelInsertable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,KAAK,8BAA8B,CAAC,cAAc,IAAI;IACpD,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,cAAc,IAAI;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,GAAG;IAClE,KAAK,EACH,OAAO,EACP,OAAO,EACP,QAAQ,EACR,eAAe,EAChB,EAAE,8BAA8B,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IACrD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IAEb,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU,CAAA;IAC9C,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAA;IAC1C,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAE7D,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,KAAK,cAAc,CAAA;IAC1E,WAAW,EAAE,MAAM,OAAO,CAAA;CAG3B,GAAG,QAAQ,CAAA"}
@@ -4,6 +4,7 @@ import type { ContentSettings } from '../ContentSettings.js';
4
4
  import type { Identifier } from '../Identifier.js';
5
5
  import type { EnrichmentRequest } from '../../types/EnrichmentRequest.js';
6
6
  import type { z } from 'zod';
7
+ import type { TransformModelArgs } from './ModelInsertable.js';
7
8
  export type ModelInsertableArgs<EnrichmentType> = {
8
9
  context: GenerateContext;
9
10
  settings: ContentSettings<EnrichmentType>;
@@ -17,6 +18,7 @@ export type ModelConfig<EnrichmentType> = {
17
18
  id: string;
18
19
  toIdentifier: (refName: RefName) => Identifier;
19
20
  toExportPath: (refName: RefName) => string;
21
+ transform: ({ context, refName }: TransformModelArgs) => void;
20
22
  toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(refName: RefName) => EnrichmentRequest<RequestedEnrichment> | undefined;
21
23
  toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
22
24
  };
@@ -32,9 +34,9 @@ export declare const toModelInsertable: <EnrichmentType>(config: ModelConfig<Enr
32
34
  };
33
35
  id: string;
34
36
  type: "model";
35
- _class: "ModelInsertable";
36
37
  toIdentifier: (refName: RefName) => Identifier;
37
38
  toExportPath: (refName: RefName) => string;
39
+ transform: ({ context, refName }: TransformModelArgs) => void;
38
40
  toEnrichmentRequest: (<RequestedEnrichment extends EnrichmentType>(refName: RefName) => EnrichmentRequest<RequestedEnrichment> | undefined) | undefined;
39
41
  toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
40
42
  toEnrichments: ({ refName, context }: ToEnrichmentsArgs) => EnrichmentType;
@@ -1 +1 @@
1
- {"version":3,"file":"toModelInsertable.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelInsertable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAEvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,MAAM,mBAAmB,CAAC,cAAc,IAAI;IAChD,OAAO,EAAE,eAAe,CAAA;IACxB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,cAAc,IAAI;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU,CAAA;IAC9C,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAA;IAC1C,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;CACpD,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,cAAc,UAAU,WAAW,CAAC,cAAc,CAAC;eAqB/D,mBAAmB,CAAC,cAAc,CAAC;;;;;;;;;;;;4BA7B/B,OAAO,KAAK,UAAU;4BACtB,OAAO,KAAK,MAAM;2BACnB,mBAAmB,kCAC/B,OAAO,KACb,iBAAiB,qBAAqB,GAAG,SAAS;8BAC7B,CAAC,CAAC,OAAO,gBAAgB;0CAcH,iBAAiB,KAAG,cAAc;;CAsBnF,CAAA"}
1
+ {"version":3,"file":"toModelInsertable.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelInsertable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAEvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,CAAC,cAAc,IAAI;IAChD,OAAO,EAAE,eAAe,CAAA;IACxB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,cAAc,IAAI;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU,CAAA;IAC9C,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAA;IAC1C,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC7D,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;CACpD,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,cAAc,UAAU,WAAW,CAAC,cAAc,CAAC;eAsB/D,mBAAmB,CAAC,cAAc,CAAC;;;;;;;;;;;4BA/B/B,OAAO,KAAK,UAAU;4BACtB,OAAO,KAAK,MAAM;sCACR,kBAAkB,KAAK,IAAI;2BACtC,mBAAmB,kCAC/B,OAAO,KACb,iBAAiB,qBAAqB,GAAG,SAAS;8BAC7B,CAAC,CAAC,OAAO,gBAAgB;0CAeH,iBAAiB,KAAG,cAAc;;CAsBnF,CAAA"}
@@ -30,12 +30,6 @@ export const toModelInsertable = (config) => {
30
30
  writable: true,
31
31
  value: 'model'
32
32
  }),
33
- Object.defineProperty(_a, "_class", {
34
- enumerable: true,
35
- configurable: true,
36
- writable: true,
37
- value: 'ModelInsertable'
38
- }),
39
33
  Object.defineProperty(_a, "toIdentifier", {
40
34
  enumerable: true,
41
35
  configurable: true,
@@ -48,6 +42,12 @@ export const toModelInsertable = (config) => {
48
42
  writable: true,
49
43
  value: config.toExportPath.bind(config)
50
44
  }),
45
+ Object.defineProperty(_a, "transform", {
46
+ enumerable: true,
47
+ configurable: true,
48
+ writable: true,
49
+ value: config.transform.bind(config)
50
+ }),
51
51
  Object.defineProperty(_a, "toEnrichmentRequest", {
52
52
  enumerable: true,
53
53
  configurable: true,
@@ -9,13 +9,13 @@ export type OperationInsertableArgs<EnrichmentType> = {
9
9
  settings: ContentSettings<EnrichmentType>;
10
10
  operation: OasOperation;
11
11
  };
12
+ export type TransformOperationArgs = {
13
+ context: GenerateContext;
14
+ operation: OasOperation;
15
+ };
12
16
  export type WithTransformOperation = {
13
17
  transformOperation: (operation: OasOperation) => void;
14
18
  };
15
- export type OperationOperationGatewayArgs<EnrichmentType> = {
16
- context: GenerateContext;
17
- settings: ContentSettings<EnrichmentType>;
18
- };
19
19
  export type IsSupportedOperationConfigArgs<EnrichmentType> = {
20
20
  context: GenerateContext;
21
21
  operation: OasOperation;
@@ -29,27 +29,15 @@ type ToEnrichmentsArgs = {
29
29
  operation: OasOperation;
30
30
  context: GenerateContext;
31
31
  };
32
- export type OperationGateway<EnrichmentType> = {
33
- new ({ context, settings }: OperationOperationGatewayArgs<EnrichmentType>): WithTransformOperation;
34
- id: string;
35
- type: 'operation';
36
- _class: 'OperationGateway';
37
- toIdentifier: () => Identifier;
38
- toExportPath: () => string;
39
- toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(operation: OasOperation) => EnrichmentRequest<RequestedEnrichment> | undefined;
40
- toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
41
- toEnrichments: ({ operation, context }: ToEnrichmentsArgs) => EnrichmentType;
42
- isSupported: ({ context, operation }: IsSupportedOperationArgs) => boolean;
43
- };
44
32
  export type OperationInsertable<V, EnrichmentType> = {
45
33
  prototype: V;
46
34
  } & {
47
35
  new ({ context, settings, operation }: OperationInsertableArgs<EnrichmentType>): V;
48
36
  id: string;
49
37
  type: 'operation';
50
- _class: 'OperationInsertable';
51
38
  toIdentifier: (operation: OasOperation) => Identifier;
52
39
  toExportPath: (operation: OasOperation) => string;
40
+ transform: ({ context, operation }: TransformOperationArgs) => void;
53
41
  toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(operation: OasOperation) => EnrichmentRequest<RequestedEnrichment> | undefined;
54
42
  toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
55
43
  toEnrichments: ({ operation, context }: ToEnrichmentsArgs) => EnrichmentType;
@@ -1 +1 @@
1
- {"version":3,"file":"OperationInsertable.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/OperationInsertable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OperationInsertable.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/OperationInsertable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,MAAM,uBAAuB,CAAC,cAAc,IAAI;IACpD,OAAO,EAAE,eAAe,CAAA;IACxB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,SAAS,EAAE,YAAY,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,eAAe,CAAA;IACxB,SAAS,EAAE,YAAY,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,IAAI,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,8BAA8B,CAAC,cAAc,IAAI;IAC3D,OAAO,EAAE,eAAe,CAAA;IACxB,SAAS,EAAE,YAAY,CAAA;IACvB,WAAW,EAAE,cAAc,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,eAAe,CAAA;IACxB,SAAS,EAAE,YAAY,CAAA;CACxB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,cAAc,IAAI;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,GAAG;IACtE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,uBAAuB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IAClF,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IAEjB,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,UAAU,CAAA;IACrD,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,MAAM,CAAA;IACjD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,sBAAsB,KAAK,IAAI,CAAA;IACnE,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,SAAS,EAAE,YAAY,KACpB,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACnD,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,iBAAiB,KAAK,cAAc,CAAA;IAC5E,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,OAAO,CAAA;CAE3E,GAAG,QAAQ,CAAA"}
@@ -2,12 +2,13 @@ import type { GenerateContext } from '../../context/GenerateContext.js';
2
2
  import type { OasOperation } from '../../oas/operation/Operation.js';
3
3
  import type { Identifier } from '../Identifier.js';
4
4
  import type { EnrichmentRequest } from '../../types/EnrichmentRequest.js';
5
- import type { IsSupportedOperationConfigArgs, OperationInsertableArgs, IsSupportedOperationArgs } from './OperationInsertable.js';
5
+ import type { IsSupportedOperationConfigArgs, OperationInsertableArgs, IsSupportedOperationArgs, TransformOperationArgs } from './OperationInsertable.js';
6
6
  import type { z } from 'zod';
7
7
  export type ToOperationInsertableArgs<EnrichmentType> = {
8
8
  id: string;
9
9
  toIdentifier: (operation: OasOperation) => Identifier;
10
10
  toExportPath: (operation: OasOperation) => string;
11
+ transform: ({ context, operation }: TransformOperationArgs) => void;
11
12
  isSupported?: ({ context, operation, enrichments }: IsSupportedOperationConfigArgs<EnrichmentType>) => boolean;
12
13
  toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(operation: OasOperation) => EnrichmentRequest<RequestedEnrichment> | undefined;
13
14
  toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
@@ -34,9 +35,9 @@ export declare const toOperationInsertable: <EnrichmentType>(config: ToOperation
34
35
  };
35
36
  id: string;
36
37
  type: "operation";
37
- _class: "OperationInsertable";
38
38
  toIdentifier: (operation: OasOperation) => Identifier;
39
39
  toExportPath: (operation: OasOperation) => string;
40
+ transform: ({ context, operation }: TransformOperationArgs) => void;
40
41
  toEnrichmentRequest: (<RequestedEnrichment extends EnrichmentType>(operation: OasOperation) => EnrichmentRequest<RequestedEnrichment> | undefined) | undefined;
41
42
  toEnrichmentSchema: () => z.ZodType<EnrichmentType>;
42
43
  toEnrichments: ({ operation, context }: ToEnrichmentsArgs) => EnrichmentType;
@@ -1 +1 @@
1
- {"version":3,"file":"toOperationInsertable.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/toOperationInsertable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,MAAM,yBAAyB,CAAC,cAAc,IAAI;IACtD,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,UAAU,CAAA;IACrD,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,MAAM,CAAA;IACjD,WAAW,CAAC,EAAE,CAAC,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACZ,EAAE,8BAA8B,CAAC,cAAc,CAAC,KAAK,OAAO,CAAA;IAC7D,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,SAAS,EAAE,YAAY,KACpB,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;CACpD,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,cAAc,UAC1C,yBAAyB,CAAC,cAAc,CAAC;eAkC7B,uBAAuB,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;8BArDjC,YAAY,KAAK,UAAU;8BAC3B,YAAY,KAAK,MAAM;2BAM1B,mBAAmB,oCAC7B,YAAY,KACpB,iBAAiB,qBAAqB,GAAG,SAAS;8BAC7B,CAAC,CAAC,OAAO,gBAAgB;4CAqBD,iBAAiB,KAAG,cAAc;0CAYpC,wBAAwB;CAsBzE,CAAA"}
1
+ {"version":3,"file":"toOperationInsertable.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/toOperationInsertable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,MAAM,MAAM,yBAAyB,CAAC,cAAc,IAAI;IACtD,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,UAAU,CAAA;IACrD,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,MAAM,CAAA;IACjD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,sBAAsB,KAAK,IAAI,CAAA;IACnE,WAAW,CAAC,EAAE,CAAC,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACZ,EAAE,8BAA8B,CAAC,cAAc,CAAC,KAAK,OAAO,CAAA;IAC7D,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,SAAS,EAAE,YAAY,KACpB,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;CACpD,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,cAAc,UAC1C,yBAAyB,CAAC,cAAc,CAAC;eAmC7B,uBAAuB,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;8BAvDjC,YAAY,KAAK,UAAU;8BAC3B,YAAY,KAAK,MAAM;wCACb,sBAAsB,KAAK,IAAI;2BAM5C,mBAAmB,oCAC7B,YAAY,KACpB,iBAAiB,qBAAqB,GAAG,SAAS;8BAC7B,CAAC,CAAC,OAAO,gBAAgB;4CAsBD,iBAAiB,KAAG,cAAc;0CAYpC,wBAAwB;CAsBzE,CAAA"}
@@ -30,12 +30,6 @@ export const toOperationInsertable = (config) => {
30
30
  writable: true,
31
31
  value: 'operation'
32
32
  }),
33
- Object.defineProperty(_a, "_class", {
34
- enumerable: true,
35
- configurable: true,
36
- writable: true,
37
- value: 'OperationInsertable'
38
- }),
39
33
  Object.defineProperty(_a, "toIdentifier", {
40
34
  enumerable: true,
41
35
  configurable: true,
@@ -48,6 +42,12 @@ export const toOperationInsertable = (config) => {
48
42
  writable: true,
49
43
  value: config.toExportPath.bind(config)
50
44
  }),
45
+ Object.defineProperty(_a, "transform", {
46
+ enumerable: true,
47
+ configurable: true,
48
+ writable: true,
49
+ value: config.transform.bind(config)
50
+ }),
51
51
  Object.defineProperty(_a, "toEnrichmentRequest", {
52
52
  enumerable: true,
53
53
  configurable: true,
@@ -70,8 +70,8 @@ export const toOperationInsertable = (config) => {
70
70
  path: operation.path,
71
71
  method: operation.method
72
72
  });
73
- const responseSchema = config.toEnrichmentSchema?.();
74
- return responseSchema?.parse(generatorSettings.enrichments);
73
+ const enrichmentSchema = config.toEnrichmentSchema?.();
74
+ return enrichmentSchema?.parse(generatorSettings.enrichments);
75
75
  }
76
76
  }),
77
77
  Object.defineProperty(_a, "isSupported", {
package/esm/mod.d.ts CHANGED
@@ -6,7 +6,6 @@ export * from './dsl/constants.js';
6
6
  export * from './dsl/ContentSettings.js';
7
7
  export * from './dsl/Definition.js';
8
8
  export * from './dsl/EntityType.js';
9
- export * from './dsl/GatewayBase.js';
10
9
  export * from './dsl/GeneratedValueList.js';
11
10
  export * from './dsl/Identifier.js';
12
11
  export * from './dsl/Import.js';
@@ -18,7 +17,6 @@ export * from './dsl/model/toModelInsertable.js';
18
17
  export * from './dsl/operation/OperationBase.js';
19
18
  export * from './dsl/operation/OperationDriver.js';
20
19
  export * from './dsl/operation/OperationInsertable.js';
21
- export * from './dsl/operation/toOperationGateway.js';
22
20
  export * from './dsl/operation/toOperationInsertable.js';
23
21
  export * from './dsl/Stringable.js';
24
22
  export * from './dsl/ValueBase.js';
package/esm/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,wCAAwC,CAAA;AACtD,cAAc,uCAAuC,CAAA;AACrD,cAAc,0CAA0C,CAAA;AACxD,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qCAAqC,CAAA;AACnD,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oCAAoC,CAAA;AAClD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kCAAkC,CAAA;AAChD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,wCAAwC,CAAA;AACtD,cAAc,0CAA0C,CAAA;AACxD,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qCAAqC,CAAA;AACnD,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oCAAoC,CAAA;AAClD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kCAAkC,CAAA;AAChD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA"}
package/esm/mod.js CHANGED
@@ -6,7 +6,6 @@ export * from './dsl/constants.js';
6
6
  export * from './dsl/ContentSettings.js';
7
7
  export * from './dsl/Definition.js';
8
8
  export * from './dsl/EntityType.js';
9
- export * from './dsl/GatewayBase.js';
10
9
  export * from './dsl/GeneratedValueList.js';
11
10
  export * from './dsl/Identifier.js';
12
11
  export * from './dsl/Import.js';
@@ -18,7 +17,6 @@ export * from './dsl/model/toModelInsertable.js';
18
17
  export * from './dsl/operation/OperationBase.js';
19
18
  export * from './dsl/operation/OperationDriver.js';
20
19
  export * from './dsl/operation/OperationInsertable.js';
21
- export * from './dsl/operation/toOperationGateway.js';
22
20
  export * from './dsl/operation/toOperationInsertable.js';
23
21
  export * from './dsl/Stringable.js';
24
22
  export * from './dsl/ValueBase.js';
@@ -1,4 +1,4 @@
1
1
  import type { EnrichmentRequest } from '../types/EnrichmentRequest.js';
2
- export declare const handleEnrichment: <EnrichmentType>({ prompt, content, responseSchema: zodResponseSchema }: EnrichmentRequest<EnrichmentType>) => Promise<string>;
2
+ export declare const handleEnrichment: <EnrichmentType>({ prompt, content, enrichmentSchema: zodResponseSchema }: EnrichmentRequest<EnrichmentType>) => Promise<string>;
3
3
  export declare function removeProperties<T extends Record<string, any>>(obj: T, propertyName: string): Partial<T>;
4
4
  //# sourceMappingURL=handleEnrichment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleEnrichment.d.ts","sourceRoot":"","sources":["../../src/run/handleEnrichment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAetE,eAAO,MAAM,gBAAgB,GAAU,cAAc,0DAIlD,iBAAiB,CAAC,cAAc,CAAC,oBAmBnC,CAAA;AAGD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5D,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,CAAC,CAAC,CAyBZ"}
1
+ {"version":3,"file":"handleEnrichment.d.ts","sourceRoot":"","sources":["../../src/run/handleEnrichment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAetE,eAAO,MAAM,gBAAgB,GAAU,cAAc,4DAIlD,iBAAiB,CAAC,cAAc,CAAC,oBAmBnC,CAAA;AAGD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5D,GAAG,EAAE,CAAC,EACN,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,CAAC,CAAC,CAyBZ"}
@@ -9,8 +9,8 @@ const genAI = new GoogleGenerativeAI(apiKey);
9
9
  const model = genAI.getGenerativeModel({
10
10
  model: 'gemini-1.5-flash'
11
11
  });
12
- export const handleEnrichment = async ({ prompt, content, responseSchema: zodResponseSchema }) => {
13
- const responseSchema = zodToJsonSchema(zodResponseSchema, {
12
+ export const handleEnrichment = async ({ prompt, content, enrichmentSchema: zodResponseSchema }) => {
13
+ const enrichmentSchema = zodToJsonSchema(zodResponseSchema, {
14
14
  target: 'openApi3'
15
15
  });
16
16
  const chatSession = model.startChat({
@@ -20,7 +20,7 @@ export const handleEnrichment = async ({ prompt, content, responseSchema: zodRes
20
20
  topK: 40,
21
21
  maxOutputTokens: 8192,
22
22
  responseMimeType: 'application/json',
23
- responseSchema: removeProperties(responseSchema, 'additionalProperties')
23
+ responseSchema: removeProperties(enrichmentSchema, 'additionalProperties')
24
24
  }
25
25
  });
26
26
  const result = await chatSession.sendMessage(`${prompt}\n\n${content}`);
@@ -1 +1 @@
1
- {"version":3,"file":"toSettings.d.ts","sourceRoot":"","sources":["../../src/run/toSettings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAmB,MAAM,sBAAsB,CAAA;AAEpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,KAAK,cAAc,CAAC,cAAc,IAAI;IACpC,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,CAAA;IAC3C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,cAAc,gEAKtC,cAAc,CAAC,cAAc,CAAC,8BA4DhC,CAAA"}
1
+ {"version":3,"file":"toSettings.d.ts","sourceRoot":"","sources":["../../src/run/toSettings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAmB,MAAM,sBAAsB,CAAA;AACpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,KAAK,cAAc,CAAC,cAAc,IAAI;IACpC,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,CAAA;IAC3C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,cAAc,gEAKtC,cAAc,CAAC,cAAc,CAAC,8BAuChC,CAAA"}
@@ -5,52 +5,32 @@ export const toSettings = ({ generators, clientSettings, defaultSelected, oasDoc
5
5
  const generatorType = generator.type;
6
6
  return match(generatorType)
7
7
  .with('operation', () => {
8
- if (!generatorSettings) {
9
- return {
10
- id: generator.id,
11
- operations: toOperations({
12
- generator: generator,
13
- oasDocument,
14
- defaultSelected,
15
- operationsSettings: undefined
16
- })
17
- };
18
- }
19
8
  return {
20
9
  ...generatorSettings,
21
10
  id: generator.id,
22
11
  operations: toOperations({
23
- generator: generator,
24
12
  oasDocument,
25
13
  defaultSelected,
26
- operationsSettings: 'operations' in generatorSettings ? generatorSettings.operations : undefined
14
+ operationsSettings: generatorSettings && 'operations' in generatorSettings
15
+ ? generatorSettings.operations
16
+ : undefined
27
17
  })
28
18
  };
29
19
  })
30
20
  .with('model', () => {
31
- if (!generatorSettings) {
32
- return {
33
- id: generator.id,
34
- models: toModels({
35
- oasDocument,
36
- defaultSelected,
37
- modelsSettings: undefined
38
- })
39
- };
40
- }
41
21
  return {
42
22
  ...generatorSettings,
43
23
  id: generator.id,
44
24
  models: toModels({
45
25
  oasDocument,
46
26
  defaultSelected,
47
- modelsSettings: 'models' in generatorSettings ? generatorSettings.models : undefined
27
+ modelsSettings: generatorSettings && 'models' in generatorSettings
28
+ ? generatorSettings.models
29
+ : undefined
48
30
  })
49
31
  };
50
32
  })
51
- .otherwise(matched => {
52
- throw new Error(`Invalid generator type: '${matched}' for ${generator.id}`);
53
- });
33
+ .exhaustive();
54
34
  });
55
35
  return generatorsSettings;
56
36
  };