@oxog/vld 2.0.2 → 2.1.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/CHANGELOG.md +75 -1
- package/LICENSE +20 -20
- package/README.md +101 -37
- package/dist/chunks/errors-core-BeiFUtZM.js +81 -0
- package/dist/chunks/{index-CETyGkrv.js → index-0R2ntSud.js} +16 -402
- package/dist/chunks/index-BvH403Yy.js +88 -0
- package/dist/chunks/security-B0Pd_vSY.js +35 -0
- package/dist/chunks/string-BJRQod3t.js +530 -0
- package/dist/cjs/chunks/errors-core-DWxLFs2f.cjs +83 -0
- package/dist/cjs/chunks/index-BkI37108.cjs +538 -0
- package/dist/cjs/chunks/index-Cc3bjUMX.cjs +91 -0
- package/dist/cjs/chunks/security-Dc3Jh13T.cjs +37 -0
- package/dist/cjs/chunks/string-BKZrc4hs.cjs +533 -0
- package/dist/cjs/cli/bin.cjs +506 -0
- package/dist/cjs/cli/index.cjs +209 -0
- package/dist/cjs/codecs/index.cjs +45 -0
- package/dist/{chunks/date-ODue_rtq.js → cjs/coercion/index.cjs} +185 -103
- package/dist/cjs/compat/emitter.cjs +184 -0
- package/dist/cjs/compat/result.cjs +189 -0
- package/dist/cjs/errors.cjs +6 -213
- package/dist/cjs/index.cjs +1558 -9647
- package/dist/cjs/kernel.cjs +415 -0
- package/dist/cjs/locales/af.cjs +108 -0
- package/dist/cjs/locales/ar.cjs +108 -0
- package/dist/cjs/locales/bn.cjs +108 -0
- package/dist/cjs/locales/da.cjs +108 -0
- package/dist/cjs/locales/de.cjs +108 -0
- package/dist/cjs/locales/en.cjs +108 -0
- package/dist/cjs/locales/es-MX.cjs +107 -0
- package/dist/cjs/locales/es.cjs +96 -0
- package/dist/cjs/locales/fi.cjs +108 -0
- package/dist/cjs/locales/fr.cjs +96 -0
- package/dist/cjs/locales/hi.cjs +108 -0
- package/dist/cjs/locales/id.cjs +108 -0
- package/dist/cjs/locales/index.cjs +41 -2875
- package/dist/cjs/locales/it.cjs +108 -0
- package/dist/cjs/locales/ja.cjs +108 -0
- package/dist/cjs/locales/ko.cjs +108 -0
- package/dist/cjs/locales/lazy.cjs +42 -3023
- package/dist/cjs/locales/nl.cjs +108 -0
- package/dist/cjs/locales/no.cjs +108 -0
- package/dist/cjs/locales/pl.cjs +108 -0
- package/dist/cjs/locales/pt-BR.cjs +108 -0
- package/dist/cjs/locales/pt.cjs +108 -0
- package/dist/cjs/locales/ru.cjs +108 -0
- package/dist/cjs/locales/runtime.cjs +51 -0
- package/dist/cjs/locales/sv.cjs +108 -0
- package/dist/cjs/locales/sw.cjs +108 -0
- package/dist/cjs/locales/th.cjs +108 -0
- package/dist/cjs/locales/tr.cjs +108 -0
- package/dist/cjs/locales/vi.cjs +108 -0
- package/dist/cjs/locales/zh.cjs +108 -0
- package/dist/cjs/mini.cjs +121 -7208
- package/dist/cjs/pigment.cjs +207 -0
- package/dist/cjs/plugins/index.cjs +12 -0
- package/dist/cjs/registry.cjs +37 -0
- package/dist/cjs/v3/index.cjs +425 -0
- package/dist/cjs/v4/core/index.cjs +894 -0
- package/dist/cjs/v4/index.cjs +425 -0
- package/dist/cjs/v4/locales/index.cjs +130 -0
- package/dist/cjs/v4/mini/index.cjs +509 -0
- package/dist/cjs/v4-mini/index.cjs +532 -0
- package/dist/cjs/validators/any.cjs +40 -0
- package/dist/cjs/validators/array.cjs +283 -0
- package/dist/cjs/validators/base.cjs +887 -0
- package/dist/cjs/validators/base64.cjs +73 -0
- package/dist/cjs/validators/bigint.cjs +232 -0
- package/dist/cjs/validators/boolean.cjs +146 -0
- package/dist/cjs/validators/codec.cjs +205 -0
- package/dist/cjs/validators/custom.cjs +71 -0
- package/dist/cjs/validators/date.cjs +278 -0
- package/dist/cjs/validators/discriminated-union.cjs +130 -0
- package/dist/cjs/validators/enum.cjs +154 -0
- package/dist/cjs/validators/file.cjs +130 -0
- package/dist/cjs/validators/function.cjs +63 -0
- package/dist/cjs/validators/hex.cjs +70 -0
- package/dist/cjs/validators/index.cjs +123 -0
- package/dist/cjs/validators/intersection.cjs +120 -0
- package/dist/cjs/validators/json.cjs +70 -0
- package/dist/cjs/validators/lazy.cjs +53 -0
- package/dist/cjs/validators/literal.cjs +64 -0
- package/dist/cjs/validators/map.cjs +218 -0
- package/dist/cjs/validators/nan.cjs +41 -0
- package/dist/cjs/validators/never.cjs +36 -0
- package/dist/cjs/validators/null.cjs +43 -0
- package/dist/cjs/validators/number.cjs +427 -0
- package/dist/cjs/validators/object.cjs +868 -0
- package/dist/cjs/validators/promise.cjs +115 -0
- package/dist/cjs/validators/record.cjs +262 -0
- package/dist/cjs/validators/set.cjs +203 -0
- package/dist/cjs/validators/string-bool.cjs +124 -0
- package/dist/cjs/validators/string-formats.cjs +168 -0
- package/dist/cjs/validators/string.cjs +12 -0
- package/dist/cjs/validators/symbol.cjs +62 -0
- package/dist/cjs/validators/template-literal.cjs +108 -0
- package/dist/cjs/validators/tuple.cjs +187 -0
- package/dist/cjs/validators/uint8array.cjs +106 -0
- package/dist/cjs/validators/undefined.cjs +43 -0
- package/dist/cjs/validators/union.cjs +191 -0
- package/dist/cjs/validators/unknown.cjs +40 -0
- package/dist/cjs/validators/void.cjs +48 -0
- package/dist/cjs/validators/xor.cjs +69 -0
- package/dist/cli/bin.d.ts +0 -1
- package/dist/cli/bin.js +407 -0
- package/dist/cli/commands/benchmark.d.ts +1 -2
- package/dist/cli/commands/validate.d.ts +1 -2
- package/dist/cli/index.d.ts +0 -1
- package/dist/cli/index.js +205 -0
- package/dist/codecs/index.d.ts +21 -4
- package/dist/codecs/index.js +11 -4
- package/dist/coercion/bigint.d.ts +2 -3
- package/dist/coercion/boolean.d.ts +3 -3
- package/dist/coercion/date.d.ts +3 -3
- package/dist/coercion/index.d.ts +5 -6
- package/dist/coercion/index.js +473 -5
- package/dist/coercion/number.d.ts +2 -3
- package/dist/coercion/string.d.ts +2 -3
- package/dist/compat/emitter.d.ts +0 -1
- package/dist/compat/emitter.js +0 -1
- package/dist/compat/index.d.ts +4 -5
- package/dist/compat/result.d.ts +1 -2
- package/dist/compat/result.js +0 -1
- package/dist/errors-core.d.ts +39 -0
- package/dist/errors.d.ts +4 -54
- package/dist/errors.js +4 -68
- package/dist/events.d.ts +3 -4
- package/dist/index.d.ts +1195 -600
- package/dist/index.js +1262 -44
- package/dist/kernel.d.ts +2 -3
- package/dist/kernel.js +10 -6
- package/dist/locales/af.d.ts +1 -2
- package/dist/locales/af.js +0 -1
- package/dist/locales/ar.d.ts +1 -2
- package/dist/locales/ar.js +0 -1
- package/dist/locales/bn.d.ts +1 -2
- package/dist/locales/bn.js +0 -1
- package/dist/locales/da.d.ts +1 -2
- package/dist/locales/da.js +0 -1
- package/dist/locales/de.d.ts +1 -2
- package/dist/locales/de.js +0 -1
- package/dist/locales/en.d.ts +1 -2
- package/dist/locales/en.js +0 -1
- package/dist/locales/es-MX.d.ts +1 -2
- package/dist/locales/es-MX.js +0 -1
- package/dist/locales/es.d.ts +1 -2
- package/dist/locales/es.js +0 -1
- package/dist/locales/fi.d.ts +1 -2
- package/dist/locales/fi.js +0 -1
- package/dist/locales/fr.d.ts +1 -2
- package/dist/locales/fr.js +0 -1
- package/dist/locales/hi.d.ts +1 -2
- package/dist/locales/hi.js +0 -1
- package/dist/locales/id.d.ts +1 -2
- package/dist/locales/id.js +0 -1
- package/dist/locales/index.d.ts +10 -15
- package/dist/locales/index.js +28 -2
- package/dist/locales/it.d.ts +1 -2
- package/dist/locales/it.js +0 -1
- package/dist/locales/ja.d.ts +1 -2
- package/dist/locales/ja.js +0 -1
- package/dist/locales/ko.d.ts +1 -2
- package/dist/locales/ko.js +0 -1
- package/dist/locales/lazy.d.ts +4 -26
- package/dist/locales/lazy.js +12 -55
- package/dist/locales/nl.d.ts +1 -2
- package/dist/locales/nl.js +0 -1
- package/dist/locales/no.d.ts +1 -2
- package/dist/locales/no.js +0 -1
- package/dist/locales/pl.d.ts +1 -2
- package/dist/locales/pl.js +0 -1
- package/dist/locales/pt-BR.d.ts +1 -2
- package/dist/locales/pt-BR.js +0 -1
- package/dist/locales/pt.d.ts +1 -2
- package/dist/locales/pt.js +0 -1
- package/dist/locales/ru.d.ts +1 -2
- package/dist/locales/ru.js +0 -1
- package/dist/locales/runtime.d.ts +10 -0
- package/dist/locales/runtime.js +41 -0
- package/dist/locales/sv.d.ts +1 -2
- package/dist/locales/sv.js +0 -1
- package/dist/locales/sw.d.ts +1 -2
- package/dist/locales/sw.js +0 -1
- package/dist/locales/th.d.ts +1 -2
- package/dist/locales/th.js +0 -1
- package/dist/locales/tr.d.ts +1 -2
- package/dist/locales/tr.js +0 -1
- package/dist/locales/types.d.ts +0 -1
- package/dist/locales/vi.d.ts +1 -2
- package/dist/locales/vi.js +0 -1
- package/dist/locales/zh.d.ts +1 -2
- package/dist/locales/zh.js +0 -1
- package/dist/logger.d.ts +0 -1
- package/dist/mini.d.ts +64 -65
- package/dist/mini.js +31 -7
- package/dist/pigment.d.ts +0 -1
- package/dist/pigment.js +6 -4
- package/dist/plugins/index.d.ts +2 -3
- package/dist/plugins/index.js +1 -0
- package/dist/plugins/types.d.ts +4 -5
- package/dist/registry.d.ts +23 -0
- package/dist/registry.js +34 -0
- package/dist/utils/codec-utils.d.ts +0 -1
- package/dist/utils/deep-merge.d.ts +0 -1
- package/dist/utils/ip-validation.d.ts +0 -1
- package/dist/utils/json-schema.d.ts +77 -0
- package/dist/utils/security.d.ts +2 -6
- package/dist/v3/index.d.ts +2 -0
- package/dist/v3/index.js +46 -0
- package/dist/v4/core/index.d.ts +260 -0
- package/dist/v4/core/index.js +277 -0
- package/dist/v4/index.d.ts +4 -0
- package/dist/v4/index.js +50 -0
- package/dist/v4/locales/index.d.ts +53 -0
- package/dist/v4/locales/index.js +77 -0
- package/dist/v4/mini/index.d.ts +2 -0
- package/dist/v4/mini/index.js +47 -0
- package/dist/v4-mini/index.d.ts +22 -0
- package/dist/v4-mini/index.js +75 -0
- package/dist/validators/any.d.ts +7 -2
- package/dist/validators/any.js +37 -0
- package/dist/validators/array.d.ts +9 -2
- package/dist/validators/array.js +279 -0
- package/dist/validators/base.d.ts +228 -5
- package/dist/validators/base.js +868 -0
- package/dist/validators/base64.d.ts +1 -2
- package/dist/validators/base64.js +68 -0
- package/dist/validators/bigint.d.ts +21 -3
- package/dist/validators/bigint.js +228 -0
- package/dist/validators/boolean.d.ts +13 -4
- package/dist/validators/boolean.js +142 -0
- package/dist/validators/codec.d.ts +9 -2
- package/dist/validators/codec.js +200 -0
- package/dist/validators/custom.d.ts +15 -2
- package/dist/validators/custom.js +67 -0
- package/dist/validators/date.d.ts +19 -3
- package/dist/validators/date.js +274 -0
- package/dist/validators/discriminated-union.d.ts +4 -3
- package/dist/validators/discriminated-union.js +123 -0
- package/dist/validators/enum.d.ts +10 -7
- package/dist/validators/enum.js +150 -0
- package/dist/validators/file.d.ts +7 -2
- package/dist/validators/file.js +125 -0
- package/dist/validators/function.d.ts +11 -5
- package/dist/validators/function.js +58 -0
- package/dist/validators/hex.d.ts +1 -2
- package/dist/validators/hex.js +65 -0
- package/dist/validators/index.d.ts +38 -38
- package/dist/validators/index.js +35 -5
- package/dist/validators/intersection.d.ts +1 -2
- package/dist/validators/intersection.js +116 -0
- package/dist/validators/json.d.ts +1 -2
- package/dist/validators/json.js +66 -0
- package/dist/validators/lazy.d.ts +5 -9
- package/dist/validators/lazy.js +50 -0
- package/dist/validators/literal.d.ts +2 -2
- package/dist/validators/literal.js +60 -0
- package/dist/validators/map.d.ts +15 -2
- package/dist/validators/map.js +214 -0
- package/dist/validators/nan.d.ts +2 -3
- package/dist/validators/nan.js +38 -0
- package/dist/validators/never.d.ts +1 -2
- package/dist/validators/never.js +32 -0
- package/dist/validators/null.d.ts +3 -3
- package/dist/validators/null.js +40 -0
- package/dist/validators/number.d.ts +80 -21
- package/dist/validators/number.js +423 -0
- package/dist/validators/object.d.ts +30 -9
- package/dist/validators/object.js +864 -0
- package/dist/validators/promise.d.ts +58 -0
- package/dist/validators/promise.js +111 -0
- package/dist/validators/record.d.ts +11 -2
- package/dist/validators/record.js +258 -0
- package/dist/validators/set.d.ts +11 -2
- package/dist/validators/set.js +199 -0
- package/dist/validators/string-bool.d.ts +7 -10
- package/dist/validators/string-bool.js +120 -0
- package/dist/validators/string-formats.d.ts +13 -4
- package/dist/validators/string-formats.js +135 -0
- package/dist/validators/string.d.ts +39 -18
- package/dist/validators/string.js +4 -0
- package/dist/validators/symbol.d.ts +8 -3
- package/dist/validators/symbol.js +58 -0
- package/dist/validators/template-literal.d.ts +1 -2
- package/dist/validators/template-literal.js +103 -0
- package/dist/validators/tuple.d.ts +15 -2
- package/dist/validators/tuple.js +183 -0
- package/dist/validators/uint8array.d.ts +3 -4
- package/dist/validators/uint8array.js +101 -0
- package/dist/validators/undefined.d.ts +3 -3
- package/dist/validators/undefined.js +40 -0
- package/dist/validators/union.d.ts +7 -4
- package/dist/validators/union.js +187 -0
- package/dist/validators/unknown.d.ts +7 -2
- package/dist/{chunks/unknown-SLIH1VCf.js → validators/unknown.js} +12 -3
- package/dist/validators/void.d.ts +3 -2
- package/dist/validators/void.js +44 -0
- package/dist/validators/xor.d.ts +2 -3
- package/dist/validators/xor.js +66 -0
- package/package.json +116 -31
- package/dist/chunks/bigint-DgsCr2dC.js +0 -1709
- package/dist/chunks/bigint-DgsCr2dC.js.map +0 -1
- package/dist/chunks/date-ODue_rtq.js.map +0 -1
- package/dist/chunks/index-BZqWZvVe.js +0 -426
- package/dist/chunks/index-BZqWZvVe.js.map +0 -1
- package/dist/chunks/index-CETyGkrv.js.map +0 -1
- package/dist/chunks/json-o20GFhTh.js +0 -2021
- package/dist/chunks/json-o20GFhTh.js.map +0 -1
- package/dist/chunks/unknown-SLIH1VCf.js.map +0 -1
- package/dist/cjs/errors.cjs.map +0 -1
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/locales/index.cjs.map +0 -1
- package/dist/cjs/locales/lazy.cjs.map +0 -1
- package/dist/cjs/mini.cjs.map +0 -1
- package/dist/cli/bin.d.ts.map +0 -1
- package/dist/cli/commands/benchmark.d.ts.map +0 -1
- package/dist/cli/commands/validate.d.ts.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/codecs/index.d.ts.map +0 -1
- package/dist/codecs/index.js.map +0 -1
- package/dist/coercion/bigint.d.ts.map +0 -1
- package/dist/coercion/boolean.d.ts.map +0 -1
- package/dist/coercion/date.d.ts.map +0 -1
- package/dist/coercion/index.d.ts.map +0 -1
- package/dist/coercion/index.js.map +0 -1
- package/dist/coercion/number.d.ts.map +0 -1
- package/dist/coercion/string.d.ts.map +0 -1
- package/dist/compat/emitter.d.ts.map +0 -1
- package/dist/compat/emitter.js.map +0 -1
- package/dist/compat/index.d.ts.map +0 -1
- package/dist/compat/result.d.ts.map +0 -1
- package/dist/compat/result.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/events.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/kernel.d.ts.map +0 -1
- package/dist/kernel.js.map +0 -1
- package/dist/locales/af.d.ts.map +0 -1
- package/dist/locales/af.js.map +0 -1
- package/dist/locales/ar.d.ts.map +0 -1
- package/dist/locales/ar.js.map +0 -1
- package/dist/locales/backup-en.d.ts +0 -3
- package/dist/locales/backup-en.d.ts.map +0 -1
- package/dist/locales/bn.d.ts.map +0 -1
- package/dist/locales/bn.js.map +0 -1
- package/dist/locales/da.d.ts.map +0 -1
- package/dist/locales/da.js.map +0 -1
- package/dist/locales/de.d.ts.map +0 -1
- package/dist/locales/de.js.map +0 -1
- package/dist/locales/en.d.ts.map +0 -1
- package/dist/locales/en.js.map +0 -1
- package/dist/locales/es-MX.d.ts.map +0 -1
- package/dist/locales/es-MX.js.map +0 -1
- package/dist/locales/es.d.ts.map +0 -1
- package/dist/locales/es.js.map +0 -1
- package/dist/locales/fi.d.ts.map +0 -1
- package/dist/locales/fi.js.map +0 -1
- package/dist/locales/fr.d.ts.map +0 -1
- package/dist/locales/fr.js.map +0 -1
- package/dist/locales/hi.d.ts.map +0 -1
- package/dist/locales/hi.js.map +0 -1
- package/dist/locales/id.d.ts.map +0 -1
- package/dist/locales/id.js.map +0 -1
- package/dist/locales/index.d.ts.map +0 -1
- package/dist/locales/index.js.map +0 -1
- package/dist/locales/it.d.ts.map +0 -1
- package/dist/locales/it.js.map +0 -1
- package/dist/locales/ja.d.ts.map +0 -1
- package/dist/locales/ja.js.map +0 -1
- package/dist/locales/ko.d.ts.map +0 -1
- package/dist/locales/ko.js.map +0 -1
- package/dist/locales/lazy.d.ts.map +0 -1
- package/dist/locales/lazy.js.map +0 -1
- package/dist/locales/nl.d.ts.map +0 -1
- package/dist/locales/nl.js.map +0 -1
- package/dist/locales/no.d.ts.map +0 -1
- package/dist/locales/no.js.map +0 -1
- package/dist/locales/pl.d.ts.map +0 -1
- package/dist/locales/pl.js.map +0 -1
- package/dist/locales/pt-BR.d.ts.map +0 -1
- package/dist/locales/pt-BR.js.map +0 -1
- package/dist/locales/pt.d.ts.map +0 -1
- package/dist/locales/pt.js.map +0 -1
- package/dist/locales/ru.d.ts.map +0 -1
- package/dist/locales/ru.js.map +0 -1
- package/dist/locales/sv.d.ts.map +0 -1
- package/dist/locales/sv.js.map +0 -1
- package/dist/locales/sw.d.ts.map +0 -1
- package/dist/locales/sw.js.map +0 -1
- package/dist/locales/th.d.ts.map +0 -1
- package/dist/locales/th.js.map +0 -1
- package/dist/locales/tr.d.ts.map +0 -1
- package/dist/locales/tr.js.map +0 -1
- package/dist/locales/types.d.ts.map +0 -1
- package/dist/locales/vi.d.ts.map +0 -1
- package/dist/locales/vi.js.map +0 -1
- package/dist/locales/zh.d.ts.map +0 -1
- package/dist/locales/zh.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/mini.d.ts.map +0 -1
- package/dist/mini.js.map +0 -1
- package/dist/pigment.d.ts.map +0 -1
- package/dist/pigment.js.map +0 -1
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/utils/codec-utils.d.ts.map +0 -1
- package/dist/utils/deep-merge.d.ts.map +0 -1
- package/dist/utils/ip-validation.d.ts.map +0 -1
- package/dist/utils/security.d.ts.map +0 -1
- package/dist/validators/any.d.ts.map +0 -1
- package/dist/validators/array.d.ts.map +0 -1
- package/dist/validators/base.d.ts.map +0 -1
- package/dist/validators/base64.d.ts.map +0 -1
- package/dist/validators/bigint.d.ts.map +0 -1
- package/dist/validators/boolean.d.ts.map +0 -1
- package/dist/validators/codec.d.ts.map +0 -1
- package/dist/validators/custom.d.ts.map +0 -1
- package/dist/validators/date.d.ts.map +0 -1
- package/dist/validators/discriminated-union.d.ts.map +0 -1
- package/dist/validators/enum.d.ts.map +0 -1
- package/dist/validators/file.d.ts.map +0 -1
- package/dist/validators/function.d.ts.map +0 -1
- package/dist/validators/hex.d.ts.map +0 -1
- package/dist/validators/index.d.ts.map +0 -1
- package/dist/validators/index.js.map +0 -1
- package/dist/validators/intersection.d.ts.map +0 -1
- package/dist/validators/json.d.ts.map +0 -1
- package/dist/validators/lazy.d.ts.map +0 -1
- package/dist/validators/literal.d.ts.map +0 -1
- package/dist/validators/map.d.ts.map +0 -1
- package/dist/validators/nan.d.ts.map +0 -1
- package/dist/validators/never.d.ts.map +0 -1
- package/dist/validators/null.d.ts.map +0 -1
- package/dist/validators/number.d.ts.map +0 -1
- package/dist/validators/object.d.ts.map +0 -1
- package/dist/validators/record.d.ts.map +0 -1
- package/dist/validators/set.d.ts.map +0 -1
- package/dist/validators/string-bool.d.ts.map +0 -1
- package/dist/validators/string-formats.d.ts.map +0 -1
- package/dist/validators/string.d.ts.map +0 -1
- package/dist/validators/symbol.d.ts.map +0 -1
- package/dist/validators/template-literal.d.ts.map +0 -1
- package/dist/validators/tuple.d.ts.map +0 -1
- package/dist/validators/uint8array.d.ts.map +0 -1
- package/dist/validators/undefined.d.ts.map +0 -1
- package/dist/validators/union.d.ts.map +0 -1
- package/dist/validators/unknown.d.ts.map +0 -1
- package/dist/validators/void.d.ts.map +0 -1
- package/dist/validators/xor.d.ts.map +0 -1
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
|
|
2
|
+
import { getMessages } from '../locales/runtime.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Optimized immutable union validator for multiple type options
|
|
6
|
+
* Features type-checking shortcuts for 110x performance improvement
|
|
7
|
+
*/
|
|
8
|
+
class VldUnion extends VldBase {
|
|
9
|
+
/**
|
|
10
|
+
* Private constructor to enforce immutability
|
|
11
|
+
*/
|
|
12
|
+
constructor(validators, errorMessage) {
|
|
13
|
+
super(VLD_VALIDATOR_TYPES.UNION);
|
|
14
|
+
this.validators = validators;
|
|
15
|
+
this.errorMessage = errorMessage;
|
|
16
|
+
this.typeCheckers = validators.map(validator => this.createTypeChecker(validator));
|
|
17
|
+
this.simpleModes = validators.map(validator => this.createSimpleMode(validator));
|
|
18
|
+
this.simpleValues = validators.map((validator, i) => this.simpleModes[i] === 'literal' ? validator.literal : undefined);
|
|
19
|
+
}
|
|
20
|
+
createSimpleMode(validator) {
|
|
21
|
+
if (validator.isSimple !== true) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
switch (validator.validatorType) {
|
|
25
|
+
case VLD_VALIDATOR_TYPES.STRING:
|
|
26
|
+
return 'string';
|
|
27
|
+
case VLD_VALIDATOR_TYPES.NUMBER:
|
|
28
|
+
return 'number';
|
|
29
|
+
case VLD_VALIDATOR_TYPES.BOOLEAN:
|
|
30
|
+
return 'boolean';
|
|
31
|
+
case VLD_VALIDATOR_TYPES.BIGINT:
|
|
32
|
+
return 'bigint';
|
|
33
|
+
case VLD_VALIDATOR_TYPES.SYMBOL:
|
|
34
|
+
return 'symbol';
|
|
35
|
+
case VLD_VALIDATOR_TYPES.NULL:
|
|
36
|
+
return 'null';
|
|
37
|
+
case VLD_VALIDATOR_TYPES.UNDEFINED:
|
|
38
|
+
case VLD_VALIDATOR_TYPES.VOID:
|
|
39
|
+
return 'undefined';
|
|
40
|
+
case VLD_VALIDATOR_TYPES.LITERAL:
|
|
41
|
+
return 'literal';
|
|
42
|
+
case VLD_VALIDATOR_TYPES.ANY:
|
|
43
|
+
case VLD_VALIDATOR_TYPES.UNKNOWN:
|
|
44
|
+
return 'passthrough';
|
|
45
|
+
default:
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
parseSimpleValue(mode, index, value) {
|
|
50
|
+
switch (mode) {
|
|
51
|
+
case 'string':
|
|
52
|
+
case 'number':
|
|
53
|
+
case 'boolean':
|
|
54
|
+
case 'bigint':
|
|
55
|
+
case 'symbol':
|
|
56
|
+
return value;
|
|
57
|
+
case 'null':
|
|
58
|
+
return null;
|
|
59
|
+
case 'undefined':
|
|
60
|
+
return undefined;
|
|
61
|
+
case 'literal':
|
|
62
|
+
return this.simpleValues[index];
|
|
63
|
+
case 'passthrough':
|
|
64
|
+
return value;
|
|
65
|
+
default:
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Create type checker based on validator type for fast path optimization
|
|
71
|
+
* Uses a safer approach that's less prone to spoofing
|
|
72
|
+
*/
|
|
73
|
+
createTypeChecker(validator) {
|
|
74
|
+
switch (validator.validatorType) {
|
|
75
|
+
case VLD_VALIDATOR_TYPES.STRING:
|
|
76
|
+
return (v) => typeof v === 'string';
|
|
77
|
+
case VLD_VALIDATOR_TYPES.NUMBER:
|
|
78
|
+
return (v) => typeof v === 'number' && !isNaN(v);
|
|
79
|
+
case VLD_VALIDATOR_TYPES.BOOLEAN:
|
|
80
|
+
return (v) => typeof v === 'boolean';
|
|
81
|
+
case VLD_VALIDATOR_TYPES.BIGINT:
|
|
82
|
+
return (v) => typeof v === 'bigint';
|
|
83
|
+
case VLD_VALIDATOR_TYPES.SYMBOL:
|
|
84
|
+
return (v) => typeof v === 'symbol';
|
|
85
|
+
case VLD_VALIDATOR_TYPES.NAN:
|
|
86
|
+
return (v) => typeof v === 'number' && Number.isNaN(v);
|
|
87
|
+
case VLD_VALIDATOR_TYPES.ARRAY:
|
|
88
|
+
return Array.isArray;
|
|
89
|
+
case VLD_VALIDATOR_TYPES.OBJECT:
|
|
90
|
+
return (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
91
|
+
case VLD_VALIDATOR_TYPES.NULL:
|
|
92
|
+
return (v) => v === null;
|
|
93
|
+
case VLD_VALIDATOR_TYPES.UNDEFINED:
|
|
94
|
+
case VLD_VALIDATOR_TYPES.VOID:
|
|
95
|
+
return (v) => v === undefined;
|
|
96
|
+
case VLD_VALIDATOR_TYPES.ENUM:
|
|
97
|
+
return (v) => typeof v === 'string' || typeof v === 'number';
|
|
98
|
+
case VLD_VALIDATOR_TYPES.LITERAL: {
|
|
99
|
+
const literal = validator.literal;
|
|
100
|
+
return (v) => v === literal;
|
|
101
|
+
}
|
|
102
|
+
case VLD_VALIDATOR_TYPES.NEVER:
|
|
103
|
+
return () => false;
|
|
104
|
+
case VLD_VALIDATOR_TYPES.ANY:
|
|
105
|
+
case VLD_VALIDATOR_TYPES.UNKNOWN:
|
|
106
|
+
return () => true;
|
|
107
|
+
default:
|
|
108
|
+
return () => true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Create a new union validator
|
|
113
|
+
*/
|
|
114
|
+
static create(...validators) {
|
|
115
|
+
return new VldUnion(validators);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Parse and validate a value against union options
|
|
119
|
+
* Optimized with type checking and direct parsing to avoid success-result allocations
|
|
120
|
+
* BUG-NEW-013 FIX: Single-pass error collection to avoid double parsing
|
|
121
|
+
*/
|
|
122
|
+
parse(value) {
|
|
123
|
+
// Single pass: collect errors during validation
|
|
124
|
+
const errors = [];
|
|
125
|
+
for (let i = 0; i < this.validators.length; i++) {
|
|
126
|
+
const validator = this.validators[i];
|
|
127
|
+
const typeChecker = this.typeCheckers[i];
|
|
128
|
+
// Skip validators that definitely won't match based on type
|
|
129
|
+
if (typeChecker && !typeChecker(value)) {
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
const simpleMode = this.simpleModes[i];
|
|
133
|
+
if (simpleMode !== undefined) {
|
|
134
|
+
return this.parseSimpleValue(simpleMode, i, value);
|
|
135
|
+
}
|
|
136
|
+
try {
|
|
137
|
+
return validator.parse(value);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
141
|
+
errors.push(message);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// All validators failed - throw with collected errors
|
|
145
|
+
throw new Error(this.errorMessage ||
|
|
146
|
+
getMessages().unionNoMatch(errors));
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Safely parse and validate a value against union options
|
|
150
|
+
* Optimized version using type checking shortcuts
|
|
151
|
+
* BUG-NEW-013 FIX: Single-pass error collection to avoid double parsing
|
|
152
|
+
*/
|
|
153
|
+
safeParse(value) {
|
|
154
|
+
// Single pass: collect errors during validation
|
|
155
|
+
const errors = [];
|
|
156
|
+
for (let i = 0; i < this.validators.length; i++) {
|
|
157
|
+
const validator = this.validators[i];
|
|
158
|
+
const typeChecker = this.typeCheckers[i];
|
|
159
|
+
// Skip validators that definitely won't match based on type
|
|
160
|
+
if (typeChecker && !typeChecker(value)) {
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
const simpleMode = this.simpleModes[i];
|
|
164
|
+
if (simpleMode !== undefined) {
|
|
165
|
+
return {
|
|
166
|
+
success: true,
|
|
167
|
+
data: this.parseSimpleValue(simpleMode, i, value)
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
try {
|
|
171
|
+
return { success: true, data: validator.parse(value) };
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
175
|
+
errors.push(message);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
// All validators failed - return error with collected messages
|
|
179
|
+
return {
|
|
180
|
+
success: false,
|
|
181
|
+
error: new Error(this.errorMessage ||
|
|
182
|
+
getMessages().unionNoMatch(errors))
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export { VldUnion };
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import { VldBase, ParseResult } from './base';
|
|
1
|
+
import { VldBase, ParseResult } from './base.js';
|
|
2
2
|
/**
|
|
3
3
|
* Validator that accepts unknown values
|
|
4
4
|
*/
|
|
5
5
|
export declare class VldUnknown extends VldBase<unknown, unknown> {
|
|
6
|
+
private constructor();
|
|
6
7
|
/**
|
|
7
8
|
* Create a new unknown validator
|
|
8
9
|
*/
|
|
9
10
|
static create(): VldUnknown;
|
|
11
|
+
/**
|
|
12
|
+
* Returns true because unknown accepts every input without checks.
|
|
13
|
+
* Used by composite validators for passthrough fast paths.
|
|
14
|
+
*/
|
|
15
|
+
get isSimple(): boolean;
|
|
10
16
|
/**
|
|
11
17
|
* Parse unknown value (always succeeds)
|
|
12
18
|
*/
|
|
@@ -16,4 +22,3 @@ export declare class VldUnknown extends VldBase<unknown, unknown> {
|
|
|
16
22
|
*/
|
|
17
23
|
safeParse(value: unknown): ParseResult<unknown>;
|
|
18
24
|
}
|
|
19
|
-
//# sourceMappingURL=unknown.d.ts.map
|
|
@@ -1,15 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Validator that accepts unknown values
|
|
5
5
|
*/
|
|
6
6
|
class VldUnknown extends VldBase {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(VLD_VALIDATOR_TYPES.UNKNOWN);
|
|
9
|
+
}
|
|
7
10
|
/**
|
|
8
11
|
* Create a new unknown validator
|
|
9
12
|
*/
|
|
10
13
|
static create() {
|
|
11
14
|
return new VldUnknown();
|
|
12
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Returns true because unknown accepts every input without checks.
|
|
18
|
+
* Used by composite validators for passthrough fast paths.
|
|
19
|
+
*/
|
|
20
|
+
get isSimple() {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
13
23
|
/**
|
|
14
24
|
* Parse unknown value (always succeeds)
|
|
15
25
|
*/
|
|
@@ -24,5 +34,4 @@ class VldUnknown extends VldBase {
|
|
|
24
34
|
}
|
|
25
35
|
}
|
|
26
36
|
|
|
27
|
-
export { VldUnknown
|
|
28
|
-
//# sourceMappingURL=unknown-SLIH1VCf.js.map
|
|
37
|
+
export { VldUnknown };
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { VldBase, ParseResult } from './base';
|
|
1
|
+
import { VldBase, ParseResult } from './base.js';
|
|
2
2
|
/**
|
|
3
3
|
* Validator that only accepts undefined
|
|
4
4
|
*/
|
|
5
5
|
export declare class VldVoid extends VldBase<void, void> {
|
|
6
|
+
private constructor();
|
|
6
7
|
/**
|
|
7
8
|
* Create a new void validator
|
|
8
9
|
*/
|
|
9
10
|
static create(): VldVoid;
|
|
11
|
+
get isSimple(): boolean;
|
|
10
12
|
/**
|
|
11
13
|
* Parse void value (must be undefined)
|
|
12
14
|
*/
|
|
@@ -16,4 +18,3 @@ export declare class VldVoid extends VldBase<void, void> {
|
|
|
16
18
|
*/
|
|
17
19
|
safeParse(value: unknown): ParseResult<void>;
|
|
18
20
|
}
|
|
19
|
-
//# sourceMappingURL=void.d.ts.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
|
|
2
|
+
import { getMessages } from '../locales/runtime.js';
|
|
3
|
+
import { V as VldError } from '../chunks/errors-core-BeiFUtZM.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Validator that only accepts undefined
|
|
7
|
+
*/
|
|
8
|
+
class VldVoid extends VldBase {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(VLD_VALIDATOR_TYPES.VOID);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Create a new void validator
|
|
14
|
+
*/
|
|
15
|
+
static create() {
|
|
16
|
+
return new VldVoid();
|
|
17
|
+
}
|
|
18
|
+
get isSimple() {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Parse void value (must be undefined)
|
|
23
|
+
*/
|
|
24
|
+
parse(value) {
|
|
25
|
+
if (value !== undefined) {
|
|
26
|
+
throw new Error(getMessages().expectedUndefined);
|
|
27
|
+
}
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Safely parse void value
|
|
32
|
+
*/
|
|
33
|
+
safeParse(value) {
|
|
34
|
+
if (value === undefined) {
|
|
35
|
+
return { success: true, data: undefined };
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
success: false,
|
|
39
|
+
error: new VldError([{ code: 'invalid_type', path: [], message: getMessages().expectedUndefined }])
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { VldVoid };
|
package/dist/validators/xor.d.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Part of Zod 4 API parity implementation
|
|
4
4
|
* Ensures exactly one schema in the union matches
|
|
5
5
|
*/
|
|
6
|
-
import { VldBase } from './base';
|
|
7
|
-
import type { ParseResult } from './base';
|
|
6
|
+
import { VldBase } from './base.js';
|
|
7
|
+
import type { ParseResult } from './base.js';
|
|
8
8
|
/**
|
|
9
9
|
* XOR validator - ensures exactly one option matches
|
|
10
10
|
* Unlike regular union which allows multiple matches, XOR requires exactly one
|
|
@@ -20,4 +20,3 @@ export declare class VldXor<Options extends VldBase<any, any>[]> extends VldBase
|
|
|
20
20
|
*/
|
|
21
21
|
getOptions(): Options;
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=xor.d.ts.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { VldBase, VLD_VALIDATOR_TYPES } from './base.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* VldXor - Exclusive union validator
|
|
5
|
+
* Part of Zod 4 API parity implementation
|
|
6
|
+
* Ensures exactly one schema in the union matches
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* XOR validator - ensures exactly one option matches
|
|
10
|
+
* Unlike regular union which allows multiple matches, XOR requires exactly one
|
|
11
|
+
*/
|
|
12
|
+
class VldXor extends VldBase {
|
|
13
|
+
constructor(_options) {
|
|
14
|
+
super(VLD_VALIDATOR_TYPES.XOR);
|
|
15
|
+
this._options = _options;
|
|
16
|
+
}
|
|
17
|
+
static create(options) {
|
|
18
|
+
if (options.length < 2) {
|
|
19
|
+
throw new Error('XOR requires at least 2 options');
|
|
20
|
+
}
|
|
21
|
+
return new VldXor(options);
|
|
22
|
+
}
|
|
23
|
+
parse(value) {
|
|
24
|
+
const result = this.safeParse(value);
|
|
25
|
+
if (!result.success) {
|
|
26
|
+
throw result.error;
|
|
27
|
+
}
|
|
28
|
+
return result.data;
|
|
29
|
+
}
|
|
30
|
+
safeParse(value) {
|
|
31
|
+
let matchCount = 0;
|
|
32
|
+
let lastSuccess = null;
|
|
33
|
+
for (const option of this._options) {
|
|
34
|
+
const result = option.safeParse(value);
|
|
35
|
+
if (result.success) {
|
|
36
|
+
matchCount++;
|
|
37
|
+
lastSuccess = result;
|
|
38
|
+
if (matchCount > 1) {
|
|
39
|
+
// Early exit if more than one match
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (matchCount === 0) {
|
|
45
|
+
return {
|
|
46
|
+
success: false,
|
|
47
|
+
error: new Error('No schema matched in XOR union')
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (matchCount > 1) {
|
|
51
|
+
return {
|
|
52
|
+
success: false,
|
|
53
|
+
error: new Error(`Input matches ${matchCount} schemas in XOR union, but exactly one is required`)
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return lastSuccess;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get all options
|
|
60
|
+
*/
|
|
61
|
+
getOptions() {
|
|
62
|
+
return this._options;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { VldXor };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxog/vld",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Ultra-fast TypeScript-first schema validation with zero dependencies, 27+ language support, plugin system, and CLI tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.cjs",
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
"bin": {
|
|
10
10
|
"vld": "./dist/cli/bin.js"
|
|
11
11
|
},
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": ">=18"
|
|
14
|
+
},
|
|
12
15
|
"exports": {
|
|
13
16
|
".": {
|
|
14
17
|
"types": "./dist/index.d.ts",
|
|
@@ -27,75 +30,152 @@
|
|
|
27
30
|
},
|
|
28
31
|
"./validators": {
|
|
29
32
|
"types": "./dist/validators/index.d.ts",
|
|
30
|
-
"import": "./dist/validators/index.js"
|
|
33
|
+
"import": "./dist/validators/index.js",
|
|
34
|
+
"require": "./dist/cjs/validators/index.cjs"
|
|
31
35
|
},
|
|
32
36
|
"./validators/*": {
|
|
33
37
|
"types": "./dist/validators/*.d.ts",
|
|
34
|
-
"import": "./dist/validators/*.js"
|
|
38
|
+
"import": "./dist/validators/*.js",
|
|
39
|
+
"require": "./dist/cjs/validators/*.cjs"
|
|
35
40
|
},
|
|
36
41
|
"./coercion": {
|
|
37
42
|
"types": "./dist/coercion/index.d.ts",
|
|
38
|
-
"import": "./dist/coercion/index.js"
|
|
43
|
+
"import": "./dist/coercion/index.js",
|
|
44
|
+
"require": "./dist/cjs/coercion/index.cjs"
|
|
39
45
|
},
|
|
40
46
|
"./codecs": {
|
|
41
47
|
"types": "./dist/codecs/index.d.ts",
|
|
42
|
-
"import": "./dist/codecs/index.js"
|
|
48
|
+
"import": "./dist/codecs/index.js",
|
|
49
|
+
"require": "./dist/cjs/codecs/index.cjs"
|
|
43
50
|
},
|
|
44
51
|
"./locales": {
|
|
45
52
|
"types": "./dist/locales/index.d.ts",
|
|
46
53
|
"import": "./dist/locales/index.js",
|
|
47
54
|
"require": "./dist/cjs/locales/index.cjs"
|
|
48
55
|
},
|
|
56
|
+
"./v3": {
|
|
57
|
+
"types": "./dist/v3/index.d.ts",
|
|
58
|
+
"import": "./dist/v3/index.js",
|
|
59
|
+
"require": "./dist/cjs/v3/index.cjs"
|
|
60
|
+
},
|
|
61
|
+
"./v4": {
|
|
62
|
+
"types": "./dist/v4/index.d.ts",
|
|
63
|
+
"import": "./dist/v4/index.js",
|
|
64
|
+
"require": "./dist/cjs/v4/index.cjs"
|
|
65
|
+
},
|
|
66
|
+
"./v4-mini": {
|
|
67
|
+
"types": "./dist/v4-mini/index.d.ts",
|
|
68
|
+
"import": "./dist/v4-mini/index.js",
|
|
69
|
+
"require": "./dist/cjs/v4-mini/index.cjs"
|
|
70
|
+
},
|
|
71
|
+
"./v4/mini": {
|
|
72
|
+
"types": "./dist/v4/mini/index.d.ts",
|
|
73
|
+
"import": "./dist/v4/mini/index.js",
|
|
74
|
+
"require": "./dist/cjs/v4/mini/index.cjs"
|
|
75
|
+
},
|
|
76
|
+
"./v4/core": {
|
|
77
|
+
"types": "./dist/v4/core/index.d.ts",
|
|
78
|
+
"import": "./dist/v4/core/index.js",
|
|
79
|
+
"require": "./dist/cjs/v4/core/index.cjs"
|
|
80
|
+
},
|
|
81
|
+
"./v4/locales": {
|
|
82
|
+
"types": "./dist/v4/locales/index.d.ts",
|
|
83
|
+
"import": "./dist/v4/locales/index.js",
|
|
84
|
+
"require": "./dist/cjs/v4/locales/index.cjs"
|
|
85
|
+
},
|
|
86
|
+
"./v4/locales/types": null,
|
|
87
|
+
"./v4/locales/runtime": null,
|
|
88
|
+
"./v4/locales/*": {
|
|
89
|
+
"types": "./dist/locales/*.d.ts",
|
|
90
|
+
"import": "./dist/locales/*.js",
|
|
91
|
+
"require": "./dist/cjs/locales/*.cjs"
|
|
92
|
+
},
|
|
49
93
|
"./locales/lazy": {
|
|
50
94
|
"types": "./dist/locales/lazy.d.ts",
|
|
51
95
|
"import": "./dist/locales/lazy.js",
|
|
52
96
|
"require": "./dist/cjs/locales/lazy.cjs"
|
|
53
97
|
},
|
|
98
|
+
"./locales/types": null,
|
|
99
|
+
"./locales/runtime": null,
|
|
100
|
+
"./locales/backup-en": null,
|
|
54
101
|
"./locales/*": {
|
|
55
102
|
"types": "./dist/locales/*.d.ts",
|
|
56
|
-
"import": "./dist/locales/*.js"
|
|
103
|
+
"import": "./dist/locales/*.js",
|
|
104
|
+
"require": "./dist/cjs/locales/*.cjs"
|
|
57
105
|
},
|
|
58
106
|
"./result": {
|
|
59
107
|
"types": "./dist/compat/result.d.ts",
|
|
60
|
-
"import": "./dist/compat/result.js"
|
|
108
|
+
"import": "./dist/compat/result.js",
|
|
109
|
+
"require": "./dist/cjs/compat/result.cjs"
|
|
61
110
|
},
|
|
62
111
|
"./kernel": {
|
|
63
112
|
"types": "./dist/kernel.d.ts",
|
|
64
|
-
"import": "./dist/kernel.js"
|
|
113
|
+
"import": "./dist/kernel.js",
|
|
114
|
+
"require": "./dist/cjs/kernel.cjs"
|
|
115
|
+
},
|
|
116
|
+
"./registry": {
|
|
117
|
+
"types": "./dist/registry.d.ts",
|
|
118
|
+
"import": "./dist/registry.js",
|
|
119
|
+
"require": "./dist/cjs/registry.cjs"
|
|
65
120
|
},
|
|
66
121
|
"./pigment": {
|
|
67
122
|
"types": "./dist/pigment.d.ts",
|
|
68
|
-
"import": "./dist/pigment.js"
|
|
123
|
+
"import": "./dist/pigment.js",
|
|
124
|
+
"require": "./dist/cjs/pigment.cjs"
|
|
69
125
|
},
|
|
70
126
|
"./cli": {
|
|
71
127
|
"types": "./dist/cli/index.d.ts",
|
|
72
|
-
"import": "./dist/cli/index.js"
|
|
128
|
+
"import": "./dist/cli/index.js",
|
|
129
|
+
"require": "./dist/cjs/cli/index.cjs"
|
|
73
130
|
},
|
|
74
131
|
"./plugins": {
|
|
75
132
|
"types": "./dist/plugins/index.d.ts",
|
|
76
|
-
"import": "./dist/plugins/index.js"
|
|
133
|
+
"import": "./dist/plugins/index.js",
|
|
134
|
+
"require": "./dist/cjs/plugins/index.cjs"
|
|
77
135
|
},
|
|
78
136
|
"./package.json": "./package.json"
|
|
79
137
|
},
|
|
80
138
|
"sideEffects": false,
|
|
139
|
+
"publishConfig": {
|
|
140
|
+
"access": "public"
|
|
141
|
+
},
|
|
81
142
|
"scripts": {
|
|
82
|
-
"build": "npm run build:clean && npm run build:
|
|
143
|
+
"build": "npm run build:clean && npm run build:bundle && npm run build:types && npm run build:fix",
|
|
83
144
|
"build:clean": "node -e \"require('fs').rmSync('./dist', { recursive: true, force: true })\"",
|
|
84
|
-
"build:
|
|
85
|
-
"build:
|
|
145
|
+
"build:bundle": "rollup -c rollup.config.mjs",
|
|
146
|
+
"build:esm": "npm run build:bundle",
|
|
147
|
+
"build:cjs": "npm run build:bundle",
|
|
86
148
|
"build:types": "tsc -p tsconfig.build.json",
|
|
87
149
|
"build:fix": "node scripts/fix-imports.cjs",
|
|
88
150
|
"build:legacy": "tsc && node scripts/fix-imports.cjs",
|
|
151
|
+
"verify:exports": "node scripts/verify-exports.cjs",
|
|
152
|
+
"verify:ascii": "node scripts/verify-ascii.cjs",
|
|
153
|
+
"verify:bundle": "node scripts/verify-bundle.cjs",
|
|
154
|
+
"verify:docs": "node scripts/verify-docs.cjs",
|
|
155
|
+
"verify:drop-in": "node scripts/verify-drop-in-app.cjs",
|
|
156
|
+
"verify:install": "node scripts/verify-install.cjs",
|
|
157
|
+
"verify:package": "node scripts/verify-package.cjs",
|
|
158
|
+
"verify:security": "npm audit --audit-level=low",
|
|
159
|
+
"verify:types": "node scripts/verify-types.cjs",
|
|
160
|
+
"verify:zod": "node scripts/verify-zod-parity.cjs",
|
|
89
161
|
"test": "jest --coverage",
|
|
90
162
|
"test:types": "tsc --noEmit",
|
|
91
|
-
"benchmark": "node benchmarks/quick-bench.cjs",
|
|
92
|
-
"benchmark:
|
|
93
|
-
"benchmark:
|
|
94
|
-
"benchmark:
|
|
95
|
-
"benchmark:
|
|
163
|
+
"benchmark": "npm run build && node benchmarks/quick-bench.cjs",
|
|
164
|
+
"benchmark:stable": "npm run build && node benchmarks/stable-bench.cjs",
|
|
165
|
+
"benchmark:guard": "npm run build && npm run benchmark:guard:built",
|
|
166
|
+
"benchmark:guard:built": "node benchmarks/performance-guard.cjs",
|
|
167
|
+
"benchmark:startup:guard": "node benchmarks/startup-guard.cjs",
|
|
168
|
+
"benchmark:memory:guard": "node benchmarks/memory-guard.cjs",
|
|
169
|
+
"benchmark:truth": "npm run build && node benchmarks/performance.cjs",
|
|
170
|
+
"benchmark:full": "npm run build && node benchmarks/performance.cjs",
|
|
171
|
+
"benchmark:memory": "npm run build && node --expose-gc benchmarks/memory.cjs",
|
|
172
|
+
"benchmark:startup": "npm run build && node benchmarks/startup.cjs",
|
|
173
|
+
"benchmark:all": "npm run build && node benchmarks/quick-bench.cjs && node --expose-gc benchmarks/memory.cjs && node benchmarks/startup.cjs",
|
|
96
174
|
"lint": "eslint src --ext .ts",
|
|
97
175
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
98
|
-
"
|
|
176
|
+
"prepack": "npm run build",
|
|
177
|
+
"release:check": "npm run lint && npm run test:types && npm test -- --runInBand && npm run build && npm run verify:ascii && npm run verify:docs && npm run verify:exports && npm run verify:bundle && npm run verify:types && npm run verify:package && npm run verify:install && npm run verify:security && npm run verify:zod && npm run verify:drop-in && npm run benchmark:guard:built && npm run benchmark:startup:guard && npm run benchmark:memory:guard",
|
|
178
|
+
"prepublishOnly": "npm run release:check"
|
|
99
179
|
},
|
|
100
180
|
"keywords": [
|
|
101
181
|
"validation",
|
|
@@ -133,21 +213,26 @@
|
|
|
133
213
|
},
|
|
134
214
|
"homepage": "https://github.com/ersinkoc/vld#readme",
|
|
135
215
|
"devDependencies": {
|
|
136
|
-
"@rollup/plugin-terser": "^0.
|
|
216
|
+
"@rollup/plugin-terser": "^1.0.0",
|
|
137
217
|
"@rollup/plugin-typescript": "^12.1.4",
|
|
138
|
-
"@types/jest": "^
|
|
139
|
-
"@types/node": "^20.
|
|
140
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
141
|
-
"@typescript-eslint/parser": "^
|
|
218
|
+
"@types/jest": "^30.0.0",
|
|
219
|
+
"@types/node": "^20.19.43",
|
|
220
|
+
"@typescript-eslint/eslint-plugin": "^8.61.0",
|
|
221
|
+
"@typescript-eslint/parser": "^8.61.0",
|
|
142
222
|
"benchmark": "^2.1.4",
|
|
143
223
|
"eslint": "^8.56.0",
|
|
144
224
|
"fast-glob": "^3.3.3",
|
|
145
|
-
"jest": "^
|
|
146
|
-
"jest-junit": "^
|
|
147
|
-
"prettier": "^3.
|
|
148
|
-
"rollup": "^4.
|
|
149
|
-
"ts-jest": "^29.4.
|
|
225
|
+
"jest": "^30.4.2",
|
|
226
|
+
"jest-junit": "^17.0.0",
|
|
227
|
+
"prettier": "^3.8.4",
|
|
228
|
+
"rollup": "^4.62.0",
|
|
229
|
+
"ts-jest": "^29.4.11",
|
|
230
|
+
"tslib": "^2.8.1",
|
|
150
231
|
"typescript": "^5.3.3",
|
|
151
|
-
"zod": "^4.
|
|
232
|
+
"zod": "^4.4.3"
|
|
233
|
+
},
|
|
234
|
+
"overrides": {
|
|
235
|
+
"@babel/core": "^7.29.7",
|
|
236
|
+
"js-yaml": "^4.2.0"
|
|
152
237
|
}
|
|
153
238
|
}
|