@skmtc/core 0.28.7 → 0.30.1

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 (427) hide show
  1. package/esm/_dnt.polyfills.d.ts +11 -0
  2. package/esm/_dnt.polyfills.js +14 -0
  3. package/esm/context/GenerateContext.js +16 -16
  4. package/esm/context/ParseContext.js +9 -1
  5. package/esm/context/RenderContext.d.ts +7 -7
  6. package/esm/context/RenderContext.js +17 -12
  7. package/esm/context/generateTypes.d.ts +2 -2
  8. package/esm/context/generateTypes.js +3 -1
  9. package/esm/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.d.ts +16 -0
  10. package/esm/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.js +23 -0
  11. package/esm/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.d.ts +16 -0
  12. package/esm/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.js +38 -0
  13. package/esm/dsl/GeneratorKeys.d.ts +2 -2
  14. package/esm/dsl/GeneratorKeys.js +6 -3
  15. package/esm/dsl/model/ModelDriver.js +4 -3
  16. package/esm/dsl/operation/gql/GqlOperationDriver.js +4 -3
  17. package/esm/dsl/operation/oas/OasOperationDriver.js +4 -3
  18. package/esm/dsl/webhook/WebhookDriver.js +4 -3
  19. package/esm/helpers/applyGeneratedSuffix.js +1 -1
  20. package/esm/helpers/isImported.d.ts +10 -74
  21. package/esm/helpers/isImported.js +12 -76
  22. package/esm/helpers/naming.d.ts +2 -1
  23. package/esm/helpers/naming.js +4 -2
  24. package/esm/helpers/normalizeWorkspacePath.d.ts +64 -0
  25. package/esm/helpers/normalizeWorkspacePath.js +98 -0
  26. package/esm/helpers/toResolvedArtifactPath.d.ts +8 -5
  27. package/esm/helpers/toResolvedArtifactPath.js +11 -7
  28. package/esm/helpers/toWorkspacePath.d.ts +3 -3
  29. package/esm/helpers/toWorkspacePath.js +5 -5
  30. package/esm/mod.d.ts +1 -0
  31. package/esm/mod.js +1 -0
  32. package/esm/oas/discriminator/Discriminator.d.ts +3 -0
  33. package/esm/oas/discriminator/Discriminator.js +7 -0
  34. package/esm/oas/document/Document.d.ts +7 -0
  35. package/esm/oas/document/Document.js +8 -0
  36. package/esm/oas/example/Example.d.ts +10 -1
  37. package/esm/oas/example/Example.js +16 -0
  38. package/esm/oas/mediaType/MediaType.d.ts +12 -0
  39. package/esm/oas/mediaType/MediaType.js +24 -0
  40. package/esm/oas/parameter/Parameter.d.ts +2 -1
  41. package/esm/oas/parameter/Parameter.js +5 -2
  42. package/esm/oas/parameter/parameter-types.d.ts +10 -2
  43. package/esm/oas/parameter/parameter-types.js +3 -1
  44. package/esm/oas/response/Response.d.ts +6 -1
  45. package/esm/oas/response/Response.js +8 -0
  46. package/esm/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  47. package/esm/oas/securitySchemes/SecurityScheme.js +46 -1
  48. package/esm/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  49. package/esm/oas/server/Server.d.ts +8 -2
  50. package/esm/oas/server/Server.js +10 -1
  51. package/esm/oas/tag/Tag.d.ts +9 -0
  52. package/esm/oas/tag/Tag.js +9 -0
  53. package/esm/parse/toOasDialect.d.ts +8 -7
  54. package/esm/parse/toOasDialect.js +4 -2
  55. package/esm/parse/v3-0/methods.d.ts +11 -0
  56. package/esm/parse/v3-0/methods.js +16 -0
  57. package/esm/parse/v3-0/operation/toOperationsV3.js +5 -5
  58. package/esm/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  59. package/esm/parse/v3-0/parameter/toParameterV3.js +17 -3
  60. package/esm/parse/v3-0/securitySchemes/toSecuritySchemes.js +50 -38
  61. package/esm/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  62. package/esm/parse/v3-1/methods.d.ts +11 -0
  63. package/esm/parse/v3-1/methods.js +16 -0
  64. package/esm/parse/v3-1/operation/toOperationsV3.js +5 -5
  65. package/esm/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  66. package/esm/parse/v3-1/parameter/toParameterV3.js +17 -3
  67. package/esm/parse/v3-1/securitySchemes/toSecuritySchemes.js +50 -38
  68. package/esm/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  69. package/esm/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  70. package/esm/parse/v3-2/_helpers/parseDefault.js +39 -0
  71. package/esm/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  72. package/esm/parse/v3-2/_helpers/parseEnum.js +23 -0
  73. package/esm/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  74. package/esm/parse/v3-2/_helpers/parseExample.js +37 -0
  75. package/esm/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  76. package/esm/parse/v3-2/_helpers/parseNullable.js +140 -0
  77. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  78. package/esm/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +9 -0
  79. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  80. package/esm/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +5 -0
  81. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  82. package/esm/parse/v3-2/_merge-all-of/check-enum-conflicts.js +11 -0
  83. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  84. package/esm/parse/v3-2/_merge-all-of/check-format-conflicts.js +5 -0
  85. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  86. package/esm/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +11 -0
  87. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  88. package/esm/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +5 -0
  89. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  90. package/esm/parse/v3-2/_merge-all-of/check-type-conflicts.js +5 -0
  91. package/esm/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  92. package/esm/parse/v3-2/_merge-all-of/cross-product.js +3 -0
  93. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  94. package/esm/parse/v3-2/_merge-all-of/decompose-intersection.js +27 -0
  95. package/esm/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  96. package/esm/parse/v3-2/_merge-all-of/decompose-union.js +69 -0
  97. package/esm/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  98. package/esm/parse/v3-2/_merge-all-of/generic-merge.js +12 -0
  99. package/esm/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  100. package/esm/parse/v3-2/_merge-all-of/is-equal.js +19 -0
  101. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  102. package/esm/parse/v3-2/_merge-all-of/merge-array-constraints.js +44 -0
  103. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  104. package/esm/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +7 -0
  105. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  106. package/esm/parse/v3-2/_merge-all-of/merge-enum-values.js +32 -0
  107. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  108. package/esm/parse/v3-2/_merge-all-of/merge-integer-constraints.js +41 -0
  109. package/esm/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  110. package/esm/parse/v3-2/_merge-all-of/merge-intersection.js +16 -0
  111. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  112. package/esm/parse/v3-2/_merge-all-of/merge-number-constraints.js +41 -0
  113. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  114. package/esm/parse/v3-2/_merge-all-of/merge-object-constraints.js +28 -0
  115. package/esm/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  116. package/esm/parse/v3-2/_merge-all-of/merge-properties.js +25 -0
  117. package/esm/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  118. package/esm/parse/v3-2/_merge-all-of/merge-required.js +10 -0
  119. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  120. package/esm/parse/v3-2/_merge-all-of/merge-string-constraints.js +55 -0
  121. package/esm/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  122. package/esm/parse/v3-2/_merge-all-of/merge-union.js +53 -0
  123. package/esm/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  124. package/esm/parse/v3-2/_merge-all-of/merge.js +155 -0
  125. package/esm/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  126. package/esm/parse/v3-2/_merge-all-of/nullable-merge.js +12 -0
  127. package/esm/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  128. package/esm/parse/v3-2/_merge-all-of/types.js +2 -0
  129. package/esm/parse/v3-2/array/toArray.d.ts +80 -0
  130. package/esm/parse/v3-2/array/toArray.js +165 -0
  131. package/esm/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  132. package/esm/parse/v3-2/boolean/toBoolean.js +139 -0
  133. package/esm/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  134. package/esm/parse/v3-2/components/toComponentsV3.js +43 -0
  135. package/esm/parse/v3-2/contact/toContactV3.d.ts +5 -0
  136. package/esm/parse/v3-2/contact/toContactV3.js +18 -0
  137. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  138. package/esm/parse/v3-2/discriminator/toDiscriminatorV3.js +21 -0
  139. package/esm/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  140. package/esm/parse/v3-2/document/toDocumentFieldsV3.js +33 -0
  141. package/esm/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  142. package/esm/parse/v3-2/example/toExamplesV3.js +143 -0
  143. package/esm/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  144. package/esm/parse/v3-2/externalDocs/toExternalDocs.js +15 -0
  145. package/esm/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  146. package/esm/parse/v3-2/header/toHeadersV3.js +47 -0
  147. package/esm/parse/v3-2/info/toInfoV3.d.ts +10 -0
  148. package/esm/parse/v3-2/info/toInfoV3.js +23 -0
  149. package/esm/parse/v3-2/integer/toInteger.d.ts +21 -0
  150. package/esm/parse/v3-2/integer/toInteger.js +115 -0
  151. package/esm/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  152. package/esm/parse/v3-2/license/toLicenseV3.js +17 -0
  153. package/esm/parse/v3-2/link/toLinksV3.d.ts +16 -0
  154. package/esm/parse/v3-2/link/toLinksV3.js +40 -0
  155. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  156. package/esm/parse/v3-2/mediaType/toMediaTypeItemV3.js +375 -0
  157. package/esm/parse/v3-2/methods.d.ts +17 -0
  158. package/esm/parse/v3-2/methods.js +21 -0
  159. package/esm/parse/v3-2/number/toNumber.d.ts +10 -0
  160. package/esm/parse/v3-2/number/toNumber.js +115 -0
  161. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  162. package/esm/parse/v3-2/object/toAdditionalPropertiesV3.js +10 -0
  163. package/esm/parse/v3-2/object/toObject.d.ts +10 -0
  164. package/esm/parse/v3-2/object/toObject.js +90 -0
  165. package/esm/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  166. package/esm/parse/v3-2/operation/toOperationsV3.js +129 -0
  167. package/esm/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  168. package/esm/parse/v3-2/parameter/toParameterV3.js +152 -0
  169. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  170. package/esm/parse/v3-2/parameter/warnQuerystringConflictsV3.js +39 -0
  171. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  172. package/esm/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +34 -0
  173. package/esm/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  174. package/esm/parse/v3-2/pathItem/toPathItemV3.js +45 -0
  175. package/esm/parse/v3-2/ref/toRefV31.d.ts +19 -0
  176. package/esm/parse/v3-2/ref/toRefV31.js +10 -0
  177. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  178. package/esm/parse/v3-2/requestBody/toRequestBodiesV3.js +44 -0
  179. package/esm/parse/v3-2/response/toResponseV3.d.ts +29 -0
  180. package/esm/parse/v3-2/response/toResponseV3.js +56 -0
  181. package/esm/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  182. package/esm/parse/v3-2/schema/toSchemasV3.js +511 -0
  183. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  184. package/esm/parse/v3-2/securityRequirement/toSecurityRequirement.js +9 -0
  185. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  186. package/esm/parse/v3-2/securitySchemes/toSecuritySchemes.js +152 -0
  187. package/esm/parse/v3-2/server/toServerV3.d.ts +26 -0
  188. package/esm/parse/v3-2/server/toServerV3.js +31 -0
  189. package/esm/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  190. package/esm/parse/v3-2/serverVariable/toServerVariableV3.js +30 -0
  191. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  192. package/esm/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +25 -0
  193. package/esm/parse/v3-2/string/toString.d.ts +146 -0
  194. package/esm/parse/v3-2/string/toString.js +211 -0
  195. package/esm/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  196. package/esm/parse/v3-2/tag/toTagsV3.js +78 -0
  197. package/esm/parse/v3-2/union/toUnion.d.ts +12 -0
  198. package/esm/parse/v3-2/union/toUnion.js +68 -0
  199. package/esm/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  200. package/esm/parse/v3-2/unknown/toUnknown.js +19 -0
  201. package/esm/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  202. package/esm/parse/v3-2/webhook/toWebhooksV3.js +139 -0
  203. package/esm/types/Method.d.ts +7 -4
  204. package/esm/types/Method.js +17 -4
  205. package/esm/types/Preview.d.ts +2 -1
  206. package/esm/types/Settings.js +6 -8
  207. package/esm/types/SkmtcDocument.d.ts +6 -6
  208. package/package.json +1 -1
  209. package/script/_dnt.polyfills.d.ts +11 -0
  210. package/script/_dnt.polyfills.js +14 -0
  211. package/script/context/GenerateContext.js +16 -16
  212. package/script/context/ParseContext.js +9 -1
  213. package/script/context/RenderContext.d.ts +7 -7
  214. package/script/context/RenderContext.js +17 -12
  215. package/script/context/generateTypes.d.ts +2 -2
  216. package/script/context/generateTypes.js +3 -1
  217. package/script/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.d.ts +16 -0
  218. package/script/deps/jsr.io/@std/path/1.1.6/posix/is_absolute.js +26 -0
  219. package/script/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.d.ts +16 -0
  220. package/script/deps/jsr.io/@std/path/1.1.6/windows/is_absolute.js +41 -0
  221. package/script/dsl/GeneratorKeys.d.ts +2 -2
  222. package/script/dsl/GeneratorKeys.js +6 -3
  223. package/script/dsl/model/ModelDriver.js +4 -3
  224. package/script/dsl/operation/gql/GqlOperationDriver.js +4 -3
  225. package/script/dsl/operation/oas/OasOperationDriver.js +4 -3
  226. package/script/dsl/webhook/WebhookDriver.js +4 -3
  227. package/script/helpers/applyGeneratedSuffix.js +1 -1
  228. package/script/helpers/isImported.d.ts +10 -74
  229. package/script/helpers/isImported.js +12 -76
  230. package/script/helpers/naming.d.ts +2 -1
  231. package/script/helpers/naming.js +4 -2
  232. package/script/helpers/normalizeWorkspacePath.d.ts +64 -0
  233. package/script/helpers/normalizeWorkspacePath.js +107 -0
  234. package/script/helpers/toResolvedArtifactPath.d.ts +8 -5
  235. package/script/helpers/toResolvedArtifactPath.js +11 -7
  236. package/script/helpers/toWorkspacePath.d.ts +3 -3
  237. package/script/helpers/toWorkspacePath.js +5 -5
  238. package/script/mod.d.ts +1 -0
  239. package/script/mod.js +1 -0
  240. package/script/oas/discriminator/Discriminator.d.ts +3 -0
  241. package/script/oas/discriminator/Discriminator.js +7 -0
  242. package/script/oas/document/Document.d.ts +7 -0
  243. package/script/oas/document/Document.js +8 -0
  244. package/script/oas/example/Example.d.ts +10 -1
  245. package/script/oas/example/Example.js +16 -0
  246. package/script/oas/mediaType/MediaType.d.ts +12 -0
  247. package/script/oas/mediaType/MediaType.js +24 -0
  248. package/script/oas/parameter/Parameter.d.ts +2 -1
  249. package/script/oas/parameter/Parameter.js +5 -2
  250. package/script/oas/parameter/parameter-types.d.ts +10 -2
  251. package/script/oas/parameter/parameter-types.js +3 -1
  252. package/script/oas/response/Response.d.ts +6 -1
  253. package/script/oas/response/Response.js +8 -0
  254. package/script/oas/securitySchemes/SecurityScheme.d.ts +47 -4
  255. package/script/oas/securitySchemes/SecurityScheme.js +46 -1
  256. package/script/oas/securitySchemes/security-scheme-types.d.ts +21 -0
  257. package/script/oas/server/Server.d.ts +8 -2
  258. package/script/oas/server/Server.js +10 -1
  259. package/script/oas/tag/Tag.d.ts +9 -0
  260. package/script/oas/tag/Tag.js +9 -0
  261. package/script/parse/toOasDialect.d.ts +8 -7
  262. package/script/parse/toOasDialect.js +4 -2
  263. package/script/parse/v3-0/methods.d.ts +11 -0
  264. package/script/parse/v3-0/methods.js +20 -0
  265. package/script/parse/v3-0/operation/toOperationsV3.js +5 -5
  266. package/script/parse/v3-0/parameter/toParameterV3.d.ts +4 -2
  267. package/script/parse/v3-0/parameter/toParameterV3.js +17 -3
  268. package/script/parse/v3-0/securitySchemes/toSecuritySchemes.js +49 -37
  269. package/script/parse/v3-0/webhook/toWebhooksV3.js +5 -5
  270. package/script/parse/v3-1/methods.d.ts +11 -0
  271. package/script/parse/v3-1/methods.js +20 -0
  272. package/script/parse/v3-1/operation/toOperationsV3.js +5 -5
  273. package/script/parse/v3-1/parameter/toParameterV3.d.ts +4 -2
  274. package/script/parse/v3-1/parameter/toParameterV3.js +17 -3
  275. package/script/parse/v3-1/securitySchemes/toSecuritySchemes.js +49 -37
  276. package/script/parse/v3-1/webhook/toWebhooksV3.js +5 -5
  277. package/script/parse/v3-2/_helpers/parseDefault.d.ts +43 -0
  278. package/script/parse/v3-2/_helpers/parseDefault.js +43 -0
  279. package/script/parse/v3-2/_helpers/parseEnum.d.ts +13 -0
  280. package/script/parse/v3-2/_helpers/parseEnum.js +27 -0
  281. package/script/parse/v3-2/_helpers/parseExample.d.ts +41 -0
  282. package/script/parse/v3-2/_helpers/parseExample.js +41 -0
  283. package/script/parse/v3-2/_helpers/parseNullable.d.ts +141 -0
  284. package/script/parse/v3-2/_helpers/parseNullable.js +144 -0
  285. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.d.ts +2 -0
  286. package/script/parse/v3-2/_merge-all-of/check-array-item-type-conflicts.js +13 -0
  287. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.d.ts +4 -0
  288. package/script/parse/v3-2/_merge-all-of/check-at-least-one-type-match.js +9 -0
  289. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.d.ts +2 -0
  290. package/script/parse/v3-2/_merge-all-of/check-enum-conflicts.js +15 -0
  291. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.d.ts +2 -0
  292. package/script/parse/v3-2/_merge-all-of/check-format-conflicts.js +9 -0
  293. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.d.ts +2 -0
  294. package/script/parse/v3-2/_merge-all-of/check-number-constraints-conflicts.js +15 -0
  295. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.d.ts +2 -0
  296. package/script/parse/v3-2/_merge-all-of/check-read-only-write-only-conflicts.js +9 -0
  297. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.d.ts +2 -0
  298. package/script/parse/v3-2/_merge-all-of/check-type-conflicts.js +9 -0
  299. package/script/parse/v3-2/_merge-all-of/cross-product.d.ts +2 -0
  300. package/script/parse/v3-2/_merge-all-of/cross-product.js +7 -0
  301. package/script/parse/v3-2/_merge-all-of/decompose-intersection.d.ts +6 -0
  302. package/script/parse/v3-2/_merge-all-of/decompose-intersection.js +31 -0
  303. package/script/parse/v3-2/_merge-all-of/decompose-union.d.ts +12 -0
  304. package/script/parse/v3-2/_merge-all-of/decompose-union.js +73 -0
  305. package/script/parse/v3-2/_merge-all-of/generic-merge.d.ts +3 -0
  306. package/script/parse/v3-2/_merge-all-of/generic-merge.js +16 -0
  307. package/script/parse/v3-2/_merge-all-of/is-equal.d.ts +1 -0
  308. package/script/parse/v3-2/_merge-all-of/is-equal.js +23 -0
  309. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.d.ts +2 -0
  310. package/script/parse/v3-2/_merge-all-of/merge-array-constraints.js +80 -0
  311. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.d.ts +3 -0
  312. package/script/parse/v3-2/_merge-all-of/merge-boolean-constraints.js +43 -0
  313. package/script/parse/v3-2/_merge-all-of/merge-enum-values.d.ts +3 -0
  314. package/script/parse/v3-2/_merge-all-of/merge-enum-values.js +68 -0
  315. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.d.ts +3 -0
  316. package/script/parse/v3-2/_merge-all-of/merge-integer-constraints.js +77 -0
  317. package/script/parse/v3-2/_merge-all-of/merge-intersection.d.ts +8 -0
  318. package/script/parse/v3-2/_merge-all-of/merge-intersection.js +20 -0
  319. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.d.ts +3 -0
  320. package/script/parse/v3-2/_merge-all-of/merge-number-constraints.js +77 -0
  321. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.d.ts +5 -0
  322. package/script/parse/v3-2/_merge-all-of/merge-object-constraints.js +65 -0
  323. package/script/parse/v3-2/_merge-all-of/merge-properties.d.ts +2 -0
  324. package/script/parse/v3-2/_merge-all-of/merge-properties.js +29 -0
  325. package/script/parse/v3-2/_merge-all-of/merge-required.d.ts +3 -0
  326. package/script/parse/v3-2/_merge-all-of/merge-required.js +15 -0
  327. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.d.ts +3 -0
  328. package/script/parse/v3-2/_merge-all-of/merge-string-constraints.js +91 -0
  329. package/script/parse/v3-2/_merge-all-of/merge-union.d.ts +15 -0
  330. package/script/parse/v3-2/_merge-all-of/merge-union.js +58 -0
  331. package/script/parse/v3-2/_merge-all-of/merge.d.ts +2 -0
  332. package/script/parse/v3-2/_merge-all-of/merge.js +159 -0
  333. package/script/parse/v3-2/_merge-all-of/nullable-merge.d.ts +3 -0
  334. package/script/parse/v3-2/_merge-all-of/nullable-merge.js +17 -0
  335. package/script/parse/v3-2/_merge-all-of/types.d.ts +14 -0
  336. package/script/parse/v3-2/_merge-all-of/types.js +38 -0
  337. package/script/parse/v3-2/array/toArray.d.ts +80 -0
  338. package/script/parse/v3-2/array/toArray.js +203 -0
  339. package/script/parse/v3-2/boolean/toBoolean.d.ts +78 -0
  340. package/script/parse/v3-2/boolean/toBoolean.js +177 -0
  341. package/script/parse/v3-2/components/toComponentsV3.d.ts +14 -0
  342. package/script/parse/v3-2/components/toComponentsV3.js +47 -0
  343. package/script/parse/v3-2/contact/toContactV3.d.ts +5 -0
  344. package/script/parse/v3-2/contact/toContactV3.js +22 -0
  345. package/script/parse/v3-2/discriminator/toDiscriminatorV3.d.ts +14 -0
  346. package/script/parse/v3-2/discriminator/toDiscriminatorV3.js +25 -0
  347. package/script/parse/v3-2/document/toDocumentFieldsV3.d.ts +16 -0
  348. package/script/parse/v3-2/document/toDocumentFieldsV3.js +37 -0
  349. package/script/parse/v3-2/example/toExamplesV3.d.ts +77 -0
  350. package/script/parse/v3-2/example/toExamplesV3.js +149 -0
  351. package/script/parse/v3-2/externalDocs/toExternalDocs.d.ts +10 -0
  352. package/script/parse/v3-2/externalDocs/toExternalDocs.js +52 -0
  353. package/script/parse/v3-2/header/toHeadersV3.d.ts +18 -0
  354. package/script/parse/v3-2/header/toHeadersV3.js +51 -0
  355. package/script/parse/v3-2/info/toInfoV3.d.ts +10 -0
  356. package/script/parse/v3-2/info/toInfoV3.js +27 -0
  357. package/script/parse/v3-2/integer/toInteger.d.ts +21 -0
  358. package/script/parse/v3-2/integer/toInteger.js +153 -0
  359. package/script/parse/v3-2/license/toLicenseV3.d.ts +5 -0
  360. package/script/parse/v3-2/license/toLicenseV3.js +21 -0
  361. package/script/parse/v3-2/link/toLinksV3.d.ts +16 -0
  362. package/script/parse/v3-2/link/toLinksV3.js +44 -0
  363. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.d.ts +323 -0
  364. package/script/parse/v3-2/mediaType/toMediaTypeItemV3.js +381 -0
  365. package/script/parse/v3-2/methods.d.ts +17 -0
  366. package/script/parse/v3-2/methods.js +25 -0
  367. package/script/parse/v3-2/number/toNumber.d.ts +10 -0
  368. package/script/parse/v3-2/number/toNumber.js +152 -0
  369. package/script/parse/v3-2/object/toAdditionalPropertiesV3.d.ts +11 -0
  370. package/script/parse/v3-2/object/toAdditionalPropertiesV3.js +14 -0
  371. package/script/parse/v3-2/object/toObject.d.ts +10 -0
  372. package/script/parse/v3-2/object/toObject.js +94 -0
  373. package/script/parse/v3-2/operation/toOperationsV3.d.ts +25 -0
  374. package/script/parse/v3-2/operation/toOperationsV3.js +134 -0
  375. package/script/parse/v3-2/parameter/toParameterV3.d.ts +39 -0
  376. package/script/parse/v3-2/parameter/toParameterV3.js +191 -0
  377. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.d.ts +22 -0
  378. package/script/parse/v3-2/parameter/warnQuerystringConflictsV3.js +43 -0
  379. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.d.ts +17 -0
  380. package/script/parse/v3-2/pathItem/dropAdditionalOperationsV3.js +38 -0
  381. package/script/parse/v3-2/pathItem/toPathItemV3.d.ts +23 -0
  382. package/script/parse/v3-2/pathItem/toPathItemV3.js +50 -0
  383. package/script/parse/v3-2/ref/toRefV31.d.ts +19 -0
  384. package/script/parse/v3-2/ref/toRefV31.js +14 -0
  385. package/script/parse/v3-2/requestBody/toRequestBodiesV3.d.ts +18 -0
  386. package/script/parse/v3-2/requestBody/toRequestBodiesV3.js +49 -0
  387. package/script/parse/v3-2/response/toResponseV3.d.ts +29 -0
  388. package/script/parse/v3-2/response/toResponseV3.js +62 -0
  389. package/script/parse/v3-2/schema/toSchemasV3.d.ts +29 -0
  390. package/script/parse/v3-2/schema/toSchemasV3.js +518 -0
  391. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.d.ts +9 -0
  392. package/script/parse/v3-2/securityRequirement/toSecurityRequirement.js +13 -0
  393. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.d.ts +17 -0
  394. package/script/parse/v3-2/securitySchemes/toSecuritySchemes.js +189 -0
  395. package/script/parse/v3-2/server/toServerV3.d.ts +26 -0
  396. package/script/parse/v3-2/server/toServerV3.js +37 -0
  397. package/script/parse/v3-2/serverVariable/toServerVariableV3.d.ts +22 -0
  398. package/script/parse/v3-2/serverVariable/toServerVariableV3.js +36 -0
  399. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.d.ts +14 -0
  400. package/script/parse/v3-2/specificationExtensions/toSpecificationExtensionsV3.js +30 -0
  401. package/script/parse/v3-2/string/toString.d.ts +146 -0
  402. package/script/parse/v3-2/string/toString.js +249 -0
  403. package/script/parse/v3-2/tag/toTagsV3.d.ts +22 -0
  404. package/script/parse/v3-2/tag/toTagsV3.js +83 -0
  405. package/script/parse/v3-2/union/toUnion.d.ts +12 -0
  406. package/script/parse/v3-2/union/toUnion.js +72 -0
  407. package/script/parse/v3-2/unknown/toUnknown.d.ts +10 -0
  408. package/script/parse/v3-2/unknown/toUnknown.js +23 -0
  409. package/script/parse/v3-2/webhook/toWebhooksV3.d.ts +48 -0
  410. package/script/parse/v3-2/webhook/toWebhooksV3.js +144 -0
  411. package/script/types/Method.d.ts +7 -4
  412. package/script/types/Method.js +17 -4
  413. package/script/types/Preview.d.ts +2 -1
  414. package/script/types/Settings.js +7 -9
  415. package/script/types/SkmtcDocument.d.ts +6 -6
  416. package/esm/deps/jsr.io/@std/path/1.1.6/extname.d.ts +0 -24
  417. package/esm/deps/jsr.io/@std/path/1.1.6/extname.js +0 -31
  418. package/esm/deps/jsr.io/@std/path/1.1.6/normalize.d.ts +0 -25
  419. package/esm/deps/jsr.io/@std/path/1.1.6/normalize.js +0 -32
  420. package/esm/deps/jsr.io/@std/path/1.1.6/windows/extname.d.ts +0 -17
  421. package/esm/deps/jsr.io/@std/path/1.1.6/windows/extname.js +0 -83
  422. package/script/deps/jsr.io/@std/path/1.1.6/extname.d.ts +0 -24
  423. package/script/deps/jsr.io/@std/path/1.1.6/extname.js +0 -34
  424. package/script/deps/jsr.io/@std/path/1.1.6/normalize.d.ts +0 -25
  425. package/script/deps/jsr.io/@std/path/1.1.6/normalize.js +0 -35
  426. package/script/deps/jsr.io/@std/path/1.1.6/windows/extname.d.ts +0 -17
  427. package/script/deps/jsr.io/@std/path/1.1.6/windows/extname.js +0 -86
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.toParsedArray = exports.toArray = void 0;
37
+ const Array_js_1 = require("../../../oas/array/Array.js");
38
+ const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
39
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
40
+ const parseNullable_js_1 = require("../_helpers/parseNullable.js");
41
+ const parseEnum_js_1 = require("../_helpers/parseEnum.js");
42
+ const parseExample_js_1 = require("../_helpers/parseExample.js");
43
+ const parseDefault_js_1 = require("../_helpers/parseDefault.js");
44
+ const v = __importStar(require("valibot"));
45
+ const array_types_js_1 = require("../../../oas/array/array-types.js");
46
+ /**
47
+ * Transforms an OpenAPI v3 array schema object into an internal OAS array representation.
48
+ *
49
+ * This function processes OpenAPI array schemas by extracting and parsing nullable values,
50
+ * examples, enumerations, and default values. It handles the complete transformation from
51
+ * raw OpenAPI JSON to the SKMTC internal array representation with proper type safety.
52
+ *
53
+ * The transformation follows a pipeline approach:
54
+ * 1. Parse nullable flag and extract base value
55
+ * 2. Parse example values with nullable support
56
+ * 3. Parse enumeration constraints
57
+ * 4. Parse default values
58
+ * 5. Create final OasArray instance
59
+ *
60
+ * @param args - Transformation arguments
61
+ * @param args.value - The OpenAPI v3 array schema object to transform
62
+ * @param args.context - Parse context providing utilities and tracing
63
+ * @returns Transformed OAS array object with parsed properties
64
+ *
65
+ * @example Basic array transformation
66
+ * ```typescript
67
+ * import { toArray } from '@skmtc/core';
68
+ *
69
+ * const openApiArray = {
70
+ * type: 'array',
71
+ * items: { type: 'string' },
72
+ * maxItems: 10,
73
+ * uniqueItems: true
74
+ * };
75
+ *
76
+ * const oasArray = toArray({
77
+ * value: openApiArray,
78
+ * context: parseContext
79
+ * });
80
+ *
81
+ * console.log(oasArray.maxItems); // 10
82
+ * console.log(oasArray.uniqueItems); // true
83
+ * ```
84
+ *
85
+ * @example Array with nullable and examples
86
+ * ```typescript
87
+ * const complexArray = {
88
+ * type: 'array',
89
+ * items: { type: 'number' },
90
+ * nullable: true,
91
+ * example: [1, 2, 3],
92
+ * default: [],
93
+ * enum: [[1, 2], [3, 4], null]
94
+ * };
95
+ *
96
+ * const oasArray = toArray({
97
+ * value: complexArray,
98
+ * context: parseContext
99
+ * });
100
+ *
101
+ * console.log(oasArray.nullable); // true
102
+ * console.log(oasArray.example); // [1, 2, 3]
103
+ * ```
104
+ */
105
+ const toArray = ({ value, context, stackTrail }) => {
106
+ const { nullable, value: valueWithoutNullable } = (0, parseNullable_js_1.parseNullable)({
107
+ value,
108
+ context,
109
+ stackTrail
110
+ });
111
+ const { example: unparsedExample, ...valueWithoutExample } = valueWithoutNullable;
112
+ const example = (0, parseExample_js_1.parseExample)({
113
+ value: unparsedExample,
114
+ context,
115
+ parent: valueWithoutNullable,
116
+ nullable,
117
+ check: isArray,
118
+ toMessage: item => `Removed invalid example. Expected "array", got: ${item}`,
119
+ stackTrail
120
+ });
121
+ const { enum: unparsedEnums, ...valueWithoutEnums } = valueWithoutExample;
122
+ const enums = (0, parseEnum_js_1.parseEnum)({
123
+ value: unparsedEnums,
124
+ nullable,
125
+ stackTrail,
126
+ parent: valueWithoutExample,
127
+ context,
128
+ check: Array.isArray,
129
+ toMessage: item => `Removed invalid enum. Expected "array", got: ${item}`
130
+ });
131
+ const { default: unparsedDefaultValue, ...valueWithoutDefault } = valueWithoutEnums;
132
+ const defaultValue = (0, parseDefault_js_1.parseDefault)({
133
+ value: unparsedDefaultValue,
134
+ context,
135
+ parent: valueWithoutEnums,
136
+ nullable,
137
+ check: isArray,
138
+ toMessage: item => `Removed invalid default. Expected "array", got: ${item}`,
139
+ stackTrail
140
+ });
141
+ return (0, exports.toParsedArray)({
142
+ context,
143
+ nullable,
144
+ example,
145
+ enums,
146
+ defaultValue,
147
+ stackTrail,
148
+ value: valueWithoutDefault
149
+ });
150
+ };
151
+ exports.toArray = toArray;
152
+ const toParsedArray = ({ context, stackTrail, nullable, example, enums, defaultValue, value }) => {
153
+ // We only want parse non-items fields here since items is handled below
154
+ const { items, ...rest } = value;
155
+ // Parse the object without items field
156
+ if (!v.is(array_types_js_1.oasArrayDataWithoutItems, rest)) {
157
+ v.parse(array_types_js_1.oasArrayDataWithoutItems, rest);
158
+ }
159
+ const { type: _type, title, description, uniqueItems, maxItems, minItems, readOnly, writeOnly, deprecated, ...skipped } = rest;
160
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
161
+ skipped,
162
+ parent: value,
163
+ context,
164
+ stackTrail,
165
+ parentType: 'schema:array'
166
+ });
167
+ return context.withStackTrail(stackTrail, () => new Array_js_1.OasArray({
168
+ title,
169
+ description,
170
+ nullable,
171
+ defaultValue,
172
+ items: stackTrail.trace('items', st => {
173
+ // An array schema with no `items` is invalid OAS but must not
174
+ // kill the run (fail open): log the issue and treat the items
175
+ // as unknown — `{}` falls through toSchemaV3 to OasUnknown.
176
+ if (items === undefined) {
177
+ context.logIssue({
178
+ key: 'items',
179
+ level: 'warning',
180
+ message: 'Array schema has no "items" — treating as an array of unknown values',
181
+ parent: value,
182
+ stackTrail: st,
183
+ type: 'INVALID_SCHEMA'
184
+ });
185
+ return (0, toSchemasV3_js_1.toSchemaV3)({ schema: {}, stackTrail: st, context });
186
+ }
187
+ return (0, toSchemasV3_js_1.toSchemaV3)({ schema: items, stackTrail: st, context });
188
+ }),
189
+ extensionFields,
190
+ example,
191
+ uniqueItems,
192
+ maxItems,
193
+ minItems,
194
+ enums,
195
+ readOnly,
196
+ writeOnly,
197
+ deprecated
198
+ }, context));
199
+ };
200
+ exports.toParsedArray = toParsedArray;
201
+ const isArray = (value) => {
202
+ return Array.isArray(value);
203
+ };
@@ -0,0 +1,78 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { OasBoolean } from '../../../oas/boolean/Boolean.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ export type ToBooleanArgs = {
6
+ value: OpenAPIV3.SchemaObject;
7
+ stackTrail: StackTrail;
8
+ context: ParseContextType;
9
+ };
10
+ /**
11
+ * Transforms an OpenAPI v3 boolean schema object into an internal OAS boolean representation.
12
+ *
13
+ * This function processes OpenAPI boolean schemas by extracting and parsing nullable values,
14
+ * examples, enumerations, and default values. It handles the complete transformation from
15
+ * raw OpenAPI JSON to the SKMTC internal boolean representation with proper validation.
16
+ *
17
+ * The transformation follows a pipeline approach:
18
+ * 1. Parse nullable flag and extract base value
19
+ * 2. Parse example values with nullable support
20
+ * 3. Parse enumeration constraints (typically [true], [false], or [true, false])
21
+ * 4. Parse default values
22
+ * 5. Create final OasBoolean instance
23
+ *
24
+ * @param args - Transformation arguments
25
+ * @param args.value - The OpenAPI v3 boolean schema object to transform
26
+ * @param args.context - Parse context providing utilities and tracing
27
+ * @returns Transformed OAS boolean object with parsed properties
28
+ *
29
+ * @example Basic boolean transformation
30
+ * ```typescript
31
+ * import { toBoolean } from '@skmtc/core';
32
+ *
33
+ * const openApiBoolean = {
34
+ * type: 'boolean',
35
+ * default: false
36
+ * };
37
+ *
38
+ * const oasBoolean = toBoolean({
39
+ * value: openApiBoolean,
40
+ * context: parseContext
41
+ * });
42
+ *
43
+ * console.log(oasBoolean.default); // false
44
+ * ```
45
+ *
46
+ * @example Boolean with nullable and enum
47
+ * ```typescript
48
+ * const flagBoolean = {
49
+ * type: 'boolean',
50
+ * nullable: true,
51
+ * enum: [true, null],
52
+ * default: null,
53
+ * example: true,
54
+ * title: 'Feature Flag',
55
+ * description: 'Whether the feature is enabled'
56
+ * };
57
+ *
58
+ * const oasBoolean = toBoolean({
59
+ * value: flagBoolean,
60
+ * context: parseContext
61
+ * });
62
+ *
63
+ * console.log(oasBoolean.nullable); // true
64
+ * console.log(oasBoolean.enums); // [true, null]
65
+ * ```
66
+ */
67
+ export declare const toBoolean: ({ value, stackTrail, context }: ToBooleanArgs) => OasBoolean;
68
+ type ToParsedBooleanArgs<Nullable extends boolean | undefined> = {
69
+ value: Omit<OpenAPIV3.SchemaObject, 'nullable' | 'example' | 'enums'>;
70
+ context: ParseContextType;
71
+ nullable: Nullable;
72
+ example: Nullable extends true ? boolean | null | undefined : boolean | undefined;
73
+ enums: Nullable extends true ? (boolean | null)[] | undefined : boolean[] | undefined;
74
+ defaultValue: Nullable extends true ? boolean | null | undefined : boolean | undefined;
75
+ stackTrail: StackTrail;
76
+ };
77
+ export declare const toParsedBoolean: <Nullable extends boolean | undefined>({ context, nullable, example, enums, defaultValue, value, stackTrail }: ToParsedBooleanArgs<Nullable>) => OasBoolean<Nullable>;
78
+ export {};
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.toParsedBoolean = exports.toBoolean = void 0;
37
+ const Boolean_js_1 = require("../../../oas/boolean/Boolean.js");
38
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
39
+ const boolean_types_js_1 = require("../../../oas/boolean/boolean-types.js");
40
+ const parseNullable_js_1 = require("../_helpers/parseNullable.js");
41
+ const parseEnum_js_1 = require("../_helpers/parseEnum.js");
42
+ const parseExample_js_1 = require("../_helpers/parseExample.js");
43
+ const parseDefault_js_1 = require("../_helpers/parseDefault.js");
44
+ const v = __importStar(require("valibot"));
45
+ /**
46
+ * Transforms an OpenAPI v3 boolean schema object into an internal OAS boolean representation.
47
+ *
48
+ * This function processes OpenAPI boolean schemas by extracting and parsing nullable values,
49
+ * examples, enumerations, and default values. It handles the complete transformation from
50
+ * raw OpenAPI JSON to the SKMTC internal boolean representation with proper validation.
51
+ *
52
+ * The transformation follows a pipeline approach:
53
+ * 1. Parse nullable flag and extract base value
54
+ * 2. Parse example values with nullable support
55
+ * 3. Parse enumeration constraints (typically [true], [false], or [true, false])
56
+ * 4. Parse default values
57
+ * 5. Create final OasBoolean instance
58
+ *
59
+ * @param args - Transformation arguments
60
+ * @param args.value - The OpenAPI v3 boolean schema object to transform
61
+ * @param args.context - Parse context providing utilities and tracing
62
+ * @returns Transformed OAS boolean object with parsed properties
63
+ *
64
+ * @example Basic boolean transformation
65
+ * ```typescript
66
+ * import { toBoolean } from '@skmtc/core';
67
+ *
68
+ * const openApiBoolean = {
69
+ * type: 'boolean',
70
+ * default: false
71
+ * };
72
+ *
73
+ * const oasBoolean = toBoolean({
74
+ * value: openApiBoolean,
75
+ * context: parseContext
76
+ * });
77
+ *
78
+ * console.log(oasBoolean.default); // false
79
+ * ```
80
+ *
81
+ * @example Boolean with nullable and enum
82
+ * ```typescript
83
+ * const flagBoolean = {
84
+ * type: 'boolean',
85
+ * nullable: true,
86
+ * enum: [true, null],
87
+ * default: null,
88
+ * example: true,
89
+ * title: 'Feature Flag',
90
+ * description: 'Whether the feature is enabled'
91
+ * };
92
+ *
93
+ * const oasBoolean = toBoolean({
94
+ * value: flagBoolean,
95
+ * context: parseContext
96
+ * });
97
+ *
98
+ * console.log(oasBoolean.nullable); // true
99
+ * console.log(oasBoolean.enums); // [true, null]
100
+ * ```
101
+ */
102
+ const toBoolean = ({ value, stackTrail, context }) => {
103
+ const { nullable, value: valueWithoutNullable } = (0, parseNullable_js_1.parseNullable)({
104
+ value,
105
+ context,
106
+ stackTrail
107
+ });
108
+ const { example: unparsedExample, ...valueWithoutExample } = valueWithoutNullable;
109
+ const example = (0, parseExample_js_1.parseExample)({
110
+ value: unparsedExample,
111
+ context,
112
+ parent: valueWithoutNullable,
113
+ nullable,
114
+ check: isBoolean,
115
+ toMessage: item => `Removed invalid example. Expected "boolean", got: ${item}`,
116
+ stackTrail
117
+ });
118
+ const { enum: unparsedEnums, ...valueWithoutEnums } = valueWithoutExample;
119
+ const enums = (0, parseEnum_js_1.parseEnum)({
120
+ value: unparsedEnums,
121
+ nullable,
122
+ parent: valueWithoutExample,
123
+ stackTrail,
124
+ context,
125
+ check: isBoolean,
126
+ toMessage: item => `Removed invalid enum. Expected "boolean", got: ${item}`
127
+ });
128
+ const { default: unparsedDefaultValue, ...valueWithoutDefault } = valueWithoutEnums;
129
+ const defaultValue = (0, parseDefault_js_1.parseDefault)({
130
+ value: unparsedDefaultValue,
131
+ context,
132
+ parent: valueWithoutEnums,
133
+ nullable,
134
+ check: isBoolean,
135
+ toMessage: item => `Removed invalid default. Expected "boolean", got: ${item}`,
136
+ stackTrail
137
+ });
138
+ return (0, exports.toParsedBoolean)({
139
+ context,
140
+ nullable,
141
+ example,
142
+ enums,
143
+ defaultValue,
144
+ value: valueWithoutDefault,
145
+ stackTrail
146
+ });
147
+ };
148
+ exports.toBoolean = toBoolean;
149
+ const toParsedBoolean = ({ context, nullable, example, enums, defaultValue, value, stackTrail }) => {
150
+ if (!v.is(boolean_types_js_1.oasBooleanData, value)) {
151
+ v.parse(boolean_types_js_1.oasBooleanData, value);
152
+ }
153
+ const { type: _type, title, description, readOnly, writeOnly, deprecated, ...skipped } = value;
154
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
155
+ skipped,
156
+ parent: value,
157
+ context,
158
+ stackTrail,
159
+ parentType: 'schema:boolean'
160
+ });
161
+ return context.withStackTrail(stackTrail, () => new Boolean_js_1.OasBoolean({
162
+ nullable,
163
+ title,
164
+ description,
165
+ example,
166
+ enums: enums,
167
+ default: defaultValue,
168
+ extensionFields,
169
+ readOnly,
170
+ writeOnly,
171
+ deprecated
172
+ }, context));
173
+ };
174
+ exports.toParsedBoolean = toParsedBoolean;
175
+ const isBoolean = (value) => {
176
+ return typeof value === 'boolean';
177
+ };
@@ -0,0 +1,14 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { OasComponents } from '../../../oas/components/Components.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ /** An OpenAPI 3.2 Components Object: the 3.0/3.1 maps plus `mediaTypes`. */
6
+ export type ComponentsObjectV32 = OpenAPIV3.ComponentsObject & {
7
+ mediaTypes?: Record<string, unknown>;
8
+ };
9
+ export type ToComponentsV3Args = {
10
+ components: ComponentsObjectV32 | undefined;
11
+ stackTrail: StackTrail;
12
+ context: ParseContextType;
13
+ };
14
+ export declare const toComponentsV3: ({ components, stackTrail, context }: ToComponentsV3Args) => OasComponents | undefined;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toComponentsV3 = void 0;
4
+ const toResponseV3_js_1 = require("../response/toResponseV3.js");
5
+ const toHeadersV3_js_1 = require("../header/toHeadersV3.js");
6
+ const toLinksV3_js_1 = require("../link/toLinksV3.js");
7
+ const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
8
+ const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
9
+ const toExamplesV3_js_1 = require("../example/toExamplesV3.js");
10
+ const toRequestBodiesV3_js_1 = require("../requestBody/toRequestBodiesV3.js");
11
+ const Components_js_1 = require("../../../oas/components/Components.js");
12
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
13
+ const toSecuritySchemes_js_1 = require("../securitySchemes/toSecuritySchemes.js");
14
+ const toComponentsV3 = ({ components, stackTrail, context }) => {
15
+ if (!components) {
16
+ return undefined;
17
+ }
18
+ // `mediaTypes` is resolved where it is referenced, inside
19
+ // `toMediaTypeItemsV3`, so it is read here only to keep it off `skipped`.
20
+ const { schemas, responses, parameters, examples, requestBodies, headers, securitySchemes, links, mediaTypes: _mediaTypes, ...skipped } = components;
21
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
22
+ skipped,
23
+ parent: components,
24
+ context,
25
+ stackTrail,
26
+ parentType: 'components'
27
+ });
28
+ const fields = {
29
+ schemas: stackTrail.trace('schemas', st => (0, toSchemasV3_js_1.toOptionalSchemasV3)({ schemas, stackTrail: st, context })),
30
+ responses: stackTrail.trace('responses', st => (0, toResponseV3_js_1.toOptionalResponsesV3)({ responses, stackTrail: st, context })),
31
+ parameters: stackTrail.trace('parameters', st => (0, toParameterV3_js_1.toOptionalParametersV3)({ parameters, stackTrail: st, context })),
32
+ examples: (0, toExamplesV3_js_1.toExamplesV3)({
33
+ examples,
34
+ example: undefined,
35
+ exampleKey: 'TEMP',
36
+ stackTrail,
37
+ context
38
+ }),
39
+ requestBodies: stackTrail.trace('requestBodies', st => (0, toRequestBodiesV3_js_1.toRequestBodiesV3)({ requestBodies, stackTrail: st, context })),
40
+ headers: stackTrail.trace('headers', st => (0, toHeadersV3_js_1.toHeadersV3)({ headers, stackTrail: st, context })),
41
+ securitySchemes: stackTrail.trace('securitySchemes', st => (0, toSecuritySchemes_js_1.toSecuritySchemesV3)({ securitySchemes, stackTrail: st, context })),
42
+ links: stackTrail.trace('links', st => (0, toLinksV3_js_1.toLinksV3)({ links, stackTrail: st, context })),
43
+ extensionFields
44
+ };
45
+ return new Components_js_1.OasComponents(fields);
46
+ };
47
+ exports.toComponentsV3 = toComponentsV3;
@@ -0,0 +1,5 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { OasContact } from '../../../oas/contact/Contact.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ export declare const toContactV3: (contact: OpenAPIV3.ContactObject, stackTrail: StackTrail, context: ParseContextType) => OasContact;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toContactV3 = void 0;
4
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
5
+ const Contact_js_1 = require("../../../oas/contact/Contact.js");
6
+ const toContactV3 = (contact, stackTrail, context) => {
7
+ const { name, url, email, ...skipped } = contact;
8
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
9
+ skipped,
10
+ parent: contact,
11
+ context,
12
+ stackTrail,
13
+ parentType: 'contact'
14
+ });
15
+ return new Contact_js_1.OasContact({
16
+ name,
17
+ url,
18
+ email,
19
+ extensionFields
20
+ });
21
+ };
22
+ exports.toContactV3 = toContactV3;
@@ -0,0 +1,14 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { OasDiscriminator } from '../../../oas/discriminator/Discriminator.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ /** A 3.2 Discriminator Object: the 3.0 shape plus `defaultMapping`. */
6
+ export type DiscriminatorObjectV32 = OpenAPIV3.DiscriminatorObject & {
7
+ defaultMapping?: string;
8
+ };
9
+ export type ToDiscriminatorV3Args = {
10
+ discriminator: DiscriminatorObjectV32 | undefined;
11
+ stackTrail: StackTrail;
12
+ context: ParseContextType;
13
+ };
14
+ export declare const toDiscriminatorV3: ({ discriminator, stackTrail, context }: ToDiscriminatorV3Args) => OasDiscriminator | undefined;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toDiscriminatorV3 = void 0;
4
+ const Discriminator_js_1 = require("../../../oas/discriminator/Discriminator.js");
5
+ const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
6
+ const toDiscriminatorV3 = ({ discriminator, stackTrail, context }) => {
7
+ if (!discriminator) {
8
+ return undefined;
9
+ }
10
+ const { propertyName, mapping, defaultMapping, ...skipped } = discriminator;
11
+ if (!(0, isEmpty_js_1.isEmpty)(skipped)) {
12
+ context.logSkippedFields({
13
+ skipped,
14
+ parent: discriminator,
15
+ parentType: 'discriminator',
16
+ stackTrail
17
+ });
18
+ }
19
+ return new Discriminator_js_1.OasDiscriminator({
20
+ propertyName,
21
+ mapping,
22
+ defaultMapping
23
+ });
24
+ };
25
+ exports.toDiscriminatorV3 = toDiscriminatorV3;
@@ -0,0 +1,16 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { type WebhooksObject } from '../webhook/toWebhooksV3.js';
4
+ import type { DocumentFields } from '../../../oas/document/Document.js';
5
+ import type { StackTrail } from '../../../context/StackTrail.js';
6
+ export type ToDocumentV3Args = {
7
+ documentObject: Omit<OpenAPIV3.Document, 'paths'> & {
8
+ paths?: OpenAPIV3.PathsObject;
9
+ webhooks?: WebhooksObject;
10
+ /** The document's own URI (3.2) */
11
+ $self?: string;
12
+ };
13
+ stackTrail: StackTrail;
14
+ context: ParseContextType;
15
+ };
16
+ export declare const toDocumentFieldsV3: ({ documentObject, stackTrail, context }: ToDocumentV3Args) => DocumentFields;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toDocumentFieldsV3 = void 0;
4
+ const toTagsV3_js_1 = require("../tag/toTagsV3.js");
5
+ const toOperationsV3_js_1 = require("../operation/toOperationsV3.js");
6
+ const toWebhooksV3_js_1 = require("../webhook/toWebhooksV3.js");
7
+ const toComponentsV3_js_1 = require("../components/toComponentsV3.js");
8
+ const toInfoV3_js_1 = require("../info/toInfoV3.js");
9
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
10
+ const toServerV3_js_1 = require("../server/toServerV3.js");
11
+ const toSecurityRequirement_js_1 = require("../securityRequirement/toSecurityRequirement.js");
12
+ const toExternalDocs_js_1 = require("../externalDocs/toExternalDocs.js");
13
+ const toDocumentFieldsV3 = ({ documentObject, stackTrail, context }) => {
14
+ const { openapi, $self, info, paths, components, tags, servers, security, externalDocs, webhooks, ...skipped } = documentObject;
15
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
16
+ skipped,
17
+ parent: documentObject,
18
+ context,
19
+ stackTrail,
20
+ parentType: 'document'
21
+ });
22
+ return {
23
+ openapi,
24
+ $self,
25
+ info: stackTrail.trace('info', st => (0, toInfoV3_js_1.toInfoV3)({ info, stackTrail: st, context })),
26
+ servers: stackTrail.trace('servers', st => (0, toServerV3_js_1.toOptionalServersV3)({ servers, stackTrail: st, context })),
27
+ operations: stackTrail.trace('paths', st => (0, toOperationsV3_js_1.toOperationsV3)({ paths, stackTrail: st, context })),
28
+ webhooks: stackTrail.trace('webhooks', st => (0, toWebhooksV3_js_1.toWebhooksV3)({ webhooks, stackTrail: st, context })),
29
+ components: stackTrail.trace('components', st => (0, toComponentsV3_js_1.toComponentsV3)({ components, stackTrail: st, context })),
30
+ tags: stackTrail.trace('tags', st => (0, toTagsV3_js_1.toTagsV3)({ tags, stackTrail: st, context })),
31
+ security: stackTrail.trace('security', st => (0, toSecurityRequirement_js_1.toSecurityRequirementsV3)({ security, stackTrail: st, context })),
32
+ extensionFields,
33
+ externalDocs: stackTrail.trace('externalDocs', st => (0, toExternalDocs_js_1.toExternalDocs)({ externalDocs, stackTrail: st, context }))
34
+ };
35
+ };
36
+ exports.toDocumentFieldsV3 = toDocumentFieldsV3;
37
+ // stackTrail.trace('info', (x) => formatNumber(x))