@modulify/validator 0.1.0 → 0.2.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.
- package/.yarn/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-53c2b231a6.zip +0 -0
- package/.yarn/cache/@babel-code-frame-npm-7.23.5-cb10d08de6-a10e843595.zip +0 -0
- package/.yarn/cache/@babel-helper-string-parser-npm-7.25.7-352069de58-73ef2ceb81.zip +0 -0
- package/.yarn/cache/@babel-helper-string-parser-npm-7.27.1-d1471e0598-8bda3448e0.zip +0 -0
- package/.yarn/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-dcad63db34.zip +0 -0
- package/.yarn/cache/@babel-helper-validator-identifier-npm-7.25.7-1c758f0472-07438e5bf0.zip +0 -0
- package/.yarn/cache/@babel-helper-validator-identifier-npm-7.28.5-1953d49d2b-42aaebed91.zip +0 -0
- package/.yarn/cache/@babel-highlight-npm-7.23.4-2a9f2d2538-fbff9fcb2f.zip +0 -0
- package/.yarn/cache/@babel-parser-npm-7.25.8-fda12195b5-a1a13845b7.zip +0 -0
- package/.yarn/cache/@babel-parser-npm-7.29.0-c605c63e8b-333b2aa761.zip +0 -0
- package/.yarn/cache/@babel-types-npm-7.25.8-44acfff5f6-55ca2d6df6.zip +0 -0
- package/.yarn/cache/@babel-types-npm-7.29.0-6c2fa77581-23cc3466e8.zip +0 -0
- package/.yarn/cache/@bcoe-v8-coverage-npm-1.0.2-e80fdc21ac-1eb1dc93cc.zip +0 -0
- package/.yarn/cache/@commitlint-cli-npm-20.4.3-7b788c74b9-1f54b6870a.zip +0 -0
- package/.yarn/cache/@commitlint-config-conventional-npm-20.4.3-aa90460b69-c7c6fb0b32.zip +0 -0
- package/.yarn/cache/@commitlint-config-validator-npm-20.4.3-456f7d3da8-e65f2bd3cc.zip +0 -0
- package/.yarn/cache/@commitlint-ensure-npm-20.4.3-432e5ad329-aa1f42317a.zip +0 -0
- package/.yarn/cache/@commitlint-execute-rule-npm-20.0.0-6eb8155492-a1035ae9d6.zip +0 -0
- package/.yarn/cache/@commitlint-format-npm-20.4.3-ebe3e8cb04-e221f61a07.zip +0 -0
- package/.yarn/cache/@commitlint-is-ignored-npm-20.4.3-69e200640d-bc118de0aa.zip +0 -0
- package/.yarn/cache/@commitlint-lint-npm-20.4.3-c9940afaeb-e6af7cbbf9.zip +0 -0
- package/.yarn/cache/@commitlint-load-npm-20.4.3-81ae2db04a-80fb52e259.zip +0 -0
- package/.yarn/cache/@commitlint-message-npm-20.4.3-e9b5d77cad-16f7a67d17.zip +0 -0
- package/.yarn/cache/@commitlint-parse-npm-20.4.3-ecc5779976-404fecad36.zip +0 -0
- package/.yarn/cache/@commitlint-read-npm-20.4.3-32de5c8d85-3e7f88ad9b.zip +0 -0
- package/.yarn/cache/@commitlint-resolve-extends-npm-20.4.3-71b99c2779-09220329ba.zip +0 -0
- package/.yarn/cache/@commitlint-rules-npm-20.4.3-390ce9eadc-03348731a9.zip +0 -0
- package/.yarn/cache/@commitlint-to-lines-npm-20.0.0-888ee2239e-49bc05eb06.zip +0 -0
- package/.yarn/cache/@commitlint-top-level-npm-20.4.3-b0ef9fb207-52a1f59677.zip +0 -0
- package/.yarn/cache/@commitlint-types-npm-20.4.3-3d079b12ab-2181f9696f.zip +0 -0
- package/.yarn/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-05c5368c13.zip +0 -0
- package/.yarn/cache/@esbuild-linux-x64-npm-0.27.3-2041dd7b27-10c0.zip +0 -0
- package/.yarn/cache/@eslint-community-eslint-utils-npm-4.9.1-30ad3d49de-dc4ab5e3e3.zip +0 -0
- package/.yarn/cache/@eslint-community-regexpp-npm-4.12.2-3d54624470-fddcbc6685.zip +0 -0
- package/.yarn/cache/@eslint-config-array-npm-0.23.3-19b1c24f51-7c19027acf.zip +0 -0
- package/.yarn/cache/@eslint-config-helpers-npm-0.5.3-b60fa10f11-c836476e83.zip +0 -0
- package/.yarn/cache/@eslint-core-npm-1.1.1-bca32bf928-129c654c78.zip +0 -0
- package/.yarn/cache/@eslint-js-npm-10.0.1-c30b85ca06-9f3fcaf71b.zip +0 -0
- package/.yarn/cache/@eslint-object-schema-npm-3.0.3-4c45388d6c-4abbb7cba5.zip +0 -0
- package/.yarn/cache/@eslint-plugin-kit-npm-0.6.1-fafe413a70-f8354a7b92.zip +0 -0
- package/.yarn/cache/@gar-promise-retry-npm-1.0.2-960b209ddf-748a84fb0a.zip +0 -0
- package/.yarn/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-aa4e015217.zip +0 -0
- package/.yarn/cache/@humanfs-node-npm-0.16.6-6ee2cad587-8356359c9f.zip +0 -0
- package/.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-909b69c3b8.zip +0 -0
- package/.yarn/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-f0da1282df.zip +0 -0
- package/.yarn/cache/@humanwhocodes-retry-npm-0.4.3-a8d7ca1663-3775bb3008.zip +0 -0
- package/.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-c25b6dc159.zip +0 -0
- package/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-0dbc9e29bc.zip +0 -0
- package/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-d502e6fb51.zip +0 -0
- package/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-0c6b5ae663.zip +0 -0
- package/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-2eb864f276.zip +0 -0
- package/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.5-5189d9fc79-f9e538f302.zip +0 -0
- package/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.31-1ae81d75ac-4b30ec8cd5.zip +0 -0
- package/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-fa425b606d.zip +0 -0
- package/.yarn/cache/@microsoft-api-extractor-model-npm-7.33.4-65dc0810a1-c71569e59a.zip +0 -0
- package/.yarn/cache/@microsoft-api-extractor-npm-7.57.6-3ff3fa89f4-2f4598cc6b.zip +0 -0
- package/.yarn/cache/@microsoft-tsdoc-config-npm-0.18.1-9e24f960a2-06507f7ced.zip +0 -0
- package/.yarn/cache/@microsoft-tsdoc-npm-0.16.0-9d3f19f1b6-8883bb0ed2.zip +0 -0
- package/.yarn/cache/@npmcli-agent-npm-4.0.0-502e5ae4f0-f7b5ce0f3d.zip +0 -0
- package/.yarn/cache/@npmcli-fs-npm-5.0.0-9d737ae2f3-26e376d780.zip +0 -0
- package/.yarn/cache/@polka-url-npm-1.0.0-next.28-024769eda8-acc5ea6259.zip +0 -0
- package/.yarn/cache/@rollup-pluginutils-npm-5.1.4-83ce21024f-6d58fbc6f1.zip +0 -0
- package/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.59.0-da6c703f69-10c0.zip +0 -0
- package/.yarn/cache/@rushstack-node-core-library-npm-5.20.3-c547457ad4-bc9b33c6be.zip +0 -0
- package/.yarn/cache/@rushstack-problem-matcher-npm-0.2.1-87bf7eb8c4-d6cf27f6bf.zip +0 -0
- package/.yarn/cache/@rushstack-rig-package-npm-0.7.2-5f0f64865a-2e2839fa9a.zip +0 -0
- package/.yarn/cache/@rushstack-terminal-npm-0.22.3-2934ccd0ff-0e81fe7543.zip +0 -0
- package/.yarn/cache/@rushstack-ts-command-line-npm-5.3.3-d220c0fef2-03d9e9989b.zip +0 -0
- package/.yarn/cache/@simple-libs-stream-utils-npm-1.2.0-db53dc026f-2788ac7b16.zip +0 -0
- package/.yarn/cache/@standard-schema-spec-npm-1.1.0-d3e5ccd2e2-d90f55acde.zip +0 -0
- package/.yarn/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-c176a2c1e1.zip +0 -0
- package/.yarn/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-dddca2b553.zip +0 -0
- package/.yarn/cache/@tsconfig-node14-npm-1.0.3-15321421d2-67c1316d06.zip +0 -0
- package/.yarn/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-05f8f2734e.zip +0 -0
- package/.yarn/cache/@types-argparse-npm-1.0.38-657c15204c-4fc892da5d.zip +0 -0
- package/.yarn/cache/@types-chai-npm-5.2.3-5f61dbddda-e0ef1de3b6.zip +0 -0
- package/.yarn/cache/@types-deep-eql-npm-4.0.2-e6bc68cc92-bf3f811843.zip +0 -0
- package/.yarn/cache/@types-esrecurse-npm-4.3.1-237d34a55f-90dad74d5d.zip +0 -0
- package/.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-b3b0e33428.zip +0 -0
- package/.yarn/cache/@types-estree-npm-1.0.6-b5e23f2ea2-cdfd751f6f.zip +0 -0
- package/.yarn/cache/@types-estree-npm-1.0.8-2195bac6d6-39d34d1afa.zip +0 -0
- package/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-a996a745e6.zip +0 -0
- package/.yarn/cache/@types-node-npm-25.3.5-81ad2eb587-4cf0834a6f.zip +0 -0
- package/.yarn/cache/@typescript-eslint-eslint-plugin-npm-8.56.1-3df20cf10b-8a97e77779.zip +0 -0
- package/.yarn/cache/@typescript-eslint-parser-npm-8.56.1-3f9b1c2f30-61c9dab481.zip +0 -0
- package/.yarn/cache/@typescript-eslint-project-service-npm-8.56.1-766cc01259-ca61cde575.zip +0 -0
- package/.yarn/cache/@typescript-eslint-scope-manager-npm-8.56.1-2d38e88a4b-89cc1af263.zip +0 -0
- package/.yarn/cache/@typescript-eslint-tsconfig-utils-npm-8.56.1-e35d1dd914-d03b64d7ff.zip +0 -0
- package/.yarn/cache/@typescript-eslint-type-utils-npm-8.56.1-e472908945-66517aed50.zip +0 -0
- package/.yarn/cache/@typescript-eslint-types-npm-8.56.1-09e50c3c54-e5a0318abd.zip +0 -0
- package/.yarn/cache/@typescript-eslint-typescript-estree-npm-8.56.1-bdca7e3c09-92f4421dac.zip +0 -0
- package/.yarn/cache/@typescript-eslint-utils-npm-8.56.1-aa0778f53a-d9ffd9b294.zip +0 -0
- package/.yarn/cache/@typescript-eslint-visitor-keys-npm-8.56.1-901d7b2e4d-86d97905de.zip +0 -0
- package/.yarn/cache/@vitest-coverage-v8-npm-4.0.18-62bb7f840e-e23e0da86f.zip +0 -0
- package/.yarn/cache/@vitest-expect-npm-4.0.18-03919ccd0b-123b0aa111.zip +0 -0
- package/.yarn/cache/@vitest-mocker-npm-4.0.18-118c87f90e-fb0a257e7e.zip +0 -0
- package/.yarn/cache/@vitest-pretty-format-npm-4.0.18-a73855e4a4-0086b8c88e.zip +0 -0
- package/.yarn/cache/@vitest-runner-npm-4.0.18-3dbdf3fb30-fdb4afa411.zip +0 -0
- package/.yarn/cache/@vitest-snapshot-npm-4.0.18-35134202ed-d3bfefa558.zip +0 -0
- package/.yarn/cache/@vitest-spy-npm-4.0.18-296c59dce4-6de537890b.zip +0 -0
- package/.yarn/cache/@vitest-ui-npm-4.0.18-2112b3c7d4-25ed45b529.zip +0 -0
- package/.yarn/cache/@vitest-utils-npm-4.0.18-b1c99a49e0-4a3c43c142.zip +0 -0
- package/.yarn/cache/@volar-language-core-npm-2.4.11-9f1617b8e0-ccc5de0c28.zip +0 -0
- package/.yarn/cache/@volar-language-core-npm-2.4.28-23fc3d6b92-d41f7327fe.zip +0 -0
- package/.yarn/cache/@volar-source-map-npm-2.4.11-1022b0cd34-8e5badf9f6.zip +0 -0
- package/.yarn/cache/@volar-source-map-npm-2.4.28-7517299eaf-24b0b02c7f.zip +0 -0
- package/.yarn/cache/@volar-typescript-npm-2.4.11-9486696485-bca9bda9c8.zip +0 -0
- package/.yarn/cache/@vue-compiler-core-npm-3.5.13-b0c91e9970-b89f3e3ca9.zip +0 -0
- package/.yarn/cache/@vue-compiler-dom-npm-3.5.13-8785a9ba19-8f424a7188.zip +0 -0
- package/.yarn/cache/@vue-compiler-vue2-npm-2.7.16-ac462b66cc-c76c3fad77.zip +0 -0
- package/.yarn/cache/@vue-language-core-npm-2.2.0-451bd2aafd-1c44cc4067.zip +0 -0
- package/.yarn/cache/@vue-shared-npm-3.5.13-519178ab33-2c940ef907.zip +0 -0
- package/.yarn/cache/abbrev-npm-4.0.0-7d848a1ef0-b4cc169352.zip +0 -0
- package/.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-4c54868fbe.zip +0 -0
- package/.yarn/cache/acorn-npm-8.11.3-0d7ab48b38-3ff155f881.zip +0 -0
- package/.yarn/cache/acorn-npm-8.16.0-b2096bf83f-c9c5269722.zip +0 -0
- package/.yarn/cache/acorn-walk-npm-8.3.2-df039a42bf-7e2a8dad54.zip +0 -0
- package/.yarn/cache/agent-base-npm-7.1.4-cb8b4604d5-c2c9ab7599.zip +0 -0
- package/.yarn/cache/ajv-draft-04-npm-1.0.0-6fc962dbab-6044310bd3.zip +0 -0
- package/.yarn/cache/ajv-formats-npm-3.0.1-2662cf5b12-168d6bca1e.zip +0 -0
- package/.yarn/cache/ajv-npm-6.14.0-41f32f2ba8-a2bc39b055.zip +0 -0
- package/.yarn/cache/ajv-npm-8.12.0-3bf6e30741-ac4f72adf7.zip +0 -0
- package/.yarn/cache/ajv-npm-8.17.1-12ade7edc6-ec3ba10a57.zip +0 -0
- package/.yarn/cache/ajv-npm-8.18.0-6e5e062765-e7517c4261.zip +0 -0
- package/.yarn/cache/alien-signals-npm-0.4.14-73b9599f8d-5abb3377bc.zip +0 -0
- package/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-9a64bb8627.zip +0 -0
- package/.yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-ece5a8ef06.zip +0 -0
- package/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-895a23929d.zip +0 -0
- package/.yarn/cache/arg-npm-4.1.3-1748b966a8-070ff801a9.zip +0 -0
- package/.yarn/cache/argparse-npm-1.0.10-528934e59d-b2972c5c23.zip +0 -0
- package/.yarn/cache/argparse-npm-2.0.1-faff7999e6-c5640c2d89.zip +0 -0
- package/.yarn/cache/array-ify-npm-1.0.0-e09a371977-75c9c072fa.zip +0 -0
- package/.yarn/cache/assertion-error-npm-2.0.1-8169d136f2-bbbcb117ac.zip +0 -0
- package/.yarn/cache/ast-v8-to-istanbul-npm-0.3.12-a066421931-bad6ba222b.zip +0 -0
- package/.yarn/cache/balanced-match-npm-4.0.4-fd666b3c7f-07e86102a3.zip +0 -0
- package/.yarn/cache/brace-expansion-npm-5.0.4-acb9332524-359cbcfa80.zip +0 -0
- package/.yarn/cache/cacache-npm-20.0.3-5f244d5bdd-c7da1ca694.zip +0 -0
- package/.yarn/cache/callsites-npm-3.1.0-268f989910-fff9227740.zip +0 -0
- package/.yarn/cache/chai-npm-6.2.2-e1795cadaa-e6c69e5f0c.zip +0 -0
- package/.yarn/cache/chalk-npm-2.4.2-3ea16dd91e-e6543f02ec.zip +0 -0
- package/.yarn/cache/chownr-npm-3.0.0-5275e85d25-43925b8770.zip +0 -0
- package/.yarn/cache/cliui-npm-8.0.1-3b029092cf-4bda0f09c3.zip +0 -0
- package/.yarn/cache/color-convert-npm-1.9.3-1fe690075e-5ad3c53494.zip +0 -0
- package/.yarn/cache/color-convert-npm-2.0.1-79730e935b-37e1150172.zip +0 -0
- package/.yarn/cache/color-name-npm-1.1.3-728b7b5d39-566a3d42cc.zip +0 -0
- package/.yarn/cache/color-name-npm-1.1.4-025792b0ea-a1a3f91415.zip +0 -0
- package/.yarn/cache/compare-func-npm-2.0.0-9cd7852f23-78bd4dd4ed.zip +0 -0
- package/.yarn/cache/compare-versions-npm-6.1.1-4b4ac16a32-415205c762.zip +0 -0
- package/.yarn/cache/confbox-npm-0.1.8-8396039b68-fc2c68d97c.zip +0 -0
- package/.yarn/cache/confbox-npm-0.2.4-31ba8953f9-4c36af33d9.zip +0 -0
- package/.yarn/cache/conventional-changelog-angular-npm-8.3.0-0cd5330d9e-bab87fa741.zip +0 -0
- package/.yarn/cache/conventional-changelog-conventionalcommits-npm-9.3.0-6c1ee7bc50-36be9435bb.zip +0 -0
- package/.yarn/cache/conventional-commits-parser-npm-6.3.0-ac5eec936e-7b152db0b6.zip +0 -0
- package/.yarn/cache/cosmiconfig-npm-9.0.1-66b0cd2503-a5d4d95599.zip +0 -0
- package/.yarn/cache/cosmiconfig-typescript-loader-npm-6.2.0-a314118ca7-0fd8fd9b9b.zip +0 -0
- package/.yarn/cache/create-require-npm-1.1.1-839884ca2e-157cbc59b2.zip +0 -0
- package/.yarn/cache/cross-spawn-npm-7.0.6-264bddf921-053ea8b213.zip +0 -0
- package/.yarn/cache/dargs-npm-8.1.0-39fde97ef5-08cbd1ee4a.zip +0 -0
- package/.yarn/cache/de-indent-npm-1.0.2-66cccde30f-7058ce58ab.zip +0 -0
- package/.yarn/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip +0 -0
- package/.yarn/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip +0 -0
- package/.yarn/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip +0 -0
- package/.yarn/cache/deep-is-npm-0.1.4-88938b5a67-7f0ee496e0.zip +0 -0
- package/.yarn/cache/diff-npm-4.0.2-73133c7102-81b91f9d39.zip +0 -0
- package/.yarn/cache/diff-npm-8.0.3-6f5c127138-d29321c70d.zip +0 -0
- package/.yarn/cache/dot-prop-npm-5.3.0-7bf6ee1eb8-93f0d343ef.zip +0 -0
- package/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-b6053ad399.zip +0 -0
- package/.yarn/cache/entities-npm-4.5.0-7cdb83b832-5b039739f7.zip +0 -0
- package/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-285325677b.zip +0 -0
- package/.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-ba827f8936.zip +0 -0
- package/.yarn/cache/es-module-lexer-npm-1.7.0-456b47a08a-4c935affcb.zip +0 -0
- package/.yarn/cache/esbuild-npm-0.27.3-85b6c20323-fdc3f87a3f.zip +0 -0
- package/.yarn/cache/escalade-npm-3.1.1-e02da076aa-afd02e6ca9.zip +0 -0
- package/.yarn/cache/escalade-npm-3.2.0-19b50dd48f-ced4dd3a78.zip +0 -0
- package/.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-a968ad453d.zip +0 -0
- package/.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-9497d4dd30.zip +0 -0
- package/.yarn/cache/eslint-npm-10.0.3-c98e23b2a9-fbbb4d99cb.zip +0 -0
- package/.yarn/cache/eslint-scope-npm-9.1.2-50e6e92f41-9fb8bca5a7.zip +0 -0
- package/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-92708e882c.zip +0 -0
- package/.yarn/cache/eslint-visitor-keys-npm-5.0.1-30a44b062b-16190bdf2c.zip +0 -0
- package/.yarn/cache/espree-npm-11.2.0-095134f369-cf87e18ffd.zip +0 -0
- package/.yarn/cache/esquery-npm-1.7.0-c1e8da438a-77d5173db4.zip +0 -0
- package/.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-81a37116d1.zip +0 -0
- package/.yarn/cache/estraverse-npm-5.3.0-03284f8f63-1ff9447b96.zip +0 -0
- package/.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-53a6c54e20.zip +0 -0
- package/.yarn/cache/estree-walker-npm-3.0.3-0372979673-c12e3c2b26.zip +0 -0
- package/.yarn/cache/esutils-npm-2.0.3-f865beafd5-9a2fe69a41.zip +0 -0
- package/.yarn/cache/expect-type-npm-1.3.0-95a4384745-8412b3fe4f.zip +0 -0
- package/.yarn/cache/exponential-backoff-npm-3.1.3-28be78d98e-77e3ae682b.zip +0 -0
- package/.yarn/cache/exsolve-npm-1.0.8-20570c05a2-65e44ae05b.zip +0 -0
- package/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-40dedc862e.zip +0 -0
- package/.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-7f081eb0b8.zip +0 -0
- package/.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-111972b373.zip +0 -0
- package/.yarn/cache/fast-uri-npm-3.0.3-0874072625-4b2c5ce681.zip +0 -0
- package/.yarn/cache/fdir-npm-6.5.0-8814a0dec7-e345083c43.zip +0 -0
- package/.yarn/cache/fflate-npm-0.8.2-5129f303f0-03448d630c.zip +0 -0
- package/.yarn/cache/file-entry-cache-npm-8.0.0-5b09d19a83-9e2b5938b1.zip +0 -0
- package/.yarn/cache/find-up-npm-5.0.0-e03e9b796d-062c5a83a9.zip +0 -0
- package/.yarn/cache/flat-cache-npm-4.0.1-12bf2455f7-2c59d93e9f.zip +0 -0
- package/.yarn/cache/flatted-npm-3.2.9-0462256d3c-5c91c5a0a2.zip +0 -0
- package/.yarn/cache/flatted-npm-3.3.4-614e5aba3e-d1f33426e9.zip +0 -0
- package/.yarn/cache/fs-extra-npm-11.3.4-29a9d2b3b0-e08276f767.zip +0 -0
- package/.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-63e80da2ff.zip +0 -0
- package/.yarn/cache/fsevents-npm-2.3.3-ce9fb0ffae-a1f0c44595.zip +0 -0
- package/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-d8680ee1e5.zip +0 -0
- package/.yarn/cache/get-caller-file-npm-2.0.5-80e8a86305-c6c7b60271.zip +0 -0
- package/.yarn/cache/git-raw-commits-npm-4.0.0-60e7e666d1-ab51335d9e.zip +0 -0
- package/.yarn/cache/glob-npm-13.0.6-864eb0cece-269c236f11.zip +0 -0
- package/.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-317034d886.zip +0 -0
- package/.yarn/cache/global-directory-npm-4.0.1-1de95382fd-f9cbeef41d.zip +0 -0
- package/.yarn/cache/globals-npm-17.4.0-d04eded15b-2be9e8c2b9.zip +0 -0
- package/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip +0 -0
- package/.yarn/cache/has-flag-npm-3.0.0-16ac11fe05-1c6c83b14b.zip +0 -0
- package/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-2e789c61b7.zip +0 -0
- package/.yarn/cache/hasown-npm-2.0.0-78b794ceef-5d415b114f.zip +0 -0
- package/.yarn/cache/he-npm-1.2.0-3b73a2ff07-a27d478bef.zip +0 -0
- package/.yarn/cache/html-escaper-npm-2.0.2-38e51ef294-208e8a12de.zip +0 -0
- package/.yarn/cache/http-cache-semantics-npm-4.2.0-fadacfb3ad-45b66a945c.zip +0 -0
- package/.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-4207b06a45.zip +0 -0
- package/.yarn/cache/https-proxy-agent-npm-7.0.6-27a95c2690-f729219bc7.zip +0 -0
- package/.yarn/cache/husky-npm-9.1.7-5b02eaabc4-35bb110a71.zip +0 -0
- package/.yarn/cache/iconv-lite-npm-0.7.2-716fc012a0-3c228920f3.zip +0 -0
- package/.yarn/cache/ignore-npm-5.3.0-fb0f5fa062-dc06bea5c2.zip +0 -0
- package/.yarn/cache/ignore-npm-7.0.5-dea34ee430-ae00db89fe.zip +0 -0
- package/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-7f882953aa.zip +0 -0
- package/.yarn/cache/import-lazy-npm-4.0.0-3215653869-a3520313e2.zip +0 -0
- package/.yarn/cache/import-meta-resolve-npm-4.2.0-d0ecf96035-3ee8aeecb6.zip +0 -0
- package/.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-8b51313850.zip +0 -0
- package/.yarn/cache/ini-npm-4.1.1-01c2cbda7b-7fddc8dfd3.zip +0 -0
- package/.yarn/cache/ip-address-npm-10.1.0-d5d5693401-0103516cfa.zip +0 -0
- package/.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-e7fb686a73.zip +0 -0
- package/.yarn/cache/is-core-module-npm-2.13.1-36e17434f9-2cba9903aa.zip +0 -0
- package/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-5487da3569.zip +0 -0
- package/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-bb11d825e0.zip +0 -0
- package/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-17fb4014e2.zip +0 -0
- package/.yarn/cache/is-obj-npm-2.0.0-3d95e053f4-85044ed7ba.zip +0 -0
- package/.yarn/cache/is-plain-obj-npm-4.1.0-a4f2a92b44-32130d651d.zip +0 -0
- package/.yarn/cache/isexe-npm-2.0.0-b58870bd2e-228cfa503f.zip +0 -0
- package/.yarn/cache/isexe-npm-4.0.0-588229ad74-5884815115.zip +0 -0
- package/.yarn/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-6c7ff21067.zip +0 -0
- package/.yarn/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-84323afb14.zip +0 -0
- package/.yarn/cache/istanbul-reports-npm-3.2.0-b755b56d78-d596317cfd.zip +0 -0
- package/.yarn/cache/jiti-npm-2.6.1-597ab7fb84-79b2e96a8e.zip +0 -0
- package/.yarn/cache/jju-npm-1.4.0-670678eaa3-f3f444557e.zip +0 -0
- package/.yarn/cache/js-tokens-npm-10.0.0-2f75d73bcb-a934987478.zip +0 -0
- package/.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-e248708d37.zip +0 -0
- package/.yarn/cache/js-yaml-npm-4.1.0-3606f32312-184a24b4ea.zip +0 -0
- package/.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-0d1c91569d.zip +0 -0
- package/.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-140932564c.zip +0 -0
- package/.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-108fa90d4c.zip +0 -0
- package/.yarn/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-71e30015d7.zip +0 -0
- package/.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cb168b61fd.zip +0 -0
- package/.yarn/cache/jsonfile-npm-6.1.0-20a4796cee-4f95b5e8a5.zip +0 -0
- package/.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-aa52f3c5e1.zip +0 -0
- package/.yarn/cache/kolorist-npm-1.8.0-2cc04dcc05-73075db44a.zip +0 -0
- package/.yarn/cache/levn-npm-0.4.1-d183b2d7bb-effb03cad7.zip +0 -0
- package/.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-3da6ee62d4.zip +0 -0
- package/.yarn/cache/local-pkg-npm-1.1.2-04ade6b6c7-1bcfcc5528.zip +0 -0
- package/.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-d3972ab70d.zip +0 -0
- package/.yarn/cache/lodash-npm-4.17.23-50bdb1c01a-1264a90469.zip +0 -0
- package/.yarn/cache/lodash.camelcase-npm-4.3.0-bf268e3bf0-fcba15d21a.zip +0 -0
- package/.yarn/cache/lodash.kebabcase-npm-4.1.1-89ffca7e1f-da5d8f41db.zip +0 -0
- package/.yarn/cache/lodash.mergewith-npm-4.6.2-7d2d4201ec-4adbed65ff.zip +0 -0
- package/.yarn/cache/lodash.snakecase-npm-4.1.1-b12cdbecb4-f0b3f2497e.zip +0 -0
- package/.yarn/cache/lodash.startcase-npm-4.4.0-637aa8cc15-bd82aa87a4.zip +0 -0
- package/.yarn/cache/lodash.upperfirst-npm-4.3.1-e3b7c364ba-435625da4b.zip +0 -0
- package/.yarn/cache/lru-cache-npm-11.2.6-acb7d4323e-73bbffb298.zip +0 -0
- package/.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-cb53e58278.zip +0 -0
- package/.yarn/cache/magic-string-npm-0.30.17-da1b7593b1-16826e415d.zip +0 -0
- package/.yarn/cache/magic-string-npm-0.30.21-9a226cb21e-299378e38f.zip +0 -0
- package/.yarn/cache/magicast-npm-0.5.2-24c891cd9d-924af67764.zip +0 -0
- package/.yarn/cache/make-dir-npm-4.0.0-ec3cd921cc-69b98a6c0b.zip +0 -0
- package/.yarn/cache/make-error-npm-1.3.6-ccb85d9458-171e458d86.zip +0 -0
- package/.yarn/cache/make-fetch-happen-npm-15.0.4-cd90f16f9b-b874bf6879.zip +0 -0
- package/.yarn/cache/meow-npm-12.1.1-bd7858d088-a125ca99a3.zip +0 -0
- package/.yarn/cache/meow-npm-13.2.0-9907f89171-d5b339ae31.zip +0 -0
- package/.yarn/cache/minimatch-npm-10.2.4-11f0605299-35f3dfb7b9.zip +0 -0
- package/.yarn/cache/minimatch-npm-9.0.7-145dd43fbb-e90f8d8dd1.zip +0 -0
- package/.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-19d3fcdca0.zip +0 -0
- package/.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-5167e73f62.zip +0 -0
- package/.yarn/cache/minipass-fetch-npm-5.0.2-cd03eefed8-ce4ab9f21c.zip +0 -0
- package/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-2a51b63feb.zip +0 -0
- package/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a114746943.zip +0 -0
- package/.yarn/cache/minipass-npm-7.1.3-b73a16498d-539da88dac.zip +0 -0
- package/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-cbda57cea2.zip +0 -0
- package/.yarn/cache/minipass-sized-npm-2.0.0-a911fc7d3f-f9201696a6.zip +0 -0
- package/.yarn/cache/minizlib-npm-3.1.0-6680befdba-5aad75ab00.zip +0 -0
- package/.yarn/cache/mlly-npm-1.8.1-0181666245-664fa66726.zip +0 -0
- package/.yarn/cache/mrmime-npm-2.0.0-0326eb1458-312b35ed28.zip +0 -0
- package/.yarn/cache/ms-npm-2.1.2-ec0c1512ff-a437714e2f.zip +0 -0
- package/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-d924b57e73.zip +0 -0
- package/.yarn/cache/muggle-string-npm-0.4.1-fe3c825cc2-e914b63e24.zip +0 -0
- package/.yarn/cache/nanoid-npm-3.3.11-f98c1f9ef6-40e7f70b3d.zip +0 -0
- package/.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-f5f9a7974b.zip +0 -0
- package/.yarn/cache/negotiator-npm-1.0.0-47d727e27e-4c559dd526.zip +0 -0
- package/.yarn/cache/node-gyp-npm-12.2.0-11f8fe84f1-3ed046746a.zip +0 -0
- package/.yarn/cache/nopt-npm-9.0.0-81316ec15c-1822eb6f9b.zip +0 -0
- package/.yarn/cache/obug-npm-2.1.1-029730d296-59dccd7de7.zip +0 -0
- package/.yarn/cache/optionator-npm-0.9.3-56c3a4bf80-66fba794d4.zip +0 -0
- package/.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-9db675949d.zip +0 -0
- package/.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-2290d627ab.zip +0 -0
- package/.yarn/cache/p-map-npm-7.0.4-39386109d0-a5030935d3.zip +0 -0
- package/.yarn/cache/parent-module-npm-1.0.1-1fae11b095-c63d6e8000.zip +0 -0
- package/.yarn/cache/parse-json-npm-5.2.0-00a63b1199-77947f2253.zip +0 -0
- package/.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-8b8c3fd5c6.zip +0 -0
- package/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-8c0bd3f523.zip +0 -0
- package/.yarn/cache/path-key-npm-3.1.1-0e66ea8321-748c43efd5.zip +0 -0
- package/.yarn/cache/path-parse-npm-1.0.7-09564527b7-11ce261f9d.zip +0 -0
- package/.yarn/cache/path-scurry-npm-2.0.2-f10aa6a77e-b35ad37cf6.zip +0 -0
- package/.yarn/cache/pathe-npm-2.0.3-0924246ee0-c118dc5a8b.zip +0 -0
- package/.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e2e3e8170a.zip +0 -0
- package/.yarn/cache/picomatch-npm-4.0.2-e93516ddf2-7c51f3ad2b.zip +0 -0
- package/.yarn/cache/picomatch-npm-4.0.3-0a647b87cc-9582c951e9.zip +0 -0
- package/.yarn/cache/pkg-types-npm-1.3.1-832c9cd162-19e6cb8b66.zip +0 -0
- package/.yarn/cache/pkg-types-npm-2.3.0-e7381b4aaa-d2bbddc5b8.zip +0 -0
- package/.yarn/cache/postcss-npm-8.5.8-b010bee8df-dd918f7127.zip +0 -0
- package/.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-b00d617431.zip +0 -0
- package/.yarn/cache/proc-log-npm-6.1.0-84e609b3f4-4f178d4062.zip +0 -0
- package/.yarn/cache/punycode-npm-2.3.1-97543c420d-14f76a8206.zip +0 -0
- package/.yarn/cache/quansync-npm-0.2.11-f7bf964a44-cb9a1f8ebc.zip +0 -0
- package/.yarn/cache/require-directory-npm-2.1.1-8608aee50b-83aa76a7bc.zip +0 -0
- package/.yarn/cache/require-from-string-npm-2.0.2-8557e0db12-aaa267e0c5.zip +0 -0
- package/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-8408eec31a.zip +0 -0
- package/.yarn/cache/resolve-from-npm-5.0.0-15c9db4d33-b21cb7f1fb.zip +0 -0
- package/.yarn/cache/resolve-npm-1.22.8-098f379dfe-07e179f437.zip +0 -0
- package/.yarn/cache/resolve-patch-4254c24959-0446f02443.zip +0 -0
- package/.yarn/cache/retry-npm-0.13.1-89eb100ab6-9ae822ee19.zip +0 -0
- package/.yarn/cache/rollup-npm-4.59.0-3b10f603ec-f38742da34.zip +0 -0
- package/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-7e3c8b2e88.zip +0 -0
- package/.yarn/cache/semver-npm-7.5.4-c4ad957fcd-5160b06975.zip +0 -0
- package/.yarn/cache/semver-npm-7.6.3-57e82c14d5-88f33e148b.zip +0 -0
- package/.yarn/cache/semver-npm-7.7.4-746e538da5-5215ad0234.zip +0 -0
- package/.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-a41692e7d8.zip +0 -0
- package/.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1dbed0726d.zip +0 -0
- package/.yarn/cache/siginfo-npm-2.0.0-9bbac931f8-3def8f8e51.zip +0 -0
- package/.yarn/cache/sirv-npm-3.0.2-6cf658c733-5930e4397a.zip +0 -0
- package/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-a16775323e.zip +0 -0
- package/.yarn/cache/socks-npm-2.8.7-d1d20aae19-2805a43a1c.zip +0 -0
- package/.yarn/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-5d2c6cecba.zip +0 -0
- package/.yarn/cache/source-map-js-npm-1.2.1-b9a47d7e1a-7bda1fc4c1.zip +0 -0
- package/.yarn/cache/source-map-npm-0.6.1-1a3621db16-ab55398007.zip +0 -0
- package/.yarn/cache/split2-npm-4.2.0-16aa3883ba-b292beb8ce.zip +0 -0
- package/.yarn/cache/sprintf-js-npm-1.0.3-73f0a322fa-ecadcfe4c7.zip +0 -0
- package/.yarn/cache/ssri-npm-13.0.1-c266f2233c-cf6408a186.zip +0 -0
- package/.yarn/cache/stackback-npm-0.0.2-73273dc92e-89a1416668.zip +0 -0
- package/.yarn/cache/std-env-npm-3.10.0-30d3e2646f-1814927a45.zip +0 -0
- package/.yarn/cache/string-argv-npm-0.3.2-6e057a88f1-75c02a8375.zip +0 -0
- package/.yarn/cache/string-width-npm-4.2.3-2c27177bae-1e525e92e5.zip +0 -0
- package/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-1ae5f212a1.zip +0 -0
- package/.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-9681a6257b.zip +0 -0
- package/.yarn/cache/supports-color-npm-5.5.0-183ac537bc-6ae5ff319b.zip +0 -0
- package/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-afb4c88521.zip +0 -0
- package/.yarn/cache/supports-color-npm-8.1.1-289e937149-ea1d3c275d.zip +0 -0
- package/.yarn/cache/supports-preserve-symlinks-flag-npm-1.0.0-f17c4d0028-6c40323407.zip +0 -0
- package/.yarn/cache/tar-npm-7.5.10-83147ff192-ed905e4b33.zip +0 -0
- package/.yarn/cache/tinybench-npm-2.9.0-2861a048db-c3500b0f60.zip +0 -0
- package/.yarn/cache/tinyexec-npm-1.0.2-321b713e56-1261a8e34c.zip +0 -0
- package/.yarn/cache/tinyglobby-npm-0.2.15-0e783aadbd-869c31490d.zip +0 -0
- package/.yarn/cache/tinyrainbow-npm-3.0.3-06ed35d14d-1e799d35cd.zip +0 -0
- package/.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-b214d21dbf.zip +0 -0
- package/.yarn/cache/totalist-npm-3.0.1-91e71f3baa-4bb1fadb69.zip +0 -0
- package/.yarn/cache/ts-api-utils-npm-2.4.0-1179124e9a-ed185861ae.zip +0 -0
- package/.yarn/cache/ts-node-npm-10.9.2-3f3890b9ac-5f29938489.zip +0 -0
- package/.yarn/cache/tslib-npm-2.8.1-66590b21b8-9c4759110a.zip +0 -0
- package/.yarn/cache/type-check-npm-0.4.0-60565800ce-7b3fd0ed43.zip +0 -0
- package/.yarn/cache/typescript-eslint-npm-8.56.1-533c704529-c33aeb9a8b.zip +0 -0
- package/.yarn/cache/typescript-npm-5.7.2-b1f84a8b28-a873118b52.zip +0 -0
- package/.yarn/cache/typescript-npm-5.8.2-b95d637f6a-5c4f6fbf1c.zip +0 -0
- package/.yarn/cache/typescript-patch-26c53754b1-5448a08e59.zip +0 -0
- package/.yarn/cache/typescript-patch-aed9e5263d-f3b8082c9d.zip +0 -0
- package/.yarn/cache/ufo-npm-1.6.3-29bac69d97-bf0e4ebff9.zip +0 -0
- package/.yarn/cache/undici-types-npm-7.18.2-3e6d69d829-85a7918911.zip +0 -0
- package/.yarn/cache/unique-filename-npm-5.0.0-605f54f18e-afb897e9cf.zip +0 -0
- package/.yarn/cache/unique-slug-npm-6.0.0-f26b186e99-da7ade4cb0.zip +0 -0
- package/.yarn/cache/universalify-npm-2.0.1-040ba5a21e-73e8ee3809.zip +0 -0
- package/.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-4ef57b45aa.zip +0 -0
- package/.yarn/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-bdc36fb809.zip +0 -0
- package/.yarn/cache/vite-npm-7.3.1-330baf2f0d-5c7548f5f4.zip +0 -0
- package/.yarn/cache/vite-plugin-dts-npm-4.5.4-2445647687-5fcb7f3739.zip +0 -0
- package/.yarn/cache/vitest-npm-4.0.18-52f42bdace-b913cd3203.zip +0 -0
- package/.yarn/cache/vscode-uri-npm-3.0.8-56f46b9d24-f7f217f526.zip +0 -0
- package/.yarn/cache/which-npm-2.0.2-320ddf72f7-66522872a7.zip +0 -0
- package/.yarn/cache/which-npm-6.0.1-afc3b2db90-7e710e54ea.zip +0 -0
- package/.yarn/cache/why-is-node-running-npm-2.3.0-011cf61a18-1cde0b01b8.zip +0 -0
- package/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-d15fc12c11.zip +0 -0
- package/.yarn/cache/y18n-npm-5.0.8-5f3a0a7e62-4df2842c36.zip +0 -0
- package/.yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip +0 -0
- package/.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-a499c81ce6.zip +0 -0
- package/.yarn/cache/yargs-npm-17.7.2-80b62638e1-ccd7e723e6.zip +0 -0
- package/.yarn/cache/yargs-parser-npm-21.1.1-8fdc003314-f84b5e4816.zip +0 -0
- package/.yarn/cache/yn-npm-3.1.1-8ad4259784-0732468dd7.zip +0 -0
- package/.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-dceb44c285.zip +0 -0
- package/.yarn/install-state.gz +0 -0
- package/.yarn/releases/yarn-4.12.0.cjs +942 -0
- package/.yarnrc.yml +5 -0
- package/AGENTS.md +82 -0
- package/CHANGELOG.md +29 -0
- package/CODE_OF_CONDUCT.md +128 -0
- package/README.md +324 -107
- package/dist/assert.cjs +66 -0
- package/dist/assert.d.ts +16 -0
- package/dist/assert.mjs +66 -0
- package/dist/assertions.cjs +190 -92
- package/dist/assertions.d.ts +58 -2
- package/dist/assertions.mjs +191 -93
- package/dist/checkers.d.ts +8 -0
- package/dist/combinators.cjs +341 -0
- package/dist/combinators.d.ts +17 -0
- package/dist/combinators.mjs +341 -0
- package/dist/constraints.d.ts +4 -0
- package/dist/extractors.d.ts +2 -0
- package/dist/index.cjs +172 -61
- package/dist/index.d.ts +10 -4
- package/dist/index.mjs +176 -64
- package/dist/json-schema.cjs +514 -0
- package/dist/json-schema.d.ts +14 -0
- package/dist/json-schema.mjs +514 -0
- package/dist/metadata.cjs +8 -0
- package/dist/metadata.cjs.js +130 -0
- package/dist/metadata.d.ts +8 -0
- package/dist/metadata.es.js +131 -0
- package/dist/metadata.mjs +8 -0
- package/dist/predicates.cjs +40 -5
- package/dist/predicates.d.ts +25 -3
- package/dist/predicates.mjs +40 -5
- package/dist/violations.d.ts +29 -0
- package/docker/services/node/Dockerfile +9 -0
- package/docs/en/00-index.md +14 -0
- package/docs/en/01-shape-api.md +348 -0
- package/docs/en/02-metadata-and-introspection.md +276 -0
- package/docs/en/03-violations.md +267 -0
- package/docs/en/04-json-schema-export.md +264 -0
- package/docs/en/05-public-api.md +123 -0
- package/docs/en/06-common-recipes.md +273 -0
- package/docs/en/07-ai-reference.md +215 -0
- package/docs/en/08-violation-code-types.md +241 -0
- package/docs/ru/00-index.md +15 -0
- package/docs/ru/01-shape-api.md +348 -0
- package/docs/ru/02-metadata-and-introspection.md +276 -0
- package/docs/ru/03-violations.md +267 -0
- package/docs/ru/04-json-schema-export.md +264 -0
- package/docs/ru/05-public-api.md +123 -0
- package/docs/ru/06-common-recipes.md +273 -0
- package/docs/ru/07-ai-reference.md +215 -0
- package/docs/ru/08-violation-code-types.md +241 -0
- package/docs/ru/README.md +371 -0
- package/drafts/.gitignore +2 -0
- package/package.json +43 -33
- package/skills/commit-workflow/SKILL.md +93 -0
- package/skills/coverage-recovery/SKILL.md +68 -0
- package/skills/yarn-lock-conflict-resolution/SKILL.md +69 -0
- package/types/index.d.ts +789 -30
- package/types/json-schema.d.ts +75 -0
- package/dist/assertions/Assert.d.ts +0 -2
- package/dist/assertions/HasLength.d.ts +0 -7
- package/dist/assertions/check.d.ts +0 -3
- package/dist/assertions/index.d.ts +0 -16
- package/dist/runners/Each.d.ts +0 -3
- package/dist/runners/HasProperties.d.ts +0 -6
- package/dist/runners/index.d.ts +0 -2
- package/dist/runners.cjs +0 -32
- package/dist/runners.d.ts +0 -2
- package/dist/runners.mjs +0 -32
package/dist/index.cjs
CHANGED
|
@@ -1,51 +1,119 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const assertions = require("./assertions.cjs");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return null;
|
|
4
|
+
const combinators = require("./combinators.cjs");
|
|
5
|
+
const metadata = require("./metadata.cjs.js");
|
|
6
|
+
const assert = require("./assert.cjs");
|
|
7
|
+
const ROOT_PATH = Object.freeze([]);
|
|
8
|
+
const normalizePath = (path) => path ?? ROOT_PATH;
|
|
9
|
+
const isSamePath = (left, right = ROOT_PATH) => {
|
|
10
|
+
const normalizedLeft = normalizePath(left);
|
|
11
|
+
if (normalizedLeft.length !== right.length) {
|
|
12
|
+
return false;
|
|
17
13
|
}
|
|
18
|
-
return
|
|
19
|
-
value,
|
|
20
|
-
path,
|
|
21
|
-
violates: assert.fqn,
|
|
22
|
-
..."reason" in assert ? { reason: assert.reason } : {},
|
|
23
|
-
..."meta" in assert ? { meta: assert.meta } : {}
|
|
24
|
-
};
|
|
14
|
+
return normalizedLeft.every((part, index) => Object.is(part, right[index]));
|
|
25
15
|
};
|
|
26
|
-
const
|
|
27
|
-
|
|
16
|
+
const isPathPrefix = (path, prefix) => {
|
|
17
|
+
if (prefix.length > path.length) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return prefix.every((part, index) => Object.is(part, path[index]));
|
|
28
21
|
};
|
|
29
|
-
const
|
|
22
|
+
const createTreeState = (path) => ({
|
|
23
|
+
path: Object.freeze([...path]),
|
|
24
|
+
self: [],
|
|
25
|
+
subtree: [],
|
|
26
|
+
children: /* @__PURE__ */ new Map()
|
|
27
|
+
});
|
|
28
|
+
class TreeNode {
|
|
29
|
+
constructor(state) {
|
|
30
|
+
this.path = state.path;
|
|
31
|
+
this.self = new ViolationCollection(state.self);
|
|
32
|
+
this.subtree = new ViolationCollection(state.subtree);
|
|
33
|
+
this.children = new Map(
|
|
34
|
+
[...state.children.entries()].map(([key, child]) => [key, new TreeNode(child)])
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
at(path) {
|
|
38
|
+
if (!isPathPrefix(path, this.path)) {
|
|
39
|
+
return void 0;
|
|
40
|
+
}
|
|
41
|
+
if (path.length === this.path.length) {
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
const child = this.children.get(path[this.path.length]);
|
|
45
|
+
return child?.at(path);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const buildTree = (violations) => {
|
|
49
|
+
const root = createTreeState(ROOT_PATH);
|
|
50
|
+
violations.forEach((violation) => {
|
|
51
|
+
const path = normalizePath(violation.path);
|
|
52
|
+
root.subtree.push(violation);
|
|
53
|
+
if (path.length === 0) {
|
|
54
|
+
root.self.push(violation);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
let current = root;
|
|
58
|
+
const currentPath = [];
|
|
59
|
+
path.forEach((segment, index) => {
|
|
60
|
+
currentPath.push(segment);
|
|
61
|
+
let child = current.children.get(segment);
|
|
62
|
+
if (!child) {
|
|
63
|
+
child = createTreeState(currentPath);
|
|
64
|
+
current.children.set(segment, child);
|
|
65
|
+
}
|
|
66
|
+
child.subtree.push(violation);
|
|
67
|
+
if (index === path.length - 1) {
|
|
68
|
+
child.self.push(violation);
|
|
69
|
+
}
|
|
70
|
+
current = child;
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
return new TreeNode(root);
|
|
74
|
+
};
|
|
75
|
+
class ViolationCollection {
|
|
76
|
+
constructor(violations) {
|
|
77
|
+
this.violations = [...violations];
|
|
78
|
+
this.size = this.violations.length;
|
|
79
|
+
}
|
|
80
|
+
[Symbol.iterator]() {
|
|
81
|
+
return this.violations[Symbol.iterator]();
|
|
82
|
+
}
|
|
83
|
+
forEach(callback) {
|
|
84
|
+
this.violations.forEach((violation, index) => callback(violation, index, this));
|
|
85
|
+
}
|
|
86
|
+
map(callback) {
|
|
87
|
+
return this.violations.map((violation, index) => callback(violation, index, this));
|
|
88
|
+
}
|
|
89
|
+
at(path) {
|
|
90
|
+
return new ViolationCollection(this.violations.filter((violation) => isSamePath(violation.path, path)));
|
|
91
|
+
}
|
|
92
|
+
tree() {
|
|
93
|
+
return buildTree(this.violations);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const collection = (violations) => new ViolationCollection(violations);
|
|
97
|
+
const collectViolations = async (value, constraints, path = []) => {
|
|
30
98
|
const validations = [];
|
|
31
|
-
for (const c of
|
|
32
|
-
if (
|
|
33
|
-
validations.push(...c.run(
|
|
99
|
+
for (const c of metadata.arrayify(constraints)) {
|
|
100
|
+
if (metadata.isValidator(c)) {
|
|
101
|
+
validations.push(...c.run(collectViolations, value, path).map((v2) => v2 instanceof Promise ? v2 : Promise.resolve(v2)));
|
|
34
102
|
continue;
|
|
35
103
|
}
|
|
36
|
-
const v =
|
|
104
|
+
const v = c(value);
|
|
37
105
|
if (v instanceof Promise) {
|
|
38
106
|
if (c.bail) {
|
|
39
107
|
const awaited = await v;
|
|
40
108
|
if (awaited) {
|
|
41
|
-
validations.push(Promise.resolve([awaited]));
|
|
109
|
+
validations.push(Promise.resolve([Object.assign(awaited, { path: [...path] })]));
|
|
42
110
|
break;
|
|
43
111
|
}
|
|
44
112
|
} else {
|
|
45
|
-
validations.push(v.then((v2) => v2 ? [v2] : []));
|
|
113
|
+
validations.push(v.then((v2) => v2 ? [Object.assign(v2, { path: [...path] })] : []));
|
|
46
114
|
}
|
|
47
115
|
} else if (v) {
|
|
48
|
-
validations.push(Promise.resolve([v]));
|
|
116
|
+
validations.push(Promise.resolve([Object.assign(v, { path: [...path] })]));
|
|
49
117
|
if (c.bail) {
|
|
50
118
|
break;
|
|
51
119
|
}
|
|
@@ -53,30 +121,25 @@ const _validate = async (value, constraints, path = []) => {
|
|
|
53
121
|
}
|
|
54
122
|
return settle(value, path, validations);
|
|
55
123
|
};
|
|
56
|
-
const
|
|
124
|
+
const collectViolationsSync = (value, constraints, path = []) => {
|
|
57
125
|
const violations = [];
|
|
58
|
-
for (const c of
|
|
59
|
-
if (
|
|
60
|
-
violations.push(...c.run(
|
|
126
|
+
for (const c of metadata.arrayify(constraints)) {
|
|
127
|
+
if (metadata.isValidator(c)) {
|
|
128
|
+
violations.push(...c.run(collectViolationsSync, value, path));
|
|
61
129
|
continue;
|
|
62
130
|
}
|
|
63
|
-
const v =
|
|
131
|
+
const v = c(value);
|
|
64
132
|
if (v instanceof Promise) {
|
|
65
|
-
throw new Error("Found asynchronous
|
|
133
|
+
throw new Error("Found asynchronous validator " + String(c.name));
|
|
66
134
|
} else if (v) {
|
|
67
|
-
violations.push(v);
|
|
68
|
-
if (c.bail)
|
|
69
|
-
break;
|
|
70
|
-
}
|
|
135
|
+
violations.push(Object.assign(v, { path: [...path] }));
|
|
136
|
+
if (c.bail) break;
|
|
71
137
|
}
|
|
72
138
|
}
|
|
73
139
|
return flatten(violations);
|
|
74
140
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
});
|
|
78
|
-
function arraify(value) {
|
|
79
|
-
return Array.isArray(value) ? [...value] : [value];
|
|
141
|
+
function toResult(value, violations) {
|
|
142
|
+
return violations.length === 0 ? [true, value, []] : [false, value, violations];
|
|
80
143
|
}
|
|
81
144
|
function flatten(recursive) {
|
|
82
145
|
const flattened = [];
|
|
@@ -95,25 +158,73 @@ async function settle(value, path, validations) {
|
|
|
95
158
|
violations.push({
|
|
96
159
|
value,
|
|
97
160
|
path,
|
|
98
|
-
violates: "
|
|
99
|
-
reason: "reject",
|
|
100
|
-
meta: result.reason
|
|
161
|
+
violates: { kind: "runtime", name: "validate", code: "runtime.rejection", args: [result.reason] }
|
|
101
162
|
});
|
|
102
163
|
}
|
|
103
164
|
});
|
|
104
165
|
return violations;
|
|
105
166
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
167
|
+
const matches = {
|
|
168
|
+
sync(value, constraints) {
|
|
169
|
+
return collectViolationsSync(value, constraints).length === 0;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
const validate = Object.assign(
|
|
173
|
+
async (value, constraints) => {
|
|
174
|
+
const violations = await collectViolations(value, constraints);
|
|
175
|
+
return toResult(
|
|
176
|
+
value,
|
|
177
|
+
violations
|
|
178
|
+
);
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
sync(value, constraints) {
|
|
182
|
+
const violations = collectViolationsSync(value, constraints);
|
|
183
|
+
return toResult(
|
|
184
|
+
value,
|
|
185
|
+
violations
|
|
186
|
+
);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
);
|
|
190
|
+
exports.endsWith = assertions.endsWith;
|
|
191
|
+
exports.hasLength = assertions.hasLength;
|
|
192
|
+
exports.hasPattern = assertions.hasPattern;
|
|
193
|
+
exports.hasSize = assertions.hasSize;
|
|
194
|
+
exports.hasValue = assertions.hasValue;
|
|
195
|
+
exports.isBigInt = assertions.isBigInt;
|
|
196
|
+
exports.isBlob = assertions.isBlob;
|
|
197
|
+
exports.isBoolean = assertions.isBoolean;
|
|
198
|
+
exports.isDate = assertions.isDate;
|
|
199
|
+
exports.isDefined = assertions.isDefined;
|
|
200
|
+
exports.isEmail = assertions.isEmail;
|
|
201
|
+
exports.isFile = assertions.isFile;
|
|
202
|
+
exports.isFunction = assertions.isFunction;
|
|
203
|
+
exports.isMap = assertions.isMap;
|
|
204
|
+
exports.isNaN = assertions.isNaN;
|
|
205
|
+
exports.isNull = assertions.isNull;
|
|
206
|
+
exports.isNumber = assertions.isNumber;
|
|
207
|
+
exports.isSet = assertions.isSet;
|
|
208
|
+
exports.isString = assertions.isString;
|
|
209
|
+
exports.isSymbol = assertions.isSymbol;
|
|
210
|
+
exports.multipleOf = assertions.multipleOf;
|
|
211
|
+
exports.oneOf = assertions.oneOf;
|
|
212
|
+
exports.startsWith = assertions.startsWith;
|
|
213
|
+
exports.discriminatedUnion = combinators.discriminatedUnion;
|
|
214
|
+
exports.each = combinators.each;
|
|
215
|
+
exports.exact = combinators.exact;
|
|
216
|
+
exports.nullable = combinators.nullable;
|
|
217
|
+
exports.nullish = combinators.nullish;
|
|
218
|
+
exports.optional = combinators.optional;
|
|
219
|
+
exports.record = combinators.record;
|
|
220
|
+
exports.shape = combinators.shape;
|
|
221
|
+
exports.tuple = combinators.tuple;
|
|
222
|
+
exports.union = combinators.union;
|
|
223
|
+
exports.custom = metadata.custom;
|
|
224
|
+
exports.describe = metadata.describe;
|
|
225
|
+
exports.meta = metadata.meta;
|
|
226
|
+
exports.assert = assert.assert;
|
|
227
|
+
exports.ViolationCollection = ViolationCollection;
|
|
228
|
+
exports.collection = collection;
|
|
229
|
+
exports.matches = matches;
|
|
119
230
|
exports.validate = validate;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import { Constraint, MaybeMany,
|
|
1
|
+
import { Constraint, InferConstraints, InferMaybeManyViolations, MaybeMany, ValidationTuple } from '../types';
|
|
2
2
|
export * from './assertions';
|
|
3
|
-
export * from './
|
|
4
|
-
export
|
|
5
|
-
|
|
3
|
+
export * from './combinators';
|
|
4
|
+
export { collection, ViolationCollection, } from './violations';
|
|
5
|
+
export { custom, describe, meta, } from './metadata';
|
|
6
|
+
export type { AllOfConstraintDescriptor, AssertionDescriptor, AssertionDescriptorConstraint, Constraint, ConstraintDescriptor, ConstraintDescriptorBase, ConstraintMetadata, CustomConstraintDescriptor, DescribeAssertionConstraint, DescribeAssertionConstraintTuple, DescribeConstraint, DescribeConstraintTuple, DescribeMaybeMany, DescribeObjectDescriptor, DescribedValidator, DiscriminatedUnionValidator, EachValidator, FieldsMatchObjectShapeRuleDescriptor, GenericObjectShapeRuleDescriptor, InferConstraint, InferConstraints, InferConstraintViolations, InferMaybeManyViolations, DiscriminatedUnionConstraintDescriptor, EachConstraintDescriptor, NullableValidator, NullishValidator, KnownViolationCode, KnownViolationSubject, ObjectShapeFieldSelector, ObjectShapeRefinement, ObjectShapeRefinementIssue, ObjectShapeRuleDescriptor, ObjectShapeRuleDescriptorBase, OptionalValidator, RecordValidator, RecordConstraintDescriptor, ShapeConstraintDescriptor, TupleValidator, TupleConstraintDescriptor, UnionValidator, ValidationFailure, ValidationSuccess, ViolationArgs, ViolationCode, ViolationCodeEntry, ViolationCodeRegistry, ViolationEntry, ViolationKind, ViolationKindOf, ViolationNameOf, ViolationSubject, ViolationTreeNode, UnionConstraintDescriptor, ValidationTuple, ValidationResult, Validator, ValidatorDescriptor, Violation, WrapperConstraintDescriptor, } from '../types';
|
|
7
|
+
export declare const matches: {
|
|
8
|
+
sync<const C extends MaybeMany<Constraint>>(value: unknown, constraints: C): value is InferConstraints<C>;
|
|
9
|
+
};
|
|
10
|
+
export declare const validate: (<const C extends MaybeMany<Constraint>>(value: unknown, constraints: C) => Promise<ValidationTuple<InferConstraints<C>, InferMaybeManyViolations<C>>>) & {
|
|
11
|
+
sync<const C extends MaybeMany<Constraint>>(value: unknown, constraints: C): ValidationTuple<InferConstraints<C>, InferMaybeManyViolations<C>>;
|
|
6
12
|
};
|
package/dist/index.mjs
CHANGED
|
@@ -1,80 +1,144 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return null;
|
|
1
|
+
import { endsWith, hasLength, hasPattern, hasSize, hasValue, isBigInt, isBlob, isBoolean, isDate, isDefined, isEmail, isFile, isFunction, isMap, isNaN, isNull, isNumber, isSet, isString, isSymbol, multipleOf, oneOf, startsWith } from "./assertions.mjs";
|
|
2
|
+
import { discriminatedUnion, each, exact, nullable, nullish, optional, record, shape, tuple, union } from "./combinators.mjs";
|
|
3
|
+
import { a as arrayify, i as isValidator } from "./metadata.es.js";
|
|
4
|
+
import { c, b, m } from "./metadata.es.js";
|
|
5
|
+
import { assert } from "./assert.mjs";
|
|
6
|
+
const ROOT_PATH = Object.freeze([]);
|
|
7
|
+
const normalizePath = (path) => path ?? ROOT_PATH;
|
|
8
|
+
const isSamePath = (left, right = ROOT_PATH) => {
|
|
9
|
+
const normalizedLeft = normalizePath(left);
|
|
10
|
+
if (normalizedLeft.length !== right.length) {
|
|
11
|
+
return false;
|
|
15
12
|
}
|
|
16
|
-
return
|
|
17
|
-
value,
|
|
18
|
-
path,
|
|
19
|
-
violates: assert.fqn,
|
|
20
|
-
..."reason" in assert ? { reason: assert.reason } : {},
|
|
21
|
-
..."meta" in assert ? { meta: assert.meta } : {}
|
|
22
|
-
};
|
|
13
|
+
return normalizedLeft.every((part, index) => Object.is(part, right[index]));
|
|
23
14
|
};
|
|
24
|
-
const
|
|
25
|
-
|
|
15
|
+
const isPathPrefix = (path, prefix) => {
|
|
16
|
+
if (prefix.length > path.length) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
return prefix.every((part, index) => Object.is(part, path[index]));
|
|
26
20
|
};
|
|
27
|
-
const
|
|
21
|
+
const createTreeState = (path) => ({
|
|
22
|
+
path: Object.freeze([...path]),
|
|
23
|
+
self: [],
|
|
24
|
+
subtree: [],
|
|
25
|
+
children: /* @__PURE__ */ new Map()
|
|
26
|
+
});
|
|
27
|
+
class TreeNode {
|
|
28
|
+
constructor(state) {
|
|
29
|
+
this.path = state.path;
|
|
30
|
+
this.self = new ViolationCollection(state.self);
|
|
31
|
+
this.subtree = new ViolationCollection(state.subtree);
|
|
32
|
+
this.children = new Map(
|
|
33
|
+
[...state.children.entries()].map(([key, child]) => [key, new TreeNode(child)])
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
at(path) {
|
|
37
|
+
if (!isPathPrefix(path, this.path)) {
|
|
38
|
+
return void 0;
|
|
39
|
+
}
|
|
40
|
+
if (path.length === this.path.length) {
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
const child = this.children.get(path[this.path.length]);
|
|
44
|
+
return child?.at(path);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const buildTree = (violations) => {
|
|
48
|
+
const root = createTreeState(ROOT_PATH);
|
|
49
|
+
violations.forEach((violation) => {
|
|
50
|
+
const path = normalizePath(violation.path);
|
|
51
|
+
root.subtree.push(violation);
|
|
52
|
+
if (path.length === 0) {
|
|
53
|
+
root.self.push(violation);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
let current = root;
|
|
57
|
+
const currentPath = [];
|
|
58
|
+
path.forEach((segment, index) => {
|
|
59
|
+
currentPath.push(segment);
|
|
60
|
+
let child = current.children.get(segment);
|
|
61
|
+
if (!child) {
|
|
62
|
+
child = createTreeState(currentPath);
|
|
63
|
+
current.children.set(segment, child);
|
|
64
|
+
}
|
|
65
|
+
child.subtree.push(violation);
|
|
66
|
+
if (index === path.length - 1) {
|
|
67
|
+
child.self.push(violation);
|
|
68
|
+
}
|
|
69
|
+
current = child;
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
return new TreeNode(root);
|
|
73
|
+
};
|
|
74
|
+
class ViolationCollection {
|
|
75
|
+
constructor(violations) {
|
|
76
|
+
this.violations = [...violations];
|
|
77
|
+
this.size = this.violations.length;
|
|
78
|
+
}
|
|
79
|
+
[Symbol.iterator]() {
|
|
80
|
+
return this.violations[Symbol.iterator]();
|
|
81
|
+
}
|
|
82
|
+
forEach(callback) {
|
|
83
|
+
this.violations.forEach((violation, index) => callback(violation, index, this));
|
|
84
|
+
}
|
|
85
|
+
map(callback) {
|
|
86
|
+
return this.violations.map((violation, index) => callback(violation, index, this));
|
|
87
|
+
}
|
|
88
|
+
at(path) {
|
|
89
|
+
return new ViolationCollection(this.violations.filter((violation) => isSamePath(violation.path, path)));
|
|
90
|
+
}
|
|
91
|
+
tree() {
|
|
92
|
+
return buildTree(this.violations);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const collection = (violations) => new ViolationCollection(violations);
|
|
96
|
+
const collectViolations = async (value, constraints, path = []) => {
|
|
28
97
|
const validations = [];
|
|
29
|
-
for (const
|
|
30
|
-
if (
|
|
31
|
-
validations.push(...
|
|
98
|
+
for (const c2 of arrayify(constraints)) {
|
|
99
|
+
if (isValidator(c2)) {
|
|
100
|
+
validations.push(...c2.run(collectViolations, value, path).map((v2) => v2 instanceof Promise ? v2 : Promise.resolve(v2)));
|
|
32
101
|
continue;
|
|
33
102
|
}
|
|
34
|
-
const v =
|
|
103
|
+
const v = c2(value);
|
|
35
104
|
if (v instanceof Promise) {
|
|
36
|
-
if (
|
|
105
|
+
if (c2.bail) {
|
|
37
106
|
const awaited = await v;
|
|
38
107
|
if (awaited) {
|
|
39
|
-
validations.push(Promise.resolve([awaited]));
|
|
108
|
+
validations.push(Promise.resolve([Object.assign(awaited, { path: [...path] })]));
|
|
40
109
|
break;
|
|
41
110
|
}
|
|
42
111
|
} else {
|
|
43
|
-
validations.push(v.then((v2) => v2 ? [v2] : []));
|
|
112
|
+
validations.push(v.then((v2) => v2 ? [Object.assign(v2, { path: [...path] })] : []));
|
|
44
113
|
}
|
|
45
114
|
} else if (v) {
|
|
46
|
-
validations.push(Promise.resolve([v]));
|
|
47
|
-
if (
|
|
115
|
+
validations.push(Promise.resolve([Object.assign(v, { path: [...path] })]));
|
|
116
|
+
if (c2.bail) {
|
|
48
117
|
break;
|
|
49
118
|
}
|
|
50
119
|
}
|
|
51
120
|
}
|
|
52
121
|
return settle(value, path, validations);
|
|
53
122
|
};
|
|
54
|
-
const
|
|
123
|
+
const collectViolationsSync = (value, constraints, path = []) => {
|
|
55
124
|
const violations = [];
|
|
56
|
-
for (const
|
|
57
|
-
if (
|
|
58
|
-
violations.push(...
|
|
125
|
+
for (const c2 of arrayify(constraints)) {
|
|
126
|
+
if (isValidator(c2)) {
|
|
127
|
+
violations.push(...c2.run(collectViolationsSync, value, path));
|
|
59
128
|
continue;
|
|
60
129
|
}
|
|
61
|
-
const v =
|
|
130
|
+
const v = c2(value);
|
|
62
131
|
if (v instanceof Promise) {
|
|
63
|
-
throw new Error("Found asynchronous
|
|
132
|
+
throw new Error("Found asynchronous validator " + String(c2.name));
|
|
64
133
|
} else if (v) {
|
|
65
|
-
violations.push(v);
|
|
66
|
-
if (
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
134
|
+
violations.push(Object.assign(v, { path: [...path] }));
|
|
135
|
+
if (c2.bail) break;
|
|
69
136
|
}
|
|
70
137
|
}
|
|
71
138
|
return flatten(violations);
|
|
72
139
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
});
|
|
76
|
-
function arraify(value) {
|
|
77
|
-
return Array.isArray(value) ? [...value] : [value];
|
|
140
|
+
function toResult(value, violations) {
|
|
141
|
+
return violations.length === 0 ? [true, value, []] : [false, value, violations];
|
|
78
142
|
}
|
|
79
143
|
function flatten(recursive) {
|
|
80
144
|
const flattened = [];
|
|
@@ -93,27 +157,75 @@ async function settle(value, path, validations) {
|
|
|
93
157
|
violations.push({
|
|
94
158
|
value,
|
|
95
159
|
path,
|
|
96
|
-
violates: "
|
|
97
|
-
reason: "reject",
|
|
98
|
-
meta: result.reason
|
|
160
|
+
violates: { kind: "runtime", name: "validate", code: "runtime.rejection", args: [result.reason] }
|
|
99
161
|
});
|
|
100
162
|
}
|
|
101
163
|
});
|
|
102
164
|
return violations;
|
|
103
165
|
}
|
|
166
|
+
const matches = {
|
|
167
|
+
sync(value, constraints) {
|
|
168
|
+
return collectViolationsSync(value, constraints).length === 0;
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
const validate = Object.assign(
|
|
172
|
+
async (value, constraints) => {
|
|
173
|
+
const violations = await collectViolations(value, constraints);
|
|
174
|
+
return toResult(
|
|
175
|
+
value,
|
|
176
|
+
violations
|
|
177
|
+
);
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
sync(value, constraints) {
|
|
181
|
+
const violations = collectViolationsSync(value, constraints);
|
|
182
|
+
return toResult(
|
|
183
|
+
value,
|
|
184
|
+
violations
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
);
|
|
104
189
|
export {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
190
|
+
ViolationCollection,
|
|
191
|
+
assert,
|
|
192
|
+
collection,
|
|
193
|
+
c as custom,
|
|
194
|
+
b as describe,
|
|
195
|
+
discriminatedUnion,
|
|
196
|
+
each,
|
|
197
|
+
endsWith,
|
|
198
|
+
exact,
|
|
199
|
+
hasLength,
|
|
200
|
+
hasPattern,
|
|
201
|
+
hasSize,
|
|
202
|
+
hasValue,
|
|
203
|
+
isBigInt,
|
|
204
|
+
isBlob,
|
|
205
|
+
isBoolean,
|
|
206
|
+
isDate,
|
|
207
|
+
isDefined,
|
|
208
|
+
isEmail,
|
|
209
|
+
isFile,
|
|
210
|
+
isFunction,
|
|
211
|
+
isMap,
|
|
212
|
+
isNaN,
|
|
213
|
+
isNull,
|
|
214
|
+
isNumber,
|
|
215
|
+
isSet,
|
|
216
|
+
isString,
|
|
217
|
+
isSymbol,
|
|
218
|
+
matches,
|
|
219
|
+
m as meta,
|
|
220
|
+
multipleOf,
|
|
221
|
+
nullable,
|
|
222
|
+
nullish,
|
|
223
|
+
oneOf,
|
|
224
|
+
optional,
|
|
225
|
+
record,
|
|
226
|
+
shape,
|
|
227
|
+
startsWith,
|
|
228
|
+
tuple,
|
|
229
|
+
union,
|
|
118
230
|
validate
|
|
119
231
|
};
|