@modulify/validator 0.2.0 → 0.3.0

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 (486) hide show
  1. package/CHANGELOG.md +29 -1
  2. package/README.md +12 -2
  3. package/dist/assert-BDOtHdLx.cjs +289 -0
  4. package/dist/assert-CzMg5aO7.mjs +206 -0
  5. package/dist/assert.cjs +7 -65
  6. package/dist/assert.d.cts +37 -0
  7. package/dist/assert.d.mts +37 -0
  8. package/dist/assert.d.ts +24 -3
  9. package/dist/assert.mjs +2 -66
  10. package/dist/assertions-DPYCHREw.mjs +297 -0
  11. package/dist/assertions-nfOKqcjs.cjs +476 -0
  12. package/dist/assertions.cjs +34 -206
  13. package/dist/assertions.d.cts +56 -0
  14. package/dist/assertions.d.mts +56 -0
  15. package/dist/assertions.d.ts +43 -45
  16. package/dist/assertions.mjs +3 -207
  17. package/dist/checkers.d.cts +8 -0
  18. package/dist/checkers.d.mts +8 -0
  19. package/dist/checkers.d.ts +1 -1
  20. package/dist/combinators.cjs +303 -304
  21. package/dist/combinators.d.cts +16 -0
  22. package/dist/combinators.d.mts +16 -0
  23. package/dist/combinators.d.ts +15 -16
  24. package/dist/combinators.mjs +304 -315
  25. package/dist/constraints.d.cts +4 -0
  26. package/dist/constraints.d.mts +4 -0
  27. package/dist/constraints.d.ts +2 -2
  28. package/dist/extractors.d.cts +2 -0
  29. package/dist/extractors.d.mts +2 -0
  30. package/dist/index.cjs +210 -213
  31. package/dist/index.d.cts +12 -0
  32. package/dist/index.d.mts +12 -0
  33. package/dist/index.d.ts +9 -9
  34. package/dist/index.mjs +165 -218
  35. package/dist/json-schema.cjs +364 -489
  36. package/dist/json-schema.d.cts +14 -0
  37. package/dist/json-schema.d.mts +14 -0
  38. package/dist/json-schema.d.ts +3 -3
  39. package/dist/json-schema.mjs +365 -492
  40. package/dist/metadata.cjs +6 -7
  41. package/dist/metadata.d.cts +8 -0
  42. package/dist/metadata.d.mts +8 -0
  43. package/dist/metadata.d.ts +2 -2
  44. package/dist/metadata.mjs +2 -8
  45. package/dist/predicates.cjs +98 -41
  46. package/dist/predicates.d.cts +77 -0
  47. package/dist/predicates.d.mts +77 -0
  48. package/dist/predicates.d.ts +25 -4
  49. package/dist/predicates.mjs +92 -66
  50. package/dist/types/index.d.cts +984 -0
  51. package/dist/types/index.d.mts +984 -0
  52. package/dist/types/index.d.ts +984 -0
  53. package/dist/types/json-schema.d.cts +75 -0
  54. package/dist/types/json-schema.d.mts +75 -0
  55. package/dist/types/json-schema.d.ts +75 -0
  56. package/dist/violations.d.cts +29 -0
  57. package/dist/violations.d.mts +29 -0
  58. package/dist/violations.d.ts +1 -1
  59. package/docs/RELEASING.md +66 -0
  60. package/docs/en/00-index.md +2 -0
  61. package/docs/en/01-shape-api.md +35 -10
  62. package/docs/en/02-metadata-and-introspection.md +2 -1
  63. package/docs/en/03-violations.md +1 -1
  64. package/docs/en/04-json-schema-export.md +5 -0
  65. package/docs/en/05-public-api.md +35 -3
  66. package/docs/en/06-common-recipes.md +2 -1
  67. package/docs/en/07-ai-reference.md +5 -2
  68. package/docs/en/08-violation-code-types.md +28 -2
  69. package/docs/en/09-migration.md +75 -0
  70. package/docs/ru/00-index.md +2 -0
  71. package/docs/ru/01-shape-api.md +35 -10
  72. package/docs/ru/02-metadata-and-introspection.md +2 -1
  73. package/docs/ru/03-violations.md +1 -1
  74. package/docs/ru/04-json-schema-export.md +5 -0
  75. package/docs/ru/05-public-api.md +35 -3
  76. package/docs/ru/06-common-recipes.md +2 -1
  77. package/docs/ru/07-ai-reference.md +5 -2
  78. package/docs/ru/08-violation-code-types.md +28 -2
  79. package/docs/ru/09-migration.md +76 -0
  80. package/docs/ru/README.md +10 -2
  81. package/package.json +71 -37
  82. package/types/index.d.ts +275 -115
  83. package/.yarn/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-53c2b231a6.zip +0 -0
  84. package/.yarn/cache/@babel-code-frame-npm-7.23.5-cb10d08de6-a10e843595.zip +0 -0
  85. package/.yarn/cache/@babel-helper-string-parser-npm-7.25.7-352069de58-73ef2ceb81.zip +0 -0
  86. package/.yarn/cache/@babel-helper-string-parser-npm-7.27.1-d1471e0598-8bda3448e0.zip +0 -0
  87. package/.yarn/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-dcad63db34.zip +0 -0
  88. package/.yarn/cache/@babel-helper-validator-identifier-npm-7.25.7-1c758f0472-07438e5bf0.zip +0 -0
  89. package/.yarn/cache/@babel-helper-validator-identifier-npm-7.28.5-1953d49d2b-42aaebed91.zip +0 -0
  90. package/.yarn/cache/@babel-highlight-npm-7.23.4-2a9f2d2538-fbff9fcb2f.zip +0 -0
  91. package/.yarn/cache/@babel-parser-npm-7.25.8-fda12195b5-a1a13845b7.zip +0 -0
  92. package/.yarn/cache/@babel-parser-npm-7.29.0-c605c63e8b-333b2aa761.zip +0 -0
  93. package/.yarn/cache/@babel-types-npm-7.25.8-44acfff5f6-55ca2d6df6.zip +0 -0
  94. package/.yarn/cache/@babel-types-npm-7.29.0-6c2fa77581-23cc3466e8.zip +0 -0
  95. package/.yarn/cache/@bcoe-v8-coverage-npm-1.0.2-e80fdc21ac-1eb1dc93cc.zip +0 -0
  96. package/.yarn/cache/@commitlint-cli-npm-20.4.3-7b788c74b9-1f54b6870a.zip +0 -0
  97. package/.yarn/cache/@commitlint-config-conventional-npm-20.4.3-aa90460b69-c7c6fb0b32.zip +0 -0
  98. package/.yarn/cache/@commitlint-config-validator-npm-20.4.3-456f7d3da8-e65f2bd3cc.zip +0 -0
  99. package/.yarn/cache/@commitlint-ensure-npm-20.4.3-432e5ad329-aa1f42317a.zip +0 -0
  100. package/.yarn/cache/@commitlint-execute-rule-npm-20.0.0-6eb8155492-a1035ae9d6.zip +0 -0
  101. package/.yarn/cache/@commitlint-format-npm-20.4.3-ebe3e8cb04-e221f61a07.zip +0 -0
  102. package/.yarn/cache/@commitlint-is-ignored-npm-20.4.3-69e200640d-bc118de0aa.zip +0 -0
  103. package/.yarn/cache/@commitlint-lint-npm-20.4.3-c9940afaeb-e6af7cbbf9.zip +0 -0
  104. package/.yarn/cache/@commitlint-load-npm-20.4.3-81ae2db04a-80fb52e259.zip +0 -0
  105. package/.yarn/cache/@commitlint-message-npm-20.4.3-e9b5d77cad-16f7a67d17.zip +0 -0
  106. package/.yarn/cache/@commitlint-parse-npm-20.4.3-ecc5779976-404fecad36.zip +0 -0
  107. package/.yarn/cache/@commitlint-read-npm-20.4.3-32de5c8d85-3e7f88ad9b.zip +0 -0
  108. package/.yarn/cache/@commitlint-resolve-extends-npm-20.4.3-71b99c2779-09220329ba.zip +0 -0
  109. package/.yarn/cache/@commitlint-rules-npm-20.4.3-390ce9eadc-03348731a9.zip +0 -0
  110. package/.yarn/cache/@commitlint-to-lines-npm-20.0.0-888ee2239e-49bc05eb06.zip +0 -0
  111. package/.yarn/cache/@commitlint-top-level-npm-20.4.3-b0ef9fb207-52a1f59677.zip +0 -0
  112. package/.yarn/cache/@commitlint-types-npm-20.4.3-3d079b12ab-2181f9696f.zip +0 -0
  113. package/.yarn/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-05c5368c13.zip +0 -0
  114. package/.yarn/cache/@esbuild-linux-x64-npm-0.27.3-2041dd7b27-10c0.zip +0 -0
  115. package/.yarn/cache/@eslint-community-eslint-utils-npm-4.9.1-30ad3d49de-dc4ab5e3e3.zip +0 -0
  116. package/.yarn/cache/@eslint-community-regexpp-npm-4.12.2-3d54624470-fddcbc6685.zip +0 -0
  117. package/.yarn/cache/@eslint-config-array-npm-0.23.3-19b1c24f51-7c19027acf.zip +0 -0
  118. package/.yarn/cache/@eslint-config-helpers-npm-0.5.3-b60fa10f11-c836476e83.zip +0 -0
  119. package/.yarn/cache/@eslint-core-npm-1.1.1-bca32bf928-129c654c78.zip +0 -0
  120. package/.yarn/cache/@eslint-js-npm-10.0.1-c30b85ca06-9f3fcaf71b.zip +0 -0
  121. package/.yarn/cache/@eslint-object-schema-npm-3.0.3-4c45388d6c-4abbb7cba5.zip +0 -0
  122. package/.yarn/cache/@eslint-plugin-kit-npm-0.6.1-fafe413a70-f8354a7b92.zip +0 -0
  123. package/.yarn/cache/@gar-promise-retry-npm-1.0.2-960b209ddf-748a84fb0a.zip +0 -0
  124. package/.yarn/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-aa4e015217.zip +0 -0
  125. package/.yarn/cache/@humanfs-node-npm-0.16.6-6ee2cad587-8356359c9f.zip +0 -0
  126. package/.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-909b69c3b8.zip +0 -0
  127. package/.yarn/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-f0da1282df.zip +0 -0
  128. package/.yarn/cache/@humanwhocodes-retry-npm-0.4.3-a8d7ca1663-3775bb3008.zip +0 -0
  129. package/.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-c25b6dc159.zip +0 -0
  130. package/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-0dbc9e29bc.zip +0 -0
  131. package/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-d502e6fb51.zip +0 -0
  132. package/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-0c6b5ae663.zip +0 -0
  133. package/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-2eb864f276.zip +0 -0
  134. package/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.5-5189d9fc79-f9e538f302.zip +0 -0
  135. package/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.31-1ae81d75ac-4b30ec8cd5.zip +0 -0
  136. package/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-fa425b606d.zip +0 -0
  137. package/.yarn/cache/@microsoft-api-extractor-model-npm-7.33.4-65dc0810a1-c71569e59a.zip +0 -0
  138. package/.yarn/cache/@microsoft-api-extractor-npm-7.57.6-3ff3fa89f4-2f4598cc6b.zip +0 -0
  139. package/.yarn/cache/@microsoft-tsdoc-config-npm-0.18.1-9e24f960a2-06507f7ced.zip +0 -0
  140. package/.yarn/cache/@microsoft-tsdoc-npm-0.16.0-9d3f19f1b6-8883bb0ed2.zip +0 -0
  141. package/.yarn/cache/@npmcli-agent-npm-4.0.0-502e5ae4f0-f7b5ce0f3d.zip +0 -0
  142. package/.yarn/cache/@npmcli-fs-npm-5.0.0-9d737ae2f3-26e376d780.zip +0 -0
  143. package/.yarn/cache/@polka-url-npm-1.0.0-next.28-024769eda8-acc5ea6259.zip +0 -0
  144. package/.yarn/cache/@rollup-pluginutils-npm-5.1.4-83ce21024f-6d58fbc6f1.zip +0 -0
  145. package/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.59.0-da6c703f69-10c0.zip +0 -0
  146. package/.yarn/cache/@rushstack-node-core-library-npm-5.20.3-c547457ad4-bc9b33c6be.zip +0 -0
  147. package/.yarn/cache/@rushstack-problem-matcher-npm-0.2.1-87bf7eb8c4-d6cf27f6bf.zip +0 -0
  148. package/.yarn/cache/@rushstack-rig-package-npm-0.7.2-5f0f64865a-2e2839fa9a.zip +0 -0
  149. package/.yarn/cache/@rushstack-terminal-npm-0.22.3-2934ccd0ff-0e81fe7543.zip +0 -0
  150. package/.yarn/cache/@rushstack-ts-command-line-npm-5.3.3-d220c0fef2-03d9e9989b.zip +0 -0
  151. package/.yarn/cache/@simple-libs-stream-utils-npm-1.2.0-db53dc026f-2788ac7b16.zip +0 -0
  152. package/.yarn/cache/@standard-schema-spec-npm-1.1.0-d3e5ccd2e2-d90f55acde.zip +0 -0
  153. package/.yarn/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-c176a2c1e1.zip +0 -0
  154. package/.yarn/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-dddca2b553.zip +0 -0
  155. package/.yarn/cache/@tsconfig-node14-npm-1.0.3-15321421d2-67c1316d06.zip +0 -0
  156. package/.yarn/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-05f8f2734e.zip +0 -0
  157. package/.yarn/cache/@types-argparse-npm-1.0.38-657c15204c-4fc892da5d.zip +0 -0
  158. package/.yarn/cache/@types-chai-npm-5.2.3-5f61dbddda-e0ef1de3b6.zip +0 -0
  159. package/.yarn/cache/@types-deep-eql-npm-4.0.2-e6bc68cc92-bf3f811843.zip +0 -0
  160. package/.yarn/cache/@types-esrecurse-npm-4.3.1-237d34a55f-90dad74d5d.zip +0 -0
  161. package/.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-b3b0e33428.zip +0 -0
  162. package/.yarn/cache/@types-estree-npm-1.0.6-b5e23f2ea2-cdfd751f6f.zip +0 -0
  163. package/.yarn/cache/@types-estree-npm-1.0.8-2195bac6d6-39d34d1afa.zip +0 -0
  164. package/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-a996a745e6.zip +0 -0
  165. package/.yarn/cache/@types-node-npm-25.3.5-81ad2eb587-4cf0834a6f.zip +0 -0
  166. package/.yarn/cache/@typescript-eslint-eslint-plugin-npm-8.56.1-3df20cf10b-8a97e77779.zip +0 -0
  167. package/.yarn/cache/@typescript-eslint-parser-npm-8.56.1-3f9b1c2f30-61c9dab481.zip +0 -0
  168. package/.yarn/cache/@typescript-eslint-project-service-npm-8.56.1-766cc01259-ca61cde575.zip +0 -0
  169. package/.yarn/cache/@typescript-eslint-scope-manager-npm-8.56.1-2d38e88a4b-89cc1af263.zip +0 -0
  170. package/.yarn/cache/@typescript-eslint-tsconfig-utils-npm-8.56.1-e35d1dd914-d03b64d7ff.zip +0 -0
  171. package/.yarn/cache/@typescript-eslint-type-utils-npm-8.56.1-e472908945-66517aed50.zip +0 -0
  172. package/.yarn/cache/@typescript-eslint-types-npm-8.56.1-09e50c3c54-e5a0318abd.zip +0 -0
  173. package/.yarn/cache/@typescript-eslint-typescript-estree-npm-8.56.1-bdca7e3c09-92f4421dac.zip +0 -0
  174. package/.yarn/cache/@typescript-eslint-utils-npm-8.56.1-aa0778f53a-d9ffd9b294.zip +0 -0
  175. package/.yarn/cache/@typescript-eslint-visitor-keys-npm-8.56.1-901d7b2e4d-86d97905de.zip +0 -0
  176. package/.yarn/cache/@vitest-coverage-v8-npm-4.0.18-62bb7f840e-e23e0da86f.zip +0 -0
  177. package/.yarn/cache/@vitest-expect-npm-4.0.18-03919ccd0b-123b0aa111.zip +0 -0
  178. package/.yarn/cache/@vitest-mocker-npm-4.0.18-118c87f90e-fb0a257e7e.zip +0 -0
  179. package/.yarn/cache/@vitest-pretty-format-npm-4.0.18-a73855e4a4-0086b8c88e.zip +0 -0
  180. package/.yarn/cache/@vitest-runner-npm-4.0.18-3dbdf3fb30-fdb4afa411.zip +0 -0
  181. package/.yarn/cache/@vitest-snapshot-npm-4.0.18-35134202ed-d3bfefa558.zip +0 -0
  182. package/.yarn/cache/@vitest-spy-npm-4.0.18-296c59dce4-6de537890b.zip +0 -0
  183. package/.yarn/cache/@vitest-ui-npm-4.0.18-2112b3c7d4-25ed45b529.zip +0 -0
  184. package/.yarn/cache/@vitest-utils-npm-4.0.18-b1c99a49e0-4a3c43c142.zip +0 -0
  185. package/.yarn/cache/@volar-language-core-npm-2.4.11-9f1617b8e0-ccc5de0c28.zip +0 -0
  186. package/.yarn/cache/@volar-language-core-npm-2.4.28-23fc3d6b92-d41f7327fe.zip +0 -0
  187. package/.yarn/cache/@volar-source-map-npm-2.4.11-1022b0cd34-8e5badf9f6.zip +0 -0
  188. package/.yarn/cache/@volar-source-map-npm-2.4.28-7517299eaf-24b0b02c7f.zip +0 -0
  189. package/.yarn/cache/@volar-typescript-npm-2.4.11-9486696485-bca9bda9c8.zip +0 -0
  190. package/.yarn/cache/@vue-compiler-core-npm-3.5.13-b0c91e9970-b89f3e3ca9.zip +0 -0
  191. package/.yarn/cache/@vue-compiler-dom-npm-3.5.13-8785a9ba19-8f424a7188.zip +0 -0
  192. package/.yarn/cache/@vue-compiler-vue2-npm-2.7.16-ac462b66cc-c76c3fad77.zip +0 -0
  193. package/.yarn/cache/@vue-language-core-npm-2.2.0-451bd2aafd-1c44cc4067.zip +0 -0
  194. package/.yarn/cache/@vue-shared-npm-3.5.13-519178ab33-2c940ef907.zip +0 -0
  195. package/.yarn/cache/abbrev-npm-4.0.0-7d848a1ef0-b4cc169352.zip +0 -0
  196. package/.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-4c54868fbe.zip +0 -0
  197. package/.yarn/cache/acorn-npm-8.11.3-0d7ab48b38-3ff155f881.zip +0 -0
  198. package/.yarn/cache/acorn-npm-8.16.0-b2096bf83f-c9c5269722.zip +0 -0
  199. package/.yarn/cache/acorn-walk-npm-8.3.2-df039a42bf-7e2a8dad54.zip +0 -0
  200. package/.yarn/cache/agent-base-npm-7.1.4-cb8b4604d5-c2c9ab7599.zip +0 -0
  201. package/.yarn/cache/ajv-draft-04-npm-1.0.0-6fc962dbab-6044310bd3.zip +0 -0
  202. package/.yarn/cache/ajv-formats-npm-3.0.1-2662cf5b12-168d6bca1e.zip +0 -0
  203. package/.yarn/cache/ajv-npm-6.14.0-41f32f2ba8-a2bc39b055.zip +0 -0
  204. package/.yarn/cache/ajv-npm-8.12.0-3bf6e30741-ac4f72adf7.zip +0 -0
  205. package/.yarn/cache/ajv-npm-8.17.1-12ade7edc6-ec3ba10a57.zip +0 -0
  206. package/.yarn/cache/ajv-npm-8.18.0-6e5e062765-e7517c4261.zip +0 -0
  207. package/.yarn/cache/alien-signals-npm-0.4.14-73b9599f8d-5abb3377bc.zip +0 -0
  208. package/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-9a64bb8627.zip +0 -0
  209. package/.yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-ece5a8ef06.zip +0 -0
  210. package/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-895a23929d.zip +0 -0
  211. package/.yarn/cache/arg-npm-4.1.3-1748b966a8-070ff801a9.zip +0 -0
  212. package/.yarn/cache/argparse-npm-1.0.10-528934e59d-b2972c5c23.zip +0 -0
  213. package/.yarn/cache/argparse-npm-2.0.1-faff7999e6-c5640c2d89.zip +0 -0
  214. package/.yarn/cache/array-ify-npm-1.0.0-e09a371977-75c9c072fa.zip +0 -0
  215. package/.yarn/cache/assertion-error-npm-2.0.1-8169d136f2-bbbcb117ac.zip +0 -0
  216. package/.yarn/cache/ast-v8-to-istanbul-npm-0.3.12-a066421931-bad6ba222b.zip +0 -0
  217. package/.yarn/cache/balanced-match-npm-4.0.4-fd666b3c7f-07e86102a3.zip +0 -0
  218. package/.yarn/cache/brace-expansion-npm-5.0.4-acb9332524-359cbcfa80.zip +0 -0
  219. package/.yarn/cache/cacache-npm-20.0.3-5f244d5bdd-c7da1ca694.zip +0 -0
  220. package/.yarn/cache/callsites-npm-3.1.0-268f989910-fff9227740.zip +0 -0
  221. package/.yarn/cache/chai-npm-6.2.2-e1795cadaa-e6c69e5f0c.zip +0 -0
  222. package/.yarn/cache/chalk-npm-2.4.2-3ea16dd91e-e6543f02ec.zip +0 -0
  223. package/.yarn/cache/chownr-npm-3.0.0-5275e85d25-43925b8770.zip +0 -0
  224. package/.yarn/cache/cliui-npm-8.0.1-3b029092cf-4bda0f09c3.zip +0 -0
  225. package/.yarn/cache/color-convert-npm-1.9.3-1fe690075e-5ad3c53494.zip +0 -0
  226. package/.yarn/cache/color-convert-npm-2.0.1-79730e935b-37e1150172.zip +0 -0
  227. package/.yarn/cache/color-name-npm-1.1.3-728b7b5d39-566a3d42cc.zip +0 -0
  228. package/.yarn/cache/color-name-npm-1.1.4-025792b0ea-a1a3f91415.zip +0 -0
  229. package/.yarn/cache/compare-func-npm-2.0.0-9cd7852f23-78bd4dd4ed.zip +0 -0
  230. package/.yarn/cache/compare-versions-npm-6.1.1-4b4ac16a32-415205c762.zip +0 -0
  231. package/.yarn/cache/confbox-npm-0.1.8-8396039b68-fc2c68d97c.zip +0 -0
  232. package/.yarn/cache/confbox-npm-0.2.4-31ba8953f9-4c36af33d9.zip +0 -0
  233. package/.yarn/cache/conventional-changelog-angular-npm-8.3.0-0cd5330d9e-bab87fa741.zip +0 -0
  234. package/.yarn/cache/conventional-changelog-conventionalcommits-npm-9.3.0-6c1ee7bc50-36be9435bb.zip +0 -0
  235. package/.yarn/cache/conventional-commits-parser-npm-6.3.0-ac5eec936e-7b152db0b6.zip +0 -0
  236. package/.yarn/cache/cosmiconfig-npm-9.0.1-66b0cd2503-a5d4d95599.zip +0 -0
  237. package/.yarn/cache/cosmiconfig-typescript-loader-npm-6.2.0-a314118ca7-0fd8fd9b9b.zip +0 -0
  238. package/.yarn/cache/create-require-npm-1.1.1-839884ca2e-157cbc59b2.zip +0 -0
  239. package/.yarn/cache/cross-spawn-npm-7.0.6-264bddf921-053ea8b213.zip +0 -0
  240. package/.yarn/cache/dargs-npm-8.1.0-39fde97ef5-08cbd1ee4a.zip +0 -0
  241. package/.yarn/cache/de-indent-npm-1.0.2-66cccde30f-7058ce58ab.zip +0 -0
  242. package/.yarn/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip +0 -0
  243. package/.yarn/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip +0 -0
  244. package/.yarn/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip +0 -0
  245. package/.yarn/cache/deep-is-npm-0.1.4-88938b5a67-7f0ee496e0.zip +0 -0
  246. package/.yarn/cache/diff-npm-4.0.2-73133c7102-81b91f9d39.zip +0 -0
  247. package/.yarn/cache/diff-npm-8.0.3-6f5c127138-d29321c70d.zip +0 -0
  248. package/.yarn/cache/dot-prop-npm-5.3.0-7bf6ee1eb8-93f0d343ef.zip +0 -0
  249. package/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-b6053ad399.zip +0 -0
  250. package/.yarn/cache/entities-npm-4.5.0-7cdb83b832-5b039739f7.zip +0 -0
  251. package/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-285325677b.zip +0 -0
  252. package/.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-ba827f8936.zip +0 -0
  253. package/.yarn/cache/es-module-lexer-npm-1.7.0-456b47a08a-4c935affcb.zip +0 -0
  254. package/.yarn/cache/esbuild-npm-0.27.3-85b6c20323-fdc3f87a3f.zip +0 -0
  255. package/.yarn/cache/escalade-npm-3.1.1-e02da076aa-afd02e6ca9.zip +0 -0
  256. package/.yarn/cache/escalade-npm-3.2.0-19b50dd48f-ced4dd3a78.zip +0 -0
  257. package/.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-a968ad453d.zip +0 -0
  258. package/.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-9497d4dd30.zip +0 -0
  259. package/.yarn/cache/eslint-npm-10.0.3-c98e23b2a9-fbbb4d99cb.zip +0 -0
  260. package/.yarn/cache/eslint-scope-npm-9.1.2-50e6e92f41-9fb8bca5a7.zip +0 -0
  261. package/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-92708e882c.zip +0 -0
  262. package/.yarn/cache/eslint-visitor-keys-npm-5.0.1-30a44b062b-16190bdf2c.zip +0 -0
  263. package/.yarn/cache/espree-npm-11.2.0-095134f369-cf87e18ffd.zip +0 -0
  264. package/.yarn/cache/esquery-npm-1.7.0-c1e8da438a-77d5173db4.zip +0 -0
  265. package/.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-81a37116d1.zip +0 -0
  266. package/.yarn/cache/estraverse-npm-5.3.0-03284f8f63-1ff9447b96.zip +0 -0
  267. package/.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-53a6c54e20.zip +0 -0
  268. package/.yarn/cache/estree-walker-npm-3.0.3-0372979673-c12e3c2b26.zip +0 -0
  269. package/.yarn/cache/esutils-npm-2.0.3-f865beafd5-9a2fe69a41.zip +0 -0
  270. package/.yarn/cache/expect-type-npm-1.3.0-95a4384745-8412b3fe4f.zip +0 -0
  271. package/.yarn/cache/exponential-backoff-npm-3.1.3-28be78d98e-77e3ae682b.zip +0 -0
  272. package/.yarn/cache/exsolve-npm-1.0.8-20570c05a2-65e44ae05b.zip +0 -0
  273. package/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-40dedc862e.zip +0 -0
  274. package/.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-7f081eb0b8.zip +0 -0
  275. package/.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-111972b373.zip +0 -0
  276. package/.yarn/cache/fast-uri-npm-3.0.3-0874072625-4b2c5ce681.zip +0 -0
  277. package/.yarn/cache/fdir-npm-6.5.0-8814a0dec7-e345083c43.zip +0 -0
  278. package/.yarn/cache/fflate-npm-0.8.2-5129f303f0-03448d630c.zip +0 -0
  279. package/.yarn/cache/file-entry-cache-npm-8.0.0-5b09d19a83-9e2b5938b1.zip +0 -0
  280. package/.yarn/cache/find-up-npm-5.0.0-e03e9b796d-062c5a83a9.zip +0 -0
  281. package/.yarn/cache/flat-cache-npm-4.0.1-12bf2455f7-2c59d93e9f.zip +0 -0
  282. package/.yarn/cache/flatted-npm-3.2.9-0462256d3c-5c91c5a0a2.zip +0 -0
  283. package/.yarn/cache/flatted-npm-3.3.4-614e5aba3e-d1f33426e9.zip +0 -0
  284. package/.yarn/cache/fs-extra-npm-11.3.4-29a9d2b3b0-e08276f767.zip +0 -0
  285. package/.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-63e80da2ff.zip +0 -0
  286. package/.yarn/cache/fsevents-npm-2.3.3-ce9fb0ffae-a1f0c44595.zip +0 -0
  287. package/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-d8680ee1e5.zip +0 -0
  288. package/.yarn/cache/get-caller-file-npm-2.0.5-80e8a86305-c6c7b60271.zip +0 -0
  289. package/.yarn/cache/git-raw-commits-npm-4.0.0-60e7e666d1-ab51335d9e.zip +0 -0
  290. package/.yarn/cache/glob-npm-13.0.6-864eb0cece-269c236f11.zip +0 -0
  291. package/.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-317034d886.zip +0 -0
  292. package/.yarn/cache/global-directory-npm-4.0.1-1de95382fd-f9cbeef41d.zip +0 -0
  293. package/.yarn/cache/globals-npm-17.4.0-d04eded15b-2be9e8c2b9.zip +0 -0
  294. package/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip +0 -0
  295. package/.yarn/cache/has-flag-npm-3.0.0-16ac11fe05-1c6c83b14b.zip +0 -0
  296. package/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-2e789c61b7.zip +0 -0
  297. package/.yarn/cache/hasown-npm-2.0.0-78b794ceef-5d415b114f.zip +0 -0
  298. package/.yarn/cache/he-npm-1.2.0-3b73a2ff07-a27d478bef.zip +0 -0
  299. package/.yarn/cache/html-escaper-npm-2.0.2-38e51ef294-208e8a12de.zip +0 -0
  300. package/.yarn/cache/http-cache-semantics-npm-4.2.0-fadacfb3ad-45b66a945c.zip +0 -0
  301. package/.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-4207b06a45.zip +0 -0
  302. package/.yarn/cache/https-proxy-agent-npm-7.0.6-27a95c2690-f729219bc7.zip +0 -0
  303. package/.yarn/cache/husky-npm-9.1.7-5b02eaabc4-35bb110a71.zip +0 -0
  304. package/.yarn/cache/iconv-lite-npm-0.7.2-716fc012a0-3c228920f3.zip +0 -0
  305. package/.yarn/cache/ignore-npm-5.3.0-fb0f5fa062-dc06bea5c2.zip +0 -0
  306. package/.yarn/cache/ignore-npm-7.0.5-dea34ee430-ae00db89fe.zip +0 -0
  307. package/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-7f882953aa.zip +0 -0
  308. package/.yarn/cache/import-lazy-npm-4.0.0-3215653869-a3520313e2.zip +0 -0
  309. package/.yarn/cache/import-meta-resolve-npm-4.2.0-d0ecf96035-3ee8aeecb6.zip +0 -0
  310. package/.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-8b51313850.zip +0 -0
  311. package/.yarn/cache/ini-npm-4.1.1-01c2cbda7b-7fddc8dfd3.zip +0 -0
  312. package/.yarn/cache/ip-address-npm-10.1.0-d5d5693401-0103516cfa.zip +0 -0
  313. package/.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-e7fb686a73.zip +0 -0
  314. package/.yarn/cache/is-core-module-npm-2.13.1-36e17434f9-2cba9903aa.zip +0 -0
  315. package/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-5487da3569.zip +0 -0
  316. package/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-bb11d825e0.zip +0 -0
  317. package/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-17fb4014e2.zip +0 -0
  318. package/.yarn/cache/is-obj-npm-2.0.0-3d95e053f4-85044ed7ba.zip +0 -0
  319. package/.yarn/cache/is-plain-obj-npm-4.1.0-a4f2a92b44-32130d651d.zip +0 -0
  320. package/.yarn/cache/isexe-npm-2.0.0-b58870bd2e-228cfa503f.zip +0 -0
  321. package/.yarn/cache/isexe-npm-4.0.0-588229ad74-5884815115.zip +0 -0
  322. package/.yarn/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-6c7ff21067.zip +0 -0
  323. package/.yarn/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-84323afb14.zip +0 -0
  324. package/.yarn/cache/istanbul-reports-npm-3.2.0-b755b56d78-d596317cfd.zip +0 -0
  325. package/.yarn/cache/jiti-npm-2.6.1-597ab7fb84-79b2e96a8e.zip +0 -0
  326. package/.yarn/cache/jju-npm-1.4.0-670678eaa3-f3f444557e.zip +0 -0
  327. package/.yarn/cache/js-tokens-npm-10.0.0-2f75d73bcb-a934987478.zip +0 -0
  328. package/.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-e248708d37.zip +0 -0
  329. package/.yarn/cache/js-yaml-npm-4.1.0-3606f32312-184a24b4ea.zip +0 -0
  330. package/.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-0d1c91569d.zip +0 -0
  331. package/.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-140932564c.zip +0 -0
  332. package/.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-108fa90d4c.zip +0 -0
  333. package/.yarn/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-71e30015d7.zip +0 -0
  334. package/.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cb168b61fd.zip +0 -0
  335. package/.yarn/cache/jsonfile-npm-6.1.0-20a4796cee-4f95b5e8a5.zip +0 -0
  336. package/.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-aa52f3c5e1.zip +0 -0
  337. package/.yarn/cache/kolorist-npm-1.8.0-2cc04dcc05-73075db44a.zip +0 -0
  338. package/.yarn/cache/levn-npm-0.4.1-d183b2d7bb-effb03cad7.zip +0 -0
  339. package/.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-3da6ee62d4.zip +0 -0
  340. package/.yarn/cache/local-pkg-npm-1.1.2-04ade6b6c7-1bcfcc5528.zip +0 -0
  341. package/.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-d3972ab70d.zip +0 -0
  342. package/.yarn/cache/lodash-npm-4.17.23-50bdb1c01a-1264a90469.zip +0 -0
  343. package/.yarn/cache/lodash.camelcase-npm-4.3.0-bf268e3bf0-fcba15d21a.zip +0 -0
  344. package/.yarn/cache/lodash.kebabcase-npm-4.1.1-89ffca7e1f-da5d8f41db.zip +0 -0
  345. package/.yarn/cache/lodash.mergewith-npm-4.6.2-7d2d4201ec-4adbed65ff.zip +0 -0
  346. package/.yarn/cache/lodash.snakecase-npm-4.1.1-b12cdbecb4-f0b3f2497e.zip +0 -0
  347. package/.yarn/cache/lodash.startcase-npm-4.4.0-637aa8cc15-bd82aa87a4.zip +0 -0
  348. package/.yarn/cache/lodash.upperfirst-npm-4.3.1-e3b7c364ba-435625da4b.zip +0 -0
  349. package/.yarn/cache/lru-cache-npm-11.2.6-acb7d4323e-73bbffb298.zip +0 -0
  350. package/.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-cb53e58278.zip +0 -0
  351. package/.yarn/cache/magic-string-npm-0.30.17-da1b7593b1-16826e415d.zip +0 -0
  352. package/.yarn/cache/magic-string-npm-0.30.21-9a226cb21e-299378e38f.zip +0 -0
  353. package/.yarn/cache/magicast-npm-0.5.2-24c891cd9d-924af67764.zip +0 -0
  354. package/.yarn/cache/make-dir-npm-4.0.0-ec3cd921cc-69b98a6c0b.zip +0 -0
  355. package/.yarn/cache/make-error-npm-1.3.6-ccb85d9458-171e458d86.zip +0 -0
  356. package/.yarn/cache/make-fetch-happen-npm-15.0.4-cd90f16f9b-b874bf6879.zip +0 -0
  357. package/.yarn/cache/meow-npm-12.1.1-bd7858d088-a125ca99a3.zip +0 -0
  358. package/.yarn/cache/meow-npm-13.2.0-9907f89171-d5b339ae31.zip +0 -0
  359. package/.yarn/cache/minimatch-npm-10.2.4-11f0605299-35f3dfb7b9.zip +0 -0
  360. package/.yarn/cache/minimatch-npm-9.0.7-145dd43fbb-e90f8d8dd1.zip +0 -0
  361. package/.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-19d3fcdca0.zip +0 -0
  362. package/.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-5167e73f62.zip +0 -0
  363. package/.yarn/cache/minipass-fetch-npm-5.0.2-cd03eefed8-ce4ab9f21c.zip +0 -0
  364. package/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-2a51b63feb.zip +0 -0
  365. package/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a114746943.zip +0 -0
  366. package/.yarn/cache/minipass-npm-7.1.3-b73a16498d-539da88dac.zip +0 -0
  367. package/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-cbda57cea2.zip +0 -0
  368. package/.yarn/cache/minipass-sized-npm-2.0.0-a911fc7d3f-f9201696a6.zip +0 -0
  369. package/.yarn/cache/minizlib-npm-3.1.0-6680befdba-5aad75ab00.zip +0 -0
  370. package/.yarn/cache/mlly-npm-1.8.1-0181666245-664fa66726.zip +0 -0
  371. package/.yarn/cache/mrmime-npm-2.0.0-0326eb1458-312b35ed28.zip +0 -0
  372. package/.yarn/cache/ms-npm-2.1.2-ec0c1512ff-a437714e2f.zip +0 -0
  373. package/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-d924b57e73.zip +0 -0
  374. package/.yarn/cache/muggle-string-npm-0.4.1-fe3c825cc2-e914b63e24.zip +0 -0
  375. package/.yarn/cache/nanoid-npm-3.3.11-f98c1f9ef6-40e7f70b3d.zip +0 -0
  376. package/.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-f5f9a7974b.zip +0 -0
  377. package/.yarn/cache/negotiator-npm-1.0.0-47d727e27e-4c559dd526.zip +0 -0
  378. package/.yarn/cache/node-gyp-npm-12.2.0-11f8fe84f1-3ed046746a.zip +0 -0
  379. package/.yarn/cache/nopt-npm-9.0.0-81316ec15c-1822eb6f9b.zip +0 -0
  380. package/.yarn/cache/obug-npm-2.1.1-029730d296-59dccd7de7.zip +0 -0
  381. package/.yarn/cache/optionator-npm-0.9.3-56c3a4bf80-66fba794d4.zip +0 -0
  382. package/.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-9db675949d.zip +0 -0
  383. package/.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-2290d627ab.zip +0 -0
  384. package/.yarn/cache/p-map-npm-7.0.4-39386109d0-a5030935d3.zip +0 -0
  385. package/.yarn/cache/parent-module-npm-1.0.1-1fae11b095-c63d6e8000.zip +0 -0
  386. package/.yarn/cache/parse-json-npm-5.2.0-00a63b1199-77947f2253.zip +0 -0
  387. package/.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-8b8c3fd5c6.zip +0 -0
  388. package/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-8c0bd3f523.zip +0 -0
  389. package/.yarn/cache/path-key-npm-3.1.1-0e66ea8321-748c43efd5.zip +0 -0
  390. package/.yarn/cache/path-parse-npm-1.0.7-09564527b7-11ce261f9d.zip +0 -0
  391. package/.yarn/cache/path-scurry-npm-2.0.2-f10aa6a77e-b35ad37cf6.zip +0 -0
  392. package/.yarn/cache/pathe-npm-2.0.3-0924246ee0-c118dc5a8b.zip +0 -0
  393. package/.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e2e3e8170a.zip +0 -0
  394. package/.yarn/cache/picomatch-npm-4.0.2-e93516ddf2-7c51f3ad2b.zip +0 -0
  395. package/.yarn/cache/picomatch-npm-4.0.3-0a647b87cc-9582c951e9.zip +0 -0
  396. package/.yarn/cache/pkg-types-npm-1.3.1-832c9cd162-19e6cb8b66.zip +0 -0
  397. package/.yarn/cache/pkg-types-npm-2.3.0-e7381b4aaa-d2bbddc5b8.zip +0 -0
  398. package/.yarn/cache/postcss-npm-8.5.8-b010bee8df-dd918f7127.zip +0 -0
  399. package/.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-b00d617431.zip +0 -0
  400. package/.yarn/cache/proc-log-npm-6.1.0-84e609b3f4-4f178d4062.zip +0 -0
  401. package/.yarn/cache/punycode-npm-2.3.1-97543c420d-14f76a8206.zip +0 -0
  402. package/.yarn/cache/quansync-npm-0.2.11-f7bf964a44-cb9a1f8ebc.zip +0 -0
  403. package/.yarn/cache/require-directory-npm-2.1.1-8608aee50b-83aa76a7bc.zip +0 -0
  404. package/.yarn/cache/require-from-string-npm-2.0.2-8557e0db12-aaa267e0c5.zip +0 -0
  405. package/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-8408eec31a.zip +0 -0
  406. package/.yarn/cache/resolve-from-npm-5.0.0-15c9db4d33-b21cb7f1fb.zip +0 -0
  407. package/.yarn/cache/resolve-npm-1.22.8-098f379dfe-07e179f437.zip +0 -0
  408. package/.yarn/cache/resolve-patch-4254c24959-0446f02443.zip +0 -0
  409. package/.yarn/cache/retry-npm-0.13.1-89eb100ab6-9ae822ee19.zip +0 -0
  410. package/.yarn/cache/rollup-npm-4.59.0-3b10f603ec-f38742da34.zip +0 -0
  411. package/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-7e3c8b2e88.zip +0 -0
  412. package/.yarn/cache/semver-npm-7.5.4-c4ad957fcd-5160b06975.zip +0 -0
  413. package/.yarn/cache/semver-npm-7.6.3-57e82c14d5-88f33e148b.zip +0 -0
  414. package/.yarn/cache/semver-npm-7.7.4-746e538da5-5215ad0234.zip +0 -0
  415. package/.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-a41692e7d8.zip +0 -0
  416. package/.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1dbed0726d.zip +0 -0
  417. package/.yarn/cache/siginfo-npm-2.0.0-9bbac931f8-3def8f8e51.zip +0 -0
  418. package/.yarn/cache/sirv-npm-3.0.2-6cf658c733-5930e4397a.zip +0 -0
  419. package/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-a16775323e.zip +0 -0
  420. package/.yarn/cache/socks-npm-2.8.7-d1d20aae19-2805a43a1c.zip +0 -0
  421. package/.yarn/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-5d2c6cecba.zip +0 -0
  422. package/.yarn/cache/source-map-js-npm-1.2.1-b9a47d7e1a-7bda1fc4c1.zip +0 -0
  423. package/.yarn/cache/source-map-npm-0.6.1-1a3621db16-ab55398007.zip +0 -0
  424. package/.yarn/cache/split2-npm-4.2.0-16aa3883ba-b292beb8ce.zip +0 -0
  425. package/.yarn/cache/sprintf-js-npm-1.0.3-73f0a322fa-ecadcfe4c7.zip +0 -0
  426. package/.yarn/cache/ssri-npm-13.0.1-c266f2233c-cf6408a186.zip +0 -0
  427. package/.yarn/cache/stackback-npm-0.0.2-73273dc92e-89a1416668.zip +0 -0
  428. package/.yarn/cache/std-env-npm-3.10.0-30d3e2646f-1814927a45.zip +0 -0
  429. package/.yarn/cache/string-argv-npm-0.3.2-6e057a88f1-75c02a8375.zip +0 -0
  430. package/.yarn/cache/string-width-npm-4.2.3-2c27177bae-1e525e92e5.zip +0 -0
  431. package/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-1ae5f212a1.zip +0 -0
  432. package/.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-9681a6257b.zip +0 -0
  433. package/.yarn/cache/supports-color-npm-5.5.0-183ac537bc-6ae5ff319b.zip +0 -0
  434. package/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-afb4c88521.zip +0 -0
  435. package/.yarn/cache/supports-color-npm-8.1.1-289e937149-ea1d3c275d.zip +0 -0
  436. package/.yarn/cache/supports-preserve-symlinks-flag-npm-1.0.0-f17c4d0028-6c40323407.zip +0 -0
  437. package/.yarn/cache/tar-npm-7.5.10-83147ff192-ed905e4b33.zip +0 -0
  438. package/.yarn/cache/tinybench-npm-2.9.0-2861a048db-c3500b0f60.zip +0 -0
  439. package/.yarn/cache/tinyexec-npm-1.0.2-321b713e56-1261a8e34c.zip +0 -0
  440. package/.yarn/cache/tinyglobby-npm-0.2.15-0e783aadbd-869c31490d.zip +0 -0
  441. package/.yarn/cache/tinyrainbow-npm-3.0.3-06ed35d14d-1e799d35cd.zip +0 -0
  442. package/.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-b214d21dbf.zip +0 -0
  443. package/.yarn/cache/totalist-npm-3.0.1-91e71f3baa-4bb1fadb69.zip +0 -0
  444. package/.yarn/cache/ts-api-utils-npm-2.4.0-1179124e9a-ed185861ae.zip +0 -0
  445. package/.yarn/cache/ts-node-npm-10.9.2-3f3890b9ac-5f29938489.zip +0 -0
  446. package/.yarn/cache/tslib-npm-2.8.1-66590b21b8-9c4759110a.zip +0 -0
  447. package/.yarn/cache/type-check-npm-0.4.0-60565800ce-7b3fd0ed43.zip +0 -0
  448. package/.yarn/cache/typescript-eslint-npm-8.56.1-533c704529-c33aeb9a8b.zip +0 -0
  449. package/.yarn/cache/typescript-npm-5.7.2-b1f84a8b28-a873118b52.zip +0 -0
  450. package/.yarn/cache/typescript-npm-5.8.2-b95d637f6a-5c4f6fbf1c.zip +0 -0
  451. package/.yarn/cache/typescript-patch-26c53754b1-5448a08e59.zip +0 -0
  452. package/.yarn/cache/typescript-patch-aed9e5263d-f3b8082c9d.zip +0 -0
  453. package/.yarn/cache/ufo-npm-1.6.3-29bac69d97-bf0e4ebff9.zip +0 -0
  454. package/.yarn/cache/undici-types-npm-7.18.2-3e6d69d829-85a7918911.zip +0 -0
  455. package/.yarn/cache/unique-filename-npm-5.0.0-605f54f18e-afb897e9cf.zip +0 -0
  456. package/.yarn/cache/unique-slug-npm-6.0.0-f26b186e99-da7ade4cb0.zip +0 -0
  457. package/.yarn/cache/universalify-npm-2.0.1-040ba5a21e-73e8ee3809.zip +0 -0
  458. package/.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-4ef57b45aa.zip +0 -0
  459. package/.yarn/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-bdc36fb809.zip +0 -0
  460. package/.yarn/cache/vite-npm-7.3.1-330baf2f0d-5c7548f5f4.zip +0 -0
  461. package/.yarn/cache/vite-plugin-dts-npm-4.5.4-2445647687-5fcb7f3739.zip +0 -0
  462. package/.yarn/cache/vitest-npm-4.0.18-52f42bdace-b913cd3203.zip +0 -0
  463. package/.yarn/cache/vscode-uri-npm-3.0.8-56f46b9d24-f7f217f526.zip +0 -0
  464. package/.yarn/cache/which-npm-2.0.2-320ddf72f7-66522872a7.zip +0 -0
  465. package/.yarn/cache/which-npm-6.0.1-afc3b2db90-7e710e54ea.zip +0 -0
  466. package/.yarn/cache/why-is-node-running-npm-2.3.0-011cf61a18-1cde0b01b8.zip +0 -0
  467. package/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-d15fc12c11.zip +0 -0
  468. package/.yarn/cache/y18n-npm-5.0.8-5f3a0a7e62-4df2842c36.zip +0 -0
  469. package/.yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip +0 -0
  470. package/.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-a499c81ce6.zip +0 -0
  471. package/.yarn/cache/yargs-npm-17.7.2-80b62638e1-ccd7e723e6.zip +0 -0
  472. package/.yarn/cache/yargs-parser-npm-21.1.1-8fdc003314-f84b5e4816.zip +0 -0
  473. package/.yarn/cache/yn-npm-3.1.1-8ad4259784-0732468dd7.zip +0 -0
  474. package/.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-dceb44c285.zip +0 -0
  475. package/.yarn/install-state.gz +0 -0
  476. package/.yarn/releases/yarn-4.12.0.cjs +0 -942
  477. package/.yarnrc.yml +0 -5
  478. package/AGENTS.md +0 -82
  479. package/CODE_OF_CONDUCT.md +0 -128
  480. package/dist/metadata.cjs.js +0 -130
  481. package/dist/metadata.es.js +0 -131
  482. package/docker/services/node/Dockerfile +0 -9
  483. package/drafts/.gitignore +0 -2
  484. package/skills/commit-workflow/SKILL.md +0 -93
  485. package/skills/coverage-recovery/SKILL.md +0 -68
  486. package/skills/yarn-lock-conflict-resolution/SKILL.md +0 -69
@@ -1,514 +1,387 @@
1
- import { d as describeConstraints } from "./metadata.es.js";
2
- const jsonSchemaMetadataKeys = [
3
- "title",
4
- "description",
5
- "format",
6
- "default",
7
- "examples",
8
- "deprecated",
9
- "readOnly",
10
- "writeOnly"
1
+ import { u as describeConstraints } from "./assert-CzMg5aO7.mjs";
2
+ //#region src/json-schema.ts
3
+ var jsonSchemaMetadataKeys = [
4
+ "title",
5
+ "description",
6
+ "format",
7
+ "default",
8
+ "examples",
9
+ "deprecated",
10
+ "readOnly",
11
+ "writeOnly"
11
12
  ];
12
- const typeOf = (value) => Object.prototype.toString.call(value);
13
- const isEmptySchema = (schema) => Object.keys(schema).length === 0;
14
- const isFiniteJsonNumber = (value) => typeof value === "number" && Number.isFinite(value);
15
- const isJsonScalar = (value) => {
16
- return value === null || typeof value === "string" || typeof value === "boolean" || isFiniteJsonNumber(value);
13
+ var typeOf = (value) => Object.prototype.toString.call(value);
14
+ var isEmptySchema = (schema) => Object.keys(schema).length === 0;
15
+ var isFiniteJsonNumber = (value) => typeof value === "number" && Number.isFinite(value);
16
+ var isJsonScalar = (value) => {
17
+ return value === null || typeof value === "string" || typeof value === "boolean" || isFiniteJsonNumber(value);
17
18
  };
18
- const isLength = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
19
- const isFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value);
20
- const isPositiveFiniteNumber = (value) => isFiniteNumber(value) && value > 0;
21
- const withPath = (context, segment) => ({
22
- ...context,
23
- path: [...context.path, segment]
19
+ var isLength = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
20
+ var isFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value);
21
+ var isPositiveFiniteNumber = (value) => isFiniteNumber(value) && value > 0;
22
+ var withPath = (context, segment) => ({
23
+ ...context,
24
+ path: [...context.path, segment]
24
25
  });
25
- const formatPath = (path) => path.length === 0 ? "<root>" : path.map((segment) => typeof segment === "symbol" ? segment.toString() : String(segment)).join(".");
26
- const escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
27
- const setSchemaProperty = (schema, key, value) => {
28
- schema[key] = value;
26
+ var formatPath = (path) => path.length === 0 ? "<root>" : path.map((segment) => typeof segment === "symbol" ? segment.toString() : String(segment)).join(".");
27
+ var escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
28
+ var setSchemaProperty = (schema, key, value) => {
29
+ schema[key] = value;
29
30
  };
30
- const pickMetadata = (metadata) => {
31
- if (!metadata) {
32
- return {};
33
- }
34
- const schemaMetadata = {};
35
- jsonSchemaMetadataKeys.forEach((key) => {
36
- if (!(key in metadata)) {
37
- return;
38
- }
39
- const value = metadata[key];
40
- if (key === "examples") {
41
- if (Array.isArray(value)) {
42
- setSchemaProperty(schemaMetadata, "examples", [...value]);
43
- }
44
- return;
45
- }
46
- if (key === "default") {
47
- setSchemaProperty(schemaMetadata, "default", value);
48
- return;
49
- }
50
- if ((key === "deprecated" || key === "readOnly" || key === "writeOnly") && typeof value === "boolean") {
51
- setSchemaProperty(schemaMetadata, key, value);
52
- return;
53
- }
54
- if (typeof value === "string") {
55
- setSchemaProperty(schemaMetadata, key, value);
56
- }
57
- });
58
- return schemaMetadata;
31
+ var pickMetadata = (metadata) => {
32
+ if (!metadata) return {};
33
+ const schemaMetadata = {};
34
+ jsonSchemaMetadataKeys.forEach((key) => {
35
+ if (!(key in metadata)) return;
36
+ const value = metadata[key];
37
+ if (key === "examples") {
38
+ if (Array.isArray(value)) setSchemaProperty(schemaMetadata, "examples", [...value]);
39
+ return;
40
+ }
41
+ if (key === "default") {
42
+ setSchemaProperty(schemaMetadata, "default", value);
43
+ return;
44
+ }
45
+ if ((key === "deprecated" || key === "readOnly" || key === "writeOnly") && typeof value === "boolean") {
46
+ setSchemaProperty(schemaMetadata, key, value);
47
+ return;
48
+ }
49
+ if (typeof value === "string") setSchemaProperty(schemaMetadata, key, value);
50
+ });
51
+ return schemaMetadata;
59
52
  };
60
- const applyMetadata = (schema, metadata) => {
61
- const schemaMetadata = pickMetadata(metadata);
62
- const nextSchema = { ...schema };
63
- jsonSchemaMetadataKeys.forEach((key) => {
64
- if (!(key in schemaMetadata) || key in nextSchema) {
65
- return;
66
- }
67
- setSchemaProperty(nextSchema, key, schemaMetadata[key]);
68
- });
69
- return nextSchema;
53
+ var applyMetadata = (schema, metadata) => {
54
+ const schemaMetadata = pickMetadata(metadata);
55
+ const nextSchema = { ...schema };
56
+ jsonSchemaMetadataKeys.forEach((key) => {
57
+ if (!(key in schemaMetadata) || key in nextSchema) return;
58
+ setSchemaProperty(nextSchema, key, schemaMetadata[key]);
59
+ });
60
+ return nextSchema;
70
61
  };
71
- class JsonSchemaExportError extends Error {
72
- constructor(message, {
73
- descriptor,
74
- path = [],
75
- reason
76
- }) {
77
- super(message);
78
- this.name = "JsonSchemaExportError";
79
- this.descriptor = descriptor;
80
- this.reason = reason;
81
- this.path = [...path];
82
- }
83
- }
84
- const unsupported = (descriptor, context, reason) => {
85
- if (context.mode === "strict") {
86
- throw new JsonSchemaExportError(
87
- `Cannot export ${descriptor.kind} at ${formatPath(context.path)}: ${reason}`,
88
- { descriptor, path: context.path, reason }
89
- );
90
- }
91
- return {};
62
+ var JsonSchemaExportError = class extends Error {
63
+ constructor(message, { descriptor, path = [], reason }) {
64
+ super(message);
65
+ this.name = "JsonSchemaExportError";
66
+ this.descriptor = descriptor;
67
+ this.reason = reason;
68
+ this.path = [...path];
69
+ }
92
70
  };
93
- const mergeNullable = (schema) => {
94
- if (isEmptySchema(schema)) {
95
- return schema;
96
- }
97
- return {
98
- anyOf: [schema, { type: "null" }]
99
- };
71
+ var unsupported = (descriptor, context, reason) => {
72
+ if (context.mode === "strict") throw new JsonSchemaExportError(`Cannot export ${descriptor.kind} at ${formatPath(context.path)}: ${reason}`, {
73
+ descriptor,
74
+ path: context.path,
75
+ reason
76
+ });
77
+ return {};
100
78
  };
101
- const toPropertyName = (key, descriptor, context) => {
102
- if (typeof key === "symbol") {
103
- return unsupported(descriptor, context, "symbol keys cannot be represented in JSON Schema");
104
- }
105
- return String(key);
79
+ var mergeNullable = (schema) => {
80
+ if (isEmptySchema(schema)) return schema;
81
+ return { anyOf: [schema, { type: "null" }] };
106
82
  };
107
- const lengthSchema = (descriptor, context) => {
108
- const stringSchema2 = { type: "string" };
109
- const arraySchema = { type: "array" };
110
- for (const constraint of descriptor.constraints) {
111
- switch (constraint.code) {
112
- case "length.exact": {
113
- const exact = constraint.args[0];
114
- if (!isLength(exact)) {
115
- return unsupported(descriptor, context, "hasLength exact bounds must be non-negative integers");
116
- }
117
- setSchemaProperty(stringSchema2, "minLength", exact);
118
- setSchemaProperty(stringSchema2, "maxLength", exact);
119
- setSchemaProperty(arraySchema, "minItems", exact);
120
- setSchemaProperty(arraySchema, "maxItems", exact);
121
- break;
122
- }
123
- case "length.min": {
124
- const min = constraint.args[0];
125
- if (!isLength(min)) {
126
- return unsupported(descriptor, context, "hasLength minimum bounds must be non-negative integers");
127
- }
128
- setSchemaProperty(stringSchema2, "minLength", min);
129
- setSchemaProperty(arraySchema, "minItems", min);
130
- break;
131
- }
132
- case "length.max": {
133
- const max = constraint.args[0];
134
- if (!isLength(max)) {
135
- return unsupported(descriptor, context, "hasLength maximum bounds must be non-negative integers");
136
- }
137
- setSchemaProperty(stringSchema2, "maxLength", max);
138
- setSchemaProperty(arraySchema, "maxItems", max);
139
- break;
140
- }
141
- case "length.range": {
142
- const range = constraint.args[0];
143
- if (!Array.isArray(range) || range.length !== 2 || !isLength(range[0]) || !isLength(range[1])) {
144
- return unsupported(descriptor, context, "hasLength ranges must be `[min, max]` integer tuples");
145
- }
146
- setSchemaProperty(stringSchema2, "minLength", range[0]);
147
- setSchemaProperty(stringSchema2, "maxLength", range[1]);
148
- setSchemaProperty(arraySchema, "minItems", range[0]);
149
- setSchemaProperty(arraySchema, "maxItems", range[1]);
150
- break;
151
- }
152
- default:
153
- return unsupported(descriptor, context, `unsupported hasLength constraint "${constraint.code}"`);
154
- }
155
- }
156
- return {
157
- anyOf: [stringSchema2, arraySchema]
158
- };
83
+ var toPropertyName = (key, descriptor, context) => {
84
+ if (typeof key === "symbol") return unsupported(descriptor, context, "symbol keys cannot be represented in JSON Schema");
85
+ return String(key);
159
86
  };
160
- const exactSchema = (descriptor, context) => {
161
- const [value] = descriptor.args ?? [];
162
- if (!isJsonScalar(value)) {
163
- return unsupported(
164
- descriptor,
165
- context,
166
- `exact(...) supports only JSON scalar values, got ${typeOf(value)}`
167
- );
168
- }
169
- return { const: value };
87
+ var lengthSchema = (descriptor, context) => {
88
+ const stringSchema = { type: "string" };
89
+ const arraySchema = { type: "array" };
90
+ for (const constraint of descriptor.constraints) switch (constraint.code) {
91
+ case "length.exact": {
92
+ const exact = constraint.args[0];
93
+ if (!isLength(exact)) return unsupported(descriptor, context, "hasLength exact bounds must be non-negative integers");
94
+ setSchemaProperty(stringSchema, "minLength", exact);
95
+ setSchemaProperty(stringSchema, "maxLength", exact);
96
+ setSchemaProperty(arraySchema, "minItems", exact);
97
+ setSchemaProperty(arraySchema, "maxItems", exact);
98
+ break;
99
+ }
100
+ case "length.min": {
101
+ const min = constraint.args[0];
102
+ if (!isLength(min)) return unsupported(descriptor, context, "hasLength minimum bounds must be non-negative integers");
103
+ setSchemaProperty(stringSchema, "minLength", min);
104
+ setSchemaProperty(arraySchema, "minItems", min);
105
+ break;
106
+ }
107
+ case "length.max": {
108
+ const max = constraint.args[0];
109
+ if (!isLength(max)) return unsupported(descriptor, context, "hasLength maximum bounds must be non-negative integers");
110
+ setSchemaProperty(stringSchema, "maxLength", max);
111
+ setSchemaProperty(arraySchema, "maxItems", max);
112
+ break;
113
+ }
114
+ case "length.range": {
115
+ const range = constraint.args[0];
116
+ if (!Array.isArray(range) || range.length !== 2 || !isLength(range[0]) || !isLength(range[1])) return unsupported(descriptor, context, "hasLength ranges must be `[min, max]` integer tuples");
117
+ setSchemaProperty(stringSchema, "minLength", range[0]);
118
+ setSchemaProperty(stringSchema, "maxLength", range[1]);
119
+ setSchemaProperty(arraySchema, "minItems", range[0]);
120
+ setSchemaProperty(arraySchema, "maxItems", range[1]);
121
+ break;
122
+ }
123
+ default: return unsupported(descriptor, context, `unsupported hasLength constraint "${constraint.code}"`);
124
+ }
125
+ return { anyOf: [stringSchema, arraySchema] };
170
126
  };
171
- const enumSchema = (descriptor, context) => {
172
- const [values] = descriptor.args ?? [];
173
- if (!Array.isArray(values) || values.some((value) => !isJsonScalar(value))) {
174
- return unsupported(
175
- descriptor,
176
- context,
177
- "oneOf(...) supports only arrays of JSON scalar values"
178
- );
179
- }
180
- return { enum: [...new Set(values)] };
127
+ var exactSchema = (descriptor, context) => {
128
+ const [value] = descriptor.args ?? [];
129
+ if (!isJsonScalar(value)) return unsupported(descriptor, context, `exact(...) supports only JSON scalar values, got ${typeOf(value)}`);
130
+ return { const: value };
181
131
  };
182
- const stringSchema = (descriptor, context) => {
183
- if (descriptor.name === "hasPattern") {
184
- const [pattern] = descriptor.constraints[0]?.args ?? [];
185
- if (!(pattern instanceof RegExp)) {
186
- return unsupported(descriptor, context, "hasPattern(...) requires a RegExp pattern");
187
- }
188
- if (pattern.flags !== "") {
189
- return unsupported(descriptor, context, "hasPattern(...) supports only flagless regular expressions in JSON Schema");
190
- }
191
- return {
192
- type: "string",
193
- pattern: pattern.source
194
- };
195
- }
196
- if (descriptor.name === "startsWith") {
197
- const [prefix] = descriptor.constraints[0]?.args ?? [];
198
- if (typeof prefix !== "string") {
199
- return unsupported(descriptor, context, "startsWith(...) requires a string prefix");
200
- }
201
- return {
202
- type: "string",
203
- pattern: `^${escapeRegExp(prefix)}`
204
- };
205
- }
206
- const [suffix] = descriptor.constraints[0]?.args ?? [];
207
- if (typeof suffix !== "string") {
208
- return unsupported(descriptor, context, "endsWith(...) requires a string suffix");
209
- }
210
- return {
211
- type: "string",
212
- pattern: `${escapeRegExp(suffix)}$`
213
- };
132
+ var enumSchema = (descriptor, context) => {
133
+ const [values] = descriptor.args ?? [];
134
+ if (!Array.isArray(values) || values.some((value) => !isJsonScalar(value))) return unsupported(descriptor, context, "oneOf(...) supports only arrays of JSON scalar values");
135
+ return { enum: [...new Set(values)] };
214
136
  };
215
- const numberSchema = (descriptor, context) => {
216
- const schema = { type: "number" };
217
- if (descriptor.name === "multipleOf") {
218
- const [step] = descriptor.constraints[0]?.args ?? [];
219
- if (!isPositiveFiniteNumber(step)) {
220
- return unsupported(descriptor, context, "multipleOf(...) requires a positive finite divisor");
221
- }
222
- setSchemaProperty(schema, "multipleOf", step);
223
- return schema;
224
- }
225
- for (const constraint of descriptor.constraints) {
226
- switch (constraint.code) {
227
- case "number.exact": {
228
- const exact = constraint.args[0];
229
- if (!isFiniteNumber(exact)) {
230
- return unsupported(descriptor, context, "hasValue exact bounds must be finite numbers");
231
- }
232
- setSchemaProperty(schema, "const", exact);
233
- break;
234
- }
235
- case "number.min": {
236
- const min = constraint.args[0];
237
- if (!isFiniteNumber(min)) {
238
- return unsupported(descriptor, context, "hasValue minimum bounds must be finite numbers");
239
- }
240
- setSchemaProperty(schema, "minimum", min);
241
- break;
242
- }
243
- case "number.max": {
244
- const max = constraint.args[0];
245
- if (!isFiniteNumber(max)) {
246
- return unsupported(descriptor, context, "hasValue maximum bounds must be finite numbers");
247
- }
248
- setSchemaProperty(schema, "maximum", max);
249
- break;
250
- }
251
- case "number.range": {
252
- const range = constraint.args[0];
253
- if (!Array.isArray(range) || range.length !== 2 || !isFiniteNumber(range[0]) || !isFiniteNumber(range[1])) {
254
- return unsupported(descriptor, context, "hasValue ranges must be `[min, max]` finite number tuples");
255
- }
256
- setSchemaProperty(schema, "minimum", range[0]);
257
- setSchemaProperty(schema, "maximum", range[1]);
258
- break;
259
- }
260
- default:
261
- return unsupported(descriptor, context, `unsupported number assertion "${descriptor.name}"`);
262
- }
263
- }
264
- return schema;
137
+ var stringSchema = (descriptor, context) => {
138
+ if (descriptor.name === "hasPattern") {
139
+ const [pattern] = descriptor.constraints[0]?.args ?? [];
140
+ if (!(pattern instanceof RegExp)) return unsupported(descriptor, context, "hasPattern(...) requires a RegExp pattern");
141
+ if (pattern.flags !== "") return unsupported(descriptor, context, "hasPattern(...) supports only flagless regular expressions in JSON Schema");
142
+ return {
143
+ type: "string",
144
+ pattern: pattern.source
145
+ };
146
+ }
147
+ if (descriptor.name === "startsWith") {
148
+ const [prefix] = descriptor.constraints[0]?.args ?? [];
149
+ if (typeof prefix !== "string") return unsupported(descriptor, context, "startsWith(...) requires a string prefix");
150
+ return {
151
+ type: "string",
152
+ pattern: `^${escapeRegExp(prefix)}`
153
+ };
154
+ }
155
+ const [suffix] = descriptor.constraints[0]?.args ?? [];
156
+ if (typeof suffix !== "string") return unsupported(descriptor, context, "endsWith(...) requires a string suffix");
157
+ return {
158
+ type: "string",
159
+ pattern: `${escapeRegExp(suffix)}$`
160
+ };
265
161
  };
266
- const assertionAcceptsUndefined = (descriptor) => {
267
- switch (descriptor.name) {
268
- case "exact":
269
- return descriptor.args?.[0] === void 0;
270
- case "oneOf": {
271
- const [values] = descriptor.args ?? [];
272
- return Array.isArray(values) && values.includes(void 0);
273
- }
274
- default:
275
- return false;
276
- }
162
+ var numberSchema = (descriptor, context) => {
163
+ const schema = { type: "number" };
164
+ if (descriptor.name === "isInteger") {
165
+ setSchemaProperty(schema, "type", "integer");
166
+ return schema;
167
+ }
168
+ if (descriptor.name === "isSafeInteger") {
169
+ setSchemaProperty(schema, "type", "integer");
170
+ setSchemaProperty(schema, "minimum", Number.MIN_SAFE_INTEGER);
171
+ setSchemaProperty(schema, "maximum", Number.MAX_SAFE_INTEGER);
172
+ return schema;
173
+ }
174
+ if (descriptor.name === "multipleOf") {
175
+ const [step] = descriptor.constraints[0]?.args ?? [];
176
+ if (!isPositiveFiniteNumber(step)) return unsupported(descriptor, context, "multipleOf(...) requires a positive finite divisor");
177
+ setSchemaProperty(schema, "multipleOf", step);
178
+ return schema;
179
+ }
180
+ for (const constraint of descriptor.constraints) switch (constraint.code) {
181
+ case "number.exact": {
182
+ const exact = constraint.args[0];
183
+ if (!isFiniteNumber(exact)) return unsupported(descriptor, context, "hasValue exact bounds must be finite numbers");
184
+ setSchemaProperty(schema, "const", exact);
185
+ break;
186
+ }
187
+ case "number.min": {
188
+ const min = constraint.args[0];
189
+ if (!isFiniteNumber(min)) return unsupported(descriptor, context, "hasValue minimum bounds must be finite numbers");
190
+ setSchemaProperty(schema, "minimum", min);
191
+ break;
192
+ }
193
+ case "number.max": {
194
+ const max = constraint.args[0];
195
+ if (!isFiniteNumber(max)) return unsupported(descriptor, context, "hasValue maximum bounds must be finite numbers");
196
+ setSchemaProperty(schema, "maximum", max);
197
+ break;
198
+ }
199
+ case "number.range": {
200
+ const range = constraint.args[0];
201
+ if (!Array.isArray(range) || range.length !== 2 || !isFiniteNumber(range[0]) || !isFiniteNumber(range[1])) return unsupported(descriptor, context, "hasValue ranges must be `[min, max]` finite number tuples");
202
+ setSchemaProperty(schema, "minimum", range[0]);
203
+ setSchemaProperty(schema, "maximum", range[1]);
204
+ break;
205
+ }
206
+ default: return unsupported(descriptor, context, `unsupported number assertion "${descriptor.name}"`);
207
+ }
208
+ return schema;
277
209
  };
278
- const acceptsUndefined = (descriptor) => {
279
- switch (descriptor.kind) {
280
- case "optional":
281
- case "nullish":
282
- return true;
283
- case "nullable":
284
- case "each":
285
- case "tuple":
286
- case "record":
287
- case "shape":
288
- case "discriminatedUnion":
289
- case "validator":
290
- return false;
291
- case "allOf":
292
- return descriptor.constraints.every(acceptsUndefined);
293
- case "union":
294
- return descriptor.branches.some(acceptsUndefined);
295
- case "assertion":
296
- return assertionAcceptsUndefined(descriptor);
297
- default:
298
- return false;
299
- }
210
+ var assertionAcceptsUndefined = (descriptor) => {
211
+ switch (descriptor.name) {
212
+ case "exact": return descriptor.args?.[0] === void 0;
213
+ case "oneOf": {
214
+ const [values] = descriptor.args ?? [];
215
+ return Array.isArray(values) && values.includes(void 0);
216
+ }
217
+ default: return false;
218
+ }
300
219
  };
301
- const exportShapeRules = (descriptor, context) => {
302
- if (descriptor.rules.length === 0 || context.mode === "bestEffort") {
303
- return;
304
- }
305
- const [rule] = descriptor.rules;
306
- throw new JsonSchemaExportError(
307
- `Cannot export shape at ${formatPath([...context.path, "rules"])}: object-level rule "${rule.kind}" has no JSON Schema mapping`,
308
- {
309
- descriptor,
310
- path: [...context.path, "rules"],
311
- reason: `object-level rule "${rule.kind}" has no JSON Schema mapping`
312
- }
313
- );
220
+ var acceptsUndefined = (descriptor) => {
221
+ switch (descriptor.kind) {
222
+ case "optional":
223
+ case "nullish": return true;
224
+ case "nullable":
225
+ case "each":
226
+ case "tuple":
227
+ case "record":
228
+ case "shape":
229
+ case "discriminatedUnion":
230
+ case "validator": return false;
231
+ case "allOf": return descriptor.constraints.every(acceptsUndefined);
232
+ case "union": return descriptor.branches.some(acceptsUndefined);
233
+ case "assertion": return assertionAcceptsUndefined(descriptor);
234
+ default: return false;
235
+ }
314
236
  };
315
- const exportAssertion = (descriptor, context) => {
316
- switch (descriptor.name) {
317
- case "isString":
318
- return { type: "string" };
319
- case "isNumber":
320
- return { type: "number" };
321
- case "isBoolean":
322
- return { type: "boolean" };
323
- case "isBigInt":
324
- return unsupported(descriptor, context, "bigint values cannot be represented in JSON Schema");
325
- case "isBlob":
326
- return unsupported(descriptor, context, "Blob instances do not have a stable JSON Schema representation");
327
- case "isNull":
328
- return { type: "null" };
329
- case "isEmail":
330
- return {
331
- type: "string",
332
- format: "email"
333
- };
334
- case "hasPattern":
335
- case "startsWith":
336
- case "endsWith":
337
- return stringSchema(descriptor, context);
338
- case "isFile":
339
- return unsupported(descriptor, context, "File instances do not have a stable JSON Schema representation");
340
- case "isFunction":
341
- return unsupported(descriptor, context, "functions cannot be represented in JSON Schema");
342
- case "isDefined":
343
- return {};
344
- case "isMap":
345
- return unsupported(descriptor, context, "Map instances do not have a stable JSON Schema representation");
346
- case "isNaN":
347
- return unsupported(descriptor, context, "NaN cannot be represented in JSON Schema");
348
- case "hasValue":
349
- case "multipleOf":
350
- return numberSchema(descriptor, context);
351
- case "exact":
352
- return exactSchema(descriptor, context);
353
- case "hasSize":
354
- return unsupported(descriptor, context, "Map and Set sizes do not have a stable JSON Schema representation");
355
- case "oneOf":
356
- return enumSchema(descriptor, context);
357
- case "hasLength":
358
- return lengthSchema(descriptor, context);
359
- case "isDate":
360
- return unsupported(descriptor, context, "Date instances do not have a stable JSON Schema representation");
361
- case "isSet":
362
- return unsupported(descriptor, context, "Set instances do not have a stable JSON Schema representation");
363
- case "isSymbol":
364
- return unsupported(descriptor, context, "symbols cannot be represented in JSON Schema");
365
- default:
366
- return unsupported(descriptor, context, `unsupported assertion "${descriptor.name}"`);
367
- }
237
+ var exportShapeRules = (descriptor, context) => {
238
+ if (descriptor.rules.length === 0 || context.mode === "bestEffort") return;
239
+ const [rule] = descriptor.rules;
240
+ throw new JsonSchemaExportError(`Cannot export shape at ${formatPath([...context.path, "rules"])}: object-level rule "${rule.kind}" has no JSON Schema mapping`, {
241
+ descriptor,
242
+ path: [...context.path, "rules"],
243
+ reason: `object-level rule "${rule.kind}" has no JSON Schema mapping`
244
+ });
368
245
  };
369
- const exportDiscriminatedUnion = (descriptor, context) => {
370
- if (typeof descriptor.key === "symbol") {
371
- return unsupported(descriptor, context, "symbol discriminators cannot be represented in JSON Schema");
372
- }
373
- const key = String(descriptor.key);
374
- const variants = descriptor.variants;
375
- const branches = Reflect.ownKeys(variants).map((variantKey) => {
376
- if (typeof variantKey === "symbol") {
377
- return unsupported(descriptor, withPath(context, variantKey), "symbol discriminator values cannot be represented in JSON Schema");
378
- }
379
- const variant = variants[variantKey];
380
- const branch = exportDescriptor(variant, withPath(context, variantKey));
381
- return {
382
- allOf: [{
383
- type: "object",
384
- properties: {
385
- [key]: {
386
- const: variantKey
387
- }
388
- },
389
- required: [key]
390
- }, branch]
391
- };
392
- });
393
- return {
394
- oneOf: branches
395
- };
246
+ var exportAssertion = (descriptor, context) => {
247
+ switch (descriptor.name) {
248
+ case "isString": return { type: "string" };
249
+ case "isNumber": return { type: "number" };
250
+ case "isFiniteNumber": return { type: "number" };
251
+ case "isInteger":
252
+ case "isSafeInteger": return numberSchema(descriptor, context);
253
+ case "isBoolean": return { type: "boolean" };
254
+ case "isBigInt": return unsupported(descriptor, context, "bigint values cannot be represented in JSON Schema");
255
+ case "isBlob": return unsupported(descriptor, context, "Blob instances do not have a stable JSON Schema representation");
256
+ case "isNull": return { type: "null" };
257
+ case "isEmail": return {
258
+ type: "string",
259
+ format: "email"
260
+ };
261
+ case "hasPattern":
262
+ case "startsWith":
263
+ case "endsWith": return stringSchema(descriptor, context);
264
+ case "isFile": return unsupported(descriptor, context, "File instances do not have a stable JSON Schema representation");
265
+ case "isFunction": return unsupported(descriptor, context, "functions cannot be represented in JSON Schema");
266
+ case "isDefined": return {};
267
+ case "isMap": return unsupported(descriptor, context, "Map instances do not have a stable JSON Schema representation");
268
+ case "isNaN": return unsupported(descriptor, context, "NaN cannot be represented in JSON Schema");
269
+ case "hasValue":
270
+ case "multipleOf": return numberSchema(descriptor, context);
271
+ case "exact": return exactSchema(descriptor, context);
272
+ case "hasSize": return unsupported(descriptor, context, "Map and Set sizes do not have a stable JSON Schema representation");
273
+ case "oneOf": return enumSchema(descriptor, context);
274
+ case "hasLength": return lengthSchema(descriptor, context);
275
+ case "isDate": return unsupported(descriptor, context, "Date instances do not have a stable JSON Schema representation");
276
+ case "isValidDate": return unsupported(descriptor, context, "Date instances do not have a stable JSON Schema representation");
277
+ case "isError": return unsupported(descriptor, context, "Error instances do not have a stable JSON Schema representation");
278
+ case "isPromiseLike": return unsupported(descriptor, context, "promise-like values do not have a stable JSON Schema representation");
279
+ case "isRegExp": return unsupported(descriptor, context, "regular expressions do not have a stable JSON Schema representation");
280
+ case "isSet": return unsupported(descriptor, context, "Set instances do not have a stable JSON Schema representation");
281
+ case "isSymbol": return unsupported(descriptor, context, "symbols cannot be represented in JSON Schema");
282
+ default: return unsupported(descriptor, context, `unsupported assertion "${descriptor.name}"`);
283
+ }
396
284
  };
397
- const exportRulesAsComment = (rules, schema) => ({
398
- ...schema,
399
- $comment: `Dropped ${rules.length} object rule(s) during best-effort JSON Schema export.`
400
- });
401
- const exportDescriptor = (descriptor, context) => {
402
- let schema;
403
- switch (descriptor.kind) {
404
- case "assertion":
405
- schema = exportAssertion(descriptor, context);
406
- break;
407
- case "allOf": {
408
- const allOfDescriptor = descriptor;
409
- schema = {
410
- allOf: allOfDescriptor.constraints.map((child, index) => exportDescriptor(child, withPath(context, index)))
411
- };
412
- break;
413
- }
414
- case "optional": {
415
- const wrapperDescriptor = descriptor;
416
- schema = exportDescriptor(wrapperDescriptor.child, withPath(context, "optional"));
417
- break;
418
- }
419
- case "nullable":
420
- case "nullish": {
421
- const wrapperDescriptor = descriptor;
422
- schema = mergeNullable(exportDescriptor(wrapperDescriptor.child, withPath(context, descriptor.kind)));
423
- break;
424
- }
425
- case "each": {
426
- const eachDescriptor = descriptor;
427
- schema = {
428
- type: "array",
429
- items: exportDescriptor(eachDescriptor.item, withPath(context, "items"))
430
- };
431
- break;
432
- }
433
- case "tuple": {
434
- const tupleDescriptor = descriptor;
435
- schema = {
436
- type: "array",
437
- prefixItems: tupleDescriptor.items.map((item, index) => exportDescriptor(item, withPath(context, index))),
438
- minItems: tupleDescriptor.items.length,
439
- maxItems: tupleDescriptor.items.length
440
- };
441
- break;
442
- }
443
- case "union": {
444
- const unionDescriptor = descriptor;
445
- schema = {
446
- anyOf: unionDescriptor.branches.map((branch, index) => exportDescriptor(branch, withPath(context, index)))
447
- };
448
- break;
449
- }
450
- case "record": {
451
- const recordDescriptor = descriptor;
452
- schema = {
453
- type: "object",
454
- additionalProperties: exportDescriptor(recordDescriptor.values, withPath(context, "additionalProperties"))
455
- };
456
- break;
457
- }
458
- case "shape": {
459
- const shapeDescriptor = descriptor;
460
- const fields = shapeDescriptor.fields;
461
- const rules = shapeDescriptor.rules;
462
- exportShapeRules(shapeDescriptor, context);
463
- const properties = {};
464
- const required = [];
465
- Reflect.ownKeys(fields).forEach((key) => {
466
- const childContext = withPath(context, key);
467
- const propertyName = toPropertyName(key, shapeDescriptor, childContext);
468
- if (typeof propertyName !== "string") {
469
- return;
470
- }
471
- const child = fields[key];
472
- properties[propertyName] = exportDescriptor(child, childContext);
473
- if (!acceptsUndefined(child)) {
474
- required.push(propertyName);
475
- }
476
- });
477
- const shapeSchema = {
478
- type: "object",
479
- properties,
480
- additionalProperties: shapeDescriptor.unknownKeys === "strict" ? false : true
481
- };
482
- if (required.length > 0) {
483
- setSchemaProperty(shapeSchema, "required", required);
484
- }
485
- schema = shapeSchema;
486
- if (rules.length > 0 && context.mode === "bestEffort") {
487
- schema = exportRulesAsComment(rules, schema);
488
- }
489
- break;
490
- }
491
- case "discriminatedUnion":
492
- schema = exportDiscriminatedUnion(descriptor, context);
493
- break;
494
- case "validator":
495
- schema = unsupported(descriptor, context, "custom validators need a supported public descriptor");
496
- break;
497
- default:
498
- schema = unsupported(descriptor, context, `unsupported descriptor kind "${descriptor.kind}"`);
499
- break;
500
- }
501
- return applyMetadata(schema, descriptor.metadata);
285
+ var exportDiscriminatedUnion = (descriptor, context) => {
286
+ if (typeof descriptor.key === "symbol") return unsupported(descriptor, context, "symbol discriminators cannot be represented in JSON Schema");
287
+ const key = String(descriptor.key);
288
+ const variants = descriptor.variants;
289
+ return { oneOf: Reflect.ownKeys(variants).map((variantKey) => {
290
+ if (typeof variantKey === "symbol") return unsupported(descriptor, withPath(context, variantKey), "symbol discriminator values cannot be represented in JSON Schema");
291
+ const variant = variants[variantKey];
292
+ const branch = exportDescriptor(variant, withPath(context, variantKey));
293
+ return { allOf: [{
294
+ type: "object",
295
+ properties: { [key]: { const: variantKey } },
296
+ required: [key]
297
+ }, branch] };
298
+ }) };
502
299
  };
503
- const toJsonSchema = (constraints, options = {}) => {
504
- const descriptor = describeConstraints(constraints);
505
- const context = {
506
- mode: options.mode ?? "bestEffort",
507
- path: []
508
- };
509
- return exportDescriptor(descriptor, context);
300
+ var exportRulesAsComment = (rules, schema) => ({
301
+ ...schema,
302
+ $comment: `Dropped ${rules.length} object rule(s) during best-effort JSON Schema export.`
303
+ });
304
+ var exportDescriptor = (descriptor, context) => {
305
+ let schema;
306
+ switch (descriptor.kind) {
307
+ case "assertion":
308
+ schema = exportAssertion(descriptor, context);
309
+ break;
310
+ case "allOf":
311
+ schema = { allOf: descriptor.constraints.map((child, index) => exportDescriptor(child, withPath(context, index))) };
312
+ break;
313
+ case "optional":
314
+ schema = exportDescriptor(descriptor.child, withPath(context, "optional"));
315
+ break;
316
+ case "nullable":
317
+ case "nullish":
318
+ schema = mergeNullable(exportDescriptor(descriptor.child, withPath(context, descriptor.kind)));
319
+ break;
320
+ case "each":
321
+ schema = {
322
+ type: "array",
323
+ items: exportDescriptor(descriptor.item, withPath(context, "items"))
324
+ };
325
+ break;
326
+ case "tuple": {
327
+ const tupleDescriptor = descriptor;
328
+ schema = {
329
+ type: "array",
330
+ prefixItems: tupleDescriptor.items.map((item, index) => exportDescriptor(item, withPath(context, index))),
331
+ minItems: tupleDescriptor.items.length,
332
+ maxItems: tupleDescriptor.items.length
333
+ };
334
+ break;
335
+ }
336
+ case "union":
337
+ schema = { anyOf: descriptor.branches.map((branch, index) => exportDescriptor(branch, withPath(context, index))) };
338
+ break;
339
+ case "record":
340
+ schema = {
341
+ type: "object",
342
+ additionalProperties: exportDescriptor(descriptor.values, withPath(context, "additionalProperties"))
343
+ };
344
+ break;
345
+ case "shape": {
346
+ const shapeDescriptor = descriptor;
347
+ const fields = shapeDescriptor.fields;
348
+ const rules = shapeDescriptor.rules;
349
+ exportShapeRules(shapeDescriptor, context);
350
+ const properties = {};
351
+ const required = [];
352
+ Reflect.ownKeys(fields).forEach((key) => {
353
+ const childContext = withPath(context, key);
354
+ const propertyName = toPropertyName(key, shapeDescriptor, childContext);
355
+ if (typeof propertyName !== "string") return;
356
+ const child = fields[key];
357
+ properties[propertyName] = exportDescriptor(child, childContext);
358
+ if (!acceptsUndefined(child)) required.push(propertyName);
359
+ });
360
+ const shapeSchema = {
361
+ type: "object",
362
+ properties,
363
+ additionalProperties: shapeDescriptor.unknownKeys === "strict" ? false : true
364
+ };
365
+ if (required.length > 0) setSchemaProperty(shapeSchema, "required", required);
366
+ schema = shapeSchema;
367
+ if (rules.length > 0 && context.mode === "bestEffort") schema = exportRulesAsComment(rules, schema);
368
+ break;
369
+ }
370
+ case "discriminatedUnion":
371
+ schema = exportDiscriminatedUnion(descriptor, context);
372
+ break;
373
+ case "validator":
374
+ schema = unsupported(descriptor, context, "custom validators need a supported public descriptor");
375
+ break;
376
+ default: schema = unsupported(descriptor, context, `unsupported descriptor kind "${descriptor.kind}"`);
377
+ }
378
+ return applyMetadata(schema, descriptor.metadata);
510
379
  };
511
- export {
512
- JsonSchemaExportError,
513
- toJsonSchema
380
+ var toJsonSchema = (constraints, options = {}) => {
381
+ return exportDescriptor(describeConstraints(constraints), {
382
+ mode: options.mode ?? "bestEffort",
383
+ path: []
384
+ });
514
385
  };
386
+ //#endregion
387
+ export { JsonSchemaExportError, toJsonSchema };