@oxog/vld 2.0.3 → 2.2.5
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 +120 -1
- package/README.md +1296 -1171
- package/dist/chunks/errors-core-Cqi4-9ew.js +1 -0
- package/dist/chunks/index-CkbfQQ4n.js +1 -0
- package/dist/chunks/index-yjpbvFgw.js +1 -0
- package/dist/chunks/ip-validation-g5LWgy9t.js +1 -0
- package/dist/chunks/security-Dy24T8N7.js +1 -0
- package/dist/cjs/chunks/errors-core-DKPohm9I.cjs +1 -0
- package/dist/cjs/chunks/index-BEV9nG0N.cjs +1 -0
- package/dist/cjs/chunks/index-ZjHAxYdA.cjs +1 -0
- package/dist/cjs/chunks/ip-validation-BZqPamPC.cjs +1 -0
- package/dist/cjs/chunks/security-aXZVI7qW.cjs +1 -0
- package/dist/cjs/cli/bin.cjs +2 -0
- package/dist/cjs/cli/index.cjs +1 -0
- package/dist/cjs/codecs/index.cjs +1 -0
- package/dist/cjs/coercion/index.cjs +1 -0
- package/dist/cjs/compat/emitter.cjs +1 -0
- package/dist/cjs/compat/result.cjs +1 -0
- package/dist/cjs/errors.cjs +1 -387
- package/dist/cjs/index.cjs +1 -10759
- package/dist/cjs/kernel.cjs +1 -0
- package/dist/cjs/locales/af.cjs +1 -0
- package/dist/cjs/locales/ar.cjs +1 -0
- package/dist/cjs/locales/bn.cjs +1 -0
- package/dist/cjs/locales/da.cjs +1 -0
- package/dist/cjs/locales/de.cjs +1 -0
- package/dist/cjs/locales/en.cjs +1 -0
- package/dist/cjs/locales/es-MX.cjs +1 -0
- package/dist/cjs/locales/es.cjs +1 -0
- package/dist/cjs/locales/fi.cjs +1 -0
- package/dist/cjs/locales/fr.cjs +1 -0
- package/dist/cjs/locales/hi.cjs +1 -0
- package/dist/cjs/locales/id.cjs +1 -0
- package/dist/cjs/locales/index.cjs +1 -2877
- package/dist/cjs/locales/it.cjs +1 -0
- package/dist/cjs/locales/ja.cjs +1 -0
- package/dist/cjs/locales/ko.cjs +1 -0
- package/dist/cjs/locales/lazy.cjs +1 -3169
- package/dist/cjs/locales/nl.cjs +1 -0
- package/dist/cjs/locales/no.cjs +1 -0
- package/dist/cjs/locales/pl.cjs +1 -0
- package/dist/cjs/locales/pt-BR.cjs +1 -0
- package/dist/cjs/locales/pt.cjs +1 -0
- package/dist/cjs/locales/ru.cjs +1 -0
- package/dist/cjs/locales/runtime.cjs +1 -0
- package/dist/cjs/locales/sv.cjs +1 -0
- package/dist/cjs/locales/sw.cjs +1 -0
- package/dist/cjs/locales/th.cjs +1 -0
- package/dist/cjs/locales/tr.cjs +1 -0
- package/dist/cjs/locales/vi.cjs +1 -0
- package/dist/cjs/locales/zh.cjs +1 -0
- package/dist/cjs/mini.cjs +1 -7474
- package/dist/cjs/pigment.cjs +1 -0
- package/dist/cjs/plugins/index.cjs +1 -0
- package/dist/cjs/registry.cjs +1 -0
- package/dist/cjs/v3/index.cjs +1 -0
- package/dist/cjs/v4/core/index.cjs +1 -0
- package/dist/cjs/v4/index.cjs +1 -0
- package/dist/cjs/v4/locales/index.cjs +1 -0
- package/dist/cjs/v4/mini/index.cjs +1 -0
- package/dist/cjs/v4-mini/index.cjs +1 -0
- package/dist/cjs/validators/any.cjs +1 -0
- package/dist/cjs/validators/array.cjs +1 -0
- package/dist/cjs/validators/base.cjs +1 -0
- package/dist/cjs/validators/base64.cjs +1 -0
- package/dist/cjs/validators/bigint.cjs +1 -0
- package/dist/cjs/validators/boolean.cjs +1 -0
- package/dist/cjs/validators/codec.cjs +1 -0
- package/dist/cjs/validators/custom.cjs +1 -0
- package/dist/cjs/validators/date.cjs +1 -0
- package/dist/cjs/validators/discriminated-union.cjs +1 -0
- package/dist/cjs/validators/enum.cjs +1 -0
- package/dist/cjs/validators/file.cjs +1 -0
- package/dist/cjs/validators/function.cjs +1 -0
- package/dist/cjs/validators/hex.cjs +1 -0
- package/dist/cjs/validators/index.cjs +1 -0
- package/dist/cjs/validators/intersection.cjs +1 -0
- package/dist/cjs/validators/json.cjs +1 -0
- package/dist/cjs/validators/lazy.cjs +1 -0
- package/dist/cjs/validators/literal.cjs +1 -0
- package/dist/cjs/validators/map.cjs +1 -0
- package/dist/cjs/validators/nan.cjs +1 -0
- package/dist/cjs/validators/never.cjs +1 -0
- package/dist/cjs/validators/null.cjs +1 -0
- package/dist/cjs/validators/number.cjs +1 -0
- package/dist/cjs/validators/object.cjs +1 -0
- package/dist/cjs/validators/promise.cjs +1 -0
- package/dist/cjs/validators/record.cjs +1 -0
- package/dist/cjs/validators/set.cjs +1 -0
- package/dist/cjs/validators/string-bool.cjs +1 -0
- package/dist/cjs/validators/string-formats.cjs +1 -0
- package/dist/cjs/validators/string.cjs +1 -0
- package/dist/cjs/validators/symbol.cjs +1 -0
- package/dist/cjs/validators/template-literal.cjs +1 -0
- package/dist/cjs/validators/tuple.cjs +1 -0
- package/dist/cjs/validators/uint8array.cjs +1 -0
- package/dist/cjs/validators/undefined.cjs +1 -0
- package/dist/cjs/validators/union.cjs +1 -0
- package/dist/cjs/validators/unknown.cjs +1 -0
- package/dist/cjs/validators/void.cjs +1 -0
- package/dist/cjs/validators/xor.cjs +1 -0
- package/dist/cli/bin.d.ts +0 -1
- package/dist/cli/bin.js +2 -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 +1 -0
- package/dist/codecs/index.d.ts +21 -4
- package/dist/codecs/index.js +1 -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 +1 -111
- 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 +1 -181
- package/dist/compat/index.d.ts +4 -5
- package/dist/compat/result.d.ts +1 -2
- package/dist/compat/result.js +1 -171
- package/dist/errors-core.d.ts +58 -0
- package/dist/errors.d.ts +4 -54
- package/dist/errors.js +1 -235
- package/dist/events.d.ts +3 -4
- package/dist/index.d.ts +1093 -851
- package/dist/index.js +1 -855
- package/dist/kernel.d.ts +2 -3
- package/dist/kernel.js +1 -405
- package/dist/locales/af.d.ts +1 -2
- package/dist/locales/af.js +1 -107
- package/dist/locales/ar.d.ts +1 -2
- package/dist/locales/ar.js +1 -107
- package/dist/locales/bn.d.ts +1 -2
- package/dist/locales/bn.js +1 -107
- package/dist/locales/da.d.ts +1 -2
- package/dist/locales/da.js +1 -107
- package/dist/locales/de.d.ts +1 -2
- package/dist/locales/de.js +1 -107
- package/dist/locales/en.d.ts +1 -2
- package/dist/locales/en.js +1 -107
- package/dist/locales/es-MX.d.ts +1 -2
- package/dist/locales/es-MX.js +1 -106
- package/dist/locales/es.d.ts +1 -2
- package/dist/locales/es.js +1 -95
- package/dist/locales/fi.d.ts +1 -2
- package/dist/locales/fi.js +1 -107
- package/dist/locales/fr.d.ts +1 -2
- package/dist/locales/fr.js +1 -95
- package/dist/locales/hi.d.ts +1 -2
- package/dist/locales/hi.js +1 -107
- package/dist/locales/id.d.ts +1 -2
- package/dist/locales/id.js +1 -107
- package/dist/locales/index.d.ts +10 -15
- package/dist/locales/index.js +1 -3
- package/dist/locales/it.d.ts +1 -2
- package/dist/locales/it.js +1 -107
- package/dist/locales/ja.d.ts +1 -2
- package/dist/locales/ja.js +1 -107
- package/dist/locales/ko.d.ts +1 -2
- package/dist/locales/ko.js +1 -107
- package/dist/locales/lazy.d.ts +4 -26
- package/dist/locales/lazy.js +1 -220
- package/dist/locales/nl.d.ts +1 -2
- package/dist/locales/nl.js +1 -107
- package/dist/locales/no.d.ts +1 -2
- package/dist/locales/no.js +1 -107
- package/dist/locales/pl.d.ts +1 -2
- package/dist/locales/pl.js +1 -107
- package/dist/locales/pt-BR.d.ts +1 -2
- package/dist/locales/pt-BR.js +1 -107
- package/dist/locales/pt.d.ts +1 -2
- package/dist/locales/pt.js +1 -107
- package/dist/locales/ru.d.ts +1 -2
- package/dist/locales/ru.js +1 -107
- package/dist/locales/runtime.d.ts +10 -0
- package/dist/locales/runtime.js +1 -0
- package/dist/locales/sv.d.ts +1 -2
- package/dist/locales/sv.js +1 -107
- package/dist/locales/sw.d.ts +1 -2
- package/dist/locales/sw.js +1 -107
- package/dist/locales/th.d.ts +1 -2
- package/dist/locales/th.js +1 -107
- package/dist/locales/tr.d.ts +1 -2
- package/dist/locales/tr.js +1 -107
- package/dist/locales/types.d.ts +0 -1
- package/dist/locales/vi.d.ts +1 -2
- package/dist/locales/vi.js +1 -107
- package/dist/locales/zh.d.ts +1 -2
- package/dist/locales/zh.js +1 -107
- package/dist/logger.d.ts +0 -1
- package/dist/mini.d.ts +67 -68
- package/dist/mini.js +1 -132
- package/dist/pigment.d.ts +0 -1
- package/dist/pigment.js +1 -178
- 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 +1 -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 +26 -7
- package/dist/utils/security.d.ts +2 -6
- package/dist/v3/index.d.ts +2 -0
- package/dist/v3/index.js +1 -0
- package/dist/v4/core/index.d.ts +272 -0
- package/dist/v4/core/index.js +1 -0
- package/dist/v4/index.d.ts +4 -0
- package/dist/v4/index.js +1 -0
- package/dist/v4/locales/index.d.ts +57 -0
- package/dist/v4/locales/index.js +1 -0
- package/dist/v4/mini/index.d.ts +2 -0
- package/dist/v4/mini/index.js +1 -0
- package/dist/v4-mini/index.d.ts +22 -0
- package/dist/v4-mini/index.js +1 -0
- package/dist/validators/any.d.ts +7 -2
- package/dist/validators/any.js +1 -0
- package/dist/validators/array.d.ts +16 -2
- package/dist/validators/array.js +1 -0
- package/dist/validators/base.d.ts +213 -14
- package/dist/validators/base.js +1 -0
- package/dist/validators/base64.d.ts +1 -2
- package/dist/validators/base64.js +1 -0
- package/dist/validators/bigint.d.ts +21 -3
- package/dist/validators/bigint.js +1 -0
- package/dist/validators/boolean.d.ts +13 -4
- package/dist/validators/boolean.js +1 -0
- package/dist/validators/codec.d.ts +9 -2
- package/dist/validators/codec.js +1 -0
- package/dist/validators/custom.d.ts +15 -2
- package/dist/validators/custom.js +1 -0
- package/dist/validators/date.d.ts +19 -3
- package/dist/validators/date.js +1 -0
- package/dist/validators/discriminated-union.d.ts +6 -5
- package/dist/validators/discriminated-union.js +1 -0
- package/dist/validators/enum.d.ts +10 -7
- package/dist/validators/enum.js +1 -0
- package/dist/validators/file.d.ts +7 -2
- package/dist/validators/file.js +1 -0
- package/dist/validators/function.d.ts +11 -5
- package/dist/validators/function.js +1 -0
- package/dist/validators/hex.d.ts +1 -2
- package/dist/validators/hex.js +1 -0
- package/dist/validators/index.d.ts +38 -39
- package/dist/validators/index.js +1 -515
- package/dist/validators/intersection.d.ts +1 -2
- package/dist/validators/intersection.js +1 -0
- package/dist/validators/json.d.ts +1 -2
- package/dist/validators/json.js +1 -0
- package/dist/validators/lazy.d.ts +5 -9
- package/dist/validators/lazy.js +1 -0
- package/dist/validators/literal.d.ts +9 -5
- package/dist/validators/literal.js +1 -0
- package/dist/validators/map.d.ts +15 -2
- package/dist/validators/map.js +1 -0
- package/dist/validators/nan.d.ts +2 -3
- package/dist/validators/nan.js +1 -0
- package/dist/validators/never.d.ts +1 -2
- package/dist/validators/never.js +1 -0
- package/dist/validators/null.d.ts +3 -3
- package/dist/validators/null.js +1 -0
- package/dist/validators/number.d.ts +75 -27
- package/dist/validators/number.js +1 -0
- package/dist/validators/object.d.ts +42 -11
- package/dist/validators/object.js +1 -0
- package/dist/validators/promise.d.ts +15 -10
- package/dist/validators/promise.js +1 -0
- package/dist/validators/record.d.ts +21 -9
- package/dist/validators/record.js +1 -0
- package/dist/validators/set.d.ts +11 -2
- package/dist/validators/set.js +1 -0
- package/dist/validators/string-bool.d.ts +7 -10
- package/dist/validators/string-bool.js +1 -0
- package/dist/validators/string-formats.d.ts +64 -65
- package/dist/validators/string-formats.js +1 -0
- package/dist/validators/string.d.ts +84 -26
- package/dist/validators/string.js +1 -0
- package/dist/validators/symbol.d.ts +8 -3
- package/dist/validators/symbol.js +1 -0
- package/dist/validators/template-literal.d.ts +1 -2
- package/dist/validators/template-literal.js +1 -0
- package/dist/validators/tuple.d.ts +29 -12
- package/dist/validators/tuple.js +1 -0
- package/dist/validators/uint8array.d.ts +3 -4
- package/dist/validators/uint8array.js +1 -0
- package/dist/validators/undefined.d.ts +3 -3
- package/dist/validators/undefined.js +1 -0
- package/dist/validators/union.d.ts +7 -4
- package/dist/validators/union.js +1 -0
- package/dist/validators/unknown.d.ts +7 -2
- package/dist/validators/unknown.js +1 -0
- package/dist/validators/void.d.ts +3 -2
- package/dist/validators/void.js +1 -0
- package/dist/validators/xor.d.ts +4 -5
- package/dist/validators/xor.js +1 -0
- package/package.json +239 -154
- package/dist/chunks/bigint-CRS0QVsy.js +0 -1854
- package/dist/chunks/bigint-CRS0QVsy.js.map +0 -1
- package/dist/chunks/date-50JV_Mfj.js +0 -506
- package/dist/chunks/date-50JV_Mfj.js.map +0 -1
- package/dist/chunks/index-DO8CFMxD.js +0 -894
- package/dist/chunks/index-DO8CFMxD.js.map +0 -1
- package/dist/chunks/json-Cp4WO0M9.js +0 -2021
- package/dist/chunks/json-Cp4WO0M9.js.map +0 -1
- package/dist/chunks/unknown-Dhzri_T-.js +0 -28
- package/dist/chunks/unknown-Dhzri_T-.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/json-schema.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/promise.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 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs"),t=require("../locales/runtime.cjs"),r=require("../chunks/ip-validation-BZqPamPC.cjs"),a=require("../chunks/errors-core-DKPohm9I.cjs");require("../registry.cjs"),require("../locales/en.cjs");const i="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function d(e,t){return e.lastIndex=0,e.test(t)}function s(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function o(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}function n(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"!=typeof e.precision?`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`:-1===e.precision?t:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`}function c(e){return void 0===e?/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/:new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)}const u={cuid:/^[cC][0-9a-z]{6,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,xid:/^[0-9a-vA-V]{20}$/,ksuid:/^[A-Za-z0-9]{27}$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,duration:/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,extendedDuration:/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,guid:/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,creditCard:/^\d(?:[ -]?\d){11,18}$/,uuid:c,uuid4:c(4),uuid6:c(6),uuid7:c(7),email:/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+.-]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9-]*\.)+[A-Za-z]{2,}$/,html5Email:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,rfc5322Email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}))$/,unicodeEmail:/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,idnEmail:/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,browserEmail:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,emoji:()=>/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv6:/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,mac:function(e=":"){const t=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},cidrv4:/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,cidrv6:/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,base64url:/^[A-Za-z0-9_-]*$/,hostname:/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,domain:/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,httpProtocol:/^https?$/,e164:/^\+[1-9]\d{6,14}$/,date:new RegExp(`^${i}$`),time:function(e={}){return new RegExp(`^${n(e)}$`)},datetime:function(e={}){const t=["Z"];return e.local&&t.push(""),e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)"),new RegExp(`^${i}T${n(e)}(?:${t.join("|")})$`)},string:function(e){const t=e?`[\\s\\S]{${e.minimum??0},${e.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},bigint:/^-?\d+n?$/,integer:/^-?\d+$/,number:/^-?\d+(?:\.\d+)?$/,boolean:/^(?:true|false)$/i,null:/^null$/i,undefined:/^undefined$/i,lowercase:/^[^A-Z]*$/,uppercase:/^[^a-z]*$/,hex:/^[0-9a-fA-F]*$/,md5_hex:/^[0-9a-fA-F]{32}$/,md5_base64:s(22,"=="),md5_base64url:o(22),sha1_hex:/^[0-9a-fA-F]{40}$/,sha1_base64:s(27,"="),sha1_base64url:o(27),sha256_hex:/^[0-9a-fA-F]{64}$/,sha256_base64:s(43,"="),sha256_base64url:o(43),sha384_hex:/^[0-9a-fA-F]{96}$/,sha384_base64:s(64,""),sha384_base64url:o(64),sha512_hex:/^[0-9a-fA-F]{128}$/,sha512_base64:s(86,"=="),sha512_base64url:o(86),jwt:/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/,httpUrl:/^https?:\/\/[^\s/$.?#].[^\s]*$/,md5:/^[a-f0-9]{32}$/i,sha1:/^[a-f0-9]{40}$/i,sha256:/^[a-f0-9]{64}$/i,sha384:/^[a-f0-9]{96}$/i,sha512:/^[a-f0-9]{128}$/i};class VldStringFormat extends e.VldBase{constructor(t,r,a,i=e=>e,d){super(e.VLD_VALIDATOR_TYPES.STRING_FORMAT),this._format=t,this._validator=r,this._errorMessage=a,this._normalize=i,this._patternSource=d}static create(e,t,r,a,i){return new VldStringFormat(e,t,r,a,i)}_createFormatIssue(){const e={code:"invalid_format",path:[],origin:"string",format:this._format,message:this._errorMessage||`Invalid ${this._format}`};return this._patternSource&&(e.pattern=this._patternSource),new a.VldError([e])}parse(e){if("string"!=typeof e)throw new a.VldError([a.createInvalidTypeIssue("string",a.getTypeName(e),t.getMessages().invalidString)]);if(!this._validator(e))throw this._createFormatIssue();return this._normalize(e)}safeParse(e){return"string"!=typeof e?{success:!1,error:new a.VldError([a.createInvalidTypeIssue("string",a.getTypeName(e),t.getMessages().invalidString)])}:this._validator(e)?{success:!0,data:this._normalize(e)}:{success:!1,error:this._createFormatIssue()}}}const l=/[ -]/g;function m(e){return!!u.creditCard.test(e)&&function(e){let t=0,r=!1;for(let a=e.length-1;a>=0;a--){let i=e.charCodeAt(a)-48;r&&(i*=2,i>9&&(i-=9)),t+=i,r=!r}return t%10==0}(e.replace(l,""))}const f={ZodISODate:VldStringFormat,ZodISODateTime:VldStringFormat,ZodISODuration:VldStringFormat,ZodISOTime:VldStringFormat,date:()=>VldStringFormat.create("date",e=>d(u.date,e)),time:(e={})=>{const t=u.time(e);return VldStringFormat.create("time",e=>d(t,e))},datetime:(e={})=>{const t=u.datetime(e);return VldStringFormat.create("datetime",e=>d(t,e))},dateTime:(e={local:!0})=>{const t=u.datetime(e);return VldStringFormat.create("datetime",e=>d(t,e))},duration:()=>VldStringFormat.create("duration",e=>d(u.duration,e))};exports.VldStringFormat=VldStringFormat,exports.base64=()=>VldStringFormat.create("base64",e=>d(u.base64,e)),exports.base64url=()=>VldStringFormat.create("base64url",e=>d(u.base64url,e)),exports.cidrv4=()=>VldStringFormat.create("cidrv4",e=>d(u.cidrv4,e)),exports.cidrv6=()=>VldStringFormat.create("cidrv6",e=>{const t=e.lastIndexOf("/");if(t<=0)return!1;const a=Number(e.slice(t+1));return Number.isInteger(a)&&a>=0&&a<=128&&r.isValidIPv6(e.slice(0,t))}),exports.creditCard=e=>VldStringFormat.create("credit_card",m,e?.message,void 0,u.creditCard.source),exports.cuid=()=>VldStringFormat.create("cuid",e=>d(u.cuid,e)),exports.cuid2=()=>VldStringFormat.create("cuid2",e=>d(u.cuid2,e)),exports.e164=()=>VldStringFormat.create("e164",e=>d(u.e164,e)),exports.email=e=>{const t=e?.pattern??u.email;return VldStringFormat.create("email",e=>d(t,e),void 0,void 0,t.source)},exports.emoji=()=>VldStringFormat.create("emoji",e=>d(u.emoji(),e)),exports.guid=()=>VldStringFormat.create("guid",e=>d(u.guid,e)),exports.hash=e=>VldStringFormat.create("hash",t=>u[e]?.test(t)??!1,`Invalid ${e} hash`),exports.hex=()=>VldStringFormat.create("hex",e=>d(u.hex,e)),exports.hostname=()=>VldStringFormat.create("hostname",e=>d(u.hostname,e)),exports.httpUrl=()=>VldStringFormat.create("httpUrl",e=>d(u.httpUrl,e)),exports.ipv4=()=>VldStringFormat.create("ipv4",e=>d(u.ipv4,e)),exports.ipv6=()=>VldStringFormat.create("ipv6",e=>d(u.ipv6,e)),exports.isValidCreditCard=m,exports.iso=f,exports.jwt=()=>VldStringFormat.create("jwt",e=>d(u.jwt,e)),exports.ksuid=()=>VldStringFormat.create("ksuid",e=>d(u.ksuid,e)),exports.mac=e=>{const t=u.mac(e?.delimiter);return VldStringFormat.create("mac",e=>d(t,e))},exports.nanoid=()=>VldStringFormat.create("nanoid",e=>d(u.nanoid,e)),exports.regexes=u,exports.stringFormat=(e,t)=>{const r=t instanceof RegExp?e=>d(t,e):t;return VldStringFormat.create(e,r)},exports.ulid=()=>VldStringFormat.create("ulid",e=>d(u.ulid,e)),exports.url=(e={})=>VldStringFormat.create("url",t=>{const r=(e=>{try{return new URL(e)}catch{return}})(t);return void 0!==r&&(!e.hostname||d(e.hostname,r.hostname))&&(!e.protocol||d(e.protocol,r.protocol.slice(0,-1)))},void 0,e.normalize?e=>new URL(e).href:void 0),exports.uuid=e=>{const t=c(void 0===e?.version?void 0:Number(e.version.slice(1)));return VldStringFormat.create("uuid",e=>d(t,e))},exports.uuidv4=()=>VldStringFormat.create("uuid",e=>d(u.uuid4,e)),exports.uuidv6=()=>VldStringFormat.create("uuid",e=>d(u.uuid6,e)),exports.uuidv7=()=>VldStringFormat.create("uuid",e=>d(u.uuid7,e)),exports.xid=()=>VldStringFormat.create("xid",e=>d(u.xid,e));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs"),s=require("../locales/runtime.cjs"),r=require("../chunks/ip-validation-BZqPamPC.cjs"),t=require("../chunks/errors-core-DKPohm9I.cjs");require("../registry.cjs"),require("../locales/en.cjs");const i={email:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,uuid:/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,url:/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,uuidv4:/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,uuidv6:/^[0-9a-f]{8}-[0-9a-f]{4}-6[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,uuidv7:/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,emoji:/^(?:\p{Emoji_Presentation}|\p{Emoji}\uFE0F)(?:\u200D(?:\p{Emoji_Presentation}|\p{Emoji}\uFE0F))*$/u,base64:/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,base64url:/^[A-Za-z0-9_-]*$/,jwt:/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/,nanoid:/^[A-Za-z0-9_-]{21}$/,cuid:/^c[^\s-]{8,}$/i,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,cidrv4:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/(?:3[0-2]|[12]?[0-9])$/,cidrv6:/^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\/(?:12[0-8]|1[01][0-9]|[1-9]?[0-9])$|^::(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}\/(?:12[0-8]|1[01][0-9]|[1-9]?[0-9])$|^(?:[0-9a-fA-F]{1,4}:){1,7}:\/(?:12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,e164:/^\+[1-9]\d{1,14}$/,xid:/^[A-HJKMNP-TV-Z0-9]{20}$/,guid:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i,ksuid:/^[0-9A-Za-z]{27}$/,isoDate:/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/,isoTime:/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?$/,isoDateTime:/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?Z?$/,isoDuration:/^-?P(?!$)(?:\d+(?:\.\d+)?Y)?(?:\d+(?:\.\d+)?M)?(?:\d+(?:\.\d+)?W)?(?:\d+(?:\.\d+)?D)?(?:T(?=\d)(?:\d+(?:\.\d+)?H)?(?:\d+(?:\.\d+)?M)?(?:\d+(?:\.\d+)?S)?)?$/};class VldString extends e.VldBase{constructor(s){super(s?.validatorType||e.VLD_VALIDATOR_TYPES.STRING),this.config={checks:s?.checks||[],transforms:s?.transforms||[],errorMessage:s?.errorMessage,jsonSchema:s?.jsonSchema,checkMetas:s?.checkMetas},this._checks=this.config.checks,this._transforms=this.config.transforms,this._isSimple=0===this._checks.length&&0===this._transforms.length,this._checkMetas=this.config.checkMetas}static create(){return new VldString}get isSimple(){return this._isSimple}_createCheckIssue(e){switch(e.kind){case"min":return{code:"too_small",path:[],origin:"string",minimum:e.value,inclusive:!0,message:e.message||`Too small: expected string to have >=${e.value} characters`};case"max":return{code:"too_big",path:[],origin:"string",maximum:e.value,inclusive:!0,message:e.message||`Too big: expected string to have <=${e.value} characters`};case"length":return{code:"too_big",path:[],origin:"string",exact:e.value,message:e.message||`Too big: expected string to have exactly ${e.value} characters`};case"format":{const s={code:"invalid_format",path:[],origin:"string",format:e.format,message:e.message||`Invalid ${e.format}`};return void 0!==e.pattern&&(s.pattern=e.pattern),s}case"regex":{const s={code:"invalid_format",path:[],origin:"string",format:"regex",message:e.message||"Invalid string: does not match pattern"};return void 0!==e.pattern&&(s.pattern=e.pattern),s}default:return{code:"custom",path:[],message:e.message||"Invalid string"}}}_runChecks(e){const s=this._checks,r=this._checkMetas;for(let t=0;t<s.length;t++)if(!s[t](e))return r?.[t]??this._fallbackMeta();return null}_fallbackMeta(){return{kind:"other",message:this.config.errorMessage}}parse(e){if("string"!=typeof e)throw new t.VldError([t.createInvalidTypeIssue("string",t.getTypeName(e),this.config.errorMessage)]);return this._isSimple?e:this.parseKnownString(e)}parseKnownString(e){if(this._isSimple)return e;const s=this._transforms;let r=e;switch(s.length){case 0:break;case 1:r=s[0](r);break;case 2:r=s[1](s[0](r));break;case 3:r=s[2](s[1](s[0](r)));break;default:for(let e=0;e<s.length;e++)r=s[e](r)}const i=this._runChecks(r);if(i)throw new t.VldError([this._createCheckIssue(i)]);return r}safeParse(e){if("string"!=typeof e)return{success:!1,error:new t.VldError([t.createInvalidTypeIssue("string",t.getTypeName(e),this.config.errorMessage)])};if(this._isSimple)return{success:!0,data:e};try{return{success:!0,data:this.parseKnownString(e)}}catch(e){return e instanceof t.VldError?{success:!1,error:e}:{success:!1,error:(s=e.message,new t.VldError([{code:"invalid_string",path:[],message:s}]))}}var s}min(r,t){return new VldString({checks:[...this.config.checks,e=>e.length>=r],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,s.getMessages().stringMin(r)),jsonSchema:{...this.config.jsonSchema,minLength:r},checkMetas:[...this.config.checkMetas??[],{kind:"min",value:r,message:e.resolveErrorMessage(t,s.getMessages().stringMin(r))}]})}max(r,t){return new VldString({checks:[...this.config.checks,e=>e.length<=r],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,s.getMessages().stringMax(r)),jsonSchema:{...this.config.jsonSchema,maxLength:r},checkMetas:[...this.config.checkMetas??[],{kind:"max",value:r,message:e.resolveErrorMessage(t,s.getMessages().stringMax(r))}]})}length(r,t){return new VldString({checks:[...this.config.checks,e=>e.length===r],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,s.getMessages().stringLength(r)),jsonSchema:{...this.config.jsonSchema,exactLength:r},checkMetas:[...this.config.checkMetas??[],{kind:"length",value:r,message:e.resolveErrorMessage(t,s.getMessages().stringLength(r))}]})}email(r){return new VldString({checks:[...this.config.checks,e=>i.email.test(e)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(r,s.getMessages().stringEmail),jsonSchema:{...this.config.jsonSchema,format:"email"},checkMetas:[...this.config.checkMetas??[],{kind:"format",format:"email",message:e.resolveErrorMessage(r,s.getMessages().stringEmail)}]})}url(r){return new VldString({checks:[...this.config.checks,e=>i.url.test(e)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(r,s.getMessages().stringUrl),jsonSchema:{...this.config.jsonSchema,format:"uri"},checkMetas:[...this.config.checkMetas??[],{kind:"format",format:"url",message:e.resolveErrorMessage(r,s.getMessages().stringUrl)}]})}uuid(r){return new VldString({checks:[...this.config.checks,e=>i.uuid.test(e)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(r,s.getMessages().stringUuid),jsonSchema:{...this.config.jsonSchema,format:"uuid"},checkMetas:[...this.config.checkMetas??[],{kind:"format",format:"uuid",message:e.resolveErrorMessage(r,s.getMessages().stringUuid)}]})}format(s,r,t){return new VldString({checks:[...this.config.checks,e=>s.test(e)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,`Invalid ${r}`),jsonSchema:{...this.config.jsonSchema,format:r,pattern:s.source},checkMetas:[...this.config.checkMetas??[],{kind:"format",format:r,pattern:s.source,message:e.resolveErrorMessage(t,`Invalid ${r}`)}]})}uuidv4(e){return this.format(i.uuidv4,"uuid",e)}uuidv6(e){return this.format(i.uuidv6,"uuid",e)}uuidv7(e){return this.format(i.uuidv7,"uuid",e)}emoji(e){return this.format(i.emoji,"emoji",e)}base64(e){return this.format(i.base64,"base64",e)}base64url(e){return this.format(i.base64url,"base64url",e)}jwt(e){return this.format(i.jwt,"jwt",e)}nanoid(e){return this.format(i.nanoid,"nanoid",e)}cuid(e){return this.format(i.cuid,"cuid",e)}cuid2(e){return this.format(i.cuid2,"cuid2",e)}ulid(e){return this.format(i.ulid,"ulid",e)}cidrv4(e){return this.format(i.cidrv4,"cidrv4",e)}cidrv6(e){return this.format(i.cidrv6,"cidrv6",e)}e164(e){return this.format(i.e164,"e164",e)}xid(e){return this.format(i.xid,"xid",e)}guid(e){return this.format(i.guid,"guid",e)}ksuid(e){return this.format(i.ksuid,"ksuid",e)}date(e){return this.format(i.isoDate,"date",e)}time(e){return this.format(i.isoTime,"time",e)}datetime(e){return this.format(i.isoDateTime,"datetime",e)}duration(e){return this.format(i.isoDuration,"duration",e)}regex(r,t){return new VldString({checks:[...this.config.checks,e=>r.test(e)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,s.getMessages().stringRegex),jsonSchema:{...this.config.jsonSchema,pattern:r.source},checkMetas:[...this.config.checkMetas??[],{kind:"regex",pattern:r.source,message:e.resolveErrorMessage(t,s.getMessages().stringRegex)}]})}trim(){return new VldString({checks:this.config.checks,transforms:[...this.config.transforms,e=>e.trim()],errorMessage:this.config.errorMessage,jsonSchema:this.config.jsonSchema})}toLowerCase(){return new VldString({checks:this.config.checks,transforms:[...this.config.transforms,e=>e.toLowerCase()],errorMessage:this.config.errorMessage,jsonSchema:this.config.jsonSchema})}lowercase(){return this.toLowerCase()}toUpperCase(){return new VldString({checks:this.config.checks,transforms:[...this.config.transforms,e=>e.toUpperCase()],errorMessage:this.config.errorMessage,jsonSchema:this.config.jsonSchema})}uppercase(){return this.toUpperCase()}normalize(e){return new VldString({checks:this.config.checks,transforms:[...this.config.transforms,s=>s.normalize(e)],errorMessage:this.config.errorMessage,jsonSchema:this.config.jsonSchema})}slugify(){return new VldString({checks:this.config.checks,transforms:[...this.config.transforms,e=>e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")],errorMessage:this.config.errorMessage,jsonSchema:this.config.jsonSchema})}startsWith(r,t){return new VldString({checks:[...this.config.checks,e=>e.startsWith(r)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,s.getMessages().stringStartsWith(r)),jsonSchema:this.config.jsonSchema})}endsWith(r,t){return new VldString({checks:[...this.config.checks,e=>e.endsWith(r)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,s.getMessages().stringEndsWith(r)),jsonSchema:this.config.jsonSchema})}includes(r,t){return new VldString({checks:[...this.config.checks,e=>e.includes(r)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,s.getMessages().stringIncludes(r)),jsonSchema:this.config.jsonSchema})}ip(t){return new VldString({checks:[...this.config.checks,e=>!(e.length>100)&&(i.ipv4.test(e)||r.isValidIPv6(e))],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,s.getMessages().stringIp),jsonSchema:{...this.config.jsonSchema,format:"ip"},checkMetas:[...this.config.checkMetas??[],{kind:"format",format:"ip",message:e.resolveErrorMessage(t,s.getMessages().stringIp)}]})}ipv4(r){return new VldString({checks:[...this.config.checks,e=>i.ipv4.test(e)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(r,s.getMessages().stringIpv4),jsonSchema:{...this.config.jsonSchema,format:"ipv4"},checkMetas:[...this.config.checkMetas??[],{kind:"format",format:"ipv4",message:e.resolveErrorMessage(r,s.getMessages().stringIpv4)}]})}ipv6(t){return new VldString({checks:[...this.config.checks,e=>r.isValidIPv6(e)],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(t,s.getMessages().stringIpv6),jsonSchema:{...this.config.jsonSchema,format:"ipv6"},checkMetas:[...this.config.checkMetas??[],{kind:"format",format:"ipv6",message:e.resolveErrorMessage(t,s.getMessages().stringIpv6)}]})}nonempty(r){return new VldString({checks:[...this.config.checks,e=>e.length>0],transforms:this.config.transforms,errorMessage:e.resolveErrorMessage(r,s.getMessages().stringEmpty),jsonSchema:{...this.config.jsonSchema,minLength:Math.max(this.config.jsonSchema?.minLength||0,1)},checkMetas:[...this.config.checkMetas??[],{kind:"min",value:1,message:e.resolveErrorMessage(r,s.getMessages().stringEmpty)}]})}}exports.VldString=VldString;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DKPohm9I.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldSymbol extends e.VldBase{constructor(r){super(e.VLD_VALIDATOR_TYPES.SYMBOL),this.errorMessage=r}static create(){return new VldSymbol}get isSimple(){return!0}parse(e){if("symbol"!=typeof e)throw new Error(this.errorMessage||r.getMessages().invalidSymbol);return e}parseKnownSymbol(e){return e}safeParse(e){return"symbol"==typeof e?{success:!0,data:e}:{success:!1,error:(t=this.errorMessage||r.getMessages().invalidSymbol,new s.VldError([{code:"invalid_type",path:[],message:t}]))};var t}}exports.VldSymbol=VldSymbol;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldTemplateLiteral extends e.VldBase{constructor(r){super(e.VLD_VALIDATOR_TYPES.TEMPLATE_LITERAL),this.pattern=r}static create(...e){let r="^";for(const s of e)r+="string"==typeof s?s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"):t(s);return r+="$",new VldTemplateLiteral(new RegExp(r))}parse(e){if("string"!=typeof e)throw new Error(r.getMessages().invalidString);if(!this.pattern.test(e))throw new Error(r.getMessages().stringPatternInvalid);return e}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e}}}}function t(r){switch(r.validatorType){case e.VLD_VALIDATOR_TYPES.STRING:case e.VLD_VALIDATOR_TYPES.STRING_FORMAT:return"(.+)";case e.VLD_VALIDATOR_TYPES.NUMBER:case e.VLD_VALIDATOR_TYPES.COERCE_NUMBER:return"(-?\\d+(?:\\.\\d+)?)";case e.VLD_VALIDATOR_TYPES.BIGINT:case e.VLD_VALIDATOR_TYPES.COERCE_BIGINT:return"(-?\\d+)";case e.VLD_VALIDATOR_TYPES.BOOLEAN:case e.VLD_VALIDATOR_TYPES.COERCE_BOOLEAN:return"(true|false)";case e.VLD_VALIDATOR_TYPES.NULL:return"(null)";case e.VLD_VALIDATOR_TYPES.UNDEFINED:case e.VLD_VALIDATOR_TYPES.VOID:return"(undefined)";case e.VLD_VALIDATOR_TYPES.LITERAL:{const e=r;if(void 0!==e.literal){return"("+String(e.literal).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+")"}break}}return"(.+)"}exports.VldTemplateLiteral=VldTemplateLiteral,exports.templateLiteral=function(...e){return VldTemplateLiteral.create(...e)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs"),t=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DKPohm9I.cjs");function r(e){return new s.VldError([{code:"invalid_array",path:[],message:e}])}require("../registry.cjs"),require("../locales/en.cjs");class VldTuple extends e.VldBase{constructor(t,s,r=null){super(e.VLD_VALIDATOR_TYPES.TUPLE),this.validators=t,this.errorMessage=s,this.restValidator=r,this._length=t.length,this._validatorTypes=t.map(e=>e.validatorType),this._simpleItemModes=t.map((e,t)=>this.getSimpleItemMode(e,this._validatorTypes[t])),this._simpleItemValues=t.map((e,t)=>"literal"===this._simpleItemModes[t]?e.literal:void 0)}get items(){return this.validators}getSimpleItemMode(t,s){if(!0===t.isSimple)switch(s){case e.VLD_VALIDATOR_TYPES.STRING:return"string";case e.VLD_VALIDATOR_TYPES.NUMBER:return"number";case e.VLD_VALIDATOR_TYPES.BOOLEAN:return"boolean";case e.VLD_VALIDATOR_TYPES.BIGINT:return"bigint";case e.VLD_VALIDATOR_TYPES.SYMBOL:return"symbol";case e.VLD_VALIDATOR_TYPES.NULL:return"null";case e.VLD_VALIDATOR_TYPES.UNDEFINED:case e.VLD_VALIDATOR_TYPES.VOID:return"undefinedValue";case e.VLD_VALIDATOR_TYPES.LITERAL:return"literal";case e.VLD_VALIDATOR_TYPES.ANY:case e.VLD_VALIDATOR_TYPES.UNKNOWN:return"passthrough";default:return}}getSimpleItemError(e,s,r){switch(e){case"string":return t.getMessages().invalidString;case"number":return t.getMessages().invalidNumber;case"boolean":return t.getMessages().invalidBoolean;case"bigint":return t.getMessages().invalidBigint;case"symbol":return t.getMessages().invalidSymbol;case"null":return"Expected null, received "+typeof r;case"undefinedValue":return t.getMessages().expectedUndefined;case"literal":return t.getMessages().literalExpected(JSON.stringify(s),JSON.stringify(r));default:return t.getMessages().invalidTuple}}static create(...e){return new VldTuple(e)}rest(e){return new VldTuple(this.validators,this.errorMessage,e)}parse(e){if(!Array.isArray(e))throw new Error(this.errorMessage||t.getMessages().invalidTuple);return this.parseKnownTuple(e)}parseKnownTuple(e){if(null===this.restValidator&&e.length!==this._length||null!==this.restValidator&&e.length<this._length)throw new Error(this.errorMessage||t.getMessages().tupleLength(this._length,e.length));const s=new Array(e.length);for(let r=0;r<this._length;r++){const a=this._simpleItemModes[r],i=e[r];if(void 0!==a)switch(a){case"string":if("string"!=typeof i)throw new Error(t.getMessages().arrayItem(r,t.getMessages().invalidString));s[r]=i;continue;case"number":if("number"!=typeof i||isNaN(i))throw new Error(t.getMessages().arrayItem(r,t.getMessages().invalidNumber));s[r]=i;continue;case"boolean":if("boolean"!=typeof i)throw new Error(t.getMessages().arrayItem(r,t.getMessages().invalidBoolean));s[r]=i;continue;case"bigint":if("bigint"!=typeof i)throw new Error(t.getMessages().arrayItem(r,t.getMessages().invalidBigint));s[r]=i;continue;case"symbol":if("symbol"!=typeof i)throw new Error(t.getMessages().arrayItem(r,t.getMessages().invalidSymbol));s[r]=i;continue;case"null":if(null!==i)throw new Error(t.getMessages().arrayItem(r,this.getSimpleItemError(a,void 0,i)));s[r]=null;continue;case"undefinedValue":if(void 0!==i)throw new Error(t.getMessages().arrayItem(r,t.getMessages().expectedUndefined));s[r]=void 0;continue;case"literal":{const e=this._simpleItemValues[r];if(i!==e)throw new Error(t.getMessages().arrayItem(r,this.getSimpleItemError(a,e,i)));s[r]=e;continue}case"passthrough":s[r]=i;continue}try{const e=this.validators[r];s[r]=e.parse(i)}catch(e){throw new Error(t.getMessages().arrayItem(r,e.message))}}if(this.restValidator)for(let r=this._length;r<e.length;r++)try{s[r]=this.restValidator.parse(e[r])}catch(e){throw new Error(t.getMessages().arrayItem(r,e.message))}return s}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:r(e.message)}}}encode(e){if(!Array.isArray(e))throw new Error(this.errorMessage||t.getMessages().invalidTuple);this.validateEncodedLength(e.length);const s=new Array(e.length);for(let t=0;t<this._length;t++)s[t]=this.validators[t].encode(e[t]);if(this.restValidator)for(let t=this._length;t<e.length;t++)s[t]=this.restValidator.encode(e[t]);return s}safeEncode(e){try{return{success:!0,data:this.encode(e)}}catch(e){return{success:!1,error:r(e.message)}}}async encodeAsync(e){if(!Array.isArray(e))throw new Error(this.errorMessage||t.getMessages().invalidTuple);this.validateEncodedLength(e.length);const s=new Array(e.length);for(let t=0;t<this._length;t++)s[t]=await this.validators[t].encodeAsync(e[t]);if(this.restValidator)for(let t=this._length;t<e.length;t++)s[t]=await this.restValidator.encodeAsync(e[t]);return s}async safeEncodeAsync(e){try{return{success:!0,data:await this.encodeAsync(e)}}catch(e){return{success:!1,error:r(e.message)}}}validateEncodedLength(e){if(null===this.restValidator&&e!==this._length||null!==this.restValidator&&e<this._length)throw new Error(this.errorMessage||t.getMessages().tupleLength(this._length,e))}}exports.VldTuple=VldTuple;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../errors.cjs"),t=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DKPohm9I.cjs");require("../registry.cjs"),require("../pigment.cjs"),require("../locales/en.cjs");class VldUint8Array extends e.VldBase{constructor(r){super(e.VLD_VALIDATOR_TYPES.UINT8_ARRAY),this.config=r||{}}parse(e){const r=this.safeParse(e);if(!r.success)throw r.error;return r.data}safeParse(e){return e instanceof Uint8Array?void 0!==this.config.exactLength&&e.length!==this.config.exactLength?{success:!1,error:new s.VldError([r.createIssue("custom",[],t.getMessages().uint8ArrayExactLength(this.config.exactLength))])}:void 0!==this.config.minLength&&e.length<this.config.minLength?{success:!1,error:new s.VldError([r.createIssue("custom",[],t.getMessages().uint8ArrayMinLength(this.config.minLength))])}:void 0!==this.config.maxLength&&e.length>this.config.maxLength?{success:!1,error:new s.VldError([r.createIssue("custom",[],t.getMessages().uint8ArrayMaxLength(this.config.maxLength))])}:{success:!0,data:e}:{success:!1,error:new s.VldError([r.createIssue("invalid_type",[],t.getMessages().expectedUint8Array)])}}min(e){return new VldUint8Array({...this.config,minLength:e})}max(e){return new VldUint8Array({...this.config,maxLength:e})}length(e){return new VldUint8Array({exactLength:e,minLength:void 0,maxLength:void 0})}static create(){return new VldUint8Array}}exports.VldUint8Array=VldUint8Array;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../chunks/errors-core-DKPohm9I.cjs");require("../registry.cjs");class VldUndefined extends e.VldBase{constructor(){super(e.VLD_VALIDATOR_TYPES.UNDEFINED)}static create(){return new VldUndefined}get isSimple(){return!0}parse(e){if(void 0!==e)throw new Error("Expected undefined, received "+typeof e)}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:(s=e.message,new r.VldError([{code:"invalid_type",path:[],message:s}]))}}var s}}exports.VldUndefined=VldUndefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldUnion extends e.VldBase{constructor(r,s){super(e.VLD_VALIDATOR_TYPES.UNION),this.validators=r,this.errorMessage=s,this.typeCheckers=r.map(e=>this.createTypeChecker(e)),this.simpleModes=r.map(e=>this.createSimpleMode(e)),this.simpleValues=r.map((e,r)=>"literal"===this.simpleModes[r]?e.literal:void 0)}createSimpleMode(r){if(!0===r.isSimple)switch(r.validatorType){case e.VLD_VALIDATOR_TYPES.STRING:return"string";case e.VLD_VALIDATOR_TYPES.NUMBER:return"number";case e.VLD_VALIDATOR_TYPES.BOOLEAN:return"boolean";case e.VLD_VALIDATOR_TYPES.BIGINT:return"bigint";case e.VLD_VALIDATOR_TYPES.SYMBOL:return"symbol";case e.VLD_VALIDATOR_TYPES.NULL:return"null";case e.VLD_VALIDATOR_TYPES.UNDEFINED:case e.VLD_VALIDATOR_TYPES.VOID:return"undefined";case e.VLD_VALIDATOR_TYPES.LITERAL:return"literal";case e.VLD_VALIDATOR_TYPES.ANY:case e.VLD_VALIDATOR_TYPES.UNKNOWN:return"passthrough";default:return}}parseSimpleValue(e,r,s){switch(e){case"string":case"number":case"boolean":case"bigint":case"symbol":case"passthrough":return s;case"null":return null;case"undefined":default:return;case"literal":return this.simpleValues[r]}}createTypeChecker(r){switch(r.validatorType){case e.VLD_VALIDATOR_TYPES.STRING:return e=>"string"==typeof e;case e.VLD_VALIDATOR_TYPES.NUMBER:return e=>"number"==typeof e&&!isNaN(e);case e.VLD_VALIDATOR_TYPES.BOOLEAN:return e=>"boolean"==typeof e;case e.VLD_VALIDATOR_TYPES.BIGINT:return e=>"bigint"==typeof e;case e.VLD_VALIDATOR_TYPES.SYMBOL:return e=>"symbol"==typeof e;case e.VLD_VALIDATOR_TYPES.NAN:return e=>"number"==typeof e&&Number.isNaN(e);case e.VLD_VALIDATOR_TYPES.ARRAY:return Array.isArray;case e.VLD_VALIDATOR_TYPES.OBJECT:return e=>"object"==typeof e&&null!==e&&!Array.isArray(e);case e.VLD_VALIDATOR_TYPES.NULL:return e=>null===e;case e.VLD_VALIDATOR_TYPES.UNDEFINED:case e.VLD_VALIDATOR_TYPES.VOID:return e=>void 0===e;case e.VLD_VALIDATOR_TYPES.ENUM:return e=>"string"==typeof e||"number"==typeof e;case e.VLD_VALIDATOR_TYPES.LITERAL:{const e=r.literal;return r=>r===e}case e.VLD_VALIDATOR_TYPES.NEVER:return()=>!1;case e.VLD_VALIDATOR_TYPES.ANY:case e.VLD_VALIDATOR_TYPES.UNKNOWN:default:return()=>!0}}static create(...e){return new VldUnion(e)}parse(e){const s=[];for(let r=0;r<this.validators.length;r++){const t=this.validators[r],a=this.typeCheckers[r];if(a&&!a(e))continue;const n=this.simpleModes[r];if(void 0!==n)return this.parseSimpleValue(n,r,e);try{return t.parse(e)}catch(e){const r=e instanceof Error?e.message:String(e);s.push(r)}}throw new Error(this.errorMessage||r.getMessages().unionNoMatch(s))}safeParse(e){const s=[];for(let r=0;r<this.validators.length;r++){const t=this.validators[r],a=this.typeCheckers[r];if(a&&!a(e))continue;const n=this.simpleModes[r];if(void 0!==n)return{success:!0,data:this.parseSimpleValue(n,r,e)};try{return{success:!0,data:t.parse(e)}}catch(e){const r=e instanceof Error?e.message:String(e);s.push(r)}}return{success:!1,error:new Error(this.errorMessage||r.getMessages().unionNoMatch(s))}}}exports.VldUnion=VldUnion;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs");require("../registry.cjs");class VldUnknown extends e.VldBase{constructor(){super(e.VLD_VALIDATOR_TYPES.UNKNOWN)}static create(){return new VldUnknown}get isSimple(){return!0}parse(e){return e}safeParse(e){return{success:!0,data:e}}}exports.VldUnknown=VldUnknown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DKPohm9I.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldVoid extends e.VldBase{constructor(){super(e.VLD_VALIDATOR_TYPES.VOID)}static create(){return new VldVoid}get isSimple(){return!0}parse(e){if(void 0!==e)throw new Error(r.getMessages().expectedUndefined)}safeParse(e){return void 0===e?{success:!0,data:void 0}:{success:!1,error:new s.VldError([{code:"invalid_type",path:[],message:r.getMessages().expectedUndefined}])}}}exports.VldVoid=VldVoid;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var r=require("./base.cjs");require("../registry.cjs");class VldXor extends r.VldBase{constructor(s){super(r.VLD_VALIDATOR_TYPES.XOR),this._options=s}static create(r){return new VldXor(r)}parse(r){const s=this.safeParse(r);if(!s.success)throw s.error;return s.data}safeParse(r){let s=0,e=null;for(const t of this._options){const o=t.safeParse(r);if(o.success&&(s++,e=o,s>1))break}return 0===s?{success:!1,error:new Error("No schema matched in XOR union")}:s>1?{success:!1,error:new Error(`Input matches ${s} schemas in XOR union, but exactly one is required`)}:e}getOptions(){return this._options}}exports.VldXor=VldXor;
|
package/dist/cli/bin.d.ts
CHANGED
package/dist/cli/bin.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{vldCli as e}from"./index.js";import*as o from"fs";import{readFileSync as s}from"fs";import*as r from"path";import a from"../pigment.js";import{prettifyError as t,prettifyErrorColored as n}from"../errors.js";import i from"../index.js";function c(e,o,s){const a=process.cwd();if(!e.startsWith(a+r.sep)&&e!==a)throw new Error(`${o} path escapes allowed directory: ${s}`)}const l={name:"validate",description:"Validate JSON data against a VLD schema",aliases:["v"],arguments:[{name:"schema",description:"Path to schema file (.ts or .js)",required:!0},{name:"data",description:"Path to JSON data file or JSON string",required:!0}],options:[{name:"strict",short:"s",description:"Enable strict mode (no extra keys)",type:"boolean",default:!1},{name:"quiet",short:"q",description:"Only output errors",type:"boolean",default:!1},{name:"json",short:"j",description:"Output as JSON",type:"boolean",default:!1},{name:"no-color",description:"Disable colored output",type:"boolean",default:!1}],action:async(e,s)=>{const i=e.schema,l=e.data,m=s.quiet,p=s.json,d=s["no-color"];let u,f;try{const e=r.resolve(process.cwd(),i);if(c(e,"Schema",i),!o.existsSync(e))throw new Error(`Schema file not found: ${i}`);const s=await(import(e));if(u=s.default||s.schema||s,!u||"function"!=typeof u.parse)throw new Error("Schema must export a VLD validator with parse() method")}catch(e){return p?console.log(JSON.stringify({success:!1,error:e.message})):console.error(a.red("Schema Error:"),e.message),void(process.exitCode=1)}try{if(l.startsWith("{")||l.startsWith("["))f=JSON.parse(l);else{const e=r.resolve(process.cwd(),l);if(c(e,"Data",l),!o.existsSync(e))throw new Error(`Data file not found: ${l}`);const s=o.readFileSync(e,"utf-8");f=JSON.parse(s)}}catch(e){return p?console.log(JSON.stringify({success:!1,error:e.message})):console.error(a.red("Data Error:"),e.message),void(process.exitCode=1)}const g=u.safeParse(f);if(p)if(g.success)console.log(JSON.stringify({success:!0,data:g.data}));else{const e=g.error,o={success:!1,error:e?.message,issues:e?.issues};console.log(JSON.stringify(o))}else if(g.success)m||(console.log(a.green("Validation passed")),console.log(""),console.log(a.dim("Data:")),console.log(JSON.stringify(g.data,null,2)));else{if(console.error(a.red("Validation failed")),console.error(""),g.error&&"issues"in g.error){const e=d?t(g.error,{colored:!1}):n(g.error);console.error(e)}else console.error(g.error?.message||"Unknown error");process.exitCode=1}}};function m(e,o,s){for(let e=0;e<Math.min(100,s/10);e++)o();const r=performance.now();for(let e=0;e<s;e++)o();const a=performance.now()-r,t=a/s;return{name:e,iterations:s,totalMs:a,avgMs:t,opsPerSec:1e3/t}}function p(e){return e.toLocaleString("en-US",{maximumFractionDigits:2})}function d(e,o){return`${o?a.cyan(e.name.padEnd(30)):e.name.padEnd(30)} ${o?a.green(p(e.opsPerSec).padStart(12)):p(e.opsPerSec).padStart(12)} ops/sec ${o?a.yellow(e.avgMs.toFixed(6).padStart(12)):e.avgMs.toFixed(6).padStart(12)} ms/op`}const u={name:"benchmark",description:"Run performance benchmarks",aliases:["bench","b"],options:[{name:"iterations",short:"n",description:"Number of iterations",type:"number",default:1e4},{name:"suite",short:"s",description:"Benchmark suite to run (all, primitives, objects, arrays)",type:"string",default:"all"},{name:"json",short:"j",description:"Output as JSON",type:"boolean",default:!1},{name:"no-color",description:"Disable colored output",type:"boolean",default:!1}],action:async(e,o)=>{const s=o.iterations,r=o.suite,t=o.json,n=!o["no-color"],c=[],l=i.string(),u=i.number(),f=i.boolean(),g=i.date(),h=i.object({name:i.string(),email:i.string(),age:i.number(),active:i.boolean()}),b=i.array(i.number()),S=i.object({user:i.object({name:i.string(),email:i.string()}),items:i.array(i.object({id:i.number(),name:i.string(),price:i.number()}))}),y="hello world",v=new Date,j={name:"John",email:"john@example.com",age:30,active:!0},w=[1,2,3,4,5,6,7,8,9,10],O={user:{name:"John",email:"john@example.com"},items:[{id:1,name:"Item 1",price:10.99},{id:2,name:"Item 2",price:20.99},{id:3,name:"Item 3",price:30.99}]};if(t||(console.log(a.bold("VLD Performance Benchmark")),console.log(a.dim(`Running ${p(s)} iterations per test`)),console.log("")),("all"===r||"primitives"===r)&&(t||console.log(a.bold("Primitives:")),c.push(m("string.parse()",()=>l.parse(y),s)),c.push(m("number.parse()",()=>u.parse(42),s)),c.push(m("boolean.parse()",()=>f.parse(true),s)),c.push(m("date.parse()",()=>g.parse(v),s)),c.push(m("string.safeParse()",()=>l.safeParse(y),s)),!t)){for(const e of c.slice(-5))console.log(" "+d(e,n));console.log("")}if(("all"===r||"objects"===r)&&(t||console.log(a.bold("Objects:")),c.push(m("object.parse()",()=>h.parse(j),s)),c.push(m("object.safeParse()",()=>h.safeParse(j),s)),c.push(m("nested.parse()",()=>S.parse(O),s)),!t)){for(const e of c.slice(-3))console.log(" "+d(e,n));console.log("")}if(("all"===r||"arrays"===r)&&(t||console.log(a.bold("Arrays:")),c.push(m("array.parse()",()=>b.parse(w),s)),c.push(m("array.safeParse()",()=>b.safeParse(w),s)),!t)){for(const e of c.slice(-2))console.log(" "+d(e,n));console.log("")}if(t)console.log(JSON.stringify({iterations:s,suite:r,results:c.map(e=>({name:e.name,iterations:e.iterations,totalMs:e.totalMs,avgMs:e.avgMs,opsPerSec:e.opsPerSec}))}));else{const e=c.reduce((e,o)=>e+o.opsPerSec,0)/c.length;console.log(a.bold("Summary:")),console.log(` Total benchmarks: ${c.length}`),console.log(` Average ops/sec: ${p(e)}`)}}},f=JSON.parse(s(new URL("../../package.json",import.meta.url),"utf-8")).version||"0.0.0";e.version=f,e.command(l),e.command(u),e.command({name:"help",description:"Show help information",aliases:["h"],action:()=>{console.log(e.help())}}),e.command({name:"version",description:"Show version information",action:()=>{console.log(`vld v${f}`)}}),e.run(process.argv.slice(2)).catch(e=>{console.error("Fatal error:",e),process.exitCode=1});
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Run performance benchmarks for VLD validation.
|
|
5
5
|
*/
|
|
6
|
-
import type { CliCommand } from '../index';
|
|
6
|
+
import type { CliCommand } from '../index.js';
|
|
7
7
|
/**
|
|
8
8
|
* Benchmark command
|
|
9
9
|
*/
|
|
10
10
|
export declare const benchmarkCommand: CliCommand;
|
|
11
|
-
//# sourceMappingURL=benchmark.d.ts.map
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Validate JSON data against a VLD schema file.
|
|
5
5
|
*/
|
|
6
|
-
import type { CliCommand } from '../index';
|
|
6
|
+
import type { CliCommand } from '../index.js';
|
|
7
7
|
/**
|
|
8
8
|
* Validate command
|
|
9
9
|
*/
|
|
10
10
|
export declare const validateCommand: CliCommand;
|
|
11
|
-
//# sourceMappingURL=validate.d.ts.map
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import o from"../pigment.js";function e(e,s,n){const i=new Map,t={name:e,version:s,description:n,commands:i,command(o){if(i.set(o.name,o),o.aliases)for(const e of o.aliases)i.set(e,o);return this},help(){const s=[];s.push(o.bold(`${this.name} v${this.version}`)),s.push(o.dim(n)),s.push(""),s.push(o.bold("Usage:")),s.push(` ${e} <command> [options]`),s.push(""),s.push(o.bold("Commands:"));const t=new Map;for(const[,o]of i)t.has(o.name)||t.set(o.name,o);for(const[e,n]of t){const i=n.aliases?.length?o.dim(` (${n.aliases.join(", ")})`):"";s.push(` ${o.cyan(e)}${i}`),s.push(` ${n.description}`)}return s.push(""),s.push(o.bold("Options:")),s.push(` ${o.cyan("-h, --help")} Show help`),s.push(` ${o.cyan("-v, --version")} Show version`),s.join("\n")},async run(e){if(e.includes("--help")||e.includes("-h")||0===e.length)return void console.log(this.help());if(e.includes("--version")||e.includes("-v"))return void console.log(`${this.name} v${this.version}`);const s=e[0];if(void 0===s)return void console.log(this.help());const n=i.get(s);if(!n)return console.error(o.red(`Unknown command: ${s}`)),console.log(""),console.log(this.help()),void(process.exitCode=1);const t=function(o,e=[]){const s={positional:[],options:{}};for(const o of e)void 0!==o.default&&(s.options[o.name]=o.default);let n=0;for(;n<o.length;){const i=o[n];if(void 0!==i){if(i.startsWith("--")){const[t,r]=i.slice(2).split("=");if(void 0===t||""===t){n++;continue}const l=e.find(o=>o.name===t);if(l)if("boolean"===l.type)s.options[t]="false"!==r;else if(void 0!==r)s.options[t]="number"===l.type?Number(r):r;else if(n+1<o.length&&void 0!==o[n+1]&&!o[n+1].startsWith("-")){n++;const e=o[n];void 0!==e&&(s.options[t]="number"===l.type?Number(e):e)}else s.options[t]=!0}else if(i.startsWith("-")){const t=i.slice(1),r=e.find(o=>o.short===t);if(r)if("boolean"===r.type)s.options[r.name]=!0;else if(n+1<o.length&&void 0!==o[n+1]&&!o[n+1].startsWith("-")){n++;const e=o[n];if(void 0===e){n++;continue}s.options[r.name]="number"===r.type?Number(e):e}}else s.positional.push(i);n++}else n++}return s}(e.slice(1),n.options),r={};if(n.arguments)for(let e=0;e<n.arguments.length;e++){const s=n.arguments[e];if(void 0!==s)if(e<t.positional.length)r[s.name]=t.positional[e];else if(void 0!==s.default)r[s.name]=s.default;else if(s.required)return console.error(o.red(`Missing required argument: ${s.name}`)),void(process.exitCode=1)}if(n.options)for(const e of n.options)if(e.required&&void 0===t.options[e.name])return console.error(o.red(`Missing required option: --${e.name}`)),void(process.exitCode=1);try{await n.action(r,t.options)}catch(e){console.error(o.red("Error:"),e.message),process.exitCode=1}}};return t}const s=e("vld","1.5.0","Fast TypeScript Validation Library");export{e as cli,e as createCli,s as vldCli};
|
package/dist/codecs/index.d.ts
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
|
-
import { VldCodec } from '../validators/codec';
|
|
1
|
+
import { VldCodec } from '../validators/codec.js';
|
|
2
2
|
/**
|
|
3
3
|
* Predefined codecs for common transformations (Zod-compatible)
|
|
4
4
|
*/
|
|
5
|
+
export interface VldUrl {
|
|
6
|
+
hash: string;
|
|
7
|
+
host: string;
|
|
8
|
+
hostname: string;
|
|
9
|
+
readonly href: string;
|
|
10
|
+
password: string;
|
|
11
|
+
pathname: string;
|
|
12
|
+
port: string;
|
|
13
|
+
readonly protocol: string;
|
|
14
|
+
search: string;
|
|
15
|
+
username: string;
|
|
16
|
+
toString(): string;
|
|
17
|
+
toJSON(): string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Invert a codec, swapping encode and decode directions.
|
|
21
|
+
*/
|
|
22
|
+
export declare function invertCodec<TInput, TOutput>(codec: VldCodec<TInput, TOutput>): VldCodec<TOutput, TInput>;
|
|
5
23
|
/**
|
|
6
24
|
* String to number codec
|
|
7
25
|
*/
|
|
@@ -37,11 +55,11 @@ export declare const jsonCodec: <T = any>(schema?: any) => VldCodec<string, T>;
|
|
|
37
55
|
/**
|
|
38
56
|
* String to URL codec
|
|
39
57
|
*/
|
|
40
|
-
export declare const stringToURL: VldCodec<string,
|
|
58
|
+
export declare const stringToURL: VldCodec<string, VldUrl>;
|
|
41
59
|
/**
|
|
42
60
|
* String to HTTP/HTTPS URL codec
|
|
43
61
|
*/
|
|
44
|
-
export declare const stringToHttpURL: VldCodec<string,
|
|
62
|
+
export declare const stringToHttpURL: VldCodec<string, VldUrl>;
|
|
45
63
|
/**
|
|
46
64
|
* URI component encode/decode codec
|
|
47
65
|
*/
|
|
@@ -86,4 +104,3 @@ export declare const base64Json: <T = any>(schema?: any) => VldCodec<string, T>;
|
|
|
86
104
|
* JWT payload decoder (base64url encoded JSON) - updated
|
|
87
105
|
*/
|
|
88
106
|
export declare const jwtPayload: (schema?: any) => VldCodec<string, any>;
|
|
89
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/codecs/index.js
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
import '../chunks/bigint-CRS0QVsy.js';
|
|
3
|
-
import '../chunks/unknown-Dhzri_T-.js';
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import"../validators/codec.js";import"../validators/base64.js";import"../validators/hex.js";import"../validators/uint8array.js";import"../validators/string.js";import"../validators/number.js";import"../validators/bigint.js";import"../validators/boolean.js";import"../validators/date.js";import"../validators/unknown.js";export{b as base64Json,a as base64ToBytes,d as base64UrlToBytes,e as base64urlToBytes,f as bytesToUtf8,g as epochMillisToDate,h as epochSecondsToDate,i as hexLowerToBytes,j as hexToBytes,l as invertCodec,m as isoDatetimeToDate,n as jsonCodec,o as jwtPayload,p as numberToBigInt,s as stringToBigInt,q as stringToBoolean,r as stringToHttpURL,t as stringToInt,u as stringToNumber,v as stringToURL,B as uriComponent,C as utf8ToBytes}from"../chunks/index-CkbfQQ4n.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VldBigInt } from '../validators/bigint';
|
|
2
|
-
import { ParseResult } from '../validators/base';
|
|
1
|
+
import { VldBigInt } from '../validators/bigint.js';
|
|
2
|
+
import { ParseResult } from '../validators/base.js';
|
|
3
3
|
/**
|
|
4
4
|
* BigInt coercion validator that attempts to convert values to bigint
|
|
5
5
|
*/
|
|
@@ -24,4 +24,3 @@ export declare class VldCoerceBigInt extends VldBigInt {
|
|
|
24
24
|
*/
|
|
25
25
|
safeParse(value: unknown): ParseResult<bigint>;
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=bigint.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VldBoolean } from '../validators/boolean';
|
|
2
|
-
import { ParseResult } from '../validators/base';
|
|
1
|
+
import { VldBoolean } from '../validators/boolean.js';
|
|
2
|
+
import { ParseResult } from '../validators/base.js';
|
|
3
3
|
/**
|
|
4
4
|
* Boolean coercion validator that attempts to convert values to booleans
|
|
5
5
|
*/
|
|
@@ -8,6 +8,7 @@ export declare class VldCoerceBoolean extends VldBoolean {
|
|
|
8
8
|
* Create a new coerce boolean validator
|
|
9
9
|
*/
|
|
10
10
|
static create(): VldCoerceBoolean;
|
|
11
|
+
constructor();
|
|
11
12
|
/**
|
|
12
13
|
* Parse and coerce a value to boolean
|
|
13
14
|
*/
|
|
@@ -17,4 +18,3 @@ export declare class VldCoerceBoolean extends VldBoolean {
|
|
|
17
18
|
*/
|
|
18
19
|
safeParse(value: unknown): ParseResult<boolean>;
|
|
19
20
|
}
|
|
20
|
-
//# sourceMappingURL=boolean.d.ts.map
|
package/dist/coercion/date.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VldDate } from '../validators/date';
|
|
2
|
-
import { ParseResult } from '../validators/base';
|
|
1
|
+
import { VldDate } from '../validators/date.js';
|
|
2
|
+
import { ParseResult } from '../validators/base.js';
|
|
3
3
|
/**
|
|
4
4
|
* Date coercion validator that attempts to convert values to dates
|
|
5
5
|
*/
|
|
@@ -8,6 +8,7 @@ export declare class VldCoerceDate extends VldDate {
|
|
|
8
8
|
* Create a new coerce date validator
|
|
9
9
|
*/
|
|
10
10
|
static create(): VldCoerceDate;
|
|
11
|
+
constructor();
|
|
11
12
|
/**
|
|
12
13
|
* Parse and coerce a value to date
|
|
13
14
|
*/
|
|
@@ -17,4 +18,3 @@ export declare class VldCoerceDate extends VldDate {
|
|
|
17
18
|
*/
|
|
18
19
|
safeParse(value: unknown): ParseResult<Date>;
|
|
19
20
|
}
|
|
20
|
-
//# sourceMappingURL=date.d.ts.map
|
package/dist/coercion/index.d.ts
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Validators that coerce values to the target type before validation.
|
|
5
5
|
*/
|
|
6
|
-
export { VldCoerceString } from './string';
|
|
7
|
-
export { VldCoerceNumber } from './number';
|
|
8
|
-
export { VldCoerceBoolean } from './boolean';
|
|
9
|
-
export { VldCoerceDate } from './date';
|
|
10
|
-
export { VldCoerceBigInt } from './bigint';
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
6
|
+
export { VldCoerceString } from './string.js';
|
|
7
|
+
export { VldCoerceNumber } from './number.js';
|
|
8
|
+
export { VldCoerceBoolean } from './boolean.js';
|
|
9
|
+
export { VldCoerceDate } from './date.js';
|
|
10
|
+
export { VldCoerceBigInt } from './bigint.js';
|
package/dist/coercion/index.js
CHANGED
|
@@ -1,111 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { V as VldBigInt, u as getMessages } from '../chunks/bigint-CRS0QVsy.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* BigInt coercion validator that attempts to convert values to bigint
|
|
6
|
-
*/
|
|
7
|
-
class VldCoerceBigInt extends VldBigInt {
|
|
8
|
-
constructor(config) {
|
|
9
|
-
super(config);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Create a new coerce bigint validator
|
|
13
|
-
*/
|
|
14
|
-
static create() {
|
|
15
|
-
return new VldCoerceBigInt();
|
|
16
|
-
}
|
|
17
|
-
// Override all chain methods to return VldCoerceBigInt instances
|
|
18
|
-
min(value, message) {
|
|
19
|
-
return new VldCoerceBigInt({
|
|
20
|
-
checks: [...this.config.checks, (v) => v >= value],
|
|
21
|
-
errorMessage: message || `BigInt must be at least ${value}`
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
max(value, message) {
|
|
25
|
-
return new VldCoerceBigInt({
|
|
26
|
-
checks: [...this.config.checks, (v) => v <= value],
|
|
27
|
-
errorMessage: message || `BigInt must be at most ${value}`
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
positive(message) {
|
|
31
|
-
return new VldCoerceBigInt({
|
|
32
|
-
checks: [...this.config.checks, (v) => v > 0n],
|
|
33
|
-
errorMessage: message || 'BigInt must be positive'
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
negative(message) {
|
|
37
|
-
return new VldCoerceBigInt({
|
|
38
|
-
checks: [...this.config.checks, (v) => v < 0n],
|
|
39
|
-
errorMessage: message || 'BigInt must be negative'
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
nonnegative(message) {
|
|
43
|
-
return new VldCoerceBigInt({
|
|
44
|
-
checks: [...this.config.checks, (v) => v >= 0n],
|
|
45
|
-
errorMessage: message || 'BigInt must be non-negative'
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
nonpositive(message) {
|
|
49
|
-
return new VldCoerceBigInt({
|
|
50
|
-
checks: [...this.config.checks, (v) => v <= 0n],
|
|
51
|
-
errorMessage: message || 'BigInt must be non-positive'
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Parse and coerce a value to bigint
|
|
56
|
-
*/
|
|
57
|
-
parse(value) {
|
|
58
|
-
// If it's already a bigint, use parent validation directly
|
|
59
|
-
if (typeof value === 'bigint') {
|
|
60
|
-
return super.parse(value);
|
|
61
|
-
}
|
|
62
|
-
// Handle string values
|
|
63
|
-
if (typeof value === 'string') {
|
|
64
|
-
const trimmed = value.trim();
|
|
65
|
-
if (trimmed === '') {
|
|
66
|
-
throw new Error(getMessages().coercionFailed('bigint', value));
|
|
67
|
-
}
|
|
68
|
-
try {
|
|
69
|
-
const coerced = BigInt(trimmed);
|
|
70
|
-
return super.parse(coerced);
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
throw new Error(getMessages().coercionFailed('bigint', value));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
// Handle number values (must be integer)
|
|
77
|
-
if (typeof value === 'number') {
|
|
78
|
-
if (!Number.isInteger(value)) {
|
|
79
|
-
throw new Error(getMessages().coercionFailed('bigint', value));
|
|
80
|
-
}
|
|
81
|
-
const coerced = BigInt(value);
|
|
82
|
-
return super.parse(coerced);
|
|
83
|
-
}
|
|
84
|
-
// Handle null and undefined
|
|
85
|
-
if (value === null || value === undefined) {
|
|
86
|
-
throw new Error(getMessages().coercionFailed('bigint', value));
|
|
87
|
-
}
|
|
88
|
-
// Try to coerce other values
|
|
89
|
-
try {
|
|
90
|
-
const coerced = BigInt(value);
|
|
91
|
-
return super.parse(coerced);
|
|
92
|
-
}
|
|
93
|
-
catch {
|
|
94
|
-
throw new Error(getMessages().coercionFailed('bigint', value));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Safely parse and coerce a value to bigint
|
|
99
|
-
*/
|
|
100
|
-
safeParse(value) {
|
|
101
|
-
try {
|
|
102
|
-
return { success: true, data: this.parse(value) };
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
return { success: false, error: error };
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export { VldCoerceBigInt };
|
|
111
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import{VldString as e}from"../validators/string.js";import{VLD_VALIDATOR_TYPES as r}from"../validators/base.js";import{getMessages as s}from"../locales/runtime.js";import{i as t}from"../chunks/ip-validation-g5LWgy9t.js";import{VldNumber as n}from"../validators/number.js";import{VldBoolean as c}from"../validators/boolean.js";import{VldDate as o}from"../validators/date.js";import{VldBigInt as i}from"../validators/bigint.js";class VldCoerceString extends e{constructor(e){super({...e,validatorType:r.COERCE_STRING})}static create(){return new VldCoerceString}min(e,r){return new VldCoerceString({checks:[...this.config.checks,r=>r.length>=e],transforms:this.config.transforms,errorMessage:r||s().stringMin(e)})}max(e,r){return new VldCoerceString({checks:[...this.config.checks,r=>r.length<=e],transforms:this.config.transforms,errorMessage:r||s().stringMax(e)})}length(e,r){return new VldCoerceString({checks:[...this.config.checks,r=>r.length===e],transforms:this.config.transforms,errorMessage:r||s().stringLength(e)})}email(e){const r=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;return new VldCoerceString({checks:[...this.config.checks,e=>r.test(e)],transforms:this.config.transforms,errorMessage:e||s().stringEmail})}url(e){return new VldCoerceString({checks:[...this.config.checks,e=>/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)$/.test(e)],transforms:this.config.transforms,errorMessage:e||s().stringUrl})}uuid(e){return new VldCoerceString({checks:[...this.config.checks,e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)],transforms:this.config.transforms,errorMessage:e||s().stringUuid})}regex(e,r){return new VldCoerceString({checks:[...this.config.checks,r=>e.test(r)],transforms:this.config.transforms,errorMessage:r||s().stringRegex})}trim(){return new VldCoerceString({checks:this.config.checks,transforms:[...this.config.transforms,e=>e.trim()],errorMessage:this.config.errorMessage})}toLowerCase(){return new VldCoerceString({checks:this.config.checks,transforms:[...this.config.transforms,e=>e.toLowerCase()],errorMessage:this.config.errorMessage})}toUpperCase(){return new VldCoerceString({checks:this.config.checks,transforms:[...this.config.transforms,e=>e.toUpperCase()],errorMessage:this.config.errorMessage})}startsWith(e,r){return new VldCoerceString({checks:[...this.config.checks,r=>r.startsWith(e)],transforms:this.config.transforms,errorMessage:r||s().stringStartsWith(e)})}endsWith(e,r){return new VldCoerceString({checks:[...this.config.checks,r=>r.endsWith(e)],transforms:this.config.transforms,errorMessage:r||s().stringEndsWith(e)})}includes(e,r){return new VldCoerceString({checks:[...this.config.checks,r=>r.includes(e)],transforms:this.config.transforms,errorMessage:r||s().stringIncludes(e)})}ip(e){const r=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;return new VldCoerceString({checks:[...this.config.checks,e=>!(e.length>100)&&(r.test(e)||t(e))],transforms:this.config.transforms,errorMessage:e||s().stringIp})}ipv4(e){return new VldCoerceString({checks:[...this.config.checks,e=>/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e)],transforms:this.config.transforms,errorMessage:e||s().stringIpv4})}ipv6(e){return new VldCoerceString({checks:[...this.config.checks,e=>t(e)],transforms:this.config.transforms,errorMessage:e||s().stringIpv6})}nonempty(e){return new VldCoerceString({checks:[...this.config.checks,e=>e.length>0],transforms:this.config.transforms,errorMessage:e||s().stringEmpty})}parse(e){if("string"==typeof e){if(e.length>1e6)throw new Error(s().coercionFailed("string",e));const r=e.replace(/[\x00-\x1F\x7F]/g,"");return super.parse(r)}let r;if(r="number"==typeof e?String(e):"boolean"==typeof e?e?"true":"false":"bigint"==typeof e?e.toString():"symbol"==typeof e?String(e):"object"==typeof e?e instanceof Date?e.toISOString():Array.isArray(e)?e.join(","):e instanceof RegExp?e.toString():e instanceof Error?e.message||e.toString():String(e):String(e),r.length>1e6)throw new Error(s().coercionFailed("string",e));const t=r.replace(/[\x00-\x1F\x7F]/g,"");return super.parse(t)}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e}}}}class VldCoerceNumber extends n{constructor(e){super({...e,validatorType:r.COERCE_NUMBER})}static create(){return new VldCoerceNumber}min(e,r){return new VldCoerceNumber({checks:[...this.config.checks,r=>r>=e],errorMessage:r||s().numberMin(e)})}max(e,r){return new VldCoerceNumber({checks:[...this.config.checks,r=>r<=e],errorMessage:r||s().numberMax(e)})}int(e){return new VldCoerceNumber({checks:[...this.config.checks,e=>Number.isInteger(e)],errorMessage:e||s().numberInt})}positive(e){return new VldCoerceNumber({checks:[...this.config.checks,e=>e>0],errorMessage:e||s().numberPositive})}negative(e){return new VldCoerceNumber({checks:[...this.config.checks,e=>e<0],errorMessage:e||s().numberNegative})}nonnegative(e){return new VldCoerceNumber({checks:[...this.config.checks,e=>e>=0],errorMessage:e||s().numberNonnegative})}nonpositive(e){return new VldCoerceNumber({checks:[...this.config.checks,e=>e<=0],errorMessage:e||s().numberNonpositive})}finite(e){return new VldCoerceNumber({checks:[...this.config.checks,e=>Number.isFinite(e)],errorMessage:e||s().numberFinite})}safe(e){return new VldCoerceNumber({checks:[...this.config.checks,e=>Number.isSafeInteger(e)],errorMessage:e||s().numberSafe})}multipleOf(e,r){return new VldCoerceNumber({checks:[...this.config.checks,r=>{const s=Math.abs(r%e);return s<Number.EPSILON||Math.abs(s-Math.abs(e))<Number.EPSILON}],errorMessage:r||s().numberMultipleOf(e)})}step(e,r){return this.multipleOf(e,r)}between(e,r,s){return new VldCoerceNumber({checks:[...this.config.checks,s=>s>=e&&s<=r],errorMessage:s||`Number must be between ${e} and ${r}`})}even(e){return new VldCoerceNumber({checks:[...this.config.checks,e=>!!Number.isInteger(e)&&e%2==0],errorMessage:e||"Number must be even"})}odd(e){return new VldCoerceNumber({checks:[...this.config.checks,e=>!!Number.isInteger(e)&&e%2!=0],errorMessage:e||"Number must be odd"})}parse(e){if("number"==typeof e&&!isNaN(e))return 0===this.config.checks.length?e:super.parse(e);let r;try{r=Number(e)}catch{throw new Error(s().coercionFailed("number",e))}if(isNaN(r))throw new Error(s().coercionFailed("number",e));return 0===this.config.checks.length?r:super.parse(r)}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e}}}}class VldCoerceBoolean extends c{static create(){return new VldCoerceBoolean}constructor(){super(void 0,r.COERCE_BOOLEAN)}parse(e){return Boolean(e)}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e}}}}class VldCoerceDate extends o{static create(){return new VldCoerceDate}constructor(){super({validatorType:r.COERCE_DATE})}parse(e){try{if(e instanceof Date)return super.parse(e);const r=new Date(e);if(isNaN(r.getTime()))throw new Error(s().coercionFailed("date",e));return super.parse(r)}catch(r){if(r.message.includes("Cannot coerce"))throw r;throw new Error(s().coercionFailed("date",e))}}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e}}}}class VldCoerceBigInt extends i{constructor(e){super({...e,validatorType:r.COERCE_BIGINT})}static create(){return new VldCoerceBigInt}min(e,r){return new VldCoerceBigInt({checks:[...this.config.checks,r=>r>=e],errorMessage:r||`BigInt must be at least ${e}`})}max(e,r){return new VldCoerceBigInt({checks:[...this.config.checks,r=>r<=e],errorMessage:r||`BigInt must be at most ${e}`})}positive(e){return new VldCoerceBigInt({checks:[...this.config.checks,e=>e>0n],errorMessage:e||"BigInt must be positive"})}negative(e){return new VldCoerceBigInt({checks:[...this.config.checks,e=>e<0n],errorMessage:e||"BigInt must be negative"})}nonnegative(e){return new VldCoerceBigInt({checks:[...this.config.checks,e=>e>=0n],errorMessage:e||"BigInt must be non-negative"})}nonpositive(e){return new VldCoerceBigInt({checks:[...this.config.checks,e=>e<=0n],errorMessage:e||"BigInt must be non-positive"})}parse(e){if("bigint"==typeof e)return super.parse(e);if("string"==typeof e){const r=e.trim();if(""===r)throw new Error(s().coercionFailed("bigint",e));try{const e=BigInt(r);return super.parse(e)}catch{throw new Error(s().coercionFailed("bigint",e))}}if("number"==typeof e){if(!Number.isInteger(e))throw new Error(s().coercionFailed("bigint",e));const r=BigInt(e);return super.parse(r)}if(null==e)throw new Error(s().coercionFailed("bigint",e));try{const r=BigInt(e);return super.parse(r)}catch{throw new Error(s().coercionFailed("bigint",e))}}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e}}}}export{VldCoerceBigInt,VldCoerceBoolean,VldCoerceDate,VldCoerceNumber,VldCoerceString};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VldNumber } from '../validators/number';
|
|
2
|
-
import { ParseResult } from '../validators/base';
|
|
1
|
+
import { VldNumber } from '../validators/number.js';
|
|
2
|
+
import { ParseResult } from '../validators/base.js';
|
|
3
3
|
/**
|
|
4
4
|
* Number coercion validator that attempts to convert values to numbers
|
|
5
5
|
*/
|
|
@@ -32,4 +32,3 @@ export declare class VldCoerceNumber extends VldNumber {
|
|
|
32
32
|
*/
|
|
33
33
|
safeParse(value: unknown): ParseResult<number>;
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=number.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VldString } from '../validators/string';
|
|
2
|
-
import { ParseResult } from '../validators/base';
|
|
1
|
+
import { VldString } from '../validators/string.js';
|
|
2
|
+
import { ParseResult } from '../validators/base.js';
|
|
3
3
|
/**
|
|
4
4
|
* String coercion validator that attempts to convert values to strings
|
|
5
5
|
*/
|
|
@@ -35,4 +35,3 @@ export declare class VldCoerceString extends VldString {
|
|
|
35
35
|
*/
|
|
36
36
|
safeParse(value: unknown): ParseResult<string>;
|
|
37
37
|
}
|
|
38
|
-
//# sourceMappingURL=string.d.ts.map
|
package/dist/compat/emitter.d.ts
CHANGED