@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"}
@@ -2,6 +2,52 @@ import { toModelGeneratorKey } from '../../types/GeneratorKeys.js';
2
2
  import { ModelBase } from './ModelBase.js';
3
3
  import * as v from 'valibot';
4
4
  import { get } from 'lodash-es';
5
+ /**
6
+ * Creates a base model class constructor for generating type-safe model artifacts.
7
+ *
8
+ * This factory function creates a specialized ModelBase class that implements
9
+ * the provided configuration for identifier generation, export paths, and
10
+ * enrichment handling. The resulting class can be instantiated to generate
11
+ * model artifacts from OpenAPI schemas.
12
+ *
13
+ * @template EnrichmentType - Type of enrichments to apply to generated models
14
+ * @param config - Configuration defining the model generation behavior
15
+ * @returns Constructor function for creating model instances
16
+ *
17
+ * @example Creating a TypeScript interface generator
18
+ * ```typescript
19
+ * import { toModelBase } from '@skmtc/core';
20
+ *
21
+ * const TypeScriptModelBase = toModelBase({
22
+ * id: 'typescript-interfaces',
23
+ * toIdentifier: (refName) => new Identifier(pascalCase(refName)),
24
+ * toExportPath: (refName) => `./models/${kebabCase(refName)}.ts`,
25
+ * toEnrichmentSchema: () => v.object({
26
+ * includeValidation: v.optional(v.boolean()),
27
+ * readonly: v.optional(v.boolean())
28
+ * })
29
+ * });
30
+ *
31
+ * class TypeScriptModelGenerator extends TypeScriptModelBase {
32
+ * generate() {
33
+ * const enrichments = this.enrichments;
34
+ * const interface = generateInterface(this.schema, {
35
+ * readonly: enrichments?.readonly ?? false
36
+ * });
37
+ * this.register({ file: this.createFile(interface) });
38
+ * }
39
+ * }
40
+ * ```
41
+ *
42
+ * @example Creating a validation schema generator
43
+ * ```typescript
44
+ * const ValidationModelBase = toModelBase({
45
+ * id: 'zod-schemas',
46
+ * toIdentifier: (refName) => new Identifier(`${pascalCase(refName)}Schema`),
47
+ * toExportPath: (refName) => `./schemas/${kebabCase(refName)}.schema.ts`
48
+ * });
49
+ * ```
50
+ */
5
51
  export const toModelBase = (config) => {
6
52
  var _a;
7
53
  return _a = class extends 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,3 +1,66 @@
1
+ /**
2
+ * Creates a model transformation entry for the SKMTC pipeline.
3
+ *
4
+ * This function creates a standardized model entry that defines how to transform
5
+ * OpenAPI schema objects into model artifacts. Model entries are used by the
6
+ * generation pipeline to process schemas and create output files.
7
+ *
8
+ * The resulting entry includes transformation logic, preview generation,
9
+ * mapping generation, enrichment handling, and schema validation.
10
+ *
11
+ * @template EnrichmentType - Type of enrichments that can be applied to models
12
+ * @template Acc - Accumulator type for the transformation process
13
+ * @param args - Configuration for the model entry
14
+ * @param args.id - Unique identifier for this model entry
15
+ * @param args.transform - Function to transform schemas into artifacts
16
+ * @param args.toPreviewModule - Optional function to generate preview modules
17
+ * @param args.toMappingModule - Optional function to generate mapping modules
18
+ * @param args.toEnrichmentSchema - Optional function to provide enrichment validation
19
+ * @param args.toEnrichmentRequest - Optional function to request enrichments
20
+ * @returns Model entry object for use in the generation pipeline
21
+ *
22
+ * @example Basic model entry
23
+ * ```typescript
24
+ * import { toModelEntry } from '@skmtc/core';
25
+ *
26
+ * const typeScriptModelEntry = toModelEntry({
27
+ * id: 'typescript-models',
28
+ * transform: ({ context, refName, acc }) => {
29
+ * const schema = context.getSchemaByRefName(refName);
30
+ * const tsInterface = generateTypeScriptInterface(schema);
31
+ * return { ...acc, [refName]: tsInterface };
32
+ * },
33
+ * toPreviewModule: ({ context, refName }) => ({
34
+ * group: 'forms',
35
+ * title: `${refName} Model`,
36
+ * description: 'Generated TypeScript interface'
37
+ * })
38
+ * });
39
+ * ```
40
+ *
41
+ * @example Model entry with enrichments
42
+ * ```typescript
43
+ * const validationModelEntry = toModelEntry({
44
+ * id: 'validation-schemas',
45
+ * transform: ({ context, refName, acc }) => {
46
+ * const enrichments = context.getEnrichments(refName);
47
+ * const schema = context.getSchemaByRefName(refName);
48
+ * const validationSchema = generateValidationSchema(schema, {
49
+ * strict: enrichments?.strict ?? false
50
+ * });
51
+ * return { ...acc, [refName]: validationSchema };
52
+ * },
53
+ * toEnrichmentSchema: () => v.object({
54
+ * strict: v.optional(v.boolean()),
55
+ * nullable: v.optional(v.boolean())
56
+ * }),
57
+ * toEnrichmentRequest: (refName) => ({
58
+ * path: `models.${refName}`,
59
+ * schema: enrichmentSchema
60
+ * })
61
+ * });
62
+ * ```
63
+ */
1
64
  export const toModelEntry = ({ id, transform, toPreviewModule, toMappingModule, toEnrichmentSchema, toEnrichmentRequest }) => {
2
65
  return {
3
66
  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"}
@@ -1,44 +1,92 @@
1
1
  import { normalize } from '../../deps/jsr.io/@std/path/1.1.2/normalize.js';
2
2
  import { Definition } from '../Definition.js';
3
3
  import { toOperationGeneratorKey } from '../../types/GeneratorKeys.js';
4
+ /**
5
+ * Driver class for generating operation-based artifacts from OpenAPI operations.
6
+ *
7
+ * The `OperationDriver` manages the transformation of OpenAPI operation objects
8
+ * into code artifacts, handling path generation, identifier resolution, and
9
+ * definition management. It serves as the core orchestrator for operation-based
10
+ * code generation in the SKMTC pipeline.
11
+ *
12
+ * @template V - Type of generated values produced by this driver
13
+ * @template T - Type of generation strategy (e.g., 'function', 'class', 'hook')
14
+ * @template EnrichmentType - Type of enrichments that can be applied
15
+ *
16
+ * @example Basic usage in an operation generator
17
+ * ```typescript
18
+ * class APIClientGenerator extends OperationBase {
19
+ * generate() {
20
+ * const driver = new OperationDriver({
21
+ * context: this.context,
22
+ * insertable: this,
23
+ * operation: this.operation,
24
+ * generation: 'function'
25
+ * });
26
+ *
27
+ * const functionCode = driver.definition.toValueString();
28
+ * const file = this.createFile(functionCode);
29
+ * this.register({ file });
30
+ * }
31
+ * }
32
+ * ```
33
+ */
4
34
  export class OperationDriver {
35
+ /**
36
+ * Creates a new OperationDriver instance.
37
+ *
38
+ * @param args - Configuration for the operation driver
39
+ * @param args.context - Generation context
40
+ * @param args.insertable - Insertable providing generation configuration
41
+ * @param args.operation - OpenAPI operation to process
42
+ * @param args.generation - Optional generation type
43
+ * @param args.destinationPath - Optional custom destination path
44
+ * @param args.noExport - Whether to exclude from exports
45
+ */
5
46
  constructor({ context, insertable, operation, generation, destinationPath, noExport }) {
47
+ /** The generation context providing access to OAS objects and utilities */
6
48
  Object.defineProperty(this, "context", {
7
49
  enumerable: true,
8
50
  configurable: true,
9
51
  writable: true,
10
52
  value: void 0
11
53
  });
54
+ /** The insertable object that provides generation configuration */
12
55
  Object.defineProperty(this, "insertable", {
13
56
  enumerable: true,
14
57
  configurable: true,
15
58
  writable: true,
16
59
  value: void 0
17
60
  });
61
+ /** The OpenAPI operation object being processed */
18
62
  Object.defineProperty(this, "operation", {
19
63
  enumerable: true,
20
64
  configurable: true,
21
65
  writable: true,
22
66
  value: void 0
23
67
  });
68
+ /** Content settings for customizing generation behavior */
24
69
  Object.defineProperty(this, "settings", {
25
70
  enumerable: true,
26
71
  configurable: true,
27
72
  writable: true,
28
73
  value: void 0
29
74
  });
75
+ /** Optional custom destination path for generated files */
30
76
  Object.defineProperty(this, "destinationPath", {
31
77
  enumerable: true,
32
78
  configurable: true,
33
79
  writable: true,
34
80
  value: void 0
35
81
  });
82
+ /** The generated definition containing the transformed operation */
36
83
  Object.defineProperty(this, "definition", {
37
84
  enumerable: true,
38
85
  configurable: true,
39
86
  writable: true,
40
87
  value: void 0
41
88
  });
89
+ /** Whether to exclude this operation from exports */
42
90
  Object.defineProperty(this, "noExport", {
43
91
  enumerable: true,
44
92
  configurable: true,
@@ -56,7 +104,7 @@ export class OperationDriver {
56
104
  });
57
105
  this.definition = this.apply({ generation, destinationPath });
58
106
  }
59
- apply({ generation, destinationPath } = {}) {
107
+ apply({ generation: _generation, destinationPath } = {}) {
60
108
  const { identifier, exportPath } = this.settings;
61
109
  // Everything is selected (for now)
62
110
  // 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"}
@@ -122,7 +122,7 @@
122
122
  * }
123
123
  * ```
124
124
  */
125
- export const tracer = (stackTrail, token, fn, log) => {
125
+ export const tracer = (stackTrail, token, fn, _log) => {
126
126
  stackTrail.append(token);
127
127
  try {
128
128
  const result = fn();
package/esm/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';
package/esm/mod.d.ts.map CHANGED
@@ -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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"}