@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
@@ -5,9 +5,11 @@ import * as v from 'valibot';
5
5
  *
6
6
  * This constant array includes all HTTP methods that can be used
7
7
  * in OpenAPI path operations, as defined by the OpenAPI specification.
8
- * All methods are in lowercase to match OpenAPI conventions.
8
+ * All methods are in lowercase to match OpenAPI conventions. `query` is
9
+ * an OpenAPI 3.2 method; each parser tree reads its own list from
10
+ * `parse/v3-X/methods.ts`.
9
11
  */
10
- export declare const methodValues: readonly ["get", "put", "post", "delete", "options", "head", "patch", "trace"];
12
+ export declare const methodValues: readonly ["get", "put", "post", "delete", "options", "head", "patch", "trace", "query"];
11
13
  /**
12
14
  * Array of HTTP methods excluding TRACE.
13
15
  *
@@ -23,8 +25,9 @@ export declare const method: v.UnionSchema<[
23
25
  v.LiteralSchema<'delete', undefined>,
24
26
  v.LiteralSchema<'head', undefined>,
25
27
  v.LiteralSchema<'options', undefined>,
26
- v.LiteralSchema<'trace', undefined>
28
+ v.LiteralSchema<'trace', undefined>,
29
+ v.LiteralSchema<'query', undefined>
27
30
  ], undefined>;
28
- export type Method = 'get' | 'put' | 'post' | 'delete' | 'options' | 'head' | 'patch' | 'trace';
31
+ export type Method = 'get' | 'put' | 'post' | 'delete' | 'options' | 'head' | 'patch' | 'trace' | 'query';
29
32
  export declare const methods: v.ArraySchema<typeof method, undefined>;
30
33
  export declare const isMethod: (arg: unknown) => arg is Method;
@@ -41,7 +41,9 @@ const v = __importStar(require("valibot"));
41
41
  *
42
42
  * This constant array includes all HTTP methods that can be used
43
43
  * in OpenAPI path operations, as defined by the OpenAPI specification.
44
- * All methods are in lowercase to match OpenAPI conventions.
44
+ * All methods are in lowercase to match OpenAPI conventions. `query` is
45
+ * an OpenAPI 3.2 method; each parser tree reads its own list from
46
+ * `parse/v3-X/methods.ts`.
45
47
  */
46
48
  exports.methodValues = [
47
49
  'get',
@@ -51,7 +53,8 @@ exports.methodValues = [
51
53
  'options',
52
54
  'head',
53
55
  'patch',
54
- 'trace'
56
+ 'trace',
57
+ 'query'
55
58
  ];
56
59
  /**
57
60
  * Array of HTTP methods excluding TRACE.
@@ -59,7 +62,16 @@ exports.methodValues = [
59
62
  * This is a filtered version of {@link methodValues} that excludes the TRACE method,
60
63
  * which is sometimes excluded from API operations for security reasons.
61
64
  */
62
- exports.methodValuesNoTrace = ['get', 'put', 'post', 'delete', 'options', 'head', 'patch'];
65
+ exports.methodValuesNoTrace = [
66
+ 'get',
67
+ 'put',
68
+ 'post',
69
+ 'delete',
70
+ 'options',
71
+ 'head',
72
+ 'patch',
73
+ 'query'
74
+ ];
63
75
  exports.method = v.union([
64
76
  v.literal('get'),
65
77
  v.literal('post'),
@@ -68,7 +80,8 @@ exports.method = v.union([
68
80
  v.literal('delete'),
69
81
  v.literal('head'),
70
82
  v.literal('options'),
71
- v.literal('trace')
83
+ v.literal('trace'),
84
+ v.literal('query')
72
85
  ]);
73
86
  exports.methods = v.array(exports.method);
74
87
  const isMethod = (arg) => {
@@ -139,7 +139,8 @@ export declare const oasOperationSource: v.ObjectSchema<{
139
139
  v.LiteralSchema<'delete', undefined>,
140
140
  v.LiteralSchema<'head', undefined>,
141
141
  v.LiteralSchema<'options', undefined>,
142
- v.LiteralSchema<'trace', undefined>
142
+ v.LiteralSchema<'trace', undefined>,
143
+ v.LiteralSchema<'query', undefined>
143
144
  ], undefined>;
144
145
  readonly variant: v.StringSchema<undefined>;
145
146
  }, undefined>;
@@ -88,13 +88,8 @@ require("../_dnt.polyfills.js");
88
88
  const Enrichments_js_1 = require("./Enrichments.js");
89
89
  const v = __importStar(require("valibot"));
90
90
  const Method_js_1 = require("./Method.js");
91
+ const normalizeWorkspacePath_js_1 = require("../helpers/normalizeWorkspacePath.js");
91
92
  const toWorkspacePath_js_1 = require("../helpers/toWorkspacePath.js");
92
- /**
93
- * Whether a relative path contains a `..` parent-reference segment.
94
- * `..` is a parent reference only as a whole path segment — a
95
- * directory name that merely contains dots is not flagged.
96
- */
97
- const hasParentSegment = (path) => path.split(/[/\\]/).some(segment => segment === '..');
98
93
  /**
99
94
  * Valibot schema for {@link ModulePackage}.
100
95
  *
@@ -104,7 +99,7 @@ const hasParentSegment = (path) => path.split(/[/\\]/).some(segment => segment =
104
99
  * that otherwise misplaces every artifact silently.
105
100
  */
106
101
  exports.modulePackage = v.object({
107
- rootPath: v.pipe(v.string(), v.check(rootPath => !hasParentSegment(rootPath), 'package rootPath must be a forward path with no ".." segments — ' +
102
+ rootPath: v.pipe(v.string(), v.check(rootPath => !(0, normalizeWorkspacePath_js_1.hasParentSegment)(rootPath), 'package rootPath must be a forward path with no ".." segments — ' +
108
103
  'set client.json basePath to a common ancestor of every package ' +
109
104
  'so each rootPath is written forward from it')),
110
105
  moduleName: v.optional(v.string())
@@ -211,7 +206,9 @@ exports.anchorsSettings = v.object({
211
206
  out: v.optional(v.string())
212
207
  });
213
208
  exports.clientSettings = v.object({
214
- basePath: v.optional(v.string()),
209
+ basePath: v.optional(v.pipe(v.string(), v.check(basePath => !(0, normalizeWorkspacePath_js_1.isAbsolutePath)(basePath), 'basePath must be relative to the SKMTC root (the directory containing .skmtc/); ' +
210
+ 'absolute paths are not supported because generated output is always written under it'), v.check(basePath => !(0, normalizeWorkspacePath_js_1.hasParentSegment)(basePath), 'basePath must be a forward path with no ".." segments — it is the on-disk anchor ' +
211
+ 'every generated file sits below'))),
215
212
  schemaSource: v.optional(v.string()),
216
213
  packages: v.optional(exports.modulePackages),
217
214
  enrichments: v.optional(Enrichments_js_1.generatorEnrichments),
@@ -221,7 +218,8 @@ exports.clientSettings = v.object({
221
218
  inputDirs: v.optional(v.array(v.string())),
222
219
  formatter: v.optional(v.string()),
223
220
  generatedSuffix: v.optional(v.string()),
224
- ejected: v.optional(v.array(v.string()))
221
+ ejected: v.optional(v.array(v.pipe(v.string(), v.check(normalizeWorkspacePath_js_1.isValidWorkspacePath, 'settings.ejected entries are export paths: a forward path below basePath, ' +
222
+ 'with no ".." segment and not a Windows drive or UNC path'))))
225
223
  });
226
224
  /**
227
225
  * Valibot schema for validating SKMTC client configuration.
@@ -59,12 +59,12 @@ export declare const toGqlParsedDocument: (value: GqlDocument) => SkmtcParsedDoc
59
59
  * pipeline runs the protocol-appropriate parser before handing the
60
60
  * post-parse {@link SkmtcParsedDocument} to the generate phase.
61
61
  *
62
- * - `oas.value` is an `OpenAPIV3.Document`. Schema versions other than
63
- * 3.0 (Swagger 2, OpenAPI 3.1) are normalized to 3.0 by
64
- * `@skmtc/convert` before reaching `toArtifacts`. 3.1 `webhooks` ride
65
- * *on* that document as a retained member (the 3.0 base type omits
66
- * `webhooks`, so it is widened here) — the parser flattens them into
67
- * {@link OasDocument.webhooks}.
62
+ * - `oas.value` is an `OpenAPIV3.Document` carrying an OpenAPI 3.0, 3.1 or
63
+ * 3.2 document; each is parsed natively by its own parser tree. Swagger 2
64
+ * is converted to 3.0 by `@skmtc/convert` before reaching `toArtifacts`.
65
+ * 3.1 and 3.2 `webhooks` ride *on* that document as a retained member
66
+ * (the 3.0 base type omits `webhooks`, so it is widened here) — the
67
+ * parser flattens them into {@link OasDocument.webhooks}.
68
68
  * - `gql.value` is either a raw SDL string or a pre-built
69
69
  * `GraphQLSchema`. Strings are run through `buildSchema` inside the
70
70
  * pipeline; pre-built `GraphQLSchema` instances are used as-is.
@@ -1,24 +0,0 @@
1
- /**
2
- * Return the extension of the path with leading period (".").
3
- *
4
- * @example Usage
5
- * ```ts
6
- * import { extname } from "@std/path/extname";
7
- * import { assertEquals } from "@std/assert";
8
- *
9
- * if (Deno.build.os === "windows") {
10
- * assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png");
11
- * assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png");
12
- * } else {
13
- * assertEquals(extname("/home/user/Documents/image.png"), ".png");
14
- * assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png");
15
- * }
16
- * ```
17
- *
18
- * @param path Path with extension. When passed as a `URL` instance, its
19
- * protocol must be `file:`. For other protocols, pass the URL as a string or
20
- * pass its `pathname` property.
21
- * @returns The file extension. E.g. returns `.ts` for `file.ts`.
22
- * @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
23
- */
24
- export declare function extname(path: string | URL): string;
@@ -1,31 +0,0 @@
1
- // Copyright 2018-2026 the Deno authors. MIT license.
2
- // This module is browser compatible.
3
- import { isWindows } from "../../internal/1.0.14/os.js";
4
- import { extname as posixExtname } from "./posix/extname.js";
5
- import { extname as windowsExtname } from "./windows/extname.js";
6
- /**
7
- * Return the extension of the path with leading period (".").
8
- *
9
- * @example Usage
10
- * ```ts
11
- * import { extname } from "@std/path/extname";
12
- * import { assertEquals } from "@std/assert";
13
- *
14
- * if (Deno.build.os === "windows") {
15
- * assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png");
16
- * assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png");
17
- * } else {
18
- * assertEquals(extname("/home/user/Documents/image.png"), ".png");
19
- * assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png");
20
- * }
21
- * ```
22
- *
23
- * @param path Path with extension. When passed as a `URL` instance, its
24
- * protocol must be `file:`. For other protocols, pass the URL as a string or
25
- * pass its `pathname` property.
26
- * @returns The file extension. E.g. returns `.ts` for `file.ts`.
27
- * @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
28
- */
29
- export function extname(path) {
30
- return isWindows ? windowsExtname(path) : posixExtname(path);
31
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * Normalize the path, resolving `'..'` and `'.'` segments.
3
- *
4
- * Note: Resolving these segments does not necessarily mean that all will be
5
- * eliminated. A `'..'` at the top-level will be preserved, and an empty path is
6
- * canonically `'.'`.
7
- *
8
- * @example Usage
9
- * ```ts
10
- * import { normalize } from "@std/path/normalize";
11
- * import { assertEquals } from "@std/assert";
12
- *
13
- * if (Deno.build.os === "windows") {
14
- * assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux");
15
- * assertEquals(normalize(new URL("file:///C:/foo/bar/../baz/quux")), "C:\\foo\\baz\\quux");
16
- * } else {
17
- * assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux");
18
- * assertEquals(normalize(new URL("file:///foo/bar/../baz/quux")), "/foo/baz/quux");
19
- * }
20
- * ```
21
- *
22
- * @param path Path to be normalized
23
- * @returns The normalized path.
24
- */
25
- export declare function normalize(path: string | URL): string;
@@ -1,32 +0,0 @@
1
- // Copyright 2018-2026 the Deno authors. MIT license.
2
- // This module is browser compatible.
3
- import { isWindows } from "../../internal/1.0.14/os.js";
4
- import { normalize as posixNormalize } from "./posix/normalize.js";
5
- import { normalize as windowsNormalize } from "./windows/normalize.js";
6
- /**
7
- * Normalize the path, resolving `'..'` and `'.'` segments.
8
- *
9
- * Note: Resolving these segments does not necessarily mean that all will be
10
- * eliminated. A `'..'` at the top-level will be preserved, and an empty path is
11
- * canonically `'.'`.
12
- *
13
- * @example Usage
14
- * ```ts
15
- * import { normalize } from "@std/path/normalize";
16
- * import { assertEquals } from "@std/assert";
17
- *
18
- * if (Deno.build.os === "windows") {
19
- * assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux");
20
- * assertEquals(normalize(new URL("file:///C:/foo/bar/../baz/quux")), "C:\\foo\\baz\\quux");
21
- * } else {
22
- * assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux");
23
- * assertEquals(normalize(new URL("file:///foo/bar/../baz/quux")), "/foo/baz/quux");
24
- * }
25
- * ```
26
- *
27
- * @param path Path to be normalized
28
- * @returns The normalized path.
29
- */
30
- export function normalize(path) {
31
- return isWindows ? windowsNormalize(path) : posixNormalize(path);
32
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Return the extension of the `path` with leading period.
3
- *
4
- * @example Usage
5
- * ```ts
6
- * import { extname } from "@std/path/windows/extname";
7
- * import { assertEquals } from "@std/assert";
8
- *
9
- * assertEquals(extname("file.ts"), ".ts");
10
- * assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext");
11
- * ```
12
- *
13
- * @param path The path to get the extension from.
14
- * @returns The extension of the `path`.
15
- * @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
16
- */
17
- export declare function extname(path: string | URL): string;
@@ -1,83 +0,0 @@
1
- // Copyright 2018-2026 the Deno authors. MIT license.
2
- // This module is browser compatible.
3
- import { CHAR_COLON, CHAR_DOT } from "../_common/constants.js";
4
- import { assertPath } from "../_common/assert_path.js";
5
- import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js";
6
- import { fromFileUrl } from "./from_file_url.js";
7
- /**
8
- * Return the extension of the `path` with leading period.
9
- *
10
- * @example Usage
11
- * ```ts
12
- * import { extname } from "@std/path/windows/extname";
13
- * import { assertEquals } from "@std/assert";
14
- *
15
- * assertEquals(extname("file.ts"), ".ts");
16
- * assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext");
17
- * ```
18
- *
19
- * @param path The path to get the extension from.
20
- * @returns The extension of the `path`.
21
- * @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
22
- */
23
- export function extname(path) {
24
- if (path instanceof URL) {
25
- path = fromFileUrl(path);
26
- }
27
- assertPath(path);
28
- let start = 0;
29
- let startDot = -1;
30
- let startPart = 0;
31
- let end = -1;
32
- let matchedSlash = true;
33
- // Track the state of characters (if any) we see before our first dot and
34
- // after any path separator we find
35
- let preDotState = 0;
36
- // Check for a drive letter prefix so as not to mistake the following
37
- // path separator as an extra separator at the end of the path that can be
38
- // disregarded
39
- if (path.length >= 2 &&
40
- path.charCodeAt(1) === CHAR_COLON &&
41
- isWindowsDeviceRoot(path.charCodeAt(0))) {
42
- start = startPart = 2;
43
- }
44
- for (let i = path.length - 1; i >= start; --i) {
45
- const code = path.charCodeAt(i);
46
- if (isPathSeparator(code)) {
47
- // If we reached a path separator that was not part of a set of path
48
- // separators at the end of the string, stop now
49
- if (!matchedSlash) {
50
- startPart = i + 1;
51
- break;
52
- }
53
- continue;
54
- }
55
- if (end === -1) {
56
- // We saw the first non-path separator, mark this as the end of our
57
- // extension
58
- matchedSlash = false;
59
- end = i + 1;
60
- }
61
- if (code === CHAR_DOT) {
62
- // If this is our first dot, mark it as the start of our extension
63
- if (startDot === -1)
64
- startDot = i;
65
- else if (preDotState !== 1)
66
- preDotState = 1;
67
- }
68
- else if (startDot !== -1) {
69
- // We saw a non-dot and non-path separator before our dot, so we should
70
- // have a good chance at having a non-empty extension
71
- preDotState = -1;
72
- }
73
- }
74
- if (startDot === -1 ||
75
- end === -1 ||
76
- // We saw a non-dot character immediately before the dot
77
- preDotState === 0 ||
78
- // The (right-most) trimmed path component is exactly '..'
79
- (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) {
80
- return "";
81
- }
82
- return path.slice(startDot, end);
83
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * Return the extension of the path with leading period (".").
3
- *
4
- * @example Usage
5
- * ```ts
6
- * import { extname } from "@std/path/extname";
7
- * import { assertEquals } from "@std/assert";
8
- *
9
- * if (Deno.build.os === "windows") {
10
- * assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png");
11
- * assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png");
12
- * } else {
13
- * assertEquals(extname("/home/user/Documents/image.png"), ".png");
14
- * assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png");
15
- * }
16
- * ```
17
- *
18
- * @param path Path with extension. When passed as a `URL` instance, its
19
- * protocol must be `file:`. For other protocols, pass the URL as a string or
20
- * pass its `pathname` property.
21
- * @returns The file extension. E.g. returns `.ts` for `file.ts`.
22
- * @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
23
- */
24
- export declare function extname(path: string | URL): string;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- // Copyright 2018-2026 the Deno authors. MIT license.
3
- // This module is browser compatible.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.extname = extname;
6
- const os_js_1 = require("../../internal/1.0.14/os.js");
7
- const extname_js_1 = require("./posix/extname.js");
8
- const extname_js_2 = require("./windows/extname.js");
9
- /**
10
- * Return the extension of the path with leading period (".").
11
- *
12
- * @example Usage
13
- * ```ts
14
- * import { extname } from "@std/path/extname";
15
- * import { assertEquals } from "@std/assert";
16
- *
17
- * if (Deno.build.os === "windows") {
18
- * assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png");
19
- * assertEquals(extname(new URL("file:///C:/home/user/Documents/image.png")), ".png");
20
- * } else {
21
- * assertEquals(extname("/home/user/Documents/image.png"), ".png");
22
- * assertEquals(extname(new URL("file:///home/user/Documents/image.png")), ".png");
23
- * }
24
- * ```
25
- *
26
- * @param path Path with extension. When passed as a `URL` instance, its
27
- * protocol must be `file:`. For other protocols, pass the URL as a string or
28
- * pass its `pathname` property.
29
- * @returns The file extension. E.g. returns `.ts` for `file.ts`.
30
- * @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
31
- */
32
- function extname(path) {
33
- return os_js_1.isWindows ? (0, extname_js_2.extname)(path) : (0, extname_js_1.extname)(path);
34
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * Normalize the path, resolving `'..'` and `'.'` segments.
3
- *
4
- * Note: Resolving these segments does not necessarily mean that all will be
5
- * eliminated. A `'..'` at the top-level will be preserved, and an empty path is
6
- * canonically `'.'`.
7
- *
8
- * @example Usage
9
- * ```ts
10
- * import { normalize } from "@std/path/normalize";
11
- * import { assertEquals } from "@std/assert";
12
- *
13
- * if (Deno.build.os === "windows") {
14
- * assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux");
15
- * assertEquals(normalize(new URL("file:///C:/foo/bar/../baz/quux")), "C:\\foo\\baz\\quux");
16
- * } else {
17
- * assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux");
18
- * assertEquals(normalize(new URL("file:///foo/bar/../baz/quux")), "/foo/baz/quux");
19
- * }
20
- * ```
21
- *
22
- * @param path Path to be normalized
23
- * @returns The normalized path.
24
- */
25
- export declare function normalize(path: string | URL): string;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- // Copyright 2018-2026 the Deno authors. MIT license.
3
- // This module is browser compatible.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.normalize = normalize;
6
- const os_js_1 = require("../../internal/1.0.14/os.js");
7
- const normalize_js_1 = require("./posix/normalize.js");
8
- const normalize_js_2 = require("./windows/normalize.js");
9
- /**
10
- * Normalize the path, resolving `'..'` and `'.'` segments.
11
- *
12
- * Note: Resolving these segments does not necessarily mean that all will be
13
- * eliminated. A `'..'` at the top-level will be preserved, and an empty path is
14
- * canonically `'.'`.
15
- *
16
- * @example Usage
17
- * ```ts
18
- * import { normalize } from "@std/path/normalize";
19
- * import { assertEquals } from "@std/assert";
20
- *
21
- * if (Deno.build.os === "windows") {
22
- * assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux");
23
- * assertEquals(normalize(new URL("file:///C:/foo/bar/../baz/quux")), "C:\\foo\\baz\\quux");
24
- * } else {
25
- * assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux");
26
- * assertEquals(normalize(new URL("file:///foo/bar/../baz/quux")), "/foo/baz/quux");
27
- * }
28
- * ```
29
- *
30
- * @param path Path to be normalized
31
- * @returns The normalized path.
32
- */
33
- function normalize(path) {
34
- return os_js_1.isWindows ? (0, normalize_js_2.normalize)(path) : (0, normalize_js_1.normalize)(path);
35
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Return the extension of the `path` with leading period.
3
- *
4
- * @example Usage
5
- * ```ts
6
- * import { extname } from "@std/path/windows/extname";
7
- * import { assertEquals } from "@std/assert";
8
- *
9
- * assertEquals(extname("file.ts"), ".ts");
10
- * assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext");
11
- * ```
12
- *
13
- * @param path The path to get the extension from.
14
- * @returns The extension of the `path`.
15
- * @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
16
- */
17
- export declare function extname(path: string | URL): string;
@@ -1,86 +0,0 @@
1
- "use strict";
2
- // Copyright 2018-2026 the Deno authors. MIT license.
3
- // This module is browser compatible.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.extname = extname;
6
- const constants_js_1 = require("../_common/constants.js");
7
- const assert_path_js_1 = require("../_common/assert_path.js");
8
- const _util_js_1 = require("./_util.js");
9
- const from_file_url_js_1 = require("./from_file_url.js");
10
- /**
11
- * Return the extension of the `path` with leading period.
12
- *
13
- * @example Usage
14
- * ```ts
15
- * import { extname } from "@std/path/windows/extname";
16
- * import { assertEquals } from "@std/assert";
17
- *
18
- * assertEquals(extname("file.ts"), ".ts");
19
- * assertEquals(extname(new URL("file:///C:/foo/bar/baz.ext")), ".ext");
20
- * ```
21
- *
22
- * @param path The path to get the extension from.
23
- * @returns The extension of the `path`.
24
- * @throws {TypeError} If `path` is a `URL` instance whose protocol is not `file:`.
25
- */
26
- function extname(path) {
27
- if (path instanceof URL) {
28
- path = (0, from_file_url_js_1.fromFileUrl)(path);
29
- }
30
- (0, assert_path_js_1.assertPath)(path);
31
- let start = 0;
32
- let startDot = -1;
33
- let startPart = 0;
34
- let end = -1;
35
- let matchedSlash = true;
36
- // Track the state of characters (if any) we see before our first dot and
37
- // after any path separator we find
38
- let preDotState = 0;
39
- // Check for a drive letter prefix so as not to mistake the following
40
- // path separator as an extra separator at the end of the path that can be
41
- // disregarded
42
- if (path.length >= 2 &&
43
- path.charCodeAt(1) === constants_js_1.CHAR_COLON &&
44
- (0, _util_js_1.isWindowsDeviceRoot)(path.charCodeAt(0))) {
45
- start = startPart = 2;
46
- }
47
- for (let i = path.length - 1; i >= start; --i) {
48
- const code = path.charCodeAt(i);
49
- if ((0, _util_js_1.isPathSeparator)(code)) {
50
- // If we reached a path separator that was not part of a set of path
51
- // separators at the end of the string, stop now
52
- if (!matchedSlash) {
53
- startPart = i + 1;
54
- break;
55
- }
56
- continue;
57
- }
58
- if (end === -1) {
59
- // We saw the first non-path separator, mark this as the end of our
60
- // extension
61
- matchedSlash = false;
62
- end = i + 1;
63
- }
64
- if (code === constants_js_1.CHAR_DOT) {
65
- // If this is our first dot, mark it as the start of our extension
66
- if (startDot === -1)
67
- startDot = i;
68
- else if (preDotState !== 1)
69
- preDotState = 1;
70
- }
71
- else if (startDot !== -1) {
72
- // We saw a non-dot and non-path separator before our dot, so we should
73
- // have a good chance at having a non-empty extension
74
- preDotState = -1;
75
- }
76
- }
77
- if (startDot === -1 ||
78
- end === -1 ||
79
- // We saw a non-dot character immediately before the dot
80
- preDotState === 0 ||
81
- // The (right-most) trimmed path component is exactly '..'
82
- (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) {
83
- return "";
84
- }
85
- return path.slice(startDot, end);
86
- }