@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,189 @@
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.toSecuritySchemesV3 = void 0;
37
+ const SecurityScheme_js_1 = require("../../../oas/securitySchemes/SecurityScheme.js");
38
+ const v = __importStar(require("valibot"));
39
+ const security_scheme_types_js_1 = require("../../../oas/securitySchemes/security-scheme-types.js");
40
+ const toRefV31_js_1 = require("../ref/toRefV31.js");
41
+ const refFns_js_1 = require("../../../helpers/refFns.js");
42
+ const tryParseAt_js_1 = require("../../../context/tryParseAt.js");
43
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
44
+ // The shared schemas are the 3.0/3.1 shape; these add the 3.2 fields.
45
+ const deprecatedField = v.optional(v.boolean());
46
+ const httpSecuritySchemeData = v.object({
47
+ ...security_scheme_types_js_1.oasHttpSecuritySchemeData.entries,
48
+ deprecated: deprecatedField
49
+ });
50
+ const apiKeySecuritySchemeData = v.object({
51
+ ...security_scheme_types_js_1.oasApiKeySecuritySchemeData.entries,
52
+ deprecated: deprecatedField
53
+ });
54
+ const deviceAuthorizationOAuth2FlowData = v.object({
55
+ deviceAuthorizationUrl: v.string(),
56
+ tokenUrl: v.string(),
57
+ refreshUrl: v.optional(v.string()),
58
+ scopes: v.optional(v.record(v.string(), v.string()))
59
+ });
60
+ const oAuth2FlowsData = v.object({
61
+ ...security_scheme_types_js_1.oasOAuth2FlowsData.entries,
62
+ deviceAuthorization: v.optional(deviceAuthorizationOAuth2FlowData)
63
+ });
64
+ const oAuth2SecuritySchemeData = v.object({
65
+ ...security_scheme_types_js_1.oasOAuth2SecuritySchemeData.entries,
66
+ deprecated: deprecatedField,
67
+ oauth2MetadataUrl: v.optional(v.string()),
68
+ flows: oAuth2FlowsData
69
+ });
70
+ const openIdSecuritySchemeData = v.object({
71
+ ...security_scheme_types_js_1.oasOpenIdSecuritySchemeData.entries,
72
+ deprecated: deprecatedField
73
+ });
74
+ const toSecuritySchemesV3 = ({ securitySchemes, stackTrail, context }) => {
75
+ if (!securitySchemes) {
76
+ return undefined;
77
+ }
78
+ const output = {};
79
+ for (const [key, value] of Object.entries(securitySchemes)) {
80
+ // Isolate per scheme: a single malformed security scheme is logged and
81
+ // skipped, the rest of the record continues (parity with toSchemasV3).
82
+ const parsed = (0, tryParseAt_js_1.tryParseAt)({
83
+ stackTrail,
84
+ key,
85
+ context,
86
+ type: 'INVALID_SECURITY_SCHEME',
87
+ parent: value,
88
+ fn: st => toSecuritySchemeV3({ securityScheme: value, stackTrail: st, context })
89
+ });
90
+ if (parsed !== undefined) {
91
+ output[key] = parsed;
92
+ }
93
+ }
94
+ return output;
95
+ };
96
+ exports.toSecuritySchemesV3 = toSecuritySchemesV3;
97
+ /**
98
+ * Log the keys of `value` that `known` does not name as skipped fields.
99
+ * `v.parse` on a `v.object` schema strips unknown keys, so they are read
100
+ * off the raw object. `x-` extensions are not logged.
101
+ */
102
+ const logSkippedKeys = ({ value, known, parentType, stackTrail, context }) => {
103
+ const skipped = Object.fromEntries(Object.entries(value).filter(([key]) => !Object.hasOwn(known, key)));
104
+ (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({ skipped, parent: value, parentType, stackTrail, context });
105
+ };
106
+ const toSecuritySchemeV3 = ({ securityScheme, stackTrail, context }) => {
107
+ if ((0, refFns_js_1.isRef)(securityScheme)) {
108
+ return (0, toRefV31_js_1.toRefV31)({ ref: securityScheme, refType: 'securityScheme', stackTrail, context });
109
+ }
110
+ switch (securityScheme.type) {
111
+ case 'http': {
112
+ const { description, deprecated, scheme, bearerFormat } = v.parse(httpSecuritySchemeData, securityScheme);
113
+ logSkippedKeys({
114
+ value: securityScheme,
115
+ known: httpSecuritySchemeData.entries,
116
+ parentType: 'securityScheme:http',
117
+ stackTrail,
118
+ context
119
+ });
120
+ return new SecurityScheme_js_1.OasHttpSecurityScheme({
121
+ description,
122
+ deprecated,
123
+ scheme,
124
+ bearerFormat
125
+ });
126
+ }
127
+ case 'apiKey': {
128
+ const { in: location, description, deprecated, name } = v.parse(apiKeySecuritySchemeData, securityScheme);
129
+ logSkippedKeys({
130
+ value: securityScheme,
131
+ known: apiKeySecuritySchemeData.entries,
132
+ parentType: 'securityScheme:apiKey',
133
+ stackTrail,
134
+ context
135
+ });
136
+ return new SecurityScheme_js_1.OasApiKeySecurityScheme({
137
+ description,
138
+ deprecated,
139
+ name,
140
+ in: location
141
+ });
142
+ }
143
+ case 'oauth2': {
144
+ const { flows, description, deprecated, oauth2MetadataUrl } = v.parse(oAuth2SecuritySchemeData, securityScheme);
145
+ logSkippedKeys({
146
+ value: securityScheme,
147
+ known: oAuth2SecuritySchemeData.entries,
148
+ parentType: 'securityScheme:oauth2',
149
+ stackTrail,
150
+ context
151
+ });
152
+ stackTrail.trace('flows', st => logSkippedKeys({
153
+ value: securityScheme.flows,
154
+ known: oAuth2FlowsData.entries,
155
+ parentType: 'oauthFlows',
156
+ stackTrail: st,
157
+ context
158
+ }));
159
+ return new SecurityScheme_js_1.OasOAuth2SecurityScheme({
160
+ description,
161
+ deprecated,
162
+ oauth2MetadataUrl,
163
+ flows
164
+ });
165
+ }
166
+ case 'openIdConnect': {
167
+ const { description, deprecated, openIdConnectUrl } = v.parse(openIdSecuritySchemeData, securityScheme);
168
+ logSkippedKeys({
169
+ value: securityScheme,
170
+ known: openIdSecuritySchemeData.entries,
171
+ parentType: 'securityScheme:openIdConnect',
172
+ stackTrail,
173
+ context
174
+ });
175
+ return new SecurityScheme_js_1.OasOpenIdSecurityScheme({
176
+ description,
177
+ deprecated,
178
+ openIdConnectUrl
179
+ });
180
+ }
181
+ default: {
182
+ // Exhaustive over the discriminated union: a value reaching here has a
183
+ // `type` outside the OpenAPI set. `tryParseAt` isolates the throw to
184
+ // this one scheme.
185
+ const _exhaustiveCheck = securityScheme;
186
+ throw new Error(`Unknown security scheme type: ${JSON.stringify(_exhaustiveCheck)}`);
187
+ }
188
+ }
189
+ };
@@ -0,0 +1,26 @@
1
+ import type { ParseContextType } from '../../../context/parseTypes.js';
2
+ import type { OpenAPIV3 } from 'openapi-types';
3
+ import { OasServer } from '../../../oas/server/Server.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ /** A 3.2 Server Object: the 3.0 shape plus `name`. */
6
+ export type ServerObjectV32 = OpenAPIV3.ServerObject & {
7
+ name?: string;
8
+ };
9
+ export type ToServersV3Args = {
10
+ servers: ServerObjectV32[];
11
+ stackTrail: StackTrail;
12
+ context: ParseContextType;
13
+ };
14
+ export declare const toServersV3: ({ servers, stackTrail, context }: ToServersV3Args) => OasServer[];
15
+ export type ToOptionalServersV3Args = {
16
+ servers: ServerObjectV32[] | undefined;
17
+ stackTrail: StackTrail;
18
+ context: ParseContextType;
19
+ };
20
+ export declare const toOptionalServersV3: ({ servers, stackTrail, context }: ToOptionalServersV3Args) => OasServer[] | undefined;
21
+ export type ToServerV3Args = {
22
+ server: ServerObjectV32;
23
+ stackTrail: StackTrail;
24
+ context: ParseContextType;
25
+ };
26
+ export declare const toServerV3: ({ server, stackTrail, context }: ToServerV3Args) => OasServer;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toServerV3 = exports.toOptionalServersV3 = exports.toServersV3 = void 0;
4
+ const Server_js_1 = require("../../../oas/server/Server.js");
5
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
6
+ const toServerVariableV3_js_1 = require("../serverVariable/toServerVariableV3.js");
7
+ const toServersV3 = ({ servers, stackTrail, context }) => {
8
+ return servers.map((server, index) => {
9
+ return stackTrail.trace(server.url ?? index, st => (0, exports.toServerV3)({ server, stackTrail: st, context }));
10
+ });
11
+ };
12
+ exports.toServersV3 = toServersV3;
13
+ const toOptionalServersV3 = ({ servers, stackTrail, context }) => {
14
+ if (!servers) {
15
+ return undefined;
16
+ }
17
+ return (0, exports.toServersV3)({ servers, stackTrail, context });
18
+ };
19
+ exports.toOptionalServersV3 = toOptionalServersV3;
20
+ const toServerV3 = ({ server, stackTrail, context }) => {
21
+ const { description, name, url, variables, ...skipped } = server;
22
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
23
+ skipped,
24
+ parent: server,
25
+ context,
26
+ stackTrail,
27
+ parentType: 'server'
28
+ });
29
+ return new Server_js_1.OasServer({
30
+ description,
31
+ name,
32
+ url,
33
+ variables: (0, toServerVariableV3_js_1.toOptionalServerVariablesV3)({ serverVariables: variables, stackTrail, context }),
34
+ extensionFields
35
+ });
36
+ };
37
+ exports.toServerV3 = toServerV3;
@@ -0,0 +1,22 @@
1
+ import type { ParseContextType } from '../../../context/parseTypes.js';
2
+ import type { OpenAPIV3 } from 'openapi-types';
3
+ import { OasServerVariable } from '../../../oas/serverVariable/ServerVariable.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ export type ToServerVariablesV3Args = {
6
+ serverVariables: Record<string, OpenAPIV3.ServerVariableObject>;
7
+ stackTrail: StackTrail;
8
+ context: ParseContextType;
9
+ };
10
+ export declare const toServerVariablesV3: ({ serverVariables, stackTrail, context }: ToServerVariablesV3Args) => Record<string, OasServerVariable>;
11
+ export type ToOptionalServerVariablesV3Args = {
12
+ serverVariables: Record<string, OpenAPIV3.ServerVariableObject> | undefined;
13
+ stackTrail: StackTrail;
14
+ context: ParseContextType;
15
+ };
16
+ export declare const toOptionalServerVariablesV3: ({ serverVariables, stackTrail, context }: ToOptionalServerVariablesV3Args) => Record<string, OasServerVariable> | undefined;
17
+ export type ToServerVariableV3Args = {
18
+ serverVariable: OpenAPIV3.ServerVariableObject;
19
+ stackTrail: StackTrail;
20
+ context: ParseContextType;
21
+ };
22
+ export declare const toServerVariableV3: ({ serverVariable, stackTrail, context }: ToServerVariableV3Args) => OasServerVariable;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toServerVariableV3 = exports.toOptionalServerVariablesV3 = exports.toServerVariablesV3 = void 0;
4
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
5
+ const ServerVariable_js_1 = require("../../../oas/serverVariable/ServerVariable.js");
6
+ const toServerVariablesV3 = ({ serverVariables, stackTrail, context }) => {
7
+ return Object.fromEntries(Object.entries(serverVariables).map(([key, serverVariable]) => [
8
+ key,
9
+ (0, exports.toServerVariableV3)({ serverVariable, stackTrail, context })
10
+ ]));
11
+ };
12
+ exports.toServerVariablesV3 = toServerVariablesV3;
13
+ const toOptionalServerVariablesV3 = ({ serverVariables, stackTrail, context }) => {
14
+ if (!serverVariables) {
15
+ return undefined;
16
+ }
17
+ return (0, exports.toServerVariablesV3)({ serverVariables, stackTrail, context });
18
+ };
19
+ exports.toOptionalServerVariablesV3 = toOptionalServerVariablesV3;
20
+ const toServerVariableV3 = ({ serverVariable, stackTrail, context }) => {
21
+ const { description, default: defaultValue, enum: enums, ...skipped } = serverVariable;
22
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
23
+ skipped,
24
+ parent: serverVariable,
25
+ context,
26
+ stackTrail,
27
+ parentType: 'serverVariable'
28
+ });
29
+ return new ServerVariable_js_1.OasServerVariable({
30
+ description,
31
+ default: defaultValue,
32
+ enums,
33
+ extensionFields
34
+ });
35
+ };
36
+ exports.toServerVariableV3 = toServerVariableV3;
@@ -0,0 +1,14 @@
1
+ import type { ParseContextType } from '../../../context/parseTypes.js';
2
+ import type { StackTrail } from '../../../context/StackTrail.js';
3
+ export type ToSpecificationExtensionsV3Args = {
4
+ skipped: Record<string, unknown>;
5
+ parent: unknown;
6
+ parentType: string;
7
+ stackTrail: StackTrail;
8
+ context: ParseContextType;
9
+ };
10
+ export declare const toSpecificationExtensionsV3: ({ skipped: s, parent, parentType, stackTrail, context }: ToSpecificationExtensionsV3Args) => Record<string, unknown> | undefined;
11
+ export declare const extractExtensions: (item: Record<string, unknown>) => {
12
+ skipped: Record<string, unknown> | undefined;
13
+ extensionFields: Record<string, unknown> | undefined;
14
+ };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractExtensions = exports.toSpecificationExtensionsV3 = void 0;
4
+ const isEmpty_js_1 = require("../../../helpers/isEmpty.js");
5
+ const toSpecificationExtensionsV3 = ({ skipped: s, parent, parentType, stackTrail, context }) => {
6
+ const { skipped, extensionFields } = (0, exports.extractExtensions)(s);
7
+ if (skipped) {
8
+ context.logSkippedFields({ skipped, parent, stackTrail, parentType });
9
+ }
10
+ return extensionFields;
11
+ };
12
+ exports.toSpecificationExtensionsV3 = toSpecificationExtensionsV3;
13
+ const extractExtensions = (item) => {
14
+ const entries = Object.entries(item);
15
+ const skipped = {};
16
+ const extensionFields = {};
17
+ for (const [key, value] of entries) {
18
+ if (!key.startsWith('x-')) {
19
+ skipped[key] = value;
20
+ }
21
+ else {
22
+ extensionFields[key] = value;
23
+ }
24
+ }
25
+ return {
26
+ skipped: (0, isEmpty_js_1.isEmpty)(skipped) ? undefined : skipped,
27
+ extensionFields: (0, isEmpty_js_1.isEmpty)(extensionFields) ? undefined : extensionFields
28
+ };
29
+ };
30
+ exports.extractExtensions = extractExtensions;
@@ -0,0 +1,146 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ import type { ParseContextType } from '../../../context/parseTypes.js';
3
+ import { OasString } from '../../../oas/string/String.js';
4
+ import type { StackTrail } from '../../../context/StackTrail.js';
5
+ /**
6
+ * Arguments for transforming an OpenAPI string schema into OAS representation.
7
+ */
8
+ export type ToStringArgs = {
9
+ /** The OpenAPI v3 schema object to transform (must be type 'string') */
10
+ value: OpenAPIV3.SchemaObject;
11
+ /** The stack trail for tracing */
12
+ stackTrail: StackTrail;
13
+ /** Parse context providing utilities and tracing capabilities */
14
+ context: ParseContextType;
15
+ };
16
+ /**
17
+ * Transforms an OpenAPI v3 string schema object into an internal OAS string representation.
18
+ *
19
+ * This function processes OpenAPI string schemas by extracting and parsing nullable values,
20
+ * examples, enumerations, and default values. It handles the complete transformation from
21
+ * raw OpenAPI JSON to the SKMTC internal string representation with proper validation
22
+ * of string formats and constraints.
23
+ *
24
+ * The transformation follows a pipeline approach:
25
+ * 1. Parse nullable flag and extract base value
26
+ * 2. Parse example values with nullable support
27
+ * 3. Parse enumeration constraints
28
+ * 4. Parse default values
29
+ * 5. Create final OasString instance with format validation
30
+ *
31
+ * @param args - Transformation arguments
32
+ * @param args.context - Parse context providing utilities and tracing
33
+ * @param args.value - The OpenAPI v3 string schema object to transform
34
+ * @returns Transformed OAS string object with parsed properties
35
+ *
36
+ * @example Basic string transformation
37
+ * ```typescript
38
+ * import { toString } from '@skmtc/core';
39
+ *
40
+ * const openApiString = {
41
+ * type: 'string',
42
+ * format: 'email',
43
+ * maxLength: 255,
44
+ * pattern: '^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$'
45
+ * };
46
+ *
47
+ * const oasString = toString({
48
+ * context: parseContext,
49
+ * value: openApiString
50
+ * });
51
+ *
52
+ * console.log(oasString.format); // 'email'
53
+ * console.log(oasString.maxLength); // 255
54
+ * ```
55
+ *
56
+ * @example String with nullable and enums
57
+ * ```typescript
58
+ * const statusString = {
59
+ * type: 'string',
60
+ * nullable: true,
61
+ * enum: ['active', 'inactive', 'pending', null],
62
+ * default: 'active',
63
+ * example: 'pending'
64
+ * };
65
+ *
66
+ * const oasString = toString({
67
+ * context: parseContext,
68
+ * value: statusString
69
+ * });
70
+ *
71
+ * console.log(oasString.nullable); // true
72
+ * console.log(oasString.enums); // ['active', 'inactive', 'pending', null]
73
+ * ```
74
+ */
75
+ export declare const toString: ({ context, value, stackTrail }: ToStringArgs) => OasString;
76
+ type ToParsedStringArgs<Nullable extends boolean | undefined> = {
77
+ value: Omit<OpenAPIV3.SchemaObject, 'nullable' | 'example' | 'enums' | 'default'>;
78
+ context: ParseContextType;
79
+ nullable: Nullable;
80
+ example: Nullable extends true ? string | null | undefined : string | undefined;
81
+ enums: Nullable extends true ? (string | null)[] | undefined : string[] | undefined;
82
+ defaultValue: Nullable extends true ? string | null | undefined : string | undefined;
83
+ stackTrail: StackTrail;
84
+ };
85
+ /**
86
+ * Creates an OAS string instance from pre-parsed string schema components.
87
+ *
88
+ * This function is the final step in the string transformation pipeline, taking
89
+ * already-parsed nullable, example, enum, and default values and combining them
90
+ * with the remaining string properties to create the complete OasString instance.
91
+ *
92
+ * The function handles format validation against known OpenAPI string formats,
93
+ * length constraints parsing, pattern validation, and specification extension
94
+ * processing. It logs warnings for unrecognized formats while still preserving
95
+ * them in the output.
96
+ *
97
+ * @template Nullable - Boolean type indicating if the string can be null
98
+ * @param args - Pre-parsed string components
99
+ * @param args.context - Parse context for tracing and issue logging
100
+ * @param args.nullable - Parsed nullable flag
101
+ * @param args.example - Parsed example value (type-safe with nullable)
102
+ * @param args.enums - Parsed enumeration constraints (type-safe with nullable)
103
+ * @param args.defaultValue - Parsed default value (type-safe with nullable)
104
+ * @param args.value - OpenAPI string object without parsed fields
105
+ * @returns Complete OAS string instance with all properties and validation
106
+ *
107
+ * @example Date-time string with validation
108
+ * ```typescript
109
+ * const dateTimeString = toParsedString({
110
+ * context: parseContext,
111
+ * nullable: false,
112
+ * example: '2023-12-25T10:00:00Z',
113
+ * enums: undefined,
114
+ * defaultValue: undefined,
115
+ * value: {
116
+ * type: 'string',
117
+ * format: 'date-time',
118
+ * title: 'Event Date',
119
+ * description: 'When the event occurs'
120
+ * }
121
+ * });
122
+ *
123
+ * console.log(dateTimeString.format); // 'date-time'
124
+ * ```
125
+ *
126
+ * @example String with custom format (generates warning)
127
+ * ```typescript
128
+ * const customFormatString = toParsedString({
129
+ * context: parseContext,
130
+ * nullable: false,
131
+ * example: 'ABC123',
132
+ * enums: undefined,
133
+ * defaultValue: undefined,
134
+ * value: {
135
+ * type: 'string',
136
+ * format: 'custom-id', // Unknown format, will log warning
137
+ * pattern: '^[A-Z]{3}[0-9]{3}$'
138
+ * }
139
+ * });
140
+ *
141
+ * // Logs: "Unexpected format: custom-id"
142
+ * console.log(customFormatString.format); // 'custom-id' (still preserved)
143
+ * ```
144
+ */
145
+ export declare const toParsedString: <Nullable extends boolean | undefined>({ context, nullable, example, enums, defaultValue, value, stackTrail }: ToParsedStringArgs<Nullable>) => OasString<Nullable>;
146
+ export {};