@oxog/vld 2.2.5 → 2.4.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 +51 -0
- package/README.md +242 -1125
- package/dist/chunks/errors-core-CerMg2rq.js +1 -0
- package/dist/chunks/index-CKPStM3V.js +1 -0
- package/dist/cjs/chunks/errors-core-DrydF46s.cjs +1 -0
- package/dist/cjs/chunks/index-lejEpLfv.cjs +1 -0
- package/dist/cjs/cli/bin.cjs +1 -1
- package/dist/cjs/codecs/index.cjs +1 -1
- package/dist/cjs/coercion/index.cjs +1 -1
- package/dist/cjs/compile.cjs +1 -0
- package/dist/cjs/errors.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/locales/gu.cjs +1 -0
- package/dist/cjs/locales/index.cjs +1 -1
- package/dist/cjs/locales/kn.cjs +1 -0
- package/dist/cjs/locales/ne.cjs +1 -0
- package/dist/cjs/locales/pt-BR-v4.cjs +1 -0
- package/dist/cjs/locales/sk.cjs +1 -0
- package/dist/cjs/mini.cjs +1 -1
- package/dist/cjs/v3/index.cjs +1 -1
- package/dist/cjs/v4/core/index.cjs +1 -1
- package/dist/cjs/v4/index.cjs +1 -1
- package/dist/cjs/v4/locales/index.cjs +1 -1
- package/dist/cjs/v4/mini/index.cjs +1 -1
- package/dist/cjs/v4-mini/index.cjs +1 -1
- package/dist/cjs/validators/any.cjs +1 -1
- package/dist/cjs/validators/array.cjs +1 -1
- package/dist/cjs/validators/base.cjs +1 -1
- package/dist/cjs/validators/base64.cjs +1 -1
- package/dist/cjs/validators/bigint.cjs +1 -1
- package/dist/cjs/validators/boolean.cjs +1 -1
- package/dist/cjs/validators/codec.cjs +1 -1
- package/dist/cjs/validators/custom.cjs +1 -1
- package/dist/cjs/validators/date.cjs +1 -1
- package/dist/cjs/validators/discriminated-union.cjs +1 -1
- package/dist/cjs/validators/enum.cjs +1 -1
- package/dist/cjs/validators/file.cjs +1 -1
- package/dist/cjs/validators/function.cjs +1 -1
- package/dist/cjs/validators/hex.cjs +1 -1
- package/dist/cjs/validators/index.cjs +1 -1
- package/dist/cjs/validators/intersection.cjs +1 -1
- package/dist/cjs/validators/json.cjs +1 -1
- package/dist/cjs/validators/lazy.cjs +1 -1
- package/dist/cjs/validators/literal.cjs +1 -1
- package/dist/cjs/validators/map.cjs +1 -1
- package/dist/cjs/validators/nan.cjs +1 -1
- package/dist/cjs/validators/never.cjs +1 -1
- package/dist/cjs/validators/null.cjs +1 -1
- package/dist/cjs/validators/number.cjs +1 -1
- package/dist/cjs/validators/object.cjs +1 -1
- package/dist/cjs/validators/promise.cjs +1 -1
- package/dist/cjs/validators/record.cjs +1 -1
- package/dist/cjs/validators/set.cjs +1 -1
- package/dist/cjs/validators/string-bool.cjs +1 -1
- package/dist/cjs/validators/string-formats.cjs +1 -1
- package/dist/cjs/validators/string.cjs +1 -1
- package/dist/cjs/validators/symbol.cjs +1 -1
- package/dist/cjs/validators/template-literal.cjs +1 -1
- package/dist/cjs/validators/tuple.cjs +1 -1
- package/dist/cjs/validators/uint8array.cjs +1 -1
- package/dist/cjs/validators/undefined.cjs +1 -1
- package/dist/cjs/validators/union.cjs +1 -1
- package/dist/cjs/validators/unknown.cjs +1 -1
- package/dist/cjs/validators/void.cjs +1 -1
- package/dist/cjs/validators/xor.cjs +1 -1
- package/dist/coercion/index.js +1 -1
- package/dist/compile.d.ts +81 -0
- package/dist/compile.js +1 -0
- package/dist/errors-core.d.ts +12 -1
- package/dist/errors.js +1 -1
- package/dist/index.d.ts +384 -14
- package/dist/index.js +1 -1
- package/dist/locales/gu.d.ts +2 -0
- package/dist/locales/gu.js +1 -0
- package/dist/locales/index.js +1 -1
- package/dist/locales/kn.d.ts +2 -0
- package/dist/locales/kn.js +1 -0
- package/dist/locales/ne.d.ts +2 -0
- package/dist/locales/ne.js +1 -0
- package/dist/locales/pt-BR-v4.d.ts +2 -0
- package/dist/locales/pt-BR-v4.js +1 -0
- package/dist/locales/sk.d.ts +2 -0
- package/dist/locales/sk.js +1 -0
- package/dist/v3/index.js +1 -1
- package/dist/v4/core/index.d.ts +13 -0
- package/dist/v4/core/index.js +1 -1
- package/dist/v4/index.d.ts +1 -0
- package/dist/v4/index.js +1 -1
- package/dist/v4/locales/index.d.ts +6 -0
- package/dist/v4/locales/index.js +1 -1
- package/dist/v4/mini/index.js +1 -1
- package/dist/v4-mini/index.d.ts +2 -0
- package/dist/v4-mini/index.js +1 -1
- package/dist/validators/array.js +1 -1
- package/dist/validators/base.d.ts +147 -9
- package/dist/validators/base.js +1 -1
- package/dist/validators/base64.js +1 -1
- package/dist/validators/bigint.d.ts +7 -0
- package/dist/validators/bigint.js +1 -1
- package/dist/validators/boolean.js +1 -1
- package/dist/validators/codec.js +1 -1
- package/dist/validators/custom.d.ts +20 -10
- package/dist/validators/custom.js +1 -1
- package/dist/validators/date.d.ts +2 -0
- package/dist/validators/date.js +1 -1
- package/dist/validators/discriminated-union.d.ts +2 -0
- package/dist/validators/discriminated-union.js +1 -1
- package/dist/validators/enum.d.ts +8 -2
- package/dist/validators/enum.js +1 -1
- package/dist/validators/file.js +1 -1
- package/dist/validators/function.js +1 -1
- package/dist/validators/hex.js +1 -1
- package/dist/validators/intersection.js +1 -1
- package/dist/validators/json.js +1 -1
- package/dist/validators/literal.d.ts +1 -0
- package/dist/validators/literal.js +1 -1
- package/dist/validators/map.d.ts +7 -0
- package/dist/validators/map.js +1 -1
- package/dist/validators/nan.js +1 -1
- package/dist/validators/never.js +1 -1
- package/dist/validators/null.js +1 -1
- package/dist/validators/number.d.ts +5 -0
- package/dist/validators/number.js +1 -1
- package/dist/validators/object.d.ts +15 -0
- package/dist/validators/object.js +1 -1
- package/dist/validators/promise.d.ts +6 -7
- package/dist/validators/promise.js +1 -1
- package/dist/validators/record.d.ts +2 -0
- package/dist/validators/record.js +1 -1
- package/dist/validators/set.d.ts +5 -0
- package/dist/validators/set.js +1 -1
- package/dist/validators/string-bool.js +1 -1
- package/dist/validators/string-formats.d.ts +1 -0
- package/dist/validators/string-formats.js +1 -1
- package/dist/validators/string.d.ts +2 -0
- package/dist/validators/string.js +1 -1
- package/dist/validators/symbol.js +1 -1
- package/dist/validators/template-literal.js +1 -1
- package/dist/validators/tuple.js +1 -1
- package/dist/validators/uint8array.js +1 -1
- package/dist/validators/undefined.js +1 -1
- package/dist/validators/union.d.ts +1 -0
- package/dist/validators/union.js +1 -1
- package/dist/validators/void.js +1 -1
- package/dist/validators/xor.js +1 -1
- package/package.json +8 -2
- package/dist/chunks/errors-core-Cqi4-9ew.js +0 -1
- package/dist/chunks/index-yjpbvFgw.js +0 -1
- package/dist/cjs/chunks/errors-core-DKPohm9I.cjs +0 -1
- package/dist/cjs/chunks/index-BEV9nG0N.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("../registry.cjs");const s={STRING:"string",STRING_FORMAT:"stringFormat",STRING_BOOL:"stringBool",NUMBER:"number",BOOLEAN:"boolean",DATE:"date",BIGINT:"bigint",UNDEFINED:"undefined",NULL:"null",UNKNOWN:"unknown",ANY:"any",VOID:"void",NEVER:"never",SYMBOL:"symbol",NAN:"nan",HEX:"hex",BASE64:"base64",UINT8_ARRAY:"uint8Array",COERCE_STRING:"coerceString",COERCE_NUMBER:"coerceNumber",COERCE_BOOLEAN:"coerceBoolean",COERCE_DATE:"coerceDate",COERCE_BIGINT:"coerceBigint",OBJECT:"object",ARRAY:"array",TUPLE:"tuple",SET:"set",MAP:"map",RECORD:"record",UNION:"union",DISCRIMINATED_UNION:"discriminatedUnion",INTERSECTION:"intersection",XOR:"xor",ENUM:"enum",LITERAL:"literal",LAZY:"lazy",CUSTOM:"custom",FUNCTION:"function",FILE:"file",JSON:"json",TEMPLATE_LITERAL:"templateLiteral",PROMISE:"promise",OPTIONAL:"optional",NULLABLE:"nullable",NULLISH:"nullish",EXACT_OPTIONAL:"exactOptional",DEFAULT:"default",CATCH:"catch",REFINE:"refine",TRANSFORM:"transform",PIPE:"pipe",PREPROCESS:"preprocess",SUPER_REFINE:"superRefine",BRAND:"brand",READONLY:"readonly",META:"meta",PREFAULT:"prefault",PREFault:"prefault",CODEC:"codec"};function r(e,s){return"string"==typeof e?e:"string"==typeof e?.error?e.error:"function"==typeof e?.error?e.error({})||s:"string"==typeof e?.message?e.message:s}function t(e){return null!==e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}let a;function n(e){return"function"==typeof e?e():function(e){if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(null!==e&&"object"==typeof e){const s=Object.getPrototypeOf(e);if(s===Object.prototype||null===s)return{...e}}return e}(e)}function i(e){if(!0===e.isSimple)switch(e.validatorType){case s.STRING:return"string";case s.NUMBER:return"number";case s.BOOLEAN:return"boolean";case s.BIGINT:return"bigint";case s.SYMBOL:return"symbol";default:return}}function o(e,s){switch(e){case"string":return"string"==typeof s?s:void 0;case"number":return"number"!=typeof s||isNaN(s)?void 0:s;case"boolean":return"boolean"==typeof s?s:void 0;case"bigint":return"bigint"==typeof s?s:void 0;case"symbol":return"symbol"==typeof s?s:void 0;default:return}}class VldBase{constructor(e="unknown"){this.validatorType=e}get"~standard"(){return{version:1,vendor:"vld",validate:e=>{const s=this.safeParse(e);return s.success?{value:s.data}:{issues:[{message:s.error.message}]}},types:void 0}}async parseAsync(e){return this.parse(e)}async safeParseAsync(e){try{return{success:!0,data:await this.parseAsync(e)}}catch(e){return{success:!1,error:e}}}decode(e){return this.parse(e)}safeDecode(e){return this.safeParse(e)}async decodeAsync(e){return this.parseAsync(e)}async safeDecodeAsync(e){return this.safeParseAsync(e)}encode(e){return this.parse(e)}safeEncode(e){const s=this.safeParse(e);return s.success?{success:!0,data:s.data}:s}async encodeAsync(e){return this.parseAsync(e)}async safeEncodeAsync(e){const s=await this.safeParseAsync(e);return s.success?{success:!0,data:s.data}:s}spa(e){return this.safeParseAsync(e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}clone(){return this}isValid(e){return this.safeParse(e).success}parseOrDefault(e,s){const r=this.safeParse(e);if(r.success)return r.data;const t=this.safeParse(s);if(!t.success)throw new Error(`Invalid default value provided: ${t.error.message}`);return t.data}refine(e,s){return new VldRefine(this,e,s)}superRefine(e){return new VldSuperRefine(this,e)}transform(e){return new VldTransform(this,e)}default(e){return new VldDefault(this,e)}prefault(e){return new VldPrefault(this,e)}nonoptional(e){return new VldRefine(this,e=>void 0!==e,r(e,"Expected non-optional value"))}array(){return a.array(this)}or(e){return a.union(this,e)}and(e){return a.intersection(this,e)}overwrite(e){return new VldTransform(this,e)}with(...e){return new VldSuperRefine(this,(s,r)=>{const a={value:s,issues:[]},n=[];for(const s of e){const e="function"==typeof s?s:s._zod?.check;if(!e)continue;const r=e(a);t(r)&&n.push(Promise.resolve(r))}const i=()=>{for(const e of a.issues)r.addIssue(void 0===e.code?{message:e.message||"Custom check failed"}:{message:e.message||"Custom check failed",code:e.code})};if(n.length>0)return Promise.all(n).then(i);i()})}toJSONSchema(e){return a.toJSONSchema(this,e)}catch(e){return new VldCatch(this,e)}optional(){return new VldOptional(this)}nullable(){return new VldNullable(this)}nullish(){return new VldNullish(this)}exactOptional(){return new VldExactOptional(this)}pipe(e){return new VldPipe(this,e)}readonly(){return new VldReadonly(this)}brand(){return new VldBrand(this)}apply(e){return e(this)}check(e,s){return new VldRefine(this,e,s)}meta(s){if(void 0===s)return e.globalRegistry.get(this);const r=new VldMeta(this,s);return e.globalRegistry.add(r,s),r}register(e,s){return e.add(this,s),this}describe(e){return this.meta({description:e})}get description(){return this.meta()?.description}}class VldMeta extends VldBase{constructor(e,r){super(s.META),this.baseValidator=e,this.metadata=r}parse(e){return this.baseValidator.parse(e)}safeParse(e){return this.baseValidator.safeParse(e)}getMeta(){return{...this.metadata}}meta(s){if(void 0===s)return{...this.metadata,...e.globalRegistry.get(this)};const r=new VldMeta(this.baseValidator,{...this.metadata,...s});return e.globalRegistry.add(r,r.getMeta()),r}describe(e){return this.meta({description:e})}}class VldReadonly extends VldBase{constructor(e){super(s.READONLY),this.baseValidator=e}parse(e){return this.baseValidator.parse(e)}safeParse(e){const s=this.baseValidator.safeParse(e);return s.success?{success:!0,data:s.data}:{success:!1,error:s.error}}}class VldBrand extends VldBase{constructor(e){super(s.BRAND),this.baseValidator=e}parse(e){return this.baseValidator.parse(e)}safeParse(e){const s=this.baseValidator.safeParse(e);return s.success?{success:!0,data:s.data}:{success:!1,error:s.error}}}class VldRefine extends VldBase{constructor(e,r,t){super(s.REFINE),this.baseValidator=e,this.predicate=r,this.customMessage=t}parse(e){const s=this.baseValidator.parse(e),r=this.predicate(s);if(t(r))throw new Error("Use parseAsync for async refinements");if(!r)throw new Error(this.customMessage||"Refinement check failed");return s}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e}}}async parseAsync(e){const s=await this.baseValidator.parseAsync(e);if(!await this.predicate(s))throw new Error(this.customMessage||"Refinement check failed");return s}}class VldTransform extends VldBase{constructor(e,r){super(s.TRANSFORM),this.baseValidator=e,this.transformer=r}parse(e){const s=this.baseValidator.parse(e);try{const e=this.transformer(s);if(t(e))throw new Error("Use parseAsync for async transforms");return e}catch(e){throw new Error(`Transform failed: ${e.message}`)}}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e}}}async parseAsync(e){const s=await this.baseValidator.parseAsync(e);try{return await this.transformer(s)}catch(e){throw new Error(`Transform failed: ${e.message}`)}}}class VldDefault extends VldBase{constructor(e,r){super(s.DEFAULT),this.baseValidator=e,this.defaultValue=r}parse(e){return void 0===e?n(this.defaultValue):this.baseValidator.parse(e)}safeParse(e){return void 0===e?{success:!0,data:n(this.defaultValue)}:this.baseValidator.safeParse(e)}prefault(e){return new VldPrefault(this.baseValidator,void 0===e?this.defaultValue:e)}unwrap(){return this.baseValidator}removeDefault(){return this.baseValidator}}class VldPrefault extends VldBase{constructor(e,r){super(s.PREFAULT),this.baseValidator=e,this.defaultValue=r}parse(e){return void 0===e?this.baseValidator.parse(n(this.defaultValue)):this.baseValidator.parse(e)}safeParse(e){return void 0===e?this.baseValidator.safeParse(n(this.defaultValue)):this.baseValidator.safeParse(e)}prefault(e){return void 0===e?this:new VldPrefault(this.baseValidator,e)}unwrap(){return this.baseValidator}}class VldCatch extends VldBase{constructor(e,r){super(s.CATCH),this.baseValidator=e,this.fallbackValue=r,this.simpleMode=i(e);const t=e.safeParse(r);if(!t.success)throw new Error(`Invalid fallback value: ${t.error.message}`)}parse(e){const s=o(this.simpleMode,e);if(void 0!==s)return s;if(void 0!==this.simpleMode)return this.fallbackValue;try{return this.baseValidator.parse(e)}catch{return this.fallbackValue}}safeParse(e){const s=o(this.simpleMode,e);if(void 0!==s)return{success:!0,data:s};if(void 0!==this.simpleMode)return{success:!0,data:this.fallbackValue};const r=this.baseValidator.safeParse(e);return r.success?r:{success:!0,data:this.fallbackValue}}}class VldOptional extends VldBase{constructor(e){super(s.OPTIONAL),this.baseValidator=e,this.simpleMode=i(e)}parseSimpleValue(e){return o(this.simpleMode,e)}static create(e){return new VldOptional(e)}parse(e){if(void 0===e)return;const s=this.parseSimpleValue(e);return void 0!==s?s:this.baseValidator.parse(e)}safeParse(e){if(void 0===e)return{success:!0,data:void 0};const s=this.parseSimpleValue(e);return void 0!==s?{success:!0,data:s}:this.baseValidator.safeParse(e)}unwrap(){return this.baseValidator}}class VldExactOptional extends VldBase{constructor(e){super(s.EXACT_OPTIONAL),this.baseValidator=e,this.simpleMode=i(e)}static create(e){return new VldExactOptional(e)}parse(e){if(void 0===e)return;const s=o(this.simpleMode,e);return void 0!==s?s:this.baseValidator.parse(e)}safeParse(e){if(void 0===e)return{success:!0,data:void 0};const s=o(this.simpleMode,e);return void 0!==s?{success:!0,data:s}:this.baseValidator.safeParse(e)}unwrap(){return this.baseValidator}}class VldNullable extends VldBase{constructor(e){super(s.NULLABLE),this.baseValidator=e,this.simpleMode=i(e)}static create(e){return new VldNullable(e)}parse(e){if(null===e)return null;const s=o(this.simpleMode,e);return void 0!==s?s:this.baseValidator.parse(e)}safeParse(e){if(null===e)return{success:!0,data:null};const s=o(this.simpleMode,e);return void 0!==s?{success:!0,data:s}:this.baseValidator.safeParse(e)}unwrap(){return this.baseValidator}}class VldNullish extends VldBase{constructor(e){super(s.NULLISH),this.baseValidator=e,this.simpleMode=i(e)}static create(e){return new VldNullish(e)}parse(e){if(null==e)return e;const s=o(this.simpleMode,e);return void 0!==s?s:this.baseValidator.parse(e)}safeParse(e){if(null==e)return{success:!0,data:e};const s=o(this.simpleMode,e);return void 0!==s?{success:!0,data:s}:this.baseValidator.safeParse(e)}unwrap(){return this.baseValidator}}class VldPipe extends VldBase{constructor(e,r){super(s.PIPE),this.first=e,this.second=r}parse(e){const s=this.first.parse(e);return this.second.parse(s)}safeParse(e){const s=this.first.safeParse(e);return s.success?this.second.safeParse(s.data):{success:!1,error:s.error}}}class VldSuperRefine extends VldBase{constructor(e,r){super(s.SUPER_REFINE),this._inner=e,this._refinement=r}parse(e){const s=this._inner.parse(e),r=[],t={addIssue:e=>r.push(e),path:[]};if(this._refinement(s,t)instanceof Promise)throw new Error("Use parseAsync for async refinements");if(r.length>0)throw new Error(r.map(e=>e.message).join("; "));return s}safeParse(e){const s=this._inner.safeParse(e);if(!s.success)return{success:!1,error:s.error};const r=[],t={addIssue:e=>r.push(e),path:[]};if(this._refinement(s.data,t)instanceof Promise)throw new Error("Use safeParseAsync for async refinements");return r.length>0?{success:!1,error:new Error(r.map(e=>e.message).join("; "))}:s}async parseAsync(e){const s=await this._inner.parseAsync(e),r=[],t={addIssue:e=>r.push(e),path:[]};if(await this._refinement(s,t),r.length>0)throw new Error(r.map(e=>e.message).join("; "));return s}async safeParseAsync(e){try{return{success:!0,data:await this.parseAsync(e)}}catch(e){return{success:!1,error:e}}}}class VldPreprocess extends VldBase{constructor(e,r){super(s.PREPROCESS),this._preprocessor=e,this._schema=r}static create(e,s){return new VldPreprocess(e,s)}parse(e){const s=this._preprocessor(e);return this._schema.parse(s)}safeParse(e){try{const s=this._preprocessor(e);return this._schema.safeParse(s)}catch(e){return{success:!1,error:e}}}}exports.VLD_VALIDATOR_TYPES=s,exports.VldBase=VldBase,exports.VldBrand=VldBrand,exports.VldCatch=VldCatch,exports.VldDefault=VldDefault,exports.VldExactOptional=VldExactOptional,exports.VldMeta=VldMeta,exports.VldNullable=VldNullable,exports.VldNullish=VldNullish,exports.VldOptional=VldOptional,exports.VldPipe=VldPipe,exports.VldPrefault=VldPrefault,exports.VldPreprocess=VldPreprocess,exports.VldReadonly=VldReadonly,exports.VldRefine=VldRefine,exports.VldSuperRefine=VldSuperRefine,exports.VldTransform=VldTransform,exports.configureSchemaCompositionFactories=function(e){a=e},exports.resolveErrorMessage=r;
|
|
1
|
+
"use strict";var e=require("../registry.cjs"),t=require("../chunks/errors-core-DrydF46s.cjs");function s(e){if(e instanceof t.VldError)return e;const s=e instanceof Error?e.message:String(e);return new t.VldError([{code:"custom",path:[],message:s}])}const r={STRING:"string",STRING_FORMAT:"stringFormat",STRING_BOOL:"stringBool",NUMBER:"number",BOOLEAN:"boolean",DATE:"date",BIGINT:"bigint",UNDEFINED:"undefined",NULL:"null",UNKNOWN:"unknown",ANY:"any",VOID:"void",NEVER:"never",SYMBOL:"symbol",NAN:"nan",HEX:"hex",BASE64:"base64",UINT8_ARRAY:"uint8Array",COERCE_STRING:"coerceString",COERCE_NUMBER:"coerceNumber",COERCE_BOOLEAN:"coerceBoolean",COERCE_DATE:"coerceDate",COERCE_BIGINT:"coerceBigint",OBJECT:"object",ARRAY:"array",TUPLE:"tuple",SET:"set",MAP:"map",RECORD:"record",UNION:"union",DISCRIMINATED_UNION:"discriminatedUnion",INTERSECTION:"intersection",XOR:"xor",ENUM:"enum",LITERAL:"literal",LAZY:"lazy",CUSTOM:"custom",FUNCTION:"function",FILE:"file",JSON:"json",TEMPLATE_LITERAL:"templateLiteral",PROMISE:"promise",OPTIONAL:"optional",NULLABLE:"nullable",NULLISH:"nullish",EXACT_OPTIONAL:"exactOptional",DEFAULT:"default",CATCH:"catch",REFINE:"refine",TRANSFORM:"transform",PIPE:"pipe",PREPROCESS:"preprocess",SUPER_REFINE:"superRefine",BRAND:"brand",READONLY:"readonly",META:"meta",PREFAULT:"prefault",PREFault:"prefault",CODEC:"codec"};function a(e,t){if("string"==typeof e)return e;if("function"==typeof e){const s=e(void 0);return"string"==typeof s?s:"object"==typeof s&&s?.message?s.message:t}if("object"==typeof e&&null!==e){if("string"==typeof e.error)return e.error;if("function"==typeof e.error)return e.error({})||t;if("string"==typeof e.message)return e.message}return t}function i(e){return null!==e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}let n;function o(e){return"function"==typeof e?e():function(e){if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(null!==e&&"object"==typeof e){const t=Object.getPrototypeOf(e);if(t===Object.prototype||null===t)return{...e}}return e}(e)}function h(e){if(!0===e.isSimple)switch(e.validatorType){case r.STRING:return"string";case r.NUMBER:return"number";case r.BOOLEAN:return"boolean";case r.BIGINT:return"bigint";case r.SYMBOL:return"symbol";default:return}}function l(e,t){switch(e){case"string":return"string"==typeof t?t:void 0;case"number":return"number"!=typeof t||isNaN(t)?void 0:t;case"boolean":return"boolean"==typeof t?t:void 0;case"bigint":return"bigint"==typeof t?t:void 0;case"symbol":return"symbol"==typeof t?t:void 0;default:return}}class VldBase{constructor(e="unknown"){this.validatorType=e}get type(){return this.validatorType}get _def(){return{typeName:"Zod"+this.validatorType.charAt(0).toUpperCase()+this.validatorType.slice(1),...this.config||{}}}get def(){return this._def}get _zod(){return this._def}get"~standard"(){return{version:1,vendor:"vld",validate:e=>{const t=this.safeParse(e);return t.success?{value:t.data}:{issues:[{message:t.error.message}]}},types:void 0}}async parseAsync(e){return this.parse(e)}async safeParseAsync(e){try{return{success:!0,data:await this.parseAsync(e)}}catch(e){return{success:!1,error:s(e)}}}decode(e){return this.parse(e)}safeDecode(e){return this.safeParse(e)}async decodeAsync(e){return this.parseAsync(e)}async safeDecodeAsync(e){return this.safeParseAsync(e)}encode(e){return this.parse(e)}safeEncode(e){const t=this.safeParse(e);return t.success?{success:!0,data:t.data}:t}async encodeAsync(e){return this.parseAsync(e)}async safeEncodeAsync(e){const t=await this.safeParseAsync(e);return t.success?{success:!0,data:t.data}:t}spa(e){return this.safeParseAsync(e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}clone(){return this}isValid(e){return this.safeParse(e).success}parseOrDefault(e,t){const s=this.safeParse(e);if(s.success)return s.data;const r=this.safeParse(t);if(!r.success)throw new Error(`Invalid default value provided: ${r.error.message}`);return r.data}refine(e,t){return new VldRefine(this,e,t)}superRefine(e){return new VldSuperRefine(this,e)}transform(e){return new VldTransform(this,e)}default(e){return new VldDefault(this,e)}prefault(e){return new VldPrefault(this,e)}nonoptional(e){return new VldRefine(this,e=>void 0!==e,a(e,"Expected non-optional value"))}array(){return n.array(this)}or(e){return n.union(this,e)}and(e){return n.intersection(this,e)}overwrite(e){return new VldTransform(this,e)}with(...e){return new VldSuperRefine(this,(t,s)=>{const r={value:t,issues:[]},a=[];for(const t of e){const e="function"==typeof t?t:t._zod?.check;if(!e)continue;const s=e(r);i(s)&&a.push(Promise.resolve(s))}const n=()=>{for(const e of r.issues)s.addIssue(void 0===e.code?{message:e.message||"Custom check failed"}:{message:e.message||"Custom check failed",code:e.code})};if(a.length>0)return Promise.all(a).then(n);n()})}toJSONSchema(e){return n.toJSONSchema(this,e)}catch(e){return new VldCatch(this,e)}optional(){return new VldOptional(this)}nullable(){return new VldNullable(this)}nullish(){return new VldNullish(this)}exactOptional(){return new VldExactOptional(this)}pipe(e){return new VldPipe(this,e)}readonly(){return new VldReadonly(this)}brand(){return new VldBrand(this)}apply(e){return e(this)}check(e,t){return this.refine(e,t)}meta(t){if(void 0===t)return e.globalRegistry.get(this)??this.baseValidator?.meta?.()??this.schema?.meta?.()??this.inner?.meta?.();const s=new VldMeta(this,t);return e.globalRegistry.add(s,t),s}register(e,t){return e.add(this,t),this}describe(e){return this.meta({description:e})}get description(){return this.meta()?.description??this.baseValidator?.description??this.schema?.description??this.inner?.description}}class VldMeta extends VldBase{constructor(e,t){super(r.META),this.baseValidator=e,this.metadata=t}parse(e){return this.baseValidator.parse(e)}safeParse(e){return this.baseValidator.safeParse(e)}getMeta(){return{...this.metadata}}meta(t){if(void 0===t)return{...this.metadata,...e.globalRegistry.get(this)};const s=new VldMeta(this.baseValidator,{...this.metadata,...t});return e.globalRegistry.add(s,s.getMeta()),s}describe(e){return this.meta({description:e})}}class VldReadonly extends VldBase{constructor(e){super(r.READONLY),this.baseValidator=e}parse(e){return this.baseValidator.parse(e)}safeParse(e){const t=this.baseValidator.safeParse(e);return t.success?{success:!0,data:t.data}:{success:!1,error:t.error}}}class VldBrand extends VldBase{constructor(e){super(r.BRAND),this.baseValidator=e}parse(e){return this.baseValidator.parse(e)}safeParse(e){const t=this.baseValidator.safeParse(e);return t.success?{success:!0,data:t.data}:{success:!1,error:t.error}}}class VldRefine extends VldBase{constructor(e,t,s){super(r.REFINE),this.baseValidator=e,this.predicate=t,this.customMessage=s??"Refinement check failed","object"==typeof s&&null!==s&&"path"in s&&Array.isArray(s.path)&&(this.refinePath=s.path)}_createIssue(e){if("function"==typeof this.customMessage){const t=this.customMessage(e);return"string"==typeof t?{code:"custom",path:this.refinePath??[],message:t}:{code:"custom",path:t?.path??this.refinePath??[],message:t?.message??"Refinement check failed"}}if("object"==typeof this.customMessage&&null!==this.customMessage){const e=this.customMessage.message??this.customMessage.error,t="function"==typeof e?e({}):"string"==typeof e?e:"Refinement check failed";return{code:"custom",path:this.customMessage.path??this.refinePath??[],message:t}}return{code:"custom",path:this.refinePath??[],message:"string"==typeof this.customMessage?this.customMessage:"Refinement check failed"}}parse(e){const s=this.baseValidator.parse(e),r=this.predicate(s);if(i(r))throw new Error("Use parseAsync for async refinements");if(!r)throw new t.VldError([this._createIssue(s)]);return s}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:s(e)}}}async parseAsync(e){const s=await this.baseValidator.parseAsync(e);if(!await this.predicate(s))throw new t.VldError([this._createIssue(s)]);return s}async safeParseAsync(e){try{return{success:!0,data:await this.parseAsync(e)}}catch(e){return{success:!1,error:s(e)}}}_wrap(e){return new VldRefine(e,this.predicate,this.customMessage)}min(e,t){return this._wrap(this.baseValidator.min?.(e,t)??this.baseValidator)}max(e,t){return this._wrap(this.baseValidator.max?.(e,t)??this.baseValidator)}length(e,t){return this._wrap(this.baseValidator.length?.(e,t)??this.baseValidator)}email(e){return this._wrap(this.baseValidator.email?.(e)??this.baseValidator)}url(e){return this._wrap(this.baseValidator.url?.(e)??this.baseValidator)}uuid(e){return this._wrap(this.baseValidator.uuid?.(e)??this.baseValidator)}regex(e,t){return this._wrap(this.baseValidator.regex?.(e,t)??this.baseValidator)}startsWith(e,t){return this._wrap(this.baseValidator.startsWith?.(e,t)??this.baseValidator)}endsWith(e,t){return this._wrap(this.baseValidator.endsWith?.(e,t)??this.baseValidator)}includes(e,t){return this._wrap(this.baseValidator.includes?.(e,t)??this.baseValidator)}ip(e){return this._wrap(this.baseValidator.ip?.(e)??this.baseValidator)}ipv4(e){return this._wrap(this.baseValidator.ipv4?.(e)??this.baseValidator)}ipv6(e){return this._wrap(this.baseValidator.ipv6?.(e)??this.baseValidator)}nonempty(e){return this._wrap(this.baseValidator.nonempty?.(e)??this.baseValidator)}trim(){return this._wrap(this.baseValidator.trim?.()??this.baseValidator)}toLowerCase(){return this._wrap(this.baseValidator.toLowerCase?.()??this.baseValidator)}lowercase(){return this.toLowerCase()}toUpperCase(){return this._wrap(this.baseValidator.toUpperCase?.()??this.baseValidator)}uppercase(){return this.toUpperCase()}positive(e){return this._wrap(this.baseValidator.positive?.(e)??this.baseValidator)}negative(e){return this._wrap(this.baseValidator.negative?.(e)??this.baseValidator)}nonnegative(e){return this._wrap(this.baseValidator.nonnegative?.(e)??this.baseValidator)}nonpositive(e){return this._wrap(this.baseValidator.nonpositive?.(e)??this.baseValidator)}int(e){return this._wrap(this.baseValidator.int?.(e)??this.baseValidator)}finite(e){return this._wrap(this.baseValidator.finite?.(e)??this.baseValidator)}safe(e){return this._wrap(this.baseValidator.safe?.(e)??this.baseValidator)}multipleOf(e,t){return this._wrap(this.baseValidator.multipleOf?.(e,t)??this.baseValidator)}step(e,t){return this._wrap(this.baseValidator.step?.(e,t)??this.baseValidator)}gt(e,t){return this._wrap(this.baseValidator.gt?.(e,t)??this.baseValidator)}gte(e,t){return this._wrap(this.baseValidator.gte?.(e,t)??this.baseValidator)}lt(e,t){return this._wrap(this.baseValidator.lt?.(e,t)??this.baseValidator)}lte(e,t){return this._wrap(this.baseValidator.lte?.(e,t)??this.baseValidator)}extend(e){return this._wrap(this.baseValidator.extend?.(e)??this.baseValidator)}merge(e){return this._wrap(this.baseValidator.merge?.(e)??this.baseValidator)}pick(...e){return this._wrap(this.baseValidator.pick?.(...e)??this.baseValidator)}omit(...e){return this._wrap(this.baseValidator.omit?.(...e)??this.baseValidator)}partial(){return this._wrap(this.baseValidator.partial?.()??this.baseValidator)}required(){return this._wrap(this.baseValidator.required?.()??this.baseValidator)}strict(e){return this._wrap(this.baseValidator.strict?.(e)??this.baseValidator)}passthrough(){return this._wrap(this.baseValidator.passthrough?.()??this.baseValidator)}strip(){return this._wrap(this.baseValidator.strip?.()??this.baseValidator)}catchall(e){return this._wrap(this.baseValidator.catchall?.(e)??this.baseValidator)}get shape(){return this.baseValidator.shape}get keyof(){return this.baseValidator.keyof}unwrap(){return this.baseValidator.unwrap?this.baseValidator.unwrap():this.baseValidator}get element(){return this.baseValidator.element}}class VldTransform extends VldBase{constructor(e,t){super(r.TRANSFORM),this.baseValidator=e,this.transformer=t}parse(e){const t=this.baseValidator.parse(e);try{const e=this.transformer(t);if(i(e))throw new Error("Use parseAsync for async transforms");return e}catch(e){throw new Error(`Transform failed: ${e.message}`)}}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:s(e)}}}async parseAsync(e){const t=await this.baseValidator.parseAsync(e);try{return await this.transformer(t)}catch(e){throw new Error(`Transform failed: ${e.message}`)}}}class VldDefault extends VldBase{constructor(e,t){super(r.DEFAULT),this.baseValidator=e,this.defaultValue=t}parse(e){return void 0===e?o(this.defaultValue):this.baseValidator.parse(e)}safeParse(e){return void 0===e?{success:!0,data:o(this.defaultValue)}:this.baseValidator.safeParse(e)}prefault(e){return new VldPrefault(this.baseValidator,void 0===e?this.defaultValue:e)}unwrap(){return this.baseValidator}removeDefault(){return this.baseValidator}}class VldPrefault extends VldBase{constructor(e,t){super(r.PREFAULT),this.baseValidator=e,this.defaultValue=t}parse(e){return void 0===e?this.baseValidator.parse(o(this.defaultValue)):this.baseValidator.parse(e)}safeParse(e){return void 0===e?this.baseValidator.safeParse(o(this.defaultValue)):this.baseValidator.safeParse(e)}prefault(e){return void 0===e?this:new VldPrefault(this.baseValidator,e)}unwrap(){return this.baseValidator}}class VldCatch extends VldBase{constructor(e,t){super(r.CATCH),this.baseValidator=e,this.fallbackValue=t,this.simpleMode=h(e);const s=e.safeParse(t);if(!s.success)throw new Error(`Invalid fallback value: ${s.error.message}`)}parse(e){const t=l(this.simpleMode,e);if(void 0!==t)return t;if(void 0!==this.simpleMode)return this.fallbackValue;try{return this.baseValidator.parse(e)}catch{return this.fallbackValue}}safeParse(e){const t=l(this.simpleMode,e);if(void 0!==t)return{success:!0,data:t};if(void 0!==this.simpleMode)return{success:!0,data:this.fallbackValue};const s=this.baseValidator.safeParse(e);return s.success?s:{success:!0,data:this.fallbackValue}}}class VldOptional extends VldBase{constructor(e){super(r.OPTIONAL),this.baseValidator=e,this.simpleMode=h(e)}parseSimpleValue(e){return l(this.simpleMode,e)}static create(e){return new VldOptional(e)}parse(e){if(void 0===e)return;const t=this.parseSimpleValue(e);return void 0!==t?t:this.baseValidator.parse(e)}safeParse(e){if(void 0===e)return{success:!0,data:void 0};const t=this.parseSimpleValue(e);return void 0!==t?{success:!0,data:t}:this.baseValidator.safeParse(e)}unwrap(){return this.baseValidator}}class VldExactOptional extends VldBase{constructor(e){super(r.EXACT_OPTIONAL),this.baseValidator=e,this.simpleMode=h(e)}static create(e){return new VldExactOptional(e)}parse(e){if(void 0===e)return;const t=l(this.simpleMode,e);return void 0!==t?t:this.baseValidator.parse(e)}safeParse(e){if(void 0===e)return{success:!0,data:void 0};const t=l(this.simpleMode,e);return void 0!==t?{success:!0,data:t}:this.baseValidator.safeParse(e)}unwrap(){return this.baseValidator}}class VldNullable extends VldBase{constructor(e){super(r.NULLABLE),this.baseValidator=e,this.simpleMode=h(e)}static create(e){return new VldNullable(e)}parse(e){if(null===e)return null;const t=l(this.simpleMode,e);return void 0!==t?t:this.baseValidator.parse(e)}safeParse(e){if(null===e)return{success:!0,data:null};const t=l(this.simpleMode,e);return void 0!==t?{success:!0,data:t}:this.baseValidator.safeParse(e)}unwrap(){return this.baseValidator}}class VldNullish extends VldBase{constructor(e){super(r.NULLISH),this.baseValidator=e,this.simpleMode=h(e)}static create(e){return new VldNullish(e)}parse(e){if(null==e)return e;const t=l(this.simpleMode,e);return void 0!==t?t:this.baseValidator.parse(e)}safeParse(e){if(null==e)return{success:!0,data:e};const t=l(this.simpleMode,e);return void 0!==t?{success:!0,data:t}:this.baseValidator.safeParse(e)}unwrap(){return this.baseValidator}}class VldPipe extends VldBase{constructor(e,t){super(r.PIPE),this.first=e,this.second=t}parse(e){const t=this.first.parse(e);return this.second.parse(t)}safeParse(e){const t=this.first.safeParse(e);return t.success?this.second.safeParse(t.data):{success:!1,error:t.error}}}class VldSuperRefine extends VldBase{constructor(e,t){super(r.SUPER_REFINE),this._inner=e,this._refinement=t}parse(e){const s=this._inner.parse(e),r=[],a={addIssue:e=>{r.push({code:e.code||"custom",path:e.path??[],message:e.message||"Validation error"})},path:[]};if(this._refinement(s,a)instanceof Promise)throw new Error("Use parseAsync for async refinements");if(r.length>0)throw new t.VldError(r,r.map(e=>e.message).join("; "));return s}safeParse(e){const r=this._inner.safeParse(e);if(!r.success)return{success:!1,error:s(r.error)};const a=[],i={addIssue:e=>{a.push({code:e.code||"custom",path:e.path??[],message:e.message||"Validation error"})},path:[]};if(this._refinement(r.data,i)instanceof Promise)throw new Error("Use safeParseAsync for async refinements");return a.length>0?{success:!1,error:new t.VldError(a,a.map(e=>e.message).join("; "))}:r}async parseAsync(e){const s=await this._inner.parseAsync(e),r=[],a={addIssue:e=>{r.push({code:e.code||"custom",path:e.path??[],message:e.message||"Validation error"})},path:[]};if(await this._refinement(s,a),r.length>0)throw new t.VldError(r,r.map(e=>e.message).join("; "));return s}async safeParseAsync(e){try{return{success:!0,data:await this.parseAsync(e)}}catch(e){return{success:!1,error:s(e)}}}_wrap(e){return new VldSuperRefine(e,this._refinement)}min(e,t){return this._wrap(this._inner.min?.(e,t)??this._inner)}max(e,t){return this._wrap(this._inner.max?.(e,t)??this._inner)}length(e,t){return this._wrap(this._inner.length?.(e,t)??this._inner)}email(e){return this._wrap(this._inner.email?.(e)??this._inner)}url(e){return this._wrap(this._inner.url?.(e)??this._inner)}uuid(e){return this._wrap(this._inner.uuid?.(e)??this._inner)}regex(e,t){return this._wrap(this._inner.regex?.(e,t)??this._inner)}startsWith(e,t){return this._wrap(this._inner.startsWith?.(e,t)??this._inner)}endsWith(e,t){return this._wrap(this._inner.endsWith?.(e,t)??this._inner)}includes(e,t){return this._wrap(this._inner.includes?.(e,t)??this._inner)}ip(e){return this._wrap(this._inner.ip?.(e)??this._inner)}ipv4(e){return this._wrap(this._inner.ipv4?.(e)??this._inner)}ipv6(e){return this._wrap(this._inner.ipv6?.(e)??this._inner)}nonempty(e){return this._wrap(this._inner.nonempty?.(e)??this._inner)}trim(){return this._wrap(this._inner.trim?.()??this._inner)}toLowerCase(){return this._wrap(this._inner.toLowerCase?.()??this._inner)}lowercase(){return this.toLowerCase()}toUpperCase(){return this._wrap(this._inner.toUpperCase?.()??this._inner)}uppercase(){return this.toUpperCase()}positive(e){return this._wrap(this._inner.positive?.(e)??this._inner)}negative(e){return this._wrap(this._inner.negative?.(e)??this._inner)}nonnegative(e){return this._wrap(this._inner.nonnegative?.(e)??this._inner)}nonpositive(e){return this._wrap(this._inner.nonpositive?.(e)??this._inner)}int(e){return this._wrap(this._inner.int?.(e)??this._inner)}finite(e){return this._wrap(this._inner.finite?.(e)??this._inner)}safe(e){return this._wrap(this._inner.safe?.(e)??this._inner)}multipleOf(e,t){return this._wrap(this._inner.multipleOf?.(e,t)??this._inner)}step(e,t){return this._wrap(this._inner.step?.(e,t)??this._inner)}gt(e,t){return this._wrap(this._inner.gt?.(e,t)??this._inner)}gte(e,t){return this._wrap(this._inner.gte?.(e,t)??this._inner)}lt(e,t){return this._wrap(this._inner.lt?.(e,t)??this._inner)}lte(e,t){return this._wrap(this._inner.lte?.(e,t)??this._inner)}extend(e){return this._wrap(this._inner.extend?.(e)??this._inner)}merge(e){return this._wrap(this._inner.merge?.(e)??this._inner)}pick(...e){return this._wrap(this._inner.pick?.(...e)??this._inner)}omit(...e){return this._wrap(this._inner.omit?.(...e)??this._inner)}partial(){return this._wrap(this._inner.partial?.()??this._inner)}required(){return this._wrap(this._inner.required?.()??this._inner)}strict(e){return this._wrap(this._inner.strict?.(e)??this._inner)}passthrough(){return this._wrap(this._inner.passthrough?.()??this._inner)}strip(){return this._wrap(this._inner.strip?.()??this._inner)}catchall(e){return this._wrap(this._inner.catchall?.(e)??this._inner)}get shape(){return this._inner.shape}get keyof(){return this._inner.keyof}unwrap(){return this._inner.unwrap?this._inner.unwrap():this._inner}get element(){return this._inner.element}}class VldPreprocess extends VldBase{constructor(e,t){super(r.PREPROCESS),this._preprocessor=e,this._schema=t}static create(e,t){return new VldPreprocess(e,t)}parse(e){const t=this._preprocessor(e);return this._schema.parse(t)}safeParse(e){try{const t=this._preprocessor(e);return this._schema.safeParse(t)}catch(e){return{success:!1,error:s(e)}}}}exports.VLD_VALIDATOR_TYPES=r,exports.VldBase=VldBase,exports.VldBrand=VldBrand,exports.VldCatch=VldCatch,exports.VldDefault=VldDefault,exports.VldExactOptional=VldExactOptional,exports.VldMeta=VldMeta,exports.VldNullable=VldNullable,exports.VldNullish=VldNullish,exports.VldOptional=VldOptional,exports.VldPipe=VldPipe,exports.VldPrefault=VldPrefault,exports.VldPreprocess=VldPreprocess,exports.VldReadonly=VldReadonly,exports.VldRefine=VldRefine,exports.VldSuperRefine=VldSuperRefine,exports.VldTransform=VldTransform,exports.configureSchemaCompositionFactories=function(e){n=e},exports.ensureVldError=s,exports.isPromiseLike=i,exports.resolveErrorMessage=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),s=require("../errors.cjs"),r=require("../locales/runtime.cjs"),a=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),s=require("../errors.cjs"),r=require("../locales/runtime.cjs"),a=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../pigment.cjs"),require("../locales/en.cjs");class VldBase64 extends e.VldBase{constructor(s=!1){super(e.VLD_VALIDATOR_TYPES.BASE64),this.urlSafe=s}parse(e){const s=this.safeParse(e);if(!s.success)throw s.error;return s.data}safeParse(e){if("string"!=typeof e)return{success:!1,error:new a.VldError([s.createIssue("invalid_type",[],r.getMessages().expectedString)])};return(this.urlSafe?VldBase64.BASE64_URL_REGEX:VldBase64.BASE64_REGEX).test(e)?!this.urlSafe&&e.length>0&&e.length%4!=0?{success:!1,error:new a.VldError([s.createIssue("custom",[],r.getMessages().invalidBase64)])}:{success:!0,data:e}:{success:!1,error:new a.VldError([s.createIssue("custom",[],r.getMessages().invalidBase64)])}}urlSafeMode(){return new VldBase64(!0)}static create(e=!1){return new VldBase64(e)}}VldBase64.BASE64_REGEX=/^[A-Za-z0-9+/]*={0,2}$/,VldBase64.BASE64_URL_REGEX=/^[A-Za-z0-9_-]*={0,2}$/,exports.VldBase64=VldBase64;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),i=require("../locales/runtime.cjs"),n=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),i=require("../locales/runtime.cjs"),n=require("../chunks/errors-core-DrydF46s.cjs");function t(e){return new n.VldError([{code:"invalid_type",path:[],message:e}])}require("../registry.cjs"),require("../locales/en.cjs");class VldBigInt extends e.VldBase{constructor(i){super(i?.validatorType||e.VLD_VALIDATOR_TYPES.BIGINT),this.config={checks:i?.checks||[],errorMessage:i?.errorMessage,jsonSchema:i?.jsonSchema},this._checks=this.config.checks,this._fastCheckMode=this.detectFastCheckMode()}get jsonSchema(){return this.config.jsonSchema}get isSimple(){return 0===this._checks.length}get minValue(){return this.config.jsonSchema?.minimum?BigInt(this.config.jsonSchema.minimum):null}get maxValue(){return this.config.jsonSchema?.maximum?BigInt(this.config.jsonSchema.maximum):null}get format(){return this.config.jsonSchema?.format??null}static create(){return new VldBigInt}detectFastCheckMode(){if(0===this._checks.length)return"none";if(1!==this._checks.length)return;const e=this.config.jsonSchema;return 0n===e?.exclusiveMinimum&&void 0===e.minimum&&void 0===e.maximum?"positive":0n===e?.exclusiveMaximum&&void 0===e.minimum&&void 0===e.maximum?"negative":0n===e?.minimum&&void 0===e.maximum&&void 0===e.exclusiveMaximum?"nonnegative":0n===e?.maximum&&void 0===e.minimum&&void 0===e.exclusiveMinimum?"nonpositive":void 0}getValidationError(){return new Error(this.config.errorMessage||i.getMessages().invalidBigint)}parse(e){if("bigint"!=typeof e)throw this.getValidationError();return this.parseKnownBigInt(e)}parseKnownBigInt(e){switch(this._fastCheckMode){case"none":return e;case"positive":if(e>0n)return e;throw this.getValidationError();case"negative":if(e<0n)return e;throw this.getValidationError();case"nonnegative":if(e>=0n)return e;throw this.getValidationError();case"nonpositive":if(e<=0n)return e;throw this.getValidationError()}for(const i of this._checks)if(!i(e))throw this.getValidationError();return e}safeParse(e){if("bigint"!=typeof e)return{success:!1,error:t(this.getValidationError().message)};try{return{success:!0,data:this.parseKnownBigInt(e)}}catch(e){return{success:!1,error:t(e.message)}}}min(e,i){return new VldBigInt({...this.config,checks:[...this.config.checks,i=>i>=e],errorMessage:i||`BigInt must be at least ${e}`,jsonSchema:{...this.config.jsonSchema,minimum:e}})}max(e,i){return new VldBigInt({...this.config,checks:[...this.config.checks,i=>i<=e],errorMessage:i||`BigInt must be at most ${e}`,jsonSchema:{...this.config.jsonSchema,maximum:e}})}positive(e){return new VldBigInt({...this.config,checks:[...this.config.checks,e=>e>0n],errorMessage:e||"BigInt must be positive",jsonSchema:{...this.config.jsonSchema,exclusiveMinimum:0n}})}negative(e){return new VldBigInt({...this.config,checks:[...this.config.checks,e=>e<0n],errorMessage:e||"BigInt must be negative",jsonSchema:{...this.config.jsonSchema,exclusiveMaximum:0n}})}nonnegative(e){return new VldBigInt({...this.config,checks:[...this.config.checks,e=>e>=0n],errorMessage:e||"BigInt must be non-negative",jsonSchema:{...this.config.jsonSchema,minimum:0n}})}nonpositive(e){return new VldBigInt({...this.config,checks:[...this.config.checks,e=>e<=0n],errorMessage:e||"BigInt must be non-positive",jsonSchema:{...this.config.jsonSchema,maximum:0n}})}gt(e,i){const n="bigint"==typeof e?e:BigInt(e);return new VldBigInt({...this.config,checks:[...this.config.checks,e=>e>n],errorMessage:i||`BigInt must be greater than ${n}`,jsonSchema:{...this.config.jsonSchema,exclusiveMinimum:n}})}lt(e,i){const n="bigint"==typeof e?e:BigInt(e);return new VldBigInt({...this.config,checks:[...this.config.checks,e=>e<n],errorMessage:i||`BigInt must be less than ${n}`,jsonSchema:{...this.config.jsonSchema,exclusiveMaximum:n}})}gte(e,i){const n="bigint"==typeof e?e:BigInt(e);return this.min(n,i)}lte(e,i){const n="bigint"==typeof e?e:BigInt(e);return this.max(n,i)}multipleOf(e,i){return new VldBigInt({...this.config,checks:[...this.config.checks,i=>i%e===0n],errorMessage:i||`BigInt must be a multiple of ${e}`,jsonSchema:{...this.config.jsonSchema,multipleOf:e}})}}exports.VldBigInt=VldBigInt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),s=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),s=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs");class VldBoolean extends e.VldBase{constructor(s,r){super(r||e.VLD_VALIDATOR_TYPES.BOOLEAN),this.errorMessage=s}get isSimple(){return!0}static create(){return new VldBoolean}parse(e){if("boolean"!=typeof e)throw new s.VldError([s.createInvalidTypeIssue("boolean",s.getTypeName(e),this.errorMessage)]);return e}parseKnownBoolean(e){return e}safeParse(e){return"boolean"==typeof e?{success:!0,data:e}:{success:!1,error:new s.VldError([s.createInvalidTypeIssue("boolean",s.getTypeName(e),this.errorMessage)])}}true(e){return new VldTrue(e||"Value must be true")}false(e){return new VldFalse(e||"Value must be false")}}class VldTrue extends VldBoolean{constructor(e){super(e),this.message=e}get isSimple(){return!1}parse(e){if(!0!==e)throw new s.VldError([{code:"custom",path:[],message:this.message}]);return!0}parseKnownBoolean(e){if(!0!==e)throw new s.VldError([{code:"custom",path:[],message:this.message}]);return!0}safeParse(e){return!0!==e?{success:!1,error:new s.VldError([{code:"custom",path:[],message:this.message}])}:{success:!0,data:!0}}}class VldFalse extends VldBoolean{constructor(e){super(e),this.message=e}get isSimple(){return!1}parse(e){if(!1!==e)throw new s.VldError([{code:"custom",path:[],message:this.message}]);return!1}parseKnownBoolean(e){if(!1!==e)throw new s.VldError([{code:"custom",path:[],message:this.message}]);return!1}safeParse(e){return!1!==e?{success:!1,error:new s.VldError([{code:"custom",path:[],message:this.message}])}:{success:!0,data:!1}}}exports.VldBoolean=VldBoolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../errors.cjs"),s=require("../locales/runtime.cjs"),c=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../errors.cjs"),s=require("../locales/runtime.cjs"),c=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../pigment.cjs"),require("../locales/en.cjs");class VldCodec extends e.VldBase{constructor(r,s,c){super(e.VLD_VALIDATOR_TYPES.CODEC),this.inputValidator=r,this.outputValidator=s,this.codecTransform=c}parse(e){const r=this.safeParse(e);if(!r.success)throw r.error;return r.data}safeParse(e){const t=this.inputValidator.safeParse(e);if(!t.success)return{success:!1,error:t.error};try{const e=this.codecTransform.decode(t.data);if(e instanceof Promise)throw new c.VldError([r.createIssue("custom",[],s.getMessages().codecAsyncNotSupported)]);return this.outputValidator.safeParse(e)}catch(e){return e instanceof c.VldError?{success:!1,error:e}:{success:!1,error:new c.VldError([r.createIssue("custom",[],s.getMessages().codecDecodeFailed)])}}}invert(){return new VldCodec(this.outputValidator,this.inputValidator,{decode:this.codecTransform.encode,encode:this.codecTransform.decode})}encode(e){const r=this.safeEncode(e);if(!r.success)throw r.error;return r.data}safeEncode(e){const t=this.outputValidator.safeParse(e);if(!t.success)return{success:!1,error:t.error};try{const e=this.codecTransform.encode(t.data);if(e instanceof Promise)throw new c.VldError([r.createIssue("custom",[],s.getMessages().codecAsyncNotSupported)]);return this.inputValidator.safeParse(e)}catch(e){return e instanceof c.VldError?{success:!1,error:e}:{success:!1,error:new c.VldError([r.createIssue("custom",[],s.getMessages().codecEncodeFailed)])}}}async parseAsync(e){const r=await this.safeParseAsync(e);if(!r.success)throw r.error;return r.data}async safeParseAsync(e){const t=this.inputValidator.safeParse(e);if(!t.success)return{success:!1,error:t.error};try{const e=await this.codecTransform.decode(t.data);return this.outputValidator.safeParse(e)}catch(e){return e instanceof c.VldError?{success:!1,error:e}:{success:!1,error:new c.VldError([r.createIssue("custom",[],s.getMessages().codecDecodeFailed)])}}}async encodeAsync(e){const r=await this.safeEncodeAsync(e);if(!r.success)throw r.error;return r.data}async safeEncodeAsync(e){const t=this.outputValidator.safeParse(e);if(!t.success)return{success:!1,error:t.error};try{const e=await this.codecTransform.encode(t.data);return this.inputValidator.safeParse(e)}catch(e){return e instanceof c.VldError?{success:!1,error:e}:{success:!1,error:new c.VldError([r.createIssue("custom",[],s.getMessages().codecEncodeFailed)])}}}static create(e,r,s){return new VldCodec(e,r,s)}static invert(e){return e.invert()}}exports.VldCodec=VldCodec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var s=require("./base.cjs");require("../registry.cjs");class VldCustom extends s.VldBase{constructor(
|
|
1
|
+
"use strict";var s=require("./base.cjs");require("../registry.cjs"),require("../chunks/errors-core-DrydF46s.cjs");class VldCustom extends s.VldBase{constructor(r){super(s.VLD_VALIDATOR_TYPES.CUSTOM),this._parseFn=r.parse,this._parseAsyncFn=r.parseAsync||(s=>Promise.resolve(this._parseFn(s))),this._safeParseFn=r.safeParse?e=>{const a=r.safeParse(e);return a.success?{success:!0,data:a.data}:{success:!1,error:s.ensureVldError(a.error)}}:r=>{try{return{success:!0,data:this._parseFn(r)}}catch(r){return{success:!1,error:s.ensureVldError(r)}}},this._safeParseAsyncFn=r.safeParseAsync?async e=>{const a=await r.safeParseAsync(e);return a.success?{success:!0,data:a.data}:{success:!1,error:s.ensureVldError(a.error)}}:async r=>{try{return{success:!0,data:await this._parseAsyncFn(r)}}catch(r){return{success:!1,error:s.ensureVldError(r)}}}}static create(s){return new VldCustom(s)}parse(s){return this._parseFn(s)}safeParse(s){return this._safeParseFn(s)}async parseAsync(s){return this._parseAsyncFn(s)}async safeParseAsync(s){return this._safeParseAsyncFn(s)}}exports.VldCustom=VldCustom,exports.custom=function(r,e){if("function"==typeof r){const a=r;return VldCustom.create({parse:r=>{if(!a(r))throw s.ensureVldError(s.resolveErrorMessage(e,"Custom validation failed"));return r}})}return r?VldCustom.create(r):VldCustom.create({parse:s=>s})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),t=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),t=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DrydF46s.cjs");function n(e){return new s.VldError([{code:"invalid_date",path:[],message:e}])}require("../registry.cjs"),require("../locales/en.cjs");class VldDate extends e.VldBase{constructor(t){super(t?.validatorType||e.VLD_VALIDATOR_TYPES.DATE),this.config={checks:t?.checks||[],errorMessage:t?.errorMessage,jsonSchema:t?.jsonSchema},this._checks=this.config.checks,this._isSimple=0===this._checks.length}get jsonSchema(){return this.config.jsonSchema}get minDate(){const e=this.config.jsonSchema?.formatMinimum??this.config.jsonSchema?.minimum;return e?new Date(e):null}get maxDate(){const e=this.config.jsonSchema?.formatMaximum??this.config.jsonSchema?.maximum;return e?new Date(e):null}static create(){return new VldDate}parse(e){let s;if(e instanceof Date)s=e;else{if("string"!=typeof e&&"number"!=typeof e)throw new Error(this.config.errorMessage||t.getMessages().invalidDate);s=new Date(e)}if(isNaN(s.getTime()))throw new Error(this.config.errorMessage||t.getMessages().invalidDate);return this.parseValidDate(s)}parseKnownDate(e){if(isNaN(e.getTime()))throw new Error(this.config.errorMessage||t.getMessages().invalidDate);return this.parseValidDate(e)}parseValidDate(e){if(this._isSimple)return e;for(const t of this._checks)if(!t.fn(e))throw new Error(t.message);return e}safeParse(e){if(e instanceof Date)try{return{success:!0,data:this.parseKnownDate(e)}}catch(e){return{success:!1,error:n(e.message)}}try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:n(e.message)}}}min(e,s){const n=e instanceof Date?e:new Date(e);if(isNaN(n.getTime()))throw new Error(`Invalid date provided to min(): ${e}`);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e>=n,message:s||t.getMessages().dateMin(n)}],jsonSchema:{...this.config.jsonSchema,formatMinimum:n.toISOString()}})}max(e,s){const n=e instanceof Date?e:new Date(e);if(isNaN(n.getTime()))throw new Error(`Invalid date provided to max(): ${e}`);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e<=n,message:s||t.getMessages().dateMax(n)}],jsonSchema:{...this.config.jsonSchema,formatMaximum:n.toISOString()}})}between(e,t,s){const n=e instanceof Date?e:new Date(e),a=t instanceof Date?t:new Date(t);if(isNaN(n.getTime()))throw new Error(`Invalid min date provided to between(): ${e}`);if(isNaN(a.getTime()))throw new Error(`Invalid max date provided to between(): ${t}`);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e>=n&&e<=a,message:s||`Date must be between ${n.toISOString()} and ${a.toISOString()}`}],jsonSchema:{...this.config.jsonSchema,formatMinimum:n.toISOString(),formatMaximum:a.toISOString()}})}past(e){const t=new Date;return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e<t,message:e||"Date must be in the past"}],jsonSchema:{...this.config.jsonSchema,formatExclusiveMaximum:t.toISOString()}})}future(e){const t=new Date;return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e>t,message:e||"Date must be in the future"}],jsonSchema:{...this.config.jsonSchema,formatExclusiveMinimum:t.toISOString()}})}today(e){const t=new Date,s=t.getFullYear(),n=t.getMonth(),a=t.getDate();return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e.getFullYear()===s&&e.getMonth()===n&&e.getDate()===a,message:e||"Date must be today"}]})}weekday(e){return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>{const t=e.getDay();return t>=1&&t<=5},message:e||"Date must be a weekday"}]})}weekend(e){return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>{const t=e.getDay();return 0===t||6===t},message:e||"Date must be a weekend"}]})}gt(e,t){const s=e instanceof Date?e:new Date(e);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e.getTime()>s.getTime(),message:t||`Date must be greater than ${s.toISOString()}`}],jsonSchema:{...this.config.jsonSchema,formatExclusiveMinimum:s.toISOString()}})}lt(e,t){const s=e instanceof Date?e:new Date(e);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e.getTime()<s.getTime(),message:t||`Date must be less than ${s.toISOString()}`}],jsonSchema:{...this.config.jsonSchema,formatExclusiveMaximum:s.toISOString()}})}}exports.VldDate=VldDate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var i=require("./base.cjs"),r=require("./object.cjs"),t=require("./literal.cjs"),e=require("./enum.cjs");function s(i){if(i instanceof t.VldLiteral)return[...i.values];if(i instanceof e.VldEnum)return[...i.values];throw new Error("Discriminator must be a literal or enum schema")}require("../registry.cjs"),require("../
|
|
1
|
+
"use strict";var i=require("./base.cjs"),r=require("./object.cjs"),t=require("./literal.cjs"),e=require("./enum.cjs");function s(i){if(i instanceof t.VldLiteral)return[...i.values];if(i instanceof e.VldEnum)return[...i.values];throw new Error("Discriminator must be a literal or enum schema")}require("../registry.cjs"),require("../chunks/errors-core-DrydF46s.cjs"),require("../locales/runtime.cjs"),require("../locales/en.cjs"),require("../chunks/security-aXZVI7qW.cjs");class VldDiscriminatedUnion extends i.VldBase{constructor(t,e){super(i.VLD_VALIDATOR_TYPES.DISCRIMINATED_UNION),this._discriminator=t,this._options=e,this._discriminatorMap=new Map,this._stringDiscriminatorMap=Object.create(null);for(const i of e){if(!(i instanceof r.VldObject))throw new Error("All options in a discriminated union must be objects");const t=i.config?.shape?.[this._discriminator];if(!t)throw new Error(`Missing discriminator key "${this._discriminator}" in one of the options`);const e=s(t);for(const r of e){if(this._discriminatorMap.has(r))throw new Error(`Duplicate discriminator value "${String(r)}" found in discriminated union`);this._discriminatorMap.set(r,i),"string"==typeof r&&(this._stringDiscriminatorMap[r]=i)}}this._validValues=Array.from(this._discriminatorMap.keys())}get options(){return this._options}get discriminator(){return this._discriminator}static create(i,r){return new VldDiscriminatedUnion(i,r)}parse(i){if("object"!=typeof i||null===i)throw new Error("Expected object, received "+(null===i?"null":typeof i));const r=i[this._discriminator],t="string"==typeof r?this._stringDiscriminatorMap[r]:this._discriminatorMap.get(r);if(!t)throw new Error(`Invalid discriminator value for "${this._discriminator}". Expected one of: ${JSON.stringify(this._validValues)}, received: ${JSON.stringify(r)}`);return t.parseTrustedKnownObject(i,this._discriminator)}safeParse(r){if("object"!=typeof r||null===r)return{success:!1,error:i.ensureVldError("Expected object, received "+(null===r?"null":typeof r))};const t=r[this._discriminator],e="string"==typeof t?this._stringDiscriminatorMap[t]:this._discriminatorMap.get(t);if(!e)return{success:!1,error:i.ensureVldError(`Invalid discriminator value for "${this._discriminator}". Expected one of: ${JSON.stringify(this._validValues)}, received: ${JSON.stringify(t)}`)};try{return{success:!0,data:e.parseTrustedKnownObject(r,this._discriminator)}}catch(r){return{success:!1,error:i.ensureVldError(r)}}}getDiscriminator(){return this._discriminator}getOptions(){return this._options}}exports.VldDiscriminatedUnion=VldDiscriminatedUnion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldEnum extends e.VldBase{constructor(r,s){super(e.VLD_VALIDATOR_TYPES.ENUM),this._values=r,this.errorMessage=s,this._valueSet=r.length>6?new Set(r):void 0}createError(e){const t={code:"invalid_value",path:[],values:[...this._values],message:this.errorMessage||r.getMessages().enumExpected([...this._values],JSON.stringify(e))};return new s.VldError([t])}get values(){return this._values}get options(){return this._values}get enum(){const e={};for(const r of this._values)e[r]=r;return e}static create(e){return new VldEnum(e)}parse(e){if("string"!=typeof e&&"number"!=typeof e)throw this.createError(e);const r=this._values;switch(r.length){case 1:if(e===r[0])return e;break;case 2:if(e===r[0]||e===r[1])return e;break;case 3:if(e===r[0]||e===r[1]||e===r[2])return e;break;case 4:if(e===r[0]||e===r[1]||e===r[2]||e===r[3])return e;break;case 5:if(e===r[0]||e===r[1]||e===r[2]||e===r[3]||e===r[4])return e;break;case 6:if(e===r[0]||e===r[1]||e===r[2]||e===r[3]||e===r[4]||e===r[5])return e;break;default:if(this._valueSet.has(e))return e}throw this.createError(e)}safeParse(e){if("string"!=typeof e&&"number"!=typeof e)return{success:!1,error:this.createError(e)};const r=this._values;switch(r.length){case 1:if(e===r[0])return{success:!0,data:e};break;case 2:if(e===r[0]||e===r[1])return{success:!0,data:e};break;case 3:if(e===r[0]||e===r[1]||e===r[2])return{success:!0,data:e};break;case 4:if(e===r[0]||e===r[1]||e===r[2]||e===r[3])return{success:!0,data:e};break;case 5:if(e===r[0]||e===r[1]||e===r[2]||e===r[3]||e===r[4])return{success:!0,data:e};break;case 6:if(e===r[0]||e===r[1]||e===r[2]||e===r[3]||e===r[4]||e===r[5])return{success:!0,data:e};break;default:if(this._valueSet.has(e))return{success:!0,data:e}}return{success:!1,error:this.createError(e)}}exclude(...e){const r=1===e.length&&Array.isArray(e[0])?e[0]:e,s=this._values.filter(e=>!r.includes(e));if(0===s.length)throw new Error("Cannot exclude all enum values");return new VldEnum(s,this.errorMessage)}extract(...e){const r=1===e.length&&Array.isArray(e[0])?e[0]:e,s=this._values.filter(e=>r.includes(e));if(0===s.length)throw new Error("Cannot extract non-existent enum values");return new VldEnum(s,this.errorMessage)}}exports.VldEnum=VldEnum;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),s=require("../locales/runtime.cjs"),r=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),s=require("../locales/runtime.cjs"),r=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldFile extends e.VldBase{constructor(s=[]){super(e.VLD_VALIDATOR_TYPES.FILE),this.checks=s}static create(){return new VldFile}isFileLike(e){return"object"==typeof e&&null!==e&&("undefined"!=typeof File&&e instanceof File||"size"in e&&"type"in e)}parse(e){if(this.isFileLike(e))return this.parseKnownFile(e);if("undefined"==typeof File)throw new Error(s.getMessages().fileNotSupported||"File API not supported in this environment");throw new Error(s.getMessages().invalidFile||"Expected a File object")}parseKnownFile(e){return this.runChecks(e)}runChecks(e){const r=s.getMessages();for(const s of this.checks)switch(s.type){case"min":if(e.size<s.value)throw new Error(s.message||r.fileMinSize?.(s.value)||`File size must be at least ${s.value} bytes`);break;case"max":if(e.size>s.value)throw new Error(s.message||r.fileMaxSize?.(s.value)||`File size must not exceed ${s.value} bytes`);break;case"mime":if(!s.value.includes(e.type))throw new Error(s.message||r.fileMimeType?.(s.value)||`Invalid file type. Expected: ${s.value.join(", ")}`)}return 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}min(e,s){return new VldFile([...this.checks,{type:"min",value:e,message:s}])}max(e,s){return new VldFile([...this.checks,{type:"max",value:e,message:s}])}mime(e,s){const r=Array.isArray(e)?e:[e];return new VldFile([...this.checks,{type:"mime",value:r,message:s}])}size(e,s,r){return this.min(e,r).max(s,r)}}exports.VldFile=VldFile,exports.file=function(){return VldFile.create()};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldFunction extends e.VldBase{constructor(){super(e.VLD_VALIDATOR_TYPES.FUNCTION)}static create(){return new VldFunction}parse(e){if("function"!=typeof e)throw new Error(r.getMessages().invalidFunction||"Expected a function");return e}parseKnownFunction(e){return e}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:(r=e.message,new s.VldError([{code:"invalid_type",path:[],message:r}]))}}var r}}exports.VldFunction=VldFunction,exports.functionValidator=function(){return VldFunction.create()};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../errors.cjs"),s=require("../locales/runtime.cjs"),t=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../errors.cjs"),s=require("../locales/runtime.cjs"),t=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../pigment.cjs"),require("../locales/en.cjs");class VldHex extends e.VldBase{constructor(r=!1){super(e.VLD_VALIDATOR_TYPES.HEX),this.lowercase=r}parse(e){const r=this.safeParse(e);if(!r.success)throw r.error;return r.data}safeParse(e){if("string"!=typeof e)return{success:!1,error:new t.VldError([r.createIssue("invalid_type",[],s.getMessages().expectedString)])};if(!VldHex.HEX_REGEX.test(e))return{success:!1,error:new t.VldError([r.createIssue("custom",[],s.getMessages().invalidHex)])};if(e.length%2!=0)return{success:!1,error:new t.VldError([r.createIssue("custom",[],s.getMessages().invalidHex)])};return{success:!0,data:this.lowercase?e.toLowerCase():e}}lowercaseMode(){return new VldHex(!0)}static create(e=!1){return new VldHex(e)}}VldHex.HEX_REGEX=/^[0-9a-fA-F]*$/,exports.VldHex=VldHex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("./string.cjs"),s=require("./number.cjs"),l=require("./boolean.cjs"),t=require("./date.cjs"),o=require("./string-bool.cjs"),i=require("./array.cjs"),d=require("./object.cjs"),p=require("./union.cjs"),u=require("./intersection.cjs"),n=require("./literal.cjs"),V=require("./enum.cjs"),x=require("./tuple.cjs"),c=require("./record.cjs"),a=require("./set.cjs"),j=require("./map.cjs"),m=require("./bigint.cjs"),q=require("./symbol.cjs"),v=require("./any.cjs"),b=require("./unknown.cjs"),f=require("./void.cjs"),g=require("./never.cjs"),h=require("./null.cjs"),y=require("./undefined.cjs"),N=require("./nan.cjs"),B=require("./lazy.cjs"),S=require("./discriminated-union.cjs"),U=require("./xor.cjs"),k=require("./json.cjs"),L=require("./template-literal.cjs"),R=require("./custom.cjs"),D=require("./file.cjs"),F=require("./function.cjs"),O=require("./promise.cjs"),P=require("./string-formats.cjs");require("../registry.cjs"),require("../
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("./string.cjs"),s=require("./number.cjs"),l=require("./boolean.cjs"),t=require("./date.cjs"),o=require("./string-bool.cjs"),i=require("./array.cjs"),d=require("./object.cjs"),p=require("./union.cjs"),u=require("./intersection.cjs"),n=require("./literal.cjs"),V=require("./enum.cjs"),x=require("./tuple.cjs"),c=require("./record.cjs"),a=require("./set.cjs"),j=require("./map.cjs"),m=require("./bigint.cjs"),q=require("./symbol.cjs"),v=require("./any.cjs"),b=require("./unknown.cjs"),f=require("./void.cjs"),g=require("./never.cjs"),h=require("./null.cjs"),y=require("./undefined.cjs"),N=require("./nan.cjs"),B=require("./lazy.cjs"),S=require("./discriminated-union.cjs"),U=require("./xor.cjs"),k=require("./json.cjs"),L=require("./template-literal.cjs"),R=require("./custom.cjs"),D=require("./file.cjs"),F=require("./function.cjs"),O=require("./promise.cjs"),P=require("./string-formats.cjs");require("../registry.cjs"),require("../chunks/errors-core-DrydF46s.cjs"),require("../locales/runtime.cjs"),require("../locales/en.cjs"),require("../chunks/ip-validation-BZqPamPC.cjs"),require("../chunks/security-aXZVI7qW.cjs"),exports.VldBase=e.VldBase,exports.VldBrand=e.VldBrand,exports.VldCatch=e.VldCatch,exports.VldDefault=e.VldDefault,exports.VldExactOptional=e.VldExactOptional,exports.VldNullable=e.VldNullable,exports.VldNullish=e.VldNullish,exports.VldOptional=e.VldOptional,exports.VldPipe=e.VldPipe,exports.VldPreprocess=e.VldPreprocess,exports.VldReadonly=e.VldReadonly,exports.VldRefine=e.VldRefine,exports.VldSuperRefine=e.VldSuperRefine,exports.VldTransform=e.VldTransform,exports.VldString=r.VldString,exports.VldNumber=s.VldNumber,exports.VldBoolean=l.VldBoolean,exports.VldDate=t.VldDate,exports.VldStringBool=o.VldStringBool,exports.VldArray=i.VldArray,exports.VldObject=d.VldObject,exports.VldUnion=p.VldUnion,exports.VldIntersection=u.VldIntersection,exports.VldLiteral=n.VldLiteral,exports.VldEnum=V.VldEnum,exports.VldTuple=x.VldTuple,exports.VldRecord=c.VldRecord,exports.VldSet=a.VldSet,exports.VldMap=j.VldMap,exports.VldBigInt=m.VldBigInt,exports.VldSymbol=q.VldSymbol,exports.VldAny=v.VldAny,exports.VldUnknown=b.VldUnknown,exports.VldVoid=f.VldVoid,exports.VldNever=g.VldNever,exports.VldNull=h.VldNull,exports.VldUndefined=y.VldUndefined,exports.VldNan=N.VldNan,exports.VldLazy=B.VldLazy,exports.VldDiscriminatedUnion=S.VldDiscriminatedUnion,exports.VldXor=U.VldXor,exports.VldJson=k.VldJson,exports.VldTemplateLiteral=L.VldTemplateLiteral,exports.templateLiteral=L.templateLiteral,exports.VldCustom=R.VldCustom,exports.custom=R.custom,exports.VldFile=D.VldFile,exports.file=D.file,exports.VldFunction=F.VldFunction,exports.functionValidator=F.functionValidator,exports.VldPromise=O.VldPromise,exports.promise=O.promise,exports.base64=P.base64,exports.base64url=P.base64url,exports.cidrv4=P.cidrv4,exports.cidrv6=P.cidrv6,exports.cuid=P.cuid,exports.cuid2=P.cuid2,exports.e164=P.e164,exports.email=P.email,exports.emoji=P.emoji,exports.guid=P.guid,exports.hash=P.hash,exports.hex=P.hex,exports.hostname=P.hostname,exports.httpUrl=P.httpUrl,exports.ipv4=P.ipv4,exports.ipv6=P.ipv6,exports.iso=P.iso,exports.jwt=P.jwt,exports.ksuid=P.ksuid,exports.mac=P.mac,exports.nanoid=P.nanoid,exports.regexes=P.regexes,exports.stringFormat=P.stringFormat,exports.ulid=P.ulid,exports.url=P.url,exports.uuid=P.uuid,exports.uuidv4=P.uuidv4,exports.uuidv6=P.uuidv6,exports.uuidv7=P.uuidv7,exports.xid=P.xid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../chunks/security-aXZVI7qW.cjs"),t=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../chunks/security-aXZVI7qW.cjs"),t=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DrydF46s.cjs");function c(e){return null!==e&&"object"==typeof e&&e.constructor===Object&&"[object Object]"===Object.prototype.toString.call(e)}function o(e,t){const s={...e},n=Object.keys(t);for(let i=0;i<n.length;i++){const a=n[i];if(r.isDangerousKey(a))continue;if(!Object.prototype.hasOwnProperty.call(t,a))continue;const u=t[a],l=e[a];c(u)&&c(l)?s[a]=o(l,u):s[a]=u}return s}require("../registry.cjs"),require("../locales/en.cjs");class VldIntersection extends e.VldBase{constructor(r,t){super(e.VLD_VALIDATOR_TYPES.INTERSECTION),this.validatorA=r,this.validatorB=t}static create(e,r){return new VldIntersection(e,r)}parse(e){try{const r=this.validatorA.parse(e),t=this.validatorB.parse(e),s=c(r),n=c(t);if(s&&n)return o(r,t);if(!s&&!n){if(r===t)return r;throw new Error("Values must be identical for intersection of primitive types")}throw new Error("Cannot create intersection of object and primitive types. Both validators must produce the same type category.")}catch(e){throw new Error(t.getMessages().intersectionError(e.message))}}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:(r=e.message,new s.VldError([{code:"invalid_type",path:[],message:r}]))}}var r}}exports.VldIntersection=VldIntersection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs");require("../registry.cjs"),require("../chunks/errors-core-DrydF46s.cjs"),require("../locales/en.cjs");class VldJson extends e.VldBase{constructor(r){super(e.VLD_VALIDATOR_TYPES.JSON),this.schema=r}static create(e){return new VldJson(e)}parse(e){let s;if("string"==typeof e)try{s=JSON.parse(e)}catch{throw new Error(r.getMessages().invalidJson)}else s=e;return this.schema?this.schema.parse(s):s}safeParse(r){try{return{success:!0,data:this.parse(r)}}catch(r){return{success:!1,error:e.ensureVldError(r)}}}withSchema(e){return new VldJson(e)}}exports.VldJson=VldJson;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs");require("../registry.cjs");class VldLazy extends e.VldBase{constructor(
|
|
1
|
+
"use strict";var e=require("./base.cjs");require("../registry.cjs"),require("../chunks/errors-core-DrydF46s.cjs");class VldLazy extends e.VldBase{constructor(r){super(e.VLD_VALIDATOR_TYPES.LAZY),this._schemaGetter=r,this._cachedSchema=null}static create(e){return new VldLazy(e)}_getSchema(){if(this._cachedSchema)return this._cachedSchema;const e=this._schemaGetter();return this._cachedSchema=e,e}unwrap(){return this._getSchema()}parse(e){return this._getSchema().parse(e)}safeParse(e){return this._getSchema().safeParse(e)}}exports.VldLazy=VldLazy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DrydF46s.cjs");function t(e){const r=JSON.stringify(e,(e,r)=>"bigint"==typeof r?r.toString():r);return void 0===r?String(e):r}require("../registry.cjs"),require("../locales/en.cjs");class VldLiteral extends e.VldBase{constructor(r,s){super(e.VLD_VALIDATOR_TYPES.LITERAL),this._values=r,this.errorMessage=s}get literal(){return this._values[0]}get value(){return this._values[0]}get values(){return this._values}get isSimple(){return 1===this._values.length}get expectedDisplay(){return t(1===this._values.length?this._values[0]:this._values)}static create(e){const r=Array.isArray(e)?e:[e];if(0===r.length)throw new Error("Cannot create literal schema with no valid values");return new VldLiteral(r)}parse(e){if(!this._values.includes(e))throw this._createLiteralError(e);return e}_createLiteralError(e){const a={code:"invalid_value",path:[],values:[...this._values],message:this.errorMessage||r.getMessages().literalExpected(this.expectedDisplay,t(e))};return new s.VldError([a])}safeParse(e){return this._values.includes(e)?{success:!0,data:e}:{success:!1,error:this._createLiteralError(e)}}}exports.VldLiteral=VldLiteral;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),t=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),t=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldMap extends e.VldBase{constructor(r,t,s,i=[]){super(e.VLD_VALIDATOR_TYPES.MAP),this.keyValidator=r,this.valueValidator=t,this.errorMessage=s,this._checks=i,this._simpleKeyMode=this.getSimpleItemMode(r),this._simpleValueMode=this.getSimpleItemMode(t),this._simpleKeyValue="literal"===this._simpleKeyMode?r.literal:void 0,this._simpleValueValue="literal"===this._simpleValueMode?t.literal:void 0}get keySchema(){return this.keyValidator}get valueSchema(){return this.valueValidator}get keyType(){return this.keyValidator}get valueType(){return this.valueValidator}static create(e,r){return new VldMap(e,r)}getSimpleItemMode(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"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,t,s){switch(e){case"string":return r.getMessages().invalidString;case"number":return r.getMessages().invalidNumber;case"boolean":return r.getMessages().invalidBoolean;case"bigint":return r.getMessages().invalidBigint;case"symbol":return r.getMessages().invalidSymbol;case"null":return"Expected null, received "+typeof s;case"undefinedValue":return r.getMessages().expectedUndefined;case"literal":return r.getMessages().literalExpected(JSON.stringify(t),JSON.stringify(s));default:return r.getMessages().invalidMap}}parseSimpleItem(e,r,t){switch(e){case"string":if("string"!=typeof t)throw new Error(this.getSimpleItemError(e,r,t));return t;case"number":if("number"!=typeof t||isNaN(t))throw new Error(this.getSimpleItemError(e,r,t));return t;case"boolean":if("boolean"!=typeof t)throw new Error(this.getSimpleItemError(e,r,t));return t;case"bigint":if("bigint"!=typeof t)throw new Error(this.getSimpleItemError(e,r,t));return t;case"symbol":if("symbol"!=typeof t)throw new Error(this.getSimpleItemError(e,r,t));return t;case"null":if(null!==t)throw new Error(this.getSimpleItemError(e,r,t));return null;case"undefinedValue":if(void 0!==t)throw new Error(this.getSimpleItemError(e,r,t));return;case"literal":if(t!==r)throw new Error(this.getSimpleItemError(e,r,t));return r;case"passthrough":return t}}parse(e){if(!(e instanceof Map))throw new Error(this.errorMessage||r.getMessages().invalidMap);return this.parseKnownMap(e)}parseKnownMap(e){const r=new Map,t=this._simpleKeyMode,s=this._simpleValueMode;if("string"===t&&"number"===s)for(const[i,a]of e){if("string"!=typeof i)throw new Error(this.getSimpleItemError(t,this._simpleKeyValue,i));if("number"!=typeof a||isNaN(a))throw new Error(this.getSimpleItemError(s,this._simpleValueValue,a));r.set(i,a)}else if("string"===t&&"string"===s)for(const[i,a]of e){if("string"!=typeof i)throw new Error(this.getSimpleItemError(t,this._simpleKeyValue,i));if("string"!=typeof a)throw new Error(this.getSimpleItemError(s,this._simpleValueValue,a));r.set(i,a)}else if(void 0!==t&&void 0!==s){const i=t,a=s;for(const[t,s]of e){const e=this.parseSimpleItem(i,this._simpleKeyValue,t),n=this.parseSimpleItem(a,this._simpleValueValue,s);r.set(e,n)}}else for(const[i,a]of e)try{const e=void 0===t?this.keyValidator.parse(i):this.parseSimpleItem(t,this._simpleKeyValue,i),n=void 0===s?this.valueValidator.parse(a):this.parseSimpleItem(s,this._simpleValueValue,a);r.set(e,n)}catch(e){throw new Error(e.message)}for(const e of this._checks)if(!e.fn(r))throw new Error(e.message);return r}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:(r=e.message,new t.VldError([{code:"invalid_type",path:[],message:r}]))}}var r}min(e,r){return new VldMap(this.keyValidator,this.valueValidator,this.errorMessage,[...this._checks,{fn:r=>r.size>=e,message:r||`Map must contain at least ${e} entries`}])}max(e,r){return new VldMap(this.keyValidator,this.valueValidator,this.errorMessage,[...this._checks,{fn:r=>r.size<=e,message:r||`Map must contain at most ${e} entries`}])}size(e,r){return new VldMap(this.keyValidator,this.valueValidator,this.errorMessage,[...this._checks,{fn:r=>r.size===e,message:r||`Map must contain exactly ${e} entries`}])}nonempty(e){return this.min(1,e||"Map cannot be empty")}}exports.VldMap=VldMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs");class VldNan extends e.VldBase{constructor(){super(e.VLD_VALIDATOR_TYPES.NAN)}static create(){return new VldNan}parse(e){if("number"!=typeof e||!Number.isNaN(e))throw new Error("Expected NaN, received "+("number"==typeof e?"a valid number":typeof e));return 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_number",path:[],message:s}]))}}var s}}exports.VldNan=VldNan;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldNever extends e.VldBase{static create(){return new VldNever}parse(e){throw new Error(r.getMessages().neverType)}safeParse(e){return{success:!1,error:new s.VldError([{code:"invalid_type",path:[],message:r.getMessages().neverType}])}}}exports.VldNever=VldNever;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs");class VldNull extends e.VldBase{constructor(){super(e.VLD_VALIDATOR_TYPES.NULL)}static create(){return new VldNull}get isSimple(){return!0}parse(e){if(null!==e)throw new Error("Expected null, received "+typeof e);return null}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.VldNull=VldNull;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),s=require("../locales/runtime.cjs"),r=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),s=require("../locales/runtime.cjs"),r=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldNumber extends e.VldBase{constructor(s){super(s?.validatorType||e.VLD_VALIDATOR_TYPES.NUMBER),this.config={checks:s?.checks||[],errorMessage:s?.errorMessage,jsonSchema:s?.jsonSchema,checkMetas:s?.checkMetas},this._checks=this.config.checks,this._isSimple=0===this._checks.length,this._fastCheckMode=this.detectFastCheckMode(),this._checkMetas=this.config.checkMetas}detectFastCheckMode(){const e=this.config.jsonSchema;return 0===this._checks.length?"none":1===this._checks.length&&0===e?.exclusiveMinimum&&"integer"!==e.type?"positive":2===this._checks.length&&0===e?.exclusiveMinimum&&"integer"===e.type?"positive-int":void 0}get hasCustomChecks(){return!this._isSimple}get isSimple(){return this._isSimple}get minValue(){return this.config.jsonSchema?.minimum??this.config.jsonSchema?.exclusiveMinimum??null}get maxValue(){return this.config.jsonSchema?.maximum??this.config.jsonSchema?.exclusiveMaximum??null}get isInt(){return"integer"===this.config.jsonSchema?.type}get isFinite(){return!0}get format(){return this.config.jsonSchema?.format??null}static create(){return new VldNumber}parse(e){if("number"!=typeof e||!Number.isFinite(e))throw new r.VldError([r.createInvalidTypeIssue("number",r.getTypeName(e),this.config.errorMessage)]);switch(this._fastCheckMode){case"none":return e;case"positive":if(e>0)return e;throw new r.VldError([this._createCheckIssue("gt",0,this.config.errorMessage)]);case"positive-int":if(e>0&&Number.isInteger(e))return e;throw new r.VldError([this._createCheckIssue("int",void 0,this.config.errorMessage)])}return this.parseKnownNumber(e)}_createCheckIssue(e,s,r){switch(e){case"min":return{code:"too_small",path:[],origin:"number",minimum:s,inclusive:!0,message:r||`Too small: expected number to be >=${s}`};case"max":return{code:"too_big",path:[],origin:"number",maximum:s,inclusive:!0,message:r||`Too big: expected number to be <=${s}`};case"gt":return{code:"too_small",path:[],origin:"number",minimum:s,inclusive:!1,message:r||`Too small: expected number to be >${s}`};case"lt":return{code:"too_big",path:[],origin:"number",maximum:s,inclusive:!1,message:r||`Too big: expected number to be <${s}`};case"int":return{code:"invalid_type",path:[],expected:"int",received:"number",message:r||"Invalid input: expected int, received number"};default:return{code:"custom",path:[],message:r||"Invalid number"}}}_findFailingCheck(e){const s=this._checks,r=this._checkMetas;for(let i=0;i<s.length;i++)if(!s[i](e))return r?.[i]??{kind:"other",message:this.config.errorMessage};return null}parseKnownNumber(e){switch(this._fastCheckMode){case"none":return e;case"positive":if(e>0)return e;throw new r.VldError([this._createCheckIssue("gt",0,this.config.errorMessage)]);case"positive-int":if(e>0&&Number.isInteger(e))return e;throw new r.VldError([this._createCheckIssue("int",void 0,this.config.errorMessage)])}const s=this._findFailingCheck(e);if(s)throw new r.VldError([this._createCheckIssue(s.kind,s.value,s.message)]);return e}safeParse(e){if("number"!=typeof e||!Number.isFinite(e))return{success:!1,error:new r.VldError([r.createInvalidTypeIssue("number",r.getTypeName(e),this.config.errorMessage)])};try{const s=this._findFailingCheck(e);if(s)return{success:!1,error:new r.VldError([this._createCheckIssue(s.kind,s.value,s.message)])}}catch(e){return e instanceof r.VldError?{success:!1,error:e}:{success:!1,error:new r.VldError([{code:"custom",path:[],message:e.message}])}}return{success:!0,data:e}}min(r,i){return new VldNumber({checks:[...this.config.checks,e=>e>=r],errorMessage:e.resolveErrorMessage(i,s.getMessages().numberMin(r)),jsonSchema:{...this.config.jsonSchema,minimum:r},checkMetas:[...this.config.checkMetas??[],{kind:"min",value:r,inclusive:!0,message:e.resolveErrorMessage(i,s.getMessages().numberMin(r))}]})}max(r,i){return new VldNumber({checks:[...this.config.checks,e=>e<=r],errorMessage:e.resolveErrorMessage(i,s.getMessages().numberMax(r)),jsonSchema:{...this.config.jsonSchema,maximum:r},checkMetas:[...this.config.checkMetas??[],{kind:"max",value:r,inclusive:!0,message:e.resolveErrorMessage(i,s.getMessages().numberMax(r))}]})}int(r){return new VldNumber({checks:[...this.config.checks,e=>Number.isInteger(e)],errorMessage:e.resolveErrorMessage(r,s.getMessages().numberInt),jsonSchema:{...this.config.jsonSchema,type:"integer"},checkMetas:[...this.config.checkMetas??[],{kind:"int",message:e.resolveErrorMessage(r,s.getMessages().numberInt)}]})}positive(r){return new VldNumber({checks:[...this.config.checks,e=>e>0],errorMessage:e.resolveErrorMessage(r,s.getMessages().numberPositive),jsonSchema:{...this.config.jsonSchema,exclusiveMinimum:0},checkMetas:[...this.config.checkMetas??[],{kind:"gt",value:0,inclusive:!1,message:e.resolveErrorMessage(r,s.getMessages().numberPositive)}]})}negative(r){return new VldNumber({checks:[...this.config.checks,e=>e<0],errorMessage:e.resolveErrorMessage(r,s.getMessages().numberNegative),jsonSchema:{...this.config.jsonSchema,exclusiveMaximum:0},checkMetas:[...this.config.checkMetas??[],{kind:"lt",value:0,inclusive:!1,message:e.resolveErrorMessage(r,s.getMessages().numberNegative)}]})}nonnegative(r){return new VldNumber({checks:[...this.config.checks,e=>e>=0],errorMessage:e.resolveErrorMessage(r,s.getMessages().numberNonnegative),jsonSchema:{...this.config.jsonSchema,minimum:0},checkMetas:[...this.config.checkMetas??[],{kind:"min",value:0,inclusive:!0,message:e.resolveErrorMessage(r,s.getMessages().numberNonnegative)}]})}nonpositive(r){return new VldNumber({checks:[...this.config.checks,e=>e<=0],errorMessage:e.resolveErrorMessage(r,s.getMessages().numberNonpositive),jsonSchema:{...this.config.jsonSchema,maximum:0},checkMetas:[...this.config.checkMetas??[],{kind:"max",value:0,inclusive:!0,message:e.resolveErrorMessage(r,s.getMessages().numberNonpositive)}]})}finite(r){return new VldNumber({checks:[...this.config.checks,e=>Number.isFinite(e)],errorMessage:e.resolveErrorMessage(r,s.getMessages().numberFinite),jsonSchema:this.config.jsonSchema})}safe(r){return new VldNumber({checks:[...this.config.checks,e=>Number.isSafeInteger(e)],errorMessage:e.resolveErrorMessage(r,s.getMessages().numberSafe),jsonSchema:{...this.config.jsonSchema,type:"integer"}})}multipleOf(r,i){return new VldNumber({checks:[...this.config.checks,e=>{const s=Math.abs(e%r);return s<Number.EPSILON||Math.abs(s-Math.abs(r))<Number.EPSILON}],errorMessage:e.resolveErrorMessage(i,s.getMessages().numberMultipleOf(r)),jsonSchema:{...this.config.jsonSchema,multipleOf:r}})}step(e,s){return this.multipleOf(e,s)}between(s,r,i){return new VldNumber({checks:[...this.config.checks,e=>e>=s&&e<=r],errorMessage:e.resolveErrorMessage(i,`Number must be between ${s} and ${r}`),jsonSchema:{...this.config.jsonSchema,minimum:s,maximum:r}})}even(s){return new VldNumber({checks:[...this.config.checks,e=>!!Number.isInteger(e)&&e%2==0],errorMessage:e.resolveErrorMessage(s,"Number must be even"),jsonSchema:{...this.config.jsonSchema,type:"integer",multipleOf:2}})}odd(s){return new VldNumber({checks:[...this.config.checks,e=>!!Number.isInteger(e)&&e%2!=0],errorMessage:e.resolveErrorMessage(s,"Number must be odd"),jsonSchema:{...this.config.jsonSchema,type:"integer"}})}gt(s,r){return new VldNumber({checks:[...this.config.checks,e=>e>s],errorMessage:e.resolveErrorMessage(r,`Number must be greater than ${s}`),jsonSchema:{...this.config.jsonSchema,exclusiveMinimum:s},checkMetas:[...this.config.checkMetas??[],{kind:"gt",value:s,inclusive:!1,message:e.resolveErrorMessage(r,`Number must be greater than ${s}`)}]})}lt(s,r){return new VldNumber({checks:[...this.config.checks,e=>e<s],errorMessage:e.resolveErrorMessage(r,`Number must be less than ${s}`),jsonSchema:{...this.config.jsonSchema,exclusiveMaximum:s},checkMetas:[...this.config.checkMetas??[],{kind:"lt",value:s,inclusive:!1,message:e.resolveErrorMessage(r,`Number must be less than ${s}`)}]})}gte(e,s){return this.min(e,s)}lte(e,s){return this.max(e,s)}uint32(s){return new VldNumber({checks:[...this.config.checks,e=>Number.isSafeInteger(e)&&e>=0&&e<=4294967295],errorMessage:e.resolveErrorMessage(s,"Expected an unsigned 32-bit integer"),jsonSchema:{...this.config.jsonSchema,type:"integer",minimum:0,maximum:4294967295}})}uint64(s){return new VldNumber({checks:[...this.config.checks,e=>Number.isSafeInteger(e)&&e>=0],errorMessage:e.resolveErrorMessage(s,"Expected an unsigned 64-bit integer"),jsonSchema:{...this.config.jsonSchema,type:"integer",minimum:0}})}int32(s){return new VldNumber({checks:[...this.config.checks,e=>Number.isSafeInteger(e)&&e>=-2147483648&&e<=2147483647],errorMessage:e.resolveErrorMessage(s,"Expected a signed 32-bit integer"),jsonSchema:{...this.config.jsonSchema,type:"integer",minimum:-2147483648,maximum:2147483647}})}int64(s){return new VldNumber({checks:[...this.config.checks,e=>Number.isSafeInteger(e)],errorMessage:e.resolveErrorMessage(s,"Expected a signed 64-bit integer"),jsonSchema:{...this.config.jsonSchema,type:"integer"}})}float32(s){return new VldNumber({checks:[...this.config.checks,e=>Number.isFinite(e)&&Math.abs(e)<=34e37],errorMessage:e.resolveErrorMessage(s,"Expected a 32-bit float"),jsonSchema:{...this.config.jsonSchema,minimum:-34e37,maximum:34e37}})}float64(s){return new VldNumber({checks:[...this.config.checks,e=>Number.isFinite(e)],errorMessage:e.resolveErrorMessage(s,"Expected a 64-bit float"),jsonSchema:this.config.jsonSchema})}}exports.VldNumber=VldNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),s=require("../locales/runtime.cjs"),t=require("./enum.cjs"),r=require("../chunks/security-aXZVI7qW.cjs"),i=require("../chunks/errors-core-DKPohm9I.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldObject extends e.VldBase{createSafeParseError(e){return new i.VldError([{code:"invalid_object",path:[],message:e}])}constructor(s){super(e.VLD_VALIDATOR_TYPES.OBJECT),this._config=s,this._shapeKeys=Object.keys(s.shape),this._shapeKeysSet=new Set(this._shapeKeys),this._validators=this._shapeKeys.map(e=>this.tryGetFieldValidator(e)),this._validatorTypes=this._shapeKeys.map((e,s)=>this._validators[s]?.validatorType||this.getValidatorType(e)),this._simpleFieldModes=this._validators.map((e,s)=>this.getSimpleFieldMode(e,this._validatorTypes[s])),this._simpleFieldValues=this._validators.map((e,s)=>"literal"===this._simpleFieldModes[s]?e.literal:void 0),this._canUseSimpleObjectFastPath=!s.strict&&!s.passthrough&&!s.catchall&&this._shapeKeys.length>0&&this._simpleFieldModes.every(e=>void 0!==e),this._canUseSafeParseFastPath=this._validators.every(s=>s instanceof e.VldBase)&&(void 0===s.catchall||s.catchall instanceof e.VldBase)}tryGetFieldValidator(e){try{const s=Object.getOwnPropertyDescriptor(this._config.shape,e);if(s?.get)return;return this.resolveFieldValidator(e)}catch{return}}resolveFieldValidator(e){try{const s=this._config.shape[e];if(!s||"function"!=typeof s.safeParse)return;return s}catch{return}}getFieldValidator(e,s){const t=(void 0===s?void 0:this._validators[s])||this.resolveFieldValidator(e);if(!t)throw new Error(`Invalid validator for field "${e}"`);return t}getValidatorType(s){try{const t=this._config.shape[s];return t?.validatorType||e.VLD_VALIDATOR_TYPES.UNKNOWN}catch{return e.VLD_VALIDATOR_TYPES.UNKNOWN}}getSimpleFieldMode(s,t){if(s&&!0===s.isSimple)switch(t){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}}getSimpleFieldError(e,t,r){switch(e){case"string":return s.getMessages().invalidString;case"number":return s.getMessages().invalidNumber;case"boolean":return s.getMessages().invalidBoolean;case"bigint":return s.getMessages().invalidBigint;case"symbol":return s.getMessages().invalidSymbol;case"null":return"Expected null, received "+typeof r;case"undefinedValue":return s.getMessages().expectedUndefined;case"literal":return s.getMessages().literalExpected(JSON.stringify(t),JSON.stringify(r));default:return s.getMessages().invalidObject}}parseCheckedField(s,t,r){if(t===e.VLD_VALIDATOR_TYPES.STRING&&"string"==typeof r){const e=s.parseKnownString;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.NUMBER&&"number"==typeof r&&!isNaN(r)){const e=s.parseKnownNumber;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.BOOLEAN&&"boolean"==typeof r){const e=s.parseKnownBoolean;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.BIGINT&&"bigint"==typeof r){const e=s.parseKnownBigInt;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.SYMBOL&&"symbol"==typeof r){const e=s.parseKnownSymbol;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.FUNCTION&&"function"==typeof r){const e=s.parseKnownFunction;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.FILE&&"object"==typeof r&&null!==r&&("size"in r&&"type"in r||"undefined"!=typeof File&&r instanceof File)){const e=s.parseKnownFile;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.DATE&&r instanceof Date){const e=s.parseKnownDate;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.OBJECT&&"object"==typeof r&&null!==r&&!Array.isArray(r)){const e=s.parseKnownObject;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.ARRAY&&Array.isArray(r)){const e=s.parseKnownArray;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.TUPLE&&Array.isArray(r)){const e=s.parseKnownTuple;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.RECORD&&"object"==typeof r&&null!==r&&!Array.isArray(r)){const e=s.parseKnownRecord;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.SET&&r instanceof Set){const e=s.parseKnownSet;if("function"==typeof e)return e.call(s,r)}if(t===e.VLD_VALIDATOR_TYPES.MAP&&r instanceof Map){const e=s.parseKnownMap;if("function"==typeof e)return e.call(s,r)}return s.parse(r)}parseSimpleObjectValue(e,t,r=!1){if(2===this._shapeKeys.length&&"string"===this._simpleFieldModes[0]&&"number"===this._simpleFieldModes[1]){const t=this._shapeKeys[0],r=e[t];if("string"!=typeof r)throw new Error(s.getMessages().objectField(t,s.getMessages().invalidString));const i=this._shapeKeys[1],n=e[i];if("number"!=typeof n||isNaN(n))throw new Error(s.getMessages().objectField(i,s.getMessages().invalidNumber));const a={};return a[t]=r,a[i]=n,a}if(3===this._shapeKeys.length&&"literal"===this._simpleFieldModes[0]&&"string"===this._simpleFieldModes[1]&&"number"===this._simpleFieldModes[2]){const i=this._shapeKeys[0],n=e[i],a=this._simpleFieldValues[0];if((!r||i!==t)&&n!==a)throw new Error(s.getMessages().objectField(i,this.getSimpleFieldError("literal",a,n)));const o=this._shapeKeys[1],c=e[o];if("string"!=typeof c)throw new Error(s.getMessages().objectField(o,s.getMessages().invalidString));const l=this._shapeKeys[2],h=e[l];if("number"!=typeof h||isNaN(h))throw new Error(s.getMessages().objectField(l,s.getMessages().invalidNumber));const f={};return f[i]=a,f[o]=c,f[l]=h,f}const i={};for(let n=0;n<this._shapeKeys.length;n++){const a=this._shapeKeys[n],o=e[a],c=this._simpleFieldModes[n];switch(c){case"string":if("string"!=typeof o)throw new Error(s.getMessages().objectField(a,s.getMessages().invalidString));i[a]=o;break;case"number":if("number"!=typeof o||isNaN(o))throw new Error(s.getMessages().objectField(a,s.getMessages().invalidNumber));i[a]=o;break;case"boolean":if("boolean"!=typeof o)throw new Error(s.getMessages().objectField(a,s.getMessages().invalidBoolean));i[a]=o;break;case"bigint":if("bigint"!=typeof o)throw new Error(s.getMessages().objectField(a,s.getMessages().invalidBigint));i[a]=o;break;case"symbol":if("symbol"!=typeof o)throw new Error(s.getMessages().objectField(a,s.getMessages().invalidSymbol));i[a]=o;break;case"null":if(null!==o)throw new Error(s.getMessages().objectField(a,this.getSimpleFieldError(c,void 0,o)));i[a]=null;break;case"undefinedValue":if(void 0!==o)throw new Error(s.getMessages().objectField(a,s.getMessages().expectedUndefined));i[a]=void 0;break;case"literal":if(r&&a===t){i[a]=this._simpleFieldValues[n];break}if(o!==this._simpleFieldValues[n])throw new Error(s.getMessages().objectField(a,this.getSimpleFieldError(c,this._simpleFieldValues[n],o)));i[a]=this._simpleFieldValues[n];break;case"passthrough":i[a]=o;break;default:throw new Error(s.getMessages().objectField(a,s.getMessages().invalidObject))}}return i}get config(){return this._config}get shapeKeys(){return this._shapeKeys}get shapeKeysSet(){return this._shapeKeysSet}static create(e){return new VldObject({shape:e})}parse(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new Error(this._config.errorMessage||s.getMessages().invalidObject);return this.parseObjectValue(e)}parseKnownObject(e,s){return this.parseObjectValue(e,s)}parseTrustedKnownObject(e,s){return this.parseObjectValue(e,s,!0)}parseObjectValue(e,t,i=!1){if(this._canUseSimpleObjectFastPath)return this.parseSimpleObjectValue(e,t,i);const n={};let a="";try{for(let r=0;r<this._shapeKeys.length;r++){if(a=this._shapeKeys[r],i&&a===t&&"literal"===this._simpleFieldModes[r]){n[a]=this._simpleFieldValues[r];continue}const o=this._simpleFieldModes[r];if(void 0!==o){const t=e[a];switch(o){case"string":if("string"!=typeof t)throw new Error(s.getMessages().invalidString);n[a]=t;continue;case"number":if("number"!=typeof t||isNaN(t))throw new Error(s.getMessages().invalidNumber);n[a]=t;continue;case"boolean":if("boolean"!=typeof t)throw new Error(s.getMessages().invalidBoolean);n[a]=t;continue;case"bigint":if("bigint"!=typeof t)throw new Error(s.getMessages().invalidBigint);n[a]=t;continue;case"symbol":if("symbol"!=typeof t)throw new Error(s.getMessages().invalidSymbol);n[a]=t;continue;case"null":if(null!==t)throw new Error(this.getSimpleFieldError(o,void 0,t));n[a]=null;continue;case"undefinedValue":if(void 0!==t)throw new Error(s.getMessages().expectedUndefined);n[a]=void 0;continue;case"literal":if(t!==this._simpleFieldValues[r])throw new Error(this.getSimpleFieldError(o,this._simpleFieldValues[r],t));n[a]=this._simpleFieldValues[r];continue;case"passthrough":n[a]=t;continue}continue}const c=this.getFieldValidator(a,r);n[a]=this.parseCheckedField(c,this._validatorTypes[r],e[a])}}catch(e){throw new Error(s.getMessages().objectField(a,e.message))}if(this._config.strict||this._config.passthrough||this._config.catchall){const t=Object.keys(e);if(this._config.strict){const e=[];for(let s=0;s<t.length;s++){const r=t[s];this._shapeKeysSet.has(r)||e.push(r)}if(e.length>0)throw new Error(s.getMessages().unexpectedKeys(e))}if(this._config.passthrough)for(let s=0;s<t.length;s++){const i=t[s];this._shapeKeysSet.has(i)||r.isDangerousKey(i)||(n[i]=e[i])}if(this._config.catchall)for(let i=0;i<t.length;i++){const a=t[i];if(!this._shapeKeysSet.has(a)&&!r.isDangerousKey(a))try{n[a]=this._config.catchall.parse(e[a])}catch(e){throw new Error(s.getMessages().objectField(a,e.message))}}}return n}safeParse(t){if("object"!=typeof t||null===t||Array.isArray(t))return{success:!1,error:this.createSafeParseError(this._config.errorMessage||s.getMessages().invalidObject)};const i=t;if(this._canUseSimpleObjectFastPath)try{return{success:!0,data:this.parseSimpleObjectValue(i)}}catch(e){return{success:!1,error:this.createSafeParseError(e.message)}}if(this._canUseSafeParseFastPath)try{return{success:!0,data:this.parseObjectValue(i)}}catch(e){return{success:!1,error:this.createSafeParseError(e.message)}}const n={};for(let t=0;t<this._shapeKeys.length;t++){const r=this._shapeKeys[t],a=i[r],o=this._simpleFieldModes[t];if(void 0!==o){if("string"===o&&"string"==typeof a||"number"===o&&"number"==typeof a&&!isNaN(a)||"boolean"===o&&"boolean"==typeof a||"bigint"===o&&"bigint"==typeof a||"symbol"===o&&"symbol"==typeof a||"null"===o&&null===a||"undefinedValue"===o&&void 0===a||"literal"===o&&a===this._simpleFieldValues[t]||"passthrough"===o){n[r]="literal"===o?this._simpleFieldValues[t]:"null"===o?null:a;continue}return{success:!1,error:this.createSafeParseError(s.getMessages().objectField(r,this.getSimpleFieldError(o,this._simpleFieldValues[t],a)))}}let c;try{c=this.getFieldValidator(r,t)}catch(e){const t=e instanceof Error?e.message:String(e);return{success:!1,error:this.createSafeParseError(s.getMessages().objectField(r,t))}}try{if(c instanceof e.VldBase)n[r]=this.parseCheckedField(c,this._validatorTypes[t],a);else{const e=c.safeParse(a);if(!e.success)return{success:!1,error:this.createSafeParseError(s.getMessages().objectField(r,e.error.message))};n[r]=e.data}}catch(e){const t=e instanceof Error?e.message:String(e);return{success:!1,error:this.createSafeParseError(s.getMessages().objectField(r,t))}}}if(this._config.strict||this._config.passthrough||this._config.catchall){const t=Object.keys(i);if(this._config.strict){const e=[];for(let s=0;s<t.length;s++){const r=t[s];this._shapeKeysSet.has(r)||e.push(r)}if(e.length>0)return{success:!1,error:this.createSafeParseError(s.getMessages().unexpectedKeys(e))}}if(this._config.passthrough)for(let e=0;e<t.length;e++){const s=t[e];this._shapeKeysSet.has(s)||r.isDangerousKey(s)||(n[s]=i[s])}if(this._config.catchall){const a=this._config.catchall;for(let o=0;o<t.length;o++){const c=t[o];if(!this._shapeKeysSet.has(c)&&!r.isDangerousKey(c))try{if(a instanceof e.VldBase)n[c]=a.parse(i[c]);else{const e=a.safeParse(i[c]);if(!e.success)return{success:!1,error:this.createSafeParseError(s.getMessages().objectField(c,e.error.message))};n[c]=e.data}}catch(e){const t=e instanceof Error?e.message:String(e);return{success:!1,error:this.createSafeParseError(s.getMessages().objectField(c,t))}}}}}return{success:!0,data:n}}encode(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new Error(this._config.errorMessage||s.getMessages().invalidObject);return this.encodeObjectSync(e)}safeEncode(e){try{return{success:!0,data:this.encode(e)}}catch(e){return{success:!1,error:this.createSafeParseError(e.message)}}}async encodeAsync(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new Error(this._config.errorMessage||s.getMessages().invalidObject);return this.encodeObjectAsync(e)}async safeEncodeAsync(e){try{return{success:!0,data:await this.encodeAsync(e)}}catch(e){return{success:!1,error:this.createSafeParseError(e.message)}}}encodeObjectSync(e){const s={};for(let t=0;t<this._shapeKeys.length;t++){const r=this._shapeKeys[t],i=this.getFieldValidator(r,t).encode(e[r]);(void 0!==i||Object.prototype.hasOwnProperty.call(e,r))&&(s[r]=i)}return this.encodeExtraKeysSync(e,s),s}async encodeObjectAsync(e){const s={};for(let t=0;t<this._shapeKeys.length;t++){const r=this._shapeKeys[t],i=await this.getFieldValidator(r,t).encodeAsync(e[r]);(void 0!==i||Object.prototype.hasOwnProperty.call(e,r))&&(s[r]=i)}const t=this.getEncodedExtraKeys(e);for(const i of t)r.isDangerousKey(i)||(this._config.catchall?s[i]=await this._config.catchall.encodeAsync(e[i]):this._config.passthrough&&(s[i]=e[i]));return s}getEncodedExtraKeys(e){const t=Object.keys(e).filter(e=>!this._shapeKeysSet.has(e));if(this._config.strict&&t.length>0)throw new Error(s.getMessages().unexpectedKeys(t));return t}encodeExtraKeysSync(e,s){for(const t of this.getEncodedExtraKeys(e))r.isDangerousKey(t)||(this._config.catchall?s[t]=this._config.catchall.encode(e[t]):this._config.passthrough&&(s[t]=e[t]))}strict(e){return new VldObject({...this._config,strict:!0,passthrough:!1,errorMessage:e})}passthrough(){return new VldObject({...this._config,strict:!1,passthrough:!0})}loose(){return this.passthrough()}strip(){const e={...this._config,strict:!1,passthrough:!1};return delete e.catchall,new VldObject(e)}partial(){const s={};for(const t in this._config.shape)s[t]=new e.VldOptional(this._config.shape[t]);return new VldObject({...this._config,shape:s})}deepPartial(){const s={};for(const t in this._config.shape){const r=this._config.shape[t];s[t]=r instanceof VldObject?new e.VldOptional(r.deepPartial()):new e.VldOptional(r)}return new VldObject({...this._config,shape:s})}pick(...e){const s={};for(const t of e)t in this._config.shape&&(s[t]=this._config.shape[t]);return new VldObject({...this._config,shape:s})}omit(...e){const s={},t=new Set(e);for(const e in this._config.shape)t.has(e)||(s[e]=this._config.shape[e]);return new VldObject({...this._config,shape:s})}extend(e){return new VldObject({...this._config,shape:{...this._config.shape,...e}})}merge(e){return new VldObject({...this._config,shape:{...this._config.shape,...e.config.shape}})}required(){const s={};for(const t in this._config.shape){const r=this._config.shape[t];if(r instanceof e.VldOptional){const e=r.baseValidator;if(!e||"function"!=typeof e.parse)throw new Error(`Invalid VldOptional structure for field "${t}": missing or invalid baseValidator`);s[t]=e}else s[t]=r}return new VldObject({...this._config,shape:s})}catchall(e){return new VldObject({...this._config,catchall:e,passthrough:!1})}get shape(){return this._config.shape}keyof(){const e=Object.keys(this._config.shape);if(0===e.length)throw new Error("Cannot create keyof enum from empty object");return t.VldEnum.create(e)}safeExtend(e){const t=new Set(Object.keys(this._config.shape)),r=Object.keys(e),i=[];for(const e of r)t.has(e)&&i.push(e);if(i.length>0)throw new Error(`safeExtend: ${s.getMessages().safeExtendOverlap(i)}`);return new VldObject({...this._config,shape:{...this._config.shape,...e}})}}exports.VldObject=VldObject;
|
|
1
|
+
"use strict";var e=require("./base.cjs"),s=require("../locales/runtime.cjs"),t=require("./enum.cjs"),i=require("../chunks/security-aXZVI7qW.cjs"),r=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldObject extends e.VldBase{createSafeParseError(e,t){if(e instanceof r.VldError)return void 0!==t?new r.VldError(e.issues.map(e=>({...e,path:e.path?[t,...e.path]:[t],message:e.message.startsWith("Invalid field")?e.message:s.getMessages().objectField(String(t),e.message)}))):e;const i=e instanceof Error?e.message:String(e);return new r.VldError([{code:"invalid_type",path:void 0!==t?[t]:[],message:void 0===t||i.startsWith("Invalid field")?i:s.getMessages().objectField(String(t),i)}])}constructor(s){super(e.VLD_VALIDATOR_TYPES.OBJECT),this._config=s,this._shapeKeys=Object.keys(s.shape),this._shapeKeysSet=new Set(this._shapeKeys),this._validators=this._shapeKeys.map(e=>this.tryGetFieldValidator(e)),this._validatorTypes=this._shapeKeys.map((e,s)=>this._validators[s]?.validatorType||this.getValidatorType(e)),this._simpleFieldModes=this._validators.map((e,s)=>this.getSimpleFieldMode(e,this._validatorTypes[s])),this._simpleFieldValues=this._validators.map((e,s)=>"literal"===this._simpleFieldModes[s]?e.literal:void 0),this._canUseSimpleObjectFastPath=!s.strict&&!s.passthrough&&!s.catchall&&this._shapeKeys.length>0&&this._simpleFieldModes.every(e=>void 0!==e),this._canUseSafeParseFastPath=this._validators.every(s=>s instanceof e.VldBase)&&(void 0===s.catchall||s.catchall instanceof e.VldBase)}tryGetFieldValidator(e){try{const s=Object.getOwnPropertyDescriptor(this._config.shape,e);if(s?.get)return;return this.resolveFieldValidator(e)}catch{return}}resolveFieldValidator(e){try{const s=this._config.shape[e];if(!s||"function"!=typeof s.safeParse)return;return s}catch{return}}getFieldValidator(e,s){const t=(void 0===s?void 0:this._validators[s])||this.resolveFieldValidator(e);if(!t)throw new Error(`Invalid validator for field "${e}"`);return t}getValidatorType(s){try{const t=this._config.shape[s];return t?.validatorType||e.VLD_VALIDATOR_TYPES.UNKNOWN}catch{return e.VLD_VALIDATOR_TYPES.UNKNOWN}}getSimpleFieldMode(s,t){if(s&&!0===s.isSimple)switch(t){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}}getSimpleFieldError(e,t,i){switch(e){case"string":return s.getMessages().invalidString;case"number":return s.getMessages().invalidNumber;case"boolean":return s.getMessages().invalidBoolean;case"bigint":return s.getMessages().invalidBigint;case"symbol":return s.getMessages().invalidSymbol;case"null":return"Expected null, received "+typeof i;case"undefinedValue":return s.getMessages().expectedUndefined;case"literal":return s.getMessages().literalExpected(JSON.stringify(t),JSON.stringify(i));default:return s.getMessages().invalidObject}}parseCheckedField(s,t,i){if(t===e.VLD_VALIDATOR_TYPES.STRING&&"string"==typeof i){const e=s.parseKnownString;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.NUMBER&&"number"==typeof i&&!isNaN(i)){const e=s.parseKnownNumber;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.BOOLEAN&&"boolean"==typeof i){const e=s.parseKnownBoolean;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.BIGINT&&"bigint"==typeof i){const e=s.parseKnownBigInt;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.SYMBOL&&"symbol"==typeof i){const e=s.parseKnownSymbol;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.FUNCTION&&"function"==typeof i){const e=s.parseKnownFunction;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.FILE&&"object"==typeof i&&null!==i&&("size"in i&&"type"in i||"undefined"!=typeof File&&i instanceof File)){const e=s.parseKnownFile;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.DATE&&i instanceof Date){const e=s.parseKnownDate;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.OBJECT&&"object"==typeof i&&null!==i&&!Array.isArray(i)){const e=s.parseKnownObject;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.ARRAY&&Array.isArray(i)){const e=s.parseKnownArray;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.TUPLE&&Array.isArray(i)){const e=s.parseKnownTuple;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.RECORD&&"object"==typeof i&&null!==i&&!Array.isArray(i)){const e=s.parseKnownRecord;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.SET&&i instanceof Set){const e=s.parseKnownSet;if("function"==typeof e)return e.call(s,i)}if(t===e.VLD_VALIDATOR_TYPES.MAP&&i instanceof Map){const e=s.parseKnownMap;if("function"==typeof e)return e.call(s,i)}return s.parse(i)}parseSimpleObjectValue(e,t,i=!1){if(2===this._shapeKeys.length&&"string"===this._simpleFieldModes[0]&&"number"===this._simpleFieldModes[1]){const t=this._shapeKeys[0],i=e[t];if("string"!=typeof i)throw new Error(s.getMessages().objectField(t,s.getMessages().invalidString));const r=this._shapeKeys[1],n=e[r];if("number"!=typeof n||isNaN(n))throw new Error(s.getMessages().objectField(r,s.getMessages().invalidNumber));const a={};return a[t]=i,a[r]=n,a}if(3===this._shapeKeys.length&&"literal"===this._simpleFieldModes[0]&&"string"===this._simpleFieldModes[1]&&"number"===this._simpleFieldModes[2]){const r=this._shapeKeys[0],n=e[r],a=this._simpleFieldValues[0];if((!i||r!==t)&&n!==a)throw new Error(s.getMessages().objectField(r,this.getSimpleFieldError("literal",a,n)));const o=this._shapeKeys[1],c=e[o];if("string"!=typeof c)throw new Error(s.getMessages().objectField(o,s.getMessages().invalidString));const l=this._shapeKeys[2],h=e[l];if("number"!=typeof h||isNaN(h))throw new Error(s.getMessages().objectField(l,s.getMessages().invalidNumber));const f={};return f[r]=a,f[o]=c,f[l]=h,f}const r={};for(let n=0;n<this._shapeKeys.length;n++){const a=this._shapeKeys[n],o=e[a],c=this._simpleFieldModes[n];switch(c){case"string":if("string"!=typeof o)throw new Error(s.getMessages().objectField(a,s.getMessages().invalidString));r[a]=o;break;case"number":if("number"!=typeof o||isNaN(o))throw new Error(s.getMessages().objectField(a,s.getMessages().invalidNumber));r[a]=o;break;case"boolean":if("boolean"!=typeof o)throw new Error(s.getMessages().objectField(a,s.getMessages().invalidBoolean));r[a]=o;break;case"bigint":if("bigint"!=typeof o)throw new Error(s.getMessages().objectField(a,s.getMessages().invalidBigint));r[a]=o;break;case"symbol":if("symbol"!=typeof o)throw new Error(s.getMessages().objectField(a,s.getMessages().invalidSymbol));r[a]=o;break;case"null":if(null!==o)throw new Error(s.getMessages().objectField(a,this.getSimpleFieldError(c,void 0,o)));r[a]=null;break;case"undefinedValue":if(void 0!==o)throw new Error(s.getMessages().objectField(a,s.getMessages().expectedUndefined));r[a]=void 0;break;case"literal":if(i&&a===t){r[a]=this._simpleFieldValues[n];break}if(o!==this._simpleFieldValues[n])throw new Error(s.getMessages().objectField(a,this.getSimpleFieldError(c,this._simpleFieldValues[n],o)));r[a]=this._simpleFieldValues[n];break;case"passthrough":r[a]=o;break;default:throw new Error(s.getMessages().objectField(a,s.getMessages().invalidObject))}}return r}get config(){return this._config}get shapeKeys(){return this._shapeKeys}get shapeKeysSet(){return this._shapeKeysSet}static create(e){return new VldObject({shape:e})}parse(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new Error(this._config.errorMessage||s.getMessages().invalidObject);return this.parseObjectValue(e)}parseKnownObject(e,s){return this.parseObjectValue(e,s)}parseTrustedKnownObject(e,s){return this.parseObjectValue(e,s,!0)}parseObjectValue(e,t,n=!1){if(this._canUseSimpleObjectFastPath)return this.parseSimpleObjectValue(e,t,n);const a={};let o="";try{for(let i=0;i<this._shapeKeys.length;i++){if(o=this._shapeKeys[i],n&&o===t&&"literal"===this._simpleFieldModes[i]){a[o]=this._simpleFieldValues[i];continue}const r=this._simpleFieldModes[i];if(void 0!==r){const t=e[o];switch(r){case"string":if("string"!=typeof t)throw new Error(s.getMessages().invalidString);a[o]=t;continue;case"number":if("number"!=typeof t||isNaN(t))throw new Error(s.getMessages().invalidNumber);a[o]=t;continue;case"boolean":if("boolean"!=typeof t)throw new Error(s.getMessages().invalidBoolean);a[o]=t;continue;case"bigint":if("bigint"!=typeof t)throw new Error(s.getMessages().invalidBigint);a[o]=t;continue;case"symbol":if("symbol"!=typeof t)throw new Error(s.getMessages().invalidSymbol);a[o]=t;continue;case"null":if(null!==t)throw new Error(this.getSimpleFieldError(r,void 0,t));a[o]=null;continue;case"undefinedValue":if(void 0!==t)throw new Error(s.getMessages().expectedUndefined);a[o]=void 0;continue;case"literal":if(t!==this._simpleFieldValues[i])throw new Error(this.getSimpleFieldError(r,this._simpleFieldValues[i],t));a[o]=this._simpleFieldValues[i];continue;case"passthrough":a[o]=t;continue}continue}const c=this.getFieldValidator(o,i);a[o]=this.parseCheckedField(c,this._validatorTypes[i],e[o])}}catch(e){if(e instanceof r.VldError)throw new r.VldError(e.issues.map(e=>({...e,path:e.path?[o,...e.path]:[o],message:s.getMessages().objectField(o,e.message.startsWith("Invalid field")?e.message.replace(/^Invalid field "[^"]+": /,""):e.message)})));const t=e instanceof Error?e.message:String(e);throw new r.VldError([{code:"invalid_type",path:[o],message:t.startsWith("Invalid field")?t:s.getMessages().objectField(o,t)}])}if(this._config.strict||this._config.passthrough||this._config.catchall){const t=Object.keys(e);if(this._config.strict){const e=[];for(let s=0;s<t.length;s++){const i=t[s];this._shapeKeysSet.has(i)||e.push(i)}if(e.length>0)throw new Error(s.getMessages().unexpectedKeys(e))}if(this._config.passthrough)for(let s=0;s<t.length;s++){const r=t[s];this._shapeKeysSet.has(r)||i.isDangerousKey(r)||(a[r]=e[r])}if(this._config.catchall)for(let r=0;r<t.length;r++){const n=t[r];if(!this._shapeKeysSet.has(n)&&!i.isDangerousKey(n))try{a[n]=this._config.catchall.parse(e[n])}catch(e){throw new Error(s.getMessages().objectField(n,e.message))}}}return a}safeParse(t){if("object"!=typeof t||null===t||Array.isArray(t))return{success:!1,error:this.createSafeParseError(this._config.errorMessage||s.getMessages().invalidObject)};const n=t;if(this._canUseSimpleObjectFastPath)try{return{success:!0,data:this.parseSimpleObjectValue(n)}}catch{}if(this._canUseSafeParseFastPath)try{return{success:!0,data:this.parseObjectValue(n)}}catch{}const a={},o=[];for(let t=0;t<this._shapeKeys.length;t++){const i=this._shapeKeys[t],r=n[i],c=this._simpleFieldModes[t];if(void 0!==c){if("string"===c&&"string"==typeof r||"number"===c&&"number"==typeof r&&!isNaN(r)||"boolean"===c&&"boolean"==typeof r||"bigint"===c&&"bigint"==typeof r||"symbol"===c&&"symbol"==typeof r||"null"===c&&null===r||"undefinedValue"===c&&void 0===r||"literal"===c&&r===this._simpleFieldValues[t]||"passthrough"===c){a[i]="literal"===c?this._simpleFieldValues[t]:"null"===c?null:r;continue}o.push({code:"invalid_type",path:[i],message:s.getMessages().objectField(i,this.getSimpleFieldError(c,this._simpleFieldValues[t],r))});continue}let l;try{l=this.getFieldValidator(i,t)}catch(e){const s=this.createSafeParseError(e,i);o.push(...s.issues);continue}try{if(l instanceof e.VldBase)a[i]=this.parseCheckedField(l,this._validatorTypes[t],r);else{const e=l.safeParse(r);if(e.success)a[i]=e.data;else{const s=this.createSafeParseError(e.error,i);o.push(...s.issues)}}}catch(e){const s=this.createSafeParseError(e,i);o.push(...s.issues)}}if(this._config.strict||this._config.passthrough||this._config.catchall){const t=Object.keys(n);if(this._config.strict){const e=[];for(let s=0;s<t.length;s++){const i=t[s];this._shapeKeysSet.has(i)||e.push(i)}e.length>0&&o.push(...e.map(e=>({code:"unrecognized_keys",path:[e],message:s.getMessages().unexpectedKeys([e])})))}if(this._config.passthrough)for(let e=0;e<t.length;e++){const s=t[e];this._shapeKeysSet.has(s)||i.isDangerousKey(s)||(a[s]=n[s])}if(this._config.catchall){const s=this._config.catchall;for(let r=0;r<t.length;r++){const c=t[r];if(!this._shapeKeysSet.has(c)&&!i.isDangerousKey(c))try{if(s instanceof e.VldBase)a[c]=s.parse(n[c]);else{const e=s.safeParse(n[c]);if(e.success)a[c]=e.data;else{const s=this.createSafeParseError(e.error,c);o.push(...s.issues)}}}catch(e){const s=this.createSafeParseError(e,c);o.push(...s.issues)}}}}return o.length>0?{success:!1,error:new r.VldError(o)}:{success:!0,data:a}}encode(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new Error(this._config.errorMessage||s.getMessages().invalidObject);return this.encodeObjectSync(e)}safeEncode(e){try{return{success:!0,data:this.encode(e)}}catch(e){return{success:!1,error:this.createSafeParseError(e.message)}}}async encodeAsync(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new Error(this._config.errorMessage||s.getMessages().invalidObject);return this.encodeObjectAsync(e)}async safeEncodeAsync(e){try{return{success:!0,data:await this.encodeAsync(e)}}catch(e){return{success:!1,error:this.createSafeParseError(e.message)}}}encodeObjectSync(e){const s={};for(let t=0;t<this._shapeKeys.length;t++){const i=this._shapeKeys[t],r=this.getFieldValidator(i,t).encode(e[i]);(void 0!==r||Object.prototype.hasOwnProperty.call(e,i))&&(s[i]=r)}return this.encodeExtraKeysSync(e,s),s}async encodeObjectAsync(e){const s={};for(let t=0;t<this._shapeKeys.length;t++){const i=this._shapeKeys[t],r=await this.getFieldValidator(i,t).encodeAsync(e[i]);(void 0!==r||Object.prototype.hasOwnProperty.call(e,i))&&(s[i]=r)}const t=this.getEncodedExtraKeys(e);for(const r of t)i.isDangerousKey(r)||(this._config.catchall?s[r]=await this._config.catchall.encodeAsync(e[r]):this._config.passthrough&&(s[r]=e[r]));return s}getEncodedExtraKeys(e){const t=Object.keys(e).filter(e=>!this._shapeKeysSet.has(e));if(this._config.strict&&t.length>0)throw new Error(s.getMessages().unexpectedKeys(t));return t}encodeExtraKeysSync(e,s){for(const t of this.getEncodedExtraKeys(e))i.isDangerousKey(t)||(this._config.catchall?s[t]=this._config.catchall.encode(e[t]):this._config.passthrough&&(s[t]=e[t]))}strict(e){return new VldObject({...this._config,strict:!0,passthrough:!1,errorMessage:e})}passthrough(){return new VldObject({...this._config,strict:!1,passthrough:!0})}loose(){return this.passthrough()}strip(){const e={...this._config,strict:!1,passthrough:!1};return delete e.catchall,new VldObject(e)}partial(){const s={};for(const t in this._config.shape)s[t]=new e.VldOptional(this._config.shape[t]);return new VldObject({...this._config,shape:s})}deepPartial(){const s={};for(const t in this._config.shape){const i=this._config.shape[t];s[t]=i instanceof VldObject?new e.VldOptional(i.deepPartial()):new e.VldOptional(i)}return new VldObject({...this._config,shape:s})}exactPartial(){const s={};for(const t in this._config.shape)s[t]=new e.VldExactOptional(this._config.shape[t]);return new VldObject({...this._config,shape:s})}pick(...e){const s={};let t=[];t=1!==e.length||"object"!=typeof e[0]||null===e[0]||Array.isArray(e[0])?e.flat():Object.keys(e[0]).filter(s=>e[0][s]);for(const e of t)e in this._config.shape&&(s[e]=this._config.shape[e]);return new VldObject({...this._config,shape:s})}omit(...e){let s;s=1!==e.length||"object"!=typeof e[0]||null===e[0]||Array.isArray(e[0])?new Set(e.flat()):new Set(Object.keys(e[0]).filter(s=>e[0][s]));const t={};for(const e in this._config.shape)s.has(e)||(t[e]=this._config.shape[e]);return new VldObject({...this._config,shape:t})}extend(e){return new VldObject({...this._config,shape:{...this._config.shape,...e}})}merge(e){return new VldObject({...this._config,shape:{...this._config.shape,...e.config.shape}})}required(){const s={};for(const t in this._config.shape){const i=this._config.shape[t];if(i instanceof e.VldOptional){const e=i.baseValidator;if(!e||"function"!=typeof e.parse)throw new Error(`Invalid VldOptional structure for field "${t}": missing or invalid baseValidator`);s[t]=e}else s[t]=i}return new VldObject({...this._config,shape:s})}catchall(e){return new VldObject({...this._config,catchall:e,passthrough:!1})}get shape(){return this._config.shape}keyof(){const e=Object.keys(this._config.shape);if(0===e.length)throw new Error("Cannot create keyof enum from empty object");return t.VldEnum.create(e)}safeExtend(e){const t=new Set(Object.keys(this._config.shape)),i=Object.keys(e),r=[];for(const e of i)t.has(e)&&r.push(e);if(r.length>0)throw new Error(`safeExtend: ${s.getMessages().safeExtendOverlap(r)}`);return new VldObject({...this._config,shape:{...this._config.shape,...e}})}}exports.VldObject=VldObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs");require("../registry.cjs");class VldPromise{constructor(s){this.inner=s
|
|
1
|
+
"use strict";var e=require("./base.cjs");require("../registry.cjs"),require("../chunks/errors-core-DrydF46s.cjs");class VldPromise extends e.VldBase{constructor(s){super(e.VLD_VALIDATOR_TYPES.PROMISE),this.inner=s}get"~standard"(){return{version:1,vendor:"vld",validate:async e=>{const s=await this.safeParse(e);return s.success?{value:s.data}:{issues:[{message:s.error.message}]}},types:void 0}}_isThenable(e){return null!==e&&"function"==typeof e.then}unwrap(){return this.inner}async parse(e){if(!this._isThenable(e))throw new Error("Expected a Promise value");const s=await Promise.resolve(e);return this.inner.parseAsync?this.inner.parseAsync(s):this.inner.parse(s)}parseAsync(e){return this.parse(e)}safeParse(s){return this._isThenable(s)?(async()=>{try{const e=await Promise.resolve(s);if(this.inner.safeParseAsync)return await this.inner.safeParseAsync(e);const r=this.inner.safeParse(e);return r.success?{success:!0,data:r.data}:r}catch(s){return{success:!1,error:e.ensureVldError(s)}}})():Promise.resolve({success:!1,error:e.ensureVldError("Expected a Promise value")})}safeParseAsync(e){return this.safeParse(e)}}exports.VldPromise=VldPromise,exports.promise=function(e){return new VldPromise(e)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/security-aXZVI7qW.cjs"),t=require("../chunks/errors-core-
|
|
1
|
+
"use strict";var e=require("./base.cjs"),r=require("../locales/runtime.cjs"),s=require("../chunks/security-aXZVI7qW.cjs"),t=require("../chunks/errors-core-DrydF46s.cjs");function a(e){return new t.VldError([{code:"invalid_object",path:[],message:e}])}require("../registry.cjs"),require("../locales/en.cjs");class VldRecord extends e.VldBase{constructor(r,s,t){super(e.VLD_VALIDATOR_TYPES.RECORD),this.valueValidator=r,this.keyValidator=s,this.errorMessage=t,this._simpleValueMode=this.getSimpleValueMode(r),this._simpleValue="literal"===this._simpleValueMode?r.literal:void 0}get valueSchema(){return this.valueValidator}get keySchema(){return this.keyValidator}get valueType(){return this.valueValidator}get keyType(){return this.keyValidator}static create(e,r){return new VldRecord(e,r)}getSimpleValueMode(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"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}}getSimpleValueError(e){switch(this._simpleValueMode){case"string":return r.getMessages().invalidString;case"number":return r.getMessages().invalidNumber;case"boolean":return r.getMessages().invalidBoolean;case"bigint":return r.getMessages().invalidBigint;case"symbol":return r.getMessages().invalidSymbol;case"null":return"Expected null, received "+typeof e;case"undefinedValue":return r.getMessages().expectedUndefined;case"literal":return r.getMessages().literalExpected(JSON.stringify(this._simpleValue),JSON.stringify(e));default:return r.getMessages().invalidRecord}}parse(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new Error(this.errorMessage||r.getMessages().invalidRecord);return this.parseKnownRecord(e)}parseKnownRecord(e){if(void 0!==this.keyValidator)return this.parseKeyedRecord(e);const t={},a=Object.keys(e),i=this._simpleValueMode;for(let o=0;o<a.length;o++){const n=a[o];if(s.isDangerousKey(n))continue;const l=e[n];if(void 0!==i)switch(i){case"string":if("string"!=typeof l)throw new Error(r.getMessages().objectField(n,r.getMessages().invalidString));t[n]=l;continue;case"number":if("number"!=typeof l||isNaN(l))throw new Error(r.getMessages().objectField(n,r.getMessages().invalidNumber));t[n]=l;continue;case"boolean":if("boolean"!=typeof l)throw new Error(r.getMessages().objectField(n,r.getMessages().invalidBoolean));t[n]=l;continue;case"bigint":if("bigint"!=typeof l)throw new Error(r.getMessages().objectField(n,r.getMessages().invalidBigint));t[n]=l;continue;case"symbol":if("symbol"!=typeof l)throw new Error(r.getMessages().objectField(n,r.getMessages().invalidSymbol));t[n]=l;continue;case"null":if(null!==l)throw new Error(r.getMessages().objectField(n,this.getSimpleValueError(l)));t[n]=null;continue;case"undefinedValue":if(void 0!==l)throw new Error(r.getMessages().objectField(n,r.getMessages().expectedUndefined));t[n]=void 0;continue;case"literal":if(l!==this._simpleValue)throw new Error(r.getMessages().objectField(n,this.getSimpleValueError(l)));t[n]=this._simpleValue;continue;case"passthrough":t[n]=l;continue}try{t[n]=this.valueValidator.parse(l)}catch(e){throw new Error(r.getMessages().objectField(n,e.message))}}return t}parseKeyedRecord(e){const a={},i=Reflect.ownKeys(e);for(const o of i){if(!Object.prototype.propertyIsEnumerable.call(e,o))continue;if("string"==typeof o&&s.isDangerousKey(o))continue;const i=this.keyValidator.safeParse(o);if(!i.success)throw new t.VldError([{code:"invalid_key",path:[String(o)],message:i.error.message}]);if("string"!=typeof i.data&&"number"!=typeof i.data&&"symbol"!=typeof i.data)throw new t.VldError([{code:"invalid_key",path:[String(o)],message:"Record key transform must return a property key"}]);if("string"!=typeof i.data||!s.isDangerousKey(i.data))try{a[i.data]=this.valueValidator.parse(e[o])}catch(e){throw new Error(r.getMessages().objectField(String(o),e.message))}}return a}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return e instanceof t.VldError?{success:!1,error:e}:{success:!1,error:a(e.message)}}}partial(){const e=this.valueValidator.optional();return new VldRecord(e,this.keyValidator)}loose(){return new VldLooseRecord(this.valueValidator,this.keyValidator)}}class VldLooseRecord extends e.VldBase{constructor(r,s){super(e.VLD_VALIDATOR_TYPES.RECORD),this.valueValidator=r,this.keyValidator=s}get valueSchema(){return this.valueValidator}parse(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new Error(r.getMessages().invalidRecord);const t={},a=e;for(const e of Reflect.ownKeys(a)){if(!Object.prototype.propertyIsEnumerable.call(a,e))continue;if("string"==typeof e&&s.isDangerousKey(e))continue;const r=this.keyValidator?.safeParse(e);if(r&&!r.success)continue;const i=r?.data??e;if("string"!=typeof i&&"number"!=typeof i&&"symbol"!=typeof i)continue;if("string"==typeof i&&s.isDangerousKey(i))continue;const o=this.valueValidator.safeParse(a[e]);o.success&&(t[i]=o.data)}return t}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:a(e.message)}}}partial(){const e=this.valueValidator.optional();return new VldLooseRecord(e,this.keyValidator)}loose(){return this}}exports.VldRecord=VldRecord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),
|
|
1
|
+
"use strict";var e=require("./base.cjs"),t=require("../locales/runtime.cjs"),r=require("../chunks/errors-core-DrydF46s.cjs");require("../registry.cjs"),require("../locales/en.cjs");class VldSet extends e.VldBase{constructor(t,r,s=[]){super(e.VLD_VALIDATOR_TYPES.SET),this.itemValidator=t,this.errorMessage=r,this._checks=s,this._simpleItemMode=this.getSimpleItemMode(t),this._simpleItemValue="literal"===this._simpleItemMode?t.literal:void 0}get itemSchema(){return this.itemValidator}static create(e){return new VldSet(e)}getSimpleItemMode(t){if(!0===t.isSimple)switch(t.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"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){switch(this._simpleItemMode){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 e;case"undefinedValue":return t.getMessages().expectedUndefined;case"literal":return t.getMessages().literalExpected(JSON.stringify(this._simpleItemValue),JSON.stringify(e));default:return t.getMessages().invalidSet}}parse(e){if(!(e instanceof Set))throw new Error(this.errorMessage||t.getMessages().invalidSet);return this.parseKnownSet(e)}parseKnownSet(e){const t=new Set,r=this._simpleItemMode;if("string"===r)for(const r of e){if("string"!=typeof r)throw new Error(this.getSimpleItemError(r));t.add(r)}else if("number"===r)for(const r of e){if("number"!=typeof r||isNaN(r))throw new Error(this.getSimpleItemError(r));t.add(r)}else if("boolean"===r)for(const r of e){if("boolean"!=typeof r)throw new Error(this.getSimpleItemError(r));t.add(r)}else if("bigint"===r)for(const r of e){if("bigint"!=typeof r)throw new Error(this.getSimpleItemError(r));t.add(r)}else if("symbol"===r)for(const r of e){if("symbol"!=typeof r)throw new Error(this.getSimpleItemError(r));t.add(r)}else if("null"===r)for(const r of e){if(null!==r)throw new Error(this.getSimpleItemError(r));t.add(null)}else if("undefinedValue"===r)for(const r of e){if(void 0!==r)throw new Error(this.getSimpleItemError(r));t.add(void 0)}else if("literal"===r)for(const r of e){if(r!==this._simpleItemValue)throw new Error(this.getSimpleItemError(r));t.add(this._simpleItemValue)}else if("passthrough"===r)for(const r of e)t.add(r);else for(const r of e)try{t.add(this.itemValidator.parse(r))}catch(e){throw new Error(e.message)}for(const e of this._checks)if(!e.fn(t))throw new Error(e.message);return t}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:(t=e.message,new r.VldError([{code:"invalid_type",path:[],message:t}]))}}var t}min(e,t){return new VldSet(this.itemValidator,this.errorMessage,[...this._checks,{fn:t=>t.size>=e,message:t||`Set must contain at least ${e} elements`}])}max(e,t){return new VldSet(this.itemValidator,this.errorMessage,[...this._checks,{fn:t=>t.size<=e,message:t||`Set must contain at most ${e} elements`}])}size(e,t){return new VldSet(this.itemValidator,this.errorMessage,[...this._checks,{fn:t=>t.size===e,message:t||`Set must contain exactly ${e} elements`}])}nonempty(e){return this.min(1,e||"Set cannot be empty")}}exports.VldSet=VldSet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./base.cjs"),
|
|
1
|
+
"use strict";var e=require("./base.cjs"),s=require("../locales/runtime.cjs");require("../registry.cjs"),require("../chunks/errors-core-DrydF46s.cjs"),require("../locales/en.cjs");const t=["true","1","yes","on","y","enabled"],r=["false","0","no","off","n","disabled"];class VldStringBool extends e.VldBase{constructor(s){super(e.VLD_VALIDATOR_TYPES.STRING_BOOL),this.options=s,this.truthyValues=s.truthy??t,this.falsyValues=s.falsy??r;const i=this.normalizeValues(this.truthyValues),n=this.normalizeValues(this.falsyValues);this.normalizedTruthySet=new Set(i),this.normalizedFalsySet=new Set(n),this.validValuesText=[...i,...n].join(", ")}static create(e={}){return new VldStringBool(e)}normalizeValue(e){return this.options.caseSensitive?e:e.toLowerCase()}normalizeValues(e){return this.options.caseSensitive?e:e.map(e=>e.toLowerCase())}parse(e){if("string"!=typeof e){if("boolean"==typeof e)return e;throw new Error(s.getMessages().stringExpected(typeof e,"string"))}const t=this.normalizeValue(e);if(this.normalizedTruthySet.has(t))return!0;if(this.normalizedFalsySet.has(t))return!1;throw new Error(s.getMessages().stringBoolExpected(this.validValuesText,e))}safeParse(s){try{return{success:!0,data:this.parse(s)}}catch(s){return{success:!1,error:e.ensureVldError(s)}}}withTruthy(e){return new VldStringBool({...this.options,truthy:e})}withFalsy(e){return new VldStringBool({...this.options,falsy:e})}caseSensitive(){return new VldStringBool({...this.options,caseSensitive:!0})}caseInsensitive(){return new VldStringBool({...this.options,caseSensitive:!1})}}exports.VldStringBool=VldStringBool;
|