@skmtc/core 0.0.800 → 0.0.802

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 (219) hide show
  1. package/esm/context/CoreContext.d.ts +0 -3
  2. package/esm/context/CoreContext.d.ts.map +1 -1
  3. package/esm/context/CoreContext.js +12 -17
  4. package/esm/context/GenerateContext.d.ts +14 -2
  5. package/esm/context/GenerateContext.d.ts.map +1 -1
  6. package/esm/context/RenderContext.d.ts +151 -2
  7. package/esm/context/RenderContext.d.ts.map +1 -1
  8. package/esm/context/RenderContext.js +185 -11
  9. package/esm/context/types.d.ts +30 -0
  10. package/esm/context/types.d.ts.map +1 -1
  11. package/esm/dsl/model/ModelBase.d.ts +1 -1
  12. package/esm/dsl/model/ModelBase.d.ts.map +1 -1
  13. package/esm/dsl/model/ModelDriver.d.ts +62 -0
  14. package/esm/dsl/model/ModelDriver.d.ts.map +1 -1
  15. package/esm/dsl/model/ModelDriver.js +63 -1
  16. package/esm/dsl/model/toModelBase.d.ts +66 -0
  17. package/esm/dsl/model/toModelBase.d.ts.map +1 -1
  18. package/esm/dsl/model/toModelBase.js +46 -0
  19. package/esm/dsl/model/toModelEntry.d.ts +63 -0
  20. package/esm/dsl/model/toModelEntry.d.ts.map +1 -1
  21. package/esm/dsl/model/toModelEntry.js +63 -0
  22. package/esm/dsl/operation/OperationBase.d.ts +3 -3
  23. package/esm/dsl/operation/OperationBase.d.ts.map +1 -1
  24. package/esm/dsl/operation/OperationDriver.d.ts +48 -0
  25. package/esm/dsl/operation/OperationDriver.d.ts.map +1 -1
  26. package/esm/dsl/operation/OperationDriver.js +49 -1
  27. package/esm/helpers/isEmpty.d.ts +1 -1
  28. package/esm/helpers/isEmpty.d.ts.map +1 -1
  29. package/esm/helpers/tracer.d.ts +1 -1
  30. package/esm/helpers/tracer.d.ts.map +1 -1
  31. package/esm/helpers/tracer.js +1 -1
  32. package/esm/mod.d.ts +51 -0
  33. package/esm/mod.d.ts.map +1 -1
  34. package/esm/mod.js +51 -0
  35. package/esm/oas/array/array-types.d.ts +20 -11
  36. package/esm/oas/array/array-types.d.ts.map +1 -1
  37. package/esm/oas/array/array-types.js +10 -0
  38. package/esm/oas/array/toArray.d.ts +111 -0
  39. package/esm/oas/array/toArray.d.ts.map +1 -1
  40. package/esm/oas/array/toArray.js +115 -3
  41. package/esm/oas/boolean/boolean-types.d.ts +1 -7
  42. package/esm/oas/boolean/boolean-types.d.ts.map +1 -1
  43. package/esm/oas/components/components-types.d.ts +19 -0
  44. package/esm/oas/components/components-types.d.ts.map +1 -0
  45. package/esm/oas/components/components-types.js +21 -0
  46. package/esm/oas/contact/contact-types.d.ts +9 -0
  47. package/esm/oas/contact/contact-types.d.ts.map +1 -0
  48. package/esm/oas/contact/contact-types.js +7 -0
  49. package/esm/oas/discriminator/discriminator-types.d.ts +1 -5
  50. package/esm/oas/discriminator/discriminator-types.d.ts.map +1 -1
  51. package/esm/oas/document/document-types.d.ts +16 -0
  52. package/esm/oas/document/document-types.d.ts.map +1 -0
  53. package/esm/oas/document/document-types.js +18 -0
  54. package/esm/oas/example/example-types.d.ts +1 -6
  55. package/esm/oas/example/example-types.d.ts.map +1 -1
  56. package/esm/oas/header/header-types.d.ts +50 -0
  57. package/esm/oas/header/header-types.d.ts.map +1 -0
  58. package/esm/oas/header/header-types.js +30 -0
  59. package/esm/oas/info/info-types.d.ts +14 -0
  60. package/esm/oas/info/info-types.d.ts.map +1 -0
  61. package/esm/oas/info/info-types.js +13 -0
  62. package/esm/oas/integer/integer-types.d.ts +3 -17
  63. package/esm/oas/integer/integer-types.d.ts.map +1 -1
  64. package/esm/oas/license/license-types.d.ts +9 -0
  65. package/esm/oas/license/license-types.d.ts.map +1 -0
  66. package/esm/oas/license/license-types.js +7 -0
  67. package/esm/oas/mediaType/mediaType-types.d.ts +1 -11
  68. package/esm/oas/mediaType/mediaType-types.d.ts.map +1 -1
  69. package/esm/oas/number/number-types.d.ts +2 -16
  70. package/esm/oas/number/number-types.d.ts.map +1 -1
  71. package/esm/oas/operation/operation-types.d.ts +22 -0
  72. package/esm/oas/operation/operation-types.d.ts.map +1 -0
  73. package/esm/oas/operation/operation-types.js +35 -0
  74. package/esm/oas/parameter/parameter-types.d.ts +3 -58
  75. package/esm/oas/parameter/parameter-types.d.ts.map +1 -1
  76. package/esm/oas/pathItem/pathItem-types.d.ts +12 -0
  77. package/esm/oas/pathItem/pathItem-types.d.ts.map +1 -0
  78. package/esm/oas/pathItem/pathItem-types.js +12 -0
  79. package/esm/oas/requestBody/requestBody-types.d.ts +10 -0
  80. package/esm/oas/requestBody/requestBody-types.d.ts.map +1 -0
  81. package/esm/oas/requestBody/requestBody-types.js +9 -0
  82. package/esm/oas/response/response-types.d.ts +12 -0
  83. package/esm/oas/response/response-types.d.ts.map +1 -0
  84. package/esm/oas/response/response-types.js +11 -0
  85. package/esm/oas/schema/toSchemasV3.js +2 -2
  86. package/esm/oas/server/toServerV3.d.ts.map +1 -1
  87. package/esm/oas/string/string-types.d.ts +2 -29
  88. package/esm/oas/string/string-types.d.ts.map +1 -1
  89. package/esm/oas/string/toString.d.ts +125 -1
  90. package/esm/oas/string/toString.d.ts.map +1 -1
  91. package/esm/oas/string/toString.js +119 -0
  92. package/esm/oas/tag/tag-types.d.ts +8 -0
  93. package/esm/oas/tag/tag-types.d.ts.map +1 -0
  94. package/esm/oas/tag/tag-types.js +8 -0
  95. package/esm/oas/union/union-types.d.ts +1 -12
  96. package/esm/oas/union/union-types.d.ts.map +1 -1
  97. package/esm/oas/unknown/unknown-types.d.ts +1 -7
  98. package/esm/oas/unknown/unknown-types.d.ts.map +1 -1
  99. package/esm/types/Preview.d.ts +37 -0
  100. package/esm/types/Preview.d.ts.map +1 -1
  101. package/esm/types/Preview.js +37 -0
  102. package/esm/types/Settings.d.ts +35 -0
  103. package/esm/types/Settings.d.ts.map +1 -1
  104. package/esm/types/Settings.js +27 -0
  105. package/esm/typescript/FunctionParameter.d.ts +4 -4
  106. package/esm/typescript/FunctionParameter.d.ts.map +1 -1
  107. package/esm/typescript/List.d.ts +40 -2
  108. package/esm/typescript/List.d.ts.map +1 -1
  109. package/esm/typescript/List.js +32 -0
  110. package/package.json +1 -1
  111. package/script/context/CoreContext.d.ts +0 -3
  112. package/script/context/CoreContext.d.ts.map +1 -1
  113. package/script/context/CoreContext.js +12 -17
  114. package/script/context/GenerateContext.d.ts +14 -2
  115. package/script/context/GenerateContext.d.ts.map +1 -1
  116. package/script/context/RenderContext.d.ts +151 -2
  117. package/script/context/RenderContext.d.ts.map +1 -1
  118. package/script/context/RenderContext.js +185 -11
  119. package/script/context/types.d.ts +30 -0
  120. package/script/context/types.d.ts.map +1 -1
  121. package/script/dsl/model/ModelBase.d.ts +1 -1
  122. package/script/dsl/model/ModelBase.d.ts.map +1 -1
  123. package/script/dsl/model/ModelDriver.d.ts +62 -0
  124. package/script/dsl/model/ModelDriver.d.ts.map +1 -1
  125. package/script/dsl/model/ModelDriver.js +63 -1
  126. package/script/dsl/model/toModelBase.d.ts +66 -0
  127. package/script/dsl/model/toModelBase.d.ts.map +1 -1
  128. package/script/dsl/model/toModelBase.js +46 -0
  129. package/script/dsl/model/toModelEntry.d.ts +63 -0
  130. package/script/dsl/model/toModelEntry.d.ts.map +1 -1
  131. package/script/dsl/model/toModelEntry.js +63 -0
  132. package/script/dsl/operation/OperationBase.d.ts +3 -3
  133. package/script/dsl/operation/OperationBase.d.ts.map +1 -1
  134. package/script/dsl/operation/OperationDriver.d.ts +48 -0
  135. package/script/dsl/operation/OperationDriver.d.ts.map +1 -1
  136. package/script/dsl/operation/OperationDriver.js +49 -1
  137. package/script/helpers/isEmpty.d.ts +1 -1
  138. package/script/helpers/isEmpty.d.ts.map +1 -1
  139. package/script/helpers/tracer.d.ts +1 -1
  140. package/script/helpers/tracer.d.ts.map +1 -1
  141. package/script/helpers/tracer.js +1 -1
  142. package/script/mod.d.ts +51 -0
  143. package/script/mod.d.ts.map +1 -1
  144. package/script/mod.js +51 -0
  145. package/script/oas/array/array-types.d.ts +20 -11
  146. package/script/oas/array/array-types.d.ts.map +1 -1
  147. package/script/oas/array/array-types.js +11 -1
  148. package/script/oas/array/toArray.d.ts +111 -0
  149. package/script/oas/array/toArray.d.ts.map +1 -1
  150. package/script/oas/array/toArray.js +114 -2
  151. package/script/oas/boolean/boolean-types.d.ts +1 -7
  152. package/script/oas/boolean/boolean-types.d.ts.map +1 -1
  153. package/script/oas/components/components-types.d.ts +19 -0
  154. package/script/oas/components/components-types.d.ts.map +1 -0
  155. package/script/oas/components/components-types.js +57 -0
  156. package/script/oas/contact/contact-types.d.ts +9 -0
  157. package/script/oas/contact/contact-types.d.ts.map +1 -0
  158. package/script/oas/contact/contact-types.js +43 -0
  159. package/script/oas/discriminator/discriminator-types.d.ts +1 -5
  160. package/script/oas/discriminator/discriminator-types.d.ts.map +1 -1
  161. package/script/oas/document/document-types.d.ts +16 -0
  162. package/script/oas/document/document-types.d.ts.map +1 -0
  163. package/script/oas/document/document-types.js +54 -0
  164. package/script/oas/example/example-types.d.ts +1 -6
  165. package/script/oas/example/example-types.d.ts.map +1 -1
  166. package/script/oas/header/header-types.d.ts +50 -0
  167. package/script/oas/header/header-types.d.ts.map +1 -0
  168. package/script/oas/header/header-types.js +66 -0
  169. package/script/oas/info/info-types.d.ts +14 -0
  170. package/script/oas/info/info-types.d.ts.map +1 -0
  171. package/script/oas/info/info-types.js +49 -0
  172. package/script/oas/integer/integer-types.d.ts +3 -17
  173. package/script/oas/integer/integer-types.d.ts.map +1 -1
  174. package/script/oas/license/license-types.d.ts +9 -0
  175. package/script/oas/license/license-types.d.ts.map +1 -0
  176. package/script/oas/license/license-types.js +43 -0
  177. package/script/oas/mediaType/mediaType-types.d.ts +1 -11
  178. package/script/oas/mediaType/mediaType-types.d.ts.map +1 -1
  179. package/script/oas/number/number-types.d.ts +2 -16
  180. package/script/oas/number/number-types.d.ts.map +1 -1
  181. package/script/oas/operation/operation-types.d.ts +22 -0
  182. package/script/oas/operation/operation-types.d.ts.map +1 -0
  183. package/script/oas/operation/operation-types.js +71 -0
  184. package/script/oas/parameter/parameter-types.d.ts +3 -58
  185. package/script/oas/parameter/parameter-types.d.ts.map +1 -1
  186. package/script/oas/pathItem/pathItem-types.d.ts +12 -0
  187. package/script/oas/pathItem/pathItem-types.d.ts.map +1 -0
  188. package/script/oas/pathItem/pathItem-types.js +48 -0
  189. package/script/oas/requestBody/requestBody-types.d.ts +10 -0
  190. package/script/oas/requestBody/requestBody-types.d.ts.map +1 -0
  191. package/script/oas/requestBody/requestBody-types.js +45 -0
  192. package/script/oas/response/response-types.d.ts +12 -0
  193. package/script/oas/response/response-types.d.ts.map +1 -0
  194. package/script/oas/response/response-types.js +47 -0
  195. package/script/oas/schema/toSchemasV3.js +2 -2
  196. package/script/oas/server/toServerV3.d.ts.map +1 -1
  197. package/script/oas/string/string-types.d.ts +2 -29
  198. package/script/oas/string/string-types.d.ts.map +1 -1
  199. package/script/oas/string/toString.d.ts +125 -1
  200. package/script/oas/string/toString.d.ts.map +1 -1
  201. package/script/oas/string/toString.js +119 -0
  202. package/script/oas/tag/tag-types.d.ts +8 -0
  203. package/script/oas/tag/tag-types.d.ts.map +1 -0
  204. package/script/oas/tag/tag-types.js +44 -0
  205. package/script/oas/union/union-types.d.ts +1 -12
  206. package/script/oas/union/union-types.d.ts.map +1 -1
  207. package/script/oas/unknown/unknown-types.d.ts +1 -7
  208. package/script/oas/unknown/unknown-types.d.ts.map +1 -1
  209. package/script/types/Preview.d.ts +37 -0
  210. package/script/types/Preview.d.ts.map +1 -1
  211. package/script/types/Preview.js +37 -0
  212. package/script/types/Settings.d.ts +35 -0
  213. package/script/types/Settings.d.ts.map +1 -1
  214. package/script/types/Settings.js +27 -0
  215. package/script/typescript/FunctionParameter.d.ts +4 -4
  216. package/script/typescript/FunctionParameter.d.ts.map +1 -1
  217. package/script/typescript/List.d.ts +40 -2
  218. package/script/typescript/List.d.ts.map +1 -1
  219. package/script/typescript/List.js +32 -0
@@ -4,16 +4,82 @@ import type { ContentSettings } from '../ContentSettings.js';
4
4
  import { ModelBase } from './ModelBase.js';
5
5
  import type { Identifier } from '../Identifier.js';
6
6
  import * as v from 'valibot';
7
+ /**
8
+ * Arguments for creating a model insertable instance.
9
+ *
10
+ * @template EnrichmentType - Type of enrichments to apply to the model
11
+ */
7
12
  export type ModelInsertableArgs<EnrichmentType = undefined> = {
13
+ /** The generation context providing access to OAS objects and utilities */
8
14
  context: GenerateContext;
15
+ /** Content settings for customizing model generation behavior */
9
16
  settings: ContentSettings<EnrichmentType>;
17
+ /** Reference name identifying the model schema */
10
18
  refName: RefName;
11
19
  };
20
+ /**
21
+ * Configuration for creating a base model class.
22
+ *
23
+ * Defines the structure and behavior for model generators, including
24
+ * identifier generation, export path resolution, and enrichment schemas.
25
+ *
26
+ * @template EnrichmentType - Type of enrichments to apply to generated models
27
+ */
12
28
  export type BaseModelConfig<EnrichmentType = undefined> = {
29
+ /** Unique identifier for the model generator */
13
30
  id: string;
31
+ /** Function to generate identifiers from reference names */
14
32
  toIdentifier: (refName: RefName) => Identifier;
33
+ /** Function to generate export paths from reference names */
15
34
  toExportPath: (refName: RefName) => string;
35
+ /** Optional function to provide enrichment validation schema */
16
36
  toEnrichmentSchema?: () => v.BaseSchema<EnrichmentType, EnrichmentType, v.BaseIssue<unknown>>;
17
37
  };
38
+ /**
39
+ * Creates a base model class constructor for generating type-safe model artifacts.
40
+ *
41
+ * This factory function creates a specialized ModelBase class that implements
42
+ * the provided configuration for identifier generation, export paths, and
43
+ * enrichment handling. The resulting class can be instantiated to generate
44
+ * model artifacts from OpenAPI schemas.
45
+ *
46
+ * @template EnrichmentType - Type of enrichments to apply to generated models
47
+ * @param config - Configuration defining the model generation behavior
48
+ * @returns Constructor function for creating model instances
49
+ *
50
+ * @example Creating a TypeScript interface generator
51
+ * ```typescript
52
+ * import { toModelBase } from '@skmtc/core';
53
+ *
54
+ * const TypeScriptModelBase = toModelBase({
55
+ * id: 'typescript-interfaces',
56
+ * toIdentifier: (refName) => new Identifier(pascalCase(refName)),
57
+ * toExportPath: (refName) => `./models/${kebabCase(refName)}.ts`,
58
+ * toEnrichmentSchema: () => v.object({
59
+ * includeValidation: v.optional(v.boolean()),
60
+ * readonly: v.optional(v.boolean())
61
+ * })
62
+ * });
63
+ *
64
+ * class TypeScriptModelGenerator extends TypeScriptModelBase {
65
+ * generate() {
66
+ * const enrichments = this.enrichments;
67
+ * const interface = generateInterface(this.schema, {
68
+ * readonly: enrichments?.readonly ?? false
69
+ * });
70
+ * this.register({ file: this.createFile(interface) });
71
+ * }
72
+ * }
73
+ * ```
74
+ *
75
+ * @example Creating a validation schema generator
76
+ * ```typescript
77
+ * const ValidationModelBase = toModelBase({
78
+ * id: 'zod-schemas',
79
+ * toIdentifier: (refName) => new Identifier(`${pascalCase(refName)}Schema`),
80
+ * toExportPath: (refName) => `./schemas/${kebabCase(refName)}.schema.ts`
81
+ * });
82
+ * ```
83
+ */
18
84
  export declare const toModelBase: <EnrichmentType = undefined>(config: BaseModelConfig<EnrichmentType>) => new (args: ModelInsertableArgs<EnrichmentType>) => ModelBase<EnrichmentType>;
19
85
  //# sourceMappingURL=toModelBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toModelBase.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelBase.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;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,MAAM,MAAM,mBAAmB,CAAC,cAAc,GAAG,SAAS,IAAI;IAC5D,OAAO,EAAE,eAAe,CAAA;IACxB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAOD,MAAM,MAAM,eAAe,CAAC,cAAc,GAAG,SAAS,IAAI;IACxD,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,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;CAC9F,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,cAAc,GAAG,SAAS,EACpD,QAAQ,eAAe,CAAC,cAAc,CAAC,KACtC,KAAK,IAAI,EAAE,mBAAmB,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC,cAAc,CA0B7E,CAAA"}
1
+ {"version":3,"file":"toModelBase.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelBase.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;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,cAAc,GAAG,SAAS,IAAI;IAC5D,2EAA2E;IAC3E,OAAO,EAAE,eAAe,CAAA;IACxB,iEAAiE;IACjE,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAOD;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,CAAC,cAAc,GAAG,SAAS,IAAI;IACxD,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAA;IACV,4DAA4D;IAC5D,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU,CAAA;IAC9C,6DAA6D;IAC7D,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAA;IAC1C,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;CAC9F,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,WAAW,GAAI,cAAc,GAAG,SAAS,EACpD,QAAQ,eAAe,CAAC,cAAc,CAAC,KACtC,KAAK,IAAI,EAAE,mBAAmB,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC,cAAc,CA0B7E,CAAA"}
@@ -38,6 +38,52 @@ const GeneratorKeys_js_1 = require("../../types/GeneratorKeys.js");
38
38
  const ModelBase_js_1 = require("./ModelBase.js");
39
39
  const v = __importStar(require("valibot"));
40
40
  const lodash_es_1 = require("lodash-es");
41
+ /**
42
+ * Creates a base model class constructor for generating type-safe model artifacts.
43
+ *
44
+ * This factory function creates a specialized ModelBase class that implements
45
+ * the provided configuration for identifier generation, export paths, and
46
+ * enrichment handling. The resulting class can be instantiated to generate
47
+ * model artifacts from OpenAPI schemas.
48
+ *
49
+ * @template EnrichmentType - Type of enrichments to apply to generated models
50
+ * @param config - Configuration defining the model generation behavior
51
+ * @returns Constructor function for creating model instances
52
+ *
53
+ * @example Creating a TypeScript interface generator
54
+ * ```typescript
55
+ * import { toModelBase } from '@skmtc/core';
56
+ *
57
+ * const TypeScriptModelBase = toModelBase({
58
+ * id: 'typescript-interfaces',
59
+ * toIdentifier: (refName) => new Identifier(pascalCase(refName)),
60
+ * toExportPath: (refName) => `./models/${kebabCase(refName)}.ts`,
61
+ * toEnrichmentSchema: () => v.object({
62
+ * includeValidation: v.optional(v.boolean()),
63
+ * readonly: v.optional(v.boolean())
64
+ * })
65
+ * });
66
+ *
67
+ * class TypeScriptModelGenerator extends TypeScriptModelBase {
68
+ * generate() {
69
+ * const enrichments = this.enrichments;
70
+ * const interface = generateInterface(this.schema, {
71
+ * readonly: enrichments?.readonly ?? false
72
+ * });
73
+ * this.register({ file: this.createFile(interface) });
74
+ * }
75
+ * }
76
+ * ```
77
+ *
78
+ * @example Creating a validation schema generator
79
+ * ```typescript
80
+ * const ValidationModelBase = toModelBase({
81
+ * id: 'zod-schemas',
82
+ * toIdentifier: (refName) => new Identifier(`${pascalCase(refName)}Schema`),
83
+ * toExportPath: (refName) => `./schemas/${kebabCase(refName)}.schema.ts`
84
+ * });
85
+ * ```
86
+ */
41
87
  const toModelBase = (config) => {
42
88
  var _a;
43
89
  return _a = class extends ModelBase_js_1.ModelBase {
@@ -11,6 +11,69 @@ type ToModelEntryArgs<EnrichmentType = undefined, Acc = void> = {
11
11
  toMappingModule?: ({ context, refName }: ToModelMappingArgs) => MappingModule;
12
12
  toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(refName: RefName) => EnrichmentRequest<RequestedEnrichment> | undefined;
13
13
  };
14
+ /**
15
+ * Creates a model transformation entry for the SKMTC pipeline.
16
+ *
17
+ * This function creates a standardized model entry that defines how to transform
18
+ * OpenAPI schema objects into model artifacts. Model entries are used by the
19
+ * generation pipeline to process schemas and create output files.
20
+ *
21
+ * The resulting entry includes transformation logic, preview generation,
22
+ * mapping generation, enrichment handling, and schema validation.
23
+ *
24
+ * @template EnrichmentType - Type of enrichments that can be applied to models
25
+ * @template Acc - Accumulator type for the transformation process
26
+ * @param args - Configuration for the model entry
27
+ * @param args.id - Unique identifier for this model entry
28
+ * @param args.transform - Function to transform schemas into artifacts
29
+ * @param args.toPreviewModule - Optional function to generate preview modules
30
+ * @param args.toMappingModule - Optional function to generate mapping modules
31
+ * @param args.toEnrichmentSchema - Optional function to provide enrichment validation
32
+ * @param args.toEnrichmentRequest - Optional function to request enrichments
33
+ * @returns Model entry object for use in the generation pipeline
34
+ *
35
+ * @example Basic model entry
36
+ * ```typescript
37
+ * import { toModelEntry } from '@skmtc/core';
38
+ *
39
+ * const typeScriptModelEntry = toModelEntry({
40
+ * id: 'typescript-models',
41
+ * transform: ({ context, refName, acc }) => {
42
+ * const schema = context.getSchemaByRefName(refName);
43
+ * const tsInterface = generateTypeScriptInterface(schema);
44
+ * return { ...acc, [refName]: tsInterface };
45
+ * },
46
+ * toPreviewModule: ({ context, refName }) => ({
47
+ * group: 'forms',
48
+ * title: `${refName} Model`,
49
+ * description: 'Generated TypeScript interface'
50
+ * })
51
+ * });
52
+ * ```
53
+ *
54
+ * @example Model entry with enrichments
55
+ * ```typescript
56
+ * const validationModelEntry = toModelEntry({
57
+ * id: 'validation-schemas',
58
+ * transform: ({ context, refName, acc }) => {
59
+ * const enrichments = context.getEnrichments(refName);
60
+ * const schema = context.getSchemaByRefName(refName);
61
+ * const validationSchema = generateValidationSchema(schema, {
62
+ * strict: enrichments?.strict ?? false
63
+ * });
64
+ * return { ...acc, [refName]: validationSchema };
65
+ * },
66
+ * toEnrichmentSchema: () => v.object({
67
+ * strict: v.optional(v.boolean()),
68
+ * nullable: v.optional(v.boolean())
69
+ * }),
70
+ * toEnrichmentRequest: (refName) => ({
71
+ * path: `models.${refName}`,
72
+ * schema: enrichmentSchema
73
+ * })
74
+ * });
75
+ * ```
76
+ */
14
77
  export declare const toModelEntry: <EnrichmentType = undefined, Acc = void>({ id, transform, toPreviewModule, toMappingModule, toEnrichmentSchema, toEnrichmentRequest }: ToModelEntryArgs<EnrichmentType, Acc>) => {
15
78
  id: string;
16
79
  type: "model";
@@ -1 +1 @@
1
- {"version":3,"file":"toModelEntry.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE1E,KAAK,gBAAgB,CAAC,cAAc,GAAG,SAAS,EAAE,GAAG,GAAG,IAAI,IAAI;IAC9D,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,GAAG,CAAA;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1D,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAA;IACnF,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAA;IAC7E,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;CACxD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,cAAc,GAAG,SAAS,EAAE,GAAG,GAAG,IAAI,EAAE,8FAOlE,gBAAgB,CAAC,cAAc,EAAE,GAAG,CAAC,KAAG;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;IACvE,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAC;IACpF,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAC;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC3D,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;CAWzD,CAAA"}
1
+ {"version":3,"file":"toModelEntry.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE1E,KAAK,gBAAgB,CAAC,cAAc,GAAG,SAAS,EAAE,GAAG,GAAG,IAAI,IAAI;IAC9D,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,GAAG,CAAA;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1D,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAA;IACnF,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAA;IAC7E,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;CACxD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,eAAO,MAAM,YAAY,GAAI,cAAc,GAAG,SAAS,EAAE,GAAG,GAAG,IAAI,EAAE,8FAOlE,gBAAgB,CAAC,cAAc,EAAE,GAAG,CAAC,KAAG;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;IACvE,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAC;IACpF,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAC;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC3D,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;CAWzD,CAAA"}
@@ -1,6 +1,69 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toModelEntry = void 0;
4
+ /**
5
+ * Creates a model transformation entry for the SKMTC pipeline.
6
+ *
7
+ * This function creates a standardized model entry that defines how to transform
8
+ * OpenAPI schema objects into model artifacts. Model entries are used by the
9
+ * generation pipeline to process schemas and create output files.
10
+ *
11
+ * The resulting entry includes transformation logic, preview generation,
12
+ * mapping generation, enrichment handling, and schema validation.
13
+ *
14
+ * @template EnrichmentType - Type of enrichments that can be applied to models
15
+ * @template Acc - Accumulator type for the transformation process
16
+ * @param args - Configuration for the model entry
17
+ * @param args.id - Unique identifier for this model entry
18
+ * @param args.transform - Function to transform schemas into artifacts
19
+ * @param args.toPreviewModule - Optional function to generate preview modules
20
+ * @param args.toMappingModule - Optional function to generate mapping modules
21
+ * @param args.toEnrichmentSchema - Optional function to provide enrichment validation
22
+ * @param args.toEnrichmentRequest - Optional function to request enrichments
23
+ * @returns Model entry object for use in the generation pipeline
24
+ *
25
+ * @example Basic model entry
26
+ * ```typescript
27
+ * import { toModelEntry } from '@skmtc/core';
28
+ *
29
+ * const typeScriptModelEntry = toModelEntry({
30
+ * id: 'typescript-models',
31
+ * transform: ({ context, refName, acc }) => {
32
+ * const schema = context.getSchemaByRefName(refName);
33
+ * const tsInterface = generateTypeScriptInterface(schema);
34
+ * return { ...acc, [refName]: tsInterface };
35
+ * },
36
+ * toPreviewModule: ({ context, refName }) => ({
37
+ * group: 'forms',
38
+ * title: `${refName} Model`,
39
+ * description: 'Generated TypeScript interface'
40
+ * })
41
+ * });
42
+ * ```
43
+ *
44
+ * @example Model entry with enrichments
45
+ * ```typescript
46
+ * const validationModelEntry = toModelEntry({
47
+ * id: 'validation-schemas',
48
+ * transform: ({ context, refName, acc }) => {
49
+ * const enrichments = context.getEnrichments(refName);
50
+ * const schema = context.getSchemaByRefName(refName);
51
+ * const validationSchema = generateValidationSchema(schema, {
52
+ * strict: enrichments?.strict ?? false
53
+ * });
54
+ * return { ...acc, [refName]: validationSchema };
55
+ * },
56
+ * toEnrichmentSchema: () => v.object({
57
+ * strict: v.optional(v.boolean()),
58
+ * nullable: v.optional(v.boolean())
59
+ * }),
60
+ * toEnrichmentRequest: (refName) => ({
61
+ * path: `models.${refName}`,
62
+ * schema: enrichmentSchema
63
+ * })
64
+ * });
65
+ * ```
66
+ */
4
67
  const toModelEntry = ({ id, transform, toPreviewModule, toMappingModule, toEnrichmentSchema, toEnrichmentRequest }) => {
5
68
  return {
6
69
  id,
@@ -9,9 +9,9 @@ import type { Definition } from '../Definition.js';
9
9
  import type { Inserted } from '../Inserted.js';
10
10
  import type { ModelInsertable } from '../model/types.js';
11
11
  import type { RefName } from '../../types/RefName.js';
12
- import { OasSchema } from '../../oas/schema/Schema.js';
13
- import { OasRef } from '../../oas/ref/Ref.js';
14
- import { OasVoid } from '../../oas/void/Void.js';
12
+ import type { OasSchema } from '../../oas/schema/Schema.js';
13
+ import type { OasRef } from '../../oas/ref/Ref.js';
14
+ import type { OasVoid } from '../../oas/void/Void.js';
15
15
  /**
16
16
  * Constructor arguments for {@link OperationBase}.
17
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"OperationBase.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/OperationBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OperationBase.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/OperationBase.ts"],"names":[],"mappings":"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"}
@@ -12,14 +12,62 @@ type CreateOperationArgs<V extends GeneratedValue, T extends GenerationType, Enr
12
12
  destinationPath?: string;
13
13
  noExport?: boolean;
14
14
  };
15
+ /**
16
+ * Driver class for generating operation-based artifacts from OpenAPI operations.
17
+ *
18
+ * The `OperationDriver` manages the transformation of OpenAPI operation objects
19
+ * into code artifacts, handling path generation, identifier resolution, and
20
+ * definition management. It serves as the core orchestrator for operation-based
21
+ * code generation in the SKMTC pipeline.
22
+ *
23
+ * @template V - Type of generated values produced by this driver
24
+ * @template T - Type of generation strategy (e.g., 'function', 'class', 'hook')
25
+ * @template EnrichmentType - Type of enrichments that can be applied
26
+ *
27
+ * @example Basic usage in an operation generator
28
+ * ```typescript
29
+ * class APIClientGenerator extends OperationBase {
30
+ * generate() {
31
+ * const driver = new OperationDriver({
32
+ * context: this.context,
33
+ * insertable: this,
34
+ * operation: this.operation,
35
+ * generation: 'function'
36
+ * });
37
+ *
38
+ * const functionCode = driver.definition.toValueString();
39
+ * const file = this.createFile(functionCode);
40
+ * this.register({ file });
41
+ * }
42
+ * }
43
+ * ```
44
+ */
15
45
  export declare class OperationDriver<V extends GeneratedValue, T extends GenerationType, EnrichmentType = undefined> {
46
+ /** The generation context providing access to OAS objects and utilities */
16
47
  context: GenerateContext;
48
+ /** The insertable object that provides generation configuration */
17
49
  insertable: OperationInsertable<V, EnrichmentType>;
50
+ /** The OpenAPI operation object being processed */
18
51
  operation: OasOperation;
52
+ /** Content settings for customizing generation behavior */
19
53
  settings: ContentSettings<EnrichmentType>;
54
+ /** Optional custom destination path for generated files */
20
55
  destinationPath?: string;
56
+ /** The generated definition containing the transformed operation */
21
57
  definition: GeneratedDefinition<V, T>;
58
+ /** Whether to exclude this operation from exports */
22
59
  noExport?: boolean;
60
+ /**
61
+ * Creates a new OperationDriver instance.
62
+ *
63
+ * @param args - Configuration for the operation driver
64
+ * @param args.context - Generation context
65
+ * @param args.insertable - Insertable providing generation configuration
66
+ * @param args.operation - OpenAPI operation to process
67
+ * @param args.generation - Optional generation type
68
+ * @param args.destinationPath - Optional custom destination path
69
+ * @param args.noExport - Whether to exclude from exports
70
+ */
23
71
  constructor({ context, insertable, operation, generation, destinationPath, noExport }: CreateOperationArgs<V, T, EnrichmentType>);
24
72
  private apply;
25
73
  private getDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"OperationDriver.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/OperationDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAI5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAEvE,KAAK,mBAAmB,CACtB,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,cAAc,EACxB,cAAc,GAAG,SAAS,IACxB;IACF,OAAO,EAAE,eAAe,CAAA;IACxB,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;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAYD,qBAAa,eAAe,CAC1B,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,cAAc,EACxB,cAAc,GAAG,SAAS;IAE1B,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAClD,SAAS,EAAE,YAAY,CAAA;IACvB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;gBACN,EACV,OAAO,EACP,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,QAAQ,EACT,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;IAc5C,OAAO,CAAC,KAAK;IAuBb,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,gBAAgB;CAqBzB"}
1
+ {"version":3,"file":"OperationDriver.d.ts","sourceRoot":"","sources":["../../../src/dsl/operation/OperationDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAI5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAEvE,KAAK,mBAAmB,CACtB,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,cAAc,EACxB,cAAc,GAAG,SAAS,IACxB;IACF,OAAO,EAAE,eAAe,CAAA;IACxB,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;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,eAAe,CAC1B,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,cAAc,EACxB,cAAc,GAAG,SAAS;IAE1B,2EAA2E;IAC3E,OAAO,EAAE,eAAe,CAAA;IACxB,mEAAmE;IACnE,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAClD,mDAAmD;IACnD,SAAS,EAAE,YAAY,CAAA;IACvB,2DAA2D;IAC3D,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,oEAAoE;IACpE,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACrC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;;;;;;OAUG;gBACS,EACV,OAAO,EACP,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,QAAQ,EACT,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;IAc5C,OAAO,CAAC,KAAK;IAuBb,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,gBAAgB;CAqBzB"}
@@ -4,44 +4,92 @@ exports.OperationDriver = void 0;
4
4
  const normalize_js_1 = require("../../deps/jsr.io/@std/path/1.1.2/normalize.js");
5
5
  const Definition_js_1 = require("../Definition.js");
6
6
  const GeneratorKeys_js_1 = require("../../types/GeneratorKeys.js");
7
+ /**
8
+ * Driver class for generating operation-based artifacts from OpenAPI operations.
9
+ *
10
+ * The `OperationDriver` manages the transformation of OpenAPI operation objects
11
+ * into code artifacts, handling path generation, identifier resolution, and
12
+ * definition management. It serves as the core orchestrator for operation-based
13
+ * code generation in the SKMTC pipeline.
14
+ *
15
+ * @template V - Type of generated values produced by this driver
16
+ * @template T - Type of generation strategy (e.g., 'function', 'class', 'hook')
17
+ * @template EnrichmentType - Type of enrichments that can be applied
18
+ *
19
+ * @example Basic usage in an operation generator
20
+ * ```typescript
21
+ * class APIClientGenerator extends OperationBase {
22
+ * generate() {
23
+ * const driver = new OperationDriver({
24
+ * context: this.context,
25
+ * insertable: this,
26
+ * operation: this.operation,
27
+ * generation: 'function'
28
+ * });
29
+ *
30
+ * const functionCode = driver.definition.toValueString();
31
+ * const file = this.createFile(functionCode);
32
+ * this.register({ file });
33
+ * }
34
+ * }
35
+ * ```
36
+ */
7
37
  class OperationDriver {
38
+ /**
39
+ * Creates a new OperationDriver instance.
40
+ *
41
+ * @param args - Configuration for the operation driver
42
+ * @param args.context - Generation context
43
+ * @param args.insertable - Insertable providing generation configuration
44
+ * @param args.operation - OpenAPI operation to process
45
+ * @param args.generation - Optional generation type
46
+ * @param args.destinationPath - Optional custom destination path
47
+ * @param args.noExport - Whether to exclude from exports
48
+ */
8
49
  constructor({ context, insertable, operation, generation, destinationPath, noExport }) {
50
+ /** The generation context providing access to OAS objects and utilities */
9
51
  Object.defineProperty(this, "context", {
10
52
  enumerable: true,
11
53
  configurable: true,
12
54
  writable: true,
13
55
  value: void 0
14
56
  });
57
+ /** The insertable object that provides generation configuration */
15
58
  Object.defineProperty(this, "insertable", {
16
59
  enumerable: true,
17
60
  configurable: true,
18
61
  writable: true,
19
62
  value: void 0
20
63
  });
64
+ /** The OpenAPI operation object being processed */
21
65
  Object.defineProperty(this, "operation", {
22
66
  enumerable: true,
23
67
  configurable: true,
24
68
  writable: true,
25
69
  value: void 0
26
70
  });
71
+ /** Content settings for customizing generation behavior */
27
72
  Object.defineProperty(this, "settings", {
28
73
  enumerable: true,
29
74
  configurable: true,
30
75
  writable: true,
31
76
  value: void 0
32
77
  });
78
+ /** Optional custom destination path for generated files */
33
79
  Object.defineProperty(this, "destinationPath", {
34
80
  enumerable: true,
35
81
  configurable: true,
36
82
  writable: true,
37
83
  value: void 0
38
84
  });
85
+ /** The generated definition containing the transformed operation */
39
86
  Object.defineProperty(this, "definition", {
40
87
  enumerable: true,
41
88
  configurable: true,
42
89
  writable: true,
43
90
  value: void 0
44
91
  });
92
+ /** Whether to exclude this operation from exports */
45
93
  Object.defineProperty(this, "noExport", {
46
94
  enumerable: true,
47
95
  configurable: true,
@@ -59,7 +107,7 @@ class OperationDriver {
59
107
  });
60
108
  this.definition = this.apply({ generation, destinationPath });
61
109
  }
62
- apply({ generation, destinationPath } = {}) {
110
+ apply({ generation: _generation, destinationPath } = {}) {
63
111
  const { identifier, exportPath } = this.settings;
64
112
  // Everything is selected (for now)
65
113
  // if (/*!selected && */ generation !== 'force') {
@@ -61,5 +61,5 @@
61
61
  * ```
62
62
  */
63
63
  import "../_dnt.polyfills.js";
64
- export declare const isEmpty: (value: Record<string, any>) => boolean;
64
+ export declare const isEmpty: (value: object) => boolean;
65
65
  //# sourceMappingURL=isEmpty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isEmpty.d.ts","sourceRoot":"","sources":["../../src/helpers/isEmpty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,OAAO,sBAAsB,CAAC;AAE9B,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,OAEpD,CAAA"}
1
+ {"version":3,"file":"isEmpty.d.ts","sourceRoot":"","sources":["../../src/helpers/isEmpty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,OAAO,sBAAsB,CAAC;AAE9B,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,OAEvC,CAAA"}
@@ -124,5 +124,5 @@ import type { StackTrail } from '../context/StackTrail.js';
124
124
  * }
125
125
  * ```
126
126
  */
127
- export declare const tracer: <T>(stackTrail: StackTrail, token: string | string[], fn: () => T, log: Logger) => T;
127
+ export declare const tracer: <T>(stackTrail: StackTrail, token: string | string[], fn: () => T, _log: Logger) => T;
128
128
  //# sourceMappingURL=tracer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/helpers/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4CAA4C,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2HG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EACtB,YAAY,UAAU,EACtB,OAAO,MAAM,GAAG,MAAM,EAAE,EACxB,IAAI,MAAM,CAAC,EACX,KAAK,MAAM,MAgBZ,CAAA"}
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/helpers/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4CAA4C,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2HG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EACtB,YAAY,UAAU,EACtB,OAAO,MAAM,GAAG,MAAM,EAAE,EACxB,IAAI,MAAM,CAAC,EACX,MAAM,MAAM,MAgBb,CAAA"}
@@ -125,7 +125,7 @@ exports.tracer = void 0;
125
125
  * }
126
126
  * ```
127
127
  */
128
- const tracer = (stackTrail, token, fn, log) => {
128
+ const tracer = (stackTrail, token, fn, _log) => {
129
129
  stackTrail.append(token);
130
130
  try {
131
131
  const result = fn();
package/script/mod.d.ts CHANGED
@@ -69,11 +69,15 @@ export * from './app/validate.js';
69
69
  export * from './context/CoreContext.js';
70
70
  export * from './context/GenerateContext.js';
71
71
  export * from './context/ParseContext.js';
72
+ export * from './context/RenderContext.js';
73
+ export * from './context/types.js';
72
74
  export * from './dsl/constants.js';
73
75
  export * from './dsl/ContentBase.js';
74
76
  export * from './dsl/ContentSettings.js';
75
77
  export * from './dsl/Definition.js';
76
78
  export * from './dsl/EntityType.js';
79
+ export * from './dsl/File.js';
80
+ export * from './dsl/JsonFile.js';
77
81
  export * from './dsl/GeneratedValueList.js';
78
82
  export * from './dsl/Identifier.js';
79
83
  export * from './dsl/Import.js';
@@ -99,25 +103,71 @@ export * from './helpers/refFns.js';
99
103
  export * from './helpers/strings.js';
100
104
  export * from './helpers/parseModuleName.js';
101
105
  export * from './helpers/toResolvedArtifactPath.js';
106
+ export * from './context/StackTrail.js';
102
107
  export * from './oas/array/Array.js';
108
+ export * from './oas/array/array-types.js';
109
+ export * from './oas/array/toArray.js';
103
110
  export * from './oas/boolean/Boolean.js';
111
+ export * from './oas/boolean/boolean-types.js';
112
+ export * from './oas/boolean/toBoolean.js';
104
113
  export * from './oas/components/Components.js';
114
+ export * from './oas/components/components-types.js';
115
+ export * from './oas/contact/Contact.js';
116
+ export * from './oas/contact/contact-types.js';
105
117
  export * from './oas/discriminator/Discriminator.js';
118
+ export * from './oas/discriminator/discriminator-types.js';
106
119
  export * from './oas/document/Document.js';
120
+ export * from './oas/document/document-types.js';
121
+ export * from './oas/example/Example.js';
122
+ export * from './oas/example/example-types.js';
123
+ export * from './oas/header/Header.js';
124
+ export * from './oas/header/header-types.js';
107
125
  export * from './oas/info/Info.js';
126
+ export * from './oas/info/info-types.js';
127
+ export * from './oas/license/License.js';
128
+ export * from './oas/license/license-types.js';
129
+ export * from './oas/mediaType/MediaType.js';
130
+ export * from './oas/mediaType/mediaType-types.js';
108
131
  export * from './oas/integer/Integer.js';
132
+ export * from './oas/integer/integer-types.js';
133
+ export * from './oas/integer/toInteger.js';
109
134
  export * from './oas/number/Number.js';
135
+ export * from './oas/number/number-types.js';
136
+ export * from './oas/number/toNumber.js';
110
137
  export * from './oas/object/Object.js';
138
+ export * from './oas/object/object-types.js';
139
+ export * from './oas/object/toObject.js';
111
140
  export * from './oas/operation/Operation.js';
141
+ export * from './oas/operation/operation-types.js';
112
142
  export * from './oas/parameter/Parameter.js';
143
+ export * from './oas/parameter/parameter-types.js';
144
+ export * from './oas/pathItem/PathItem.js';
145
+ export * from './oas/pathItem/pathItem-types.js';
113
146
  export * from './oas/ref/Ref.js';
147
+ export * from './oas/ref/ref-types.js';
148
+ export * from './oas/ref/toRefV31.js';
114
149
  export * from './oas/requestBody/RequestBody.js';
150
+ export * from './oas/requestBody/requestBody-types.js';
115
151
  export * from './oas/response/Response.js';
152
+ export * from './oas/response/response-types.js';
116
153
  export * from './oas/schema/Schema.js';
154
+ export * from './oas/schema/schema-types.js';
155
+ export * from './oas/schema/toSchemasV3.js';
156
+ export * from './oas/securityRequirement/SecurityRequirement.js';
157
+ export * from './oas/securitySchemes/SecurityScheme.js';
158
+ export * from './oas/server/Server.js';
159
+ export * from './oas/serverVariable/ServerVariable.js';
117
160
  export * from './oas/string/String.js';
161
+ export * from './oas/string/string-types.js';
162
+ export * from './oas/string/toString.js';
118
163
  export * from './oas/tag/Tag.js';
164
+ export * from './oas/tag/tag-types.js';
119
165
  export * from './oas/union/Union.js';
166
+ export * from './oas/union/union-types.js';
167
+ export * from './oas/union/toUnion.js';
120
168
  export * from './oas/unknown/Unknown.js';
169
+ export * from './oas/unknown/unknown-types.js';
170
+ export * from './oas/unknown/toUnknown.js';
121
171
  export * from './oas/void/Void.js';
122
172
  export * from './run/toArtifacts.js';
123
173
  export * from './run/toV3JsonDocument.js';
@@ -135,6 +185,7 @@ export * from './types/ModuleExport.js';
135
185
  export * from './types/PrettierConfig.js';
136
186
  export * from './types/Preview.js';
137
187
  export * from './types/RefName.js';
188
+ export * from './types/Results.js';
138
189
  export * from './types/Settings.js';
139
190
  export * from './types/TypeSystem.js';
140
191
  export * from './typescript/FunctionParameter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,OAAO,qBAAqB,CAAC;AAG7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,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,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,oCAAoC,CAAA;AAClD,cAAc,qCAAqC,CAAA;AACnD,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qCAAqC,CAAA;AACnD,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,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,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,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,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}