@oxog/vld 2.2.7 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +113 -1
  3. package/dist/chunks/errors-core-BU14-Dk8.js +1 -0
  4. package/dist/chunks/index-CKPStM3V.js +1 -0
  5. package/dist/cjs/chunks/errors-core-C0mA6tfa.cjs +1 -0
  6. package/dist/cjs/chunks/index-lejEpLfv.cjs +1 -0
  7. package/dist/cjs/cli/bin.cjs +1 -1
  8. package/dist/cjs/codecs/index.cjs +1 -1
  9. package/dist/cjs/coercion/index.cjs +1 -1
  10. package/dist/cjs/compile.cjs +1 -0
  11. package/dist/cjs/errors.cjs +1 -1
  12. package/dist/cjs/index.cjs +1 -1
  13. package/dist/cjs/locales/gu.cjs +1 -0
  14. package/dist/cjs/locales/index.cjs +1 -1
  15. package/dist/cjs/locales/kn.cjs +1 -0
  16. package/dist/cjs/locales/ne.cjs +1 -0
  17. package/dist/cjs/locales/pt-BR-v4.cjs +1 -0
  18. package/dist/cjs/locales/sk.cjs +1 -0
  19. package/dist/cjs/mini.cjs +1 -1
  20. package/dist/cjs/v3/index.cjs +1 -1
  21. package/dist/cjs/v4/core/index.cjs +1 -1
  22. package/dist/cjs/v4/index.cjs +1 -1
  23. package/dist/cjs/v4/locales/index.cjs +1 -1
  24. package/dist/cjs/v4/mini/index.cjs +1 -1
  25. package/dist/cjs/v4-mini/index.cjs +1 -1
  26. package/dist/cjs/validators/any.cjs +1 -1
  27. package/dist/cjs/validators/array-v2.cjs +1 -0
  28. package/dist/cjs/validators/array.cjs +1 -1
  29. package/dist/cjs/validators/base.cjs +1 -1
  30. package/dist/cjs/validators/base64.cjs +1 -1
  31. package/dist/cjs/validators/bigint-v2.cjs +1 -0
  32. package/dist/cjs/validators/bigint.cjs +1 -1
  33. package/dist/cjs/validators/boolean.cjs +1 -1
  34. package/dist/cjs/validators/codec.cjs +1 -1
  35. package/dist/cjs/validators/composite-v2.cjs +1 -0
  36. package/dist/cjs/validators/custom.cjs +1 -1
  37. package/dist/cjs/validators/date-v2.cjs +1 -0
  38. package/dist/cjs/validators/date.cjs +1 -1
  39. package/dist/cjs/validators/discriminated-union.cjs +1 -1
  40. package/dist/cjs/validators/enum.cjs +1 -1
  41. package/dist/cjs/validators/file.cjs +1 -1
  42. package/dist/cjs/validators/function.cjs +1 -1
  43. package/dist/cjs/validators/hex.cjs +1 -1
  44. package/dist/cjs/validators/index.cjs +1 -1
  45. package/dist/cjs/validators/intersection.cjs +1 -1
  46. package/dist/cjs/validators/json.cjs +1 -1
  47. package/dist/cjs/validators/lazy.cjs +1 -1
  48. package/dist/cjs/validators/leaf-v2.cjs +1 -0
  49. package/dist/cjs/validators/literal.cjs +1 -1
  50. package/dist/cjs/validators/map.cjs +1 -1
  51. package/dist/cjs/validators/nan.cjs +1 -1
  52. package/dist/cjs/validators/never.cjs +1 -1
  53. package/dist/cjs/validators/null.cjs +1 -1
  54. package/dist/cjs/validators/number-v2.cjs +1 -0
  55. package/dist/cjs/validators/number.cjs +1 -1
  56. package/dist/cjs/validators/object-v2.cjs +1 -0
  57. package/dist/cjs/validators/object.cjs +1 -1
  58. package/dist/cjs/validators/promise.cjs +1 -1
  59. package/dist/cjs/validators/record.cjs +1 -1
  60. package/dist/cjs/validators/set.cjs +1 -1
  61. package/dist/cjs/validators/string-bool.cjs +1 -1
  62. package/dist/cjs/validators/string-formats.cjs +1 -1
  63. package/dist/cjs/validators/string-v2.cjs +1 -0
  64. package/dist/cjs/validators/string.cjs +1 -1
  65. package/dist/cjs/validators/symbol.cjs +1 -1
  66. package/dist/cjs/validators/template-literal.cjs +1 -1
  67. package/dist/cjs/validators/tuple.cjs +1 -1
  68. package/dist/cjs/validators/uint8array.cjs +1 -1
  69. package/dist/cjs/validators/undefined.cjs +1 -1
  70. package/dist/cjs/validators/union-v2.cjs +1 -0
  71. package/dist/cjs/validators/union.cjs +1 -1
  72. package/dist/cjs/validators/unknown.cjs +1 -1
  73. package/dist/cjs/validators/void.cjs +1 -1
  74. package/dist/cjs/validators/wrapper-v2.cjs +1 -0
  75. package/dist/cjs/validators/xor.cjs +1 -1
  76. package/dist/compile.d.ts +81 -0
  77. package/dist/compile.js +1 -0
  78. package/dist/errors-core.d.ts +3 -0
  79. package/dist/errors.js +1 -1
  80. package/dist/index.d.ts +484 -21
  81. package/dist/index.js +1 -1
  82. package/dist/locales/gu.d.ts +2 -0
  83. package/dist/locales/gu.js +1 -0
  84. package/dist/locales/index.js +1 -1
  85. package/dist/locales/kn.d.ts +2 -0
  86. package/dist/locales/kn.js +1 -0
  87. package/dist/locales/ne.d.ts +2 -0
  88. package/dist/locales/ne.js +1 -0
  89. package/dist/locales/pt-BR-v4.d.ts +2 -0
  90. package/dist/locales/pt-BR-v4.js +1 -0
  91. package/dist/locales/sk.d.ts +2 -0
  92. package/dist/locales/sk.js +1 -0
  93. package/dist/v3/index.js +1 -1
  94. package/dist/v4/core/index.d.ts +13 -0
  95. package/dist/v4/core/index.js +1 -1
  96. package/dist/v4/index.d.ts +1 -0
  97. package/dist/v4/index.js +1 -1
  98. package/dist/v4/locales/index.d.ts +6 -0
  99. package/dist/v4/locales/index.js +1 -1
  100. package/dist/v4/mini/index.js +1 -1
  101. package/dist/v4-mini/index.d.ts +2 -0
  102. package/dist/v4-mini/index.js +1 -1
  103. package/dist/validators/array-v2.d.ts +113 -0
  104. package/dist/validators/array-v2.js +1 -0
  105. package/dist/validators/array.js +1 -1
  106. package/dist/validators/base.js +1 -1
  107. package/dist/validators/base64.js +1 -1
  108. package/dist/validators/bigint-v2.d.ts +105 -0
  109. package/dist/validators/bigint-v2.js +1 -0
  110. package/dist/validators/bigint.js +1 -1
  111. package/dist/validators/boolean.js +1 -1
  112. package/dist/validators/codec.js +1 -1
  113. package/dist/validators/composite-v2.d.ts +59 -0
  114. package/dist/validators/composite-v2.js +1 -0
  115. package/dist/validators/custom.js +1 -1
  116. package/dist/validators/date-v2.d.ts +140 -0
  117. package/dist/validators/date-v2.js +1 -0
  118. package/dist/validators/date.js +1 -1
  119. package/dist/validators/enum.js +1 -1
  120. package/dist/validators/file.js +1 -1
  121. package/dist/validators/function.js +1 -1
  122. package/dist/validators/hex.js +1 -1
  123. package/dist/validators/intersection.js +1 -1
  124. package/dist/validators/leaf-v2.d.ts +138 -0
  125. package/dist/validators/leaf-v2.js +1 -0
  126. package/dist/validators/literal.js +1 -1
  127. package/dist/validators/map.js +1 -1
  128. package/dist/validators/nan.js +1 -1
  129. package/dist/validators/never.js +1 -1
  130. package/dist/validators/null.js +1 -1
  131. package/dist/validators/number-v2.d.ts +252 -0
  132. package/dist/validators/number-v2.js +1 -0
  133. package/dist/validators/number.js +1 -1
  134. package/dist/validators/object-v2.d.ts +40 -0
  135. package/dist/validators/object-v2.js +1 -0
  136. package/dist/validators/object.d.ts +9 -0
  137. package/dist/validators/object.js +1 -1
  138. package/dist/validators/record.js +1 -1
  139. package/dist/validators/set.js +1 -1
  140. package/dist/validators/string-formats.d.ts +1 -0
  141. package/dist/validators/string-formats.js +1 -1
  142. package/dist/validators/string-v2.d.ts +274 -0
  143. package/dist/validators/string-v2.js +1 -0
  144. package/dist/validators/string.js +1 -1
  145. package/dist/validators/symbol.js +1 -1
  146. package/dist/validators/tuple.js +1 -1
  147. package/dist/validators/uint8array.js +1 -1
  148. package/dist/validators/undefined.js +1 -1
  149. package/dist/validators/union-v2.d.ts +28 -0
  150. package/dist/validators/union-v2.js +1 -0
  151. package/dist/validators/void.js +1 -1
  152. package/dist/validators/wrapper-v2.d.ts +74 -0
  153. package/dist/validators/wrapper-v2.js +1 -0
  154. package/dist/zod-error.d.ts +84 -0
  155. package/package.json +7 -2
  156. package/dist/chunks/errors-core-CerMg2rq.js +0 -1
  157. package/dist/chunks/index-yjpbvFgw.js +0 -1
  158. package/dist/cjs/chunks/errors-core-DrydF46s.cjs +0 -1
  159. package/dist/cjs/chunks/index-BEV9nG0N.cjs +0 -1
@@ -0,0 +1,140 @@
1
+ /**
2
+ * VldDateV2 — OPTIMIZED: check returns Issue | null.
3
+ */
4
+ import { VldBase, type ErrorParam, type ParseResult } from './base.js';
5
+ import { type VldIssue } from '../errors-core.js';
6
+ export declare abstract class VldDateCheck {
7
+ abstract readonly kind: 'min' | 'max' | 'gt' | 'lt' | 'past' | 'future' | 'today' | 'weekday' | 'weekend';
8
+ abstract check(value: Date): VldIssue | null;
9
+ abstract meta(): Record<string, any>;
10
+ }
11
+ export declare class VldDateCheckMin extends VldDateCheck {
12
+ private _msg?;
13
+ readonly kind: "min";
14
+ private _threshold;
15
+ constructor(threshold: Date | string | number, _msg?: string | undefined);
16
+ check(value: Date): VldIssue | null;
17
+ meta(): {
18
+ kind: string;
19
+ value: Date;
20
+ message: string | undefined;
21
+ };
22
+ }
23
+ export declare class VldDateCheckMax extends VldDateCheck {
24
+ private _msg?;
25
+ readonly kind: "max";
26
+ private _threshold;
27
+ constructor(threshold: Date | string | number, _msg?: string | undefined);
28
+ check(value: Date): VldIssue | null;
29
+ meta(): {
30
+ kind: string;
31
+ value: Date;
32
+ message: string | undefined;
33
+ };
34
+ }
35
+ export declare class VldDateCheckGt extends VldDateCheck {
36
+ private _msg?;
37
+ readonly kind: "gt";
38
+ private _threshold;
39
+ constructor(threshold: Date | number, _msg?: string | undefined);
40
+ check(value: Date): VldIssue | null;
41
+ meta(): {
42
+ kind: string;
43
+ value: Date;
44
+ message: string | undefined;
45
+ };
46
+ }
47
+ export declare class VldDateCheckLt extends VldDateCheck {
48
+ private _msg?;
49
+ readonly kind: "lt";
50
+ private _threshold;
51
+ constructor(threshold: Date | number, _msg?: string | undefined);
52
+ check(value: Date): VldIssue | null;
53
+ meta(): {
54
+ kind: string;
55
+ value: Date;
56
+ message: string | undefined;
57
+ };
58
+ }
59
+ export declare class VldDateCheckPast extends VldDateCheck {
60
+ private _msg?;
61
+ readonly kind: "past";
62
+ constructor(_msg?: string | undefined);
63
+ check(value: Date): VldIssue | null;
64
+ meta(): {
65
+ kind: string;
66
+ message: string | undefined;
67
+ };
68
+ }
69
+ export declare class VldDateCheckFuture extends VldDateCheck {
70
+ private _msg?;
71
+ readonly kind: "future";
72
+ constructor(_msg?: string | undefined);
73
+ check(value: Date): VldIssue | null;
74
+ meta(): {
75
+ kind: string;
76
+ message: string | undefined;
77
+ };
78
+ }
79
+ export declare class VldDateCheckToday extends VldDateCheck {
80
+ private _msg?;
81
+ readonly kind: "today";
82
+ constructor(_msg?: string | undefined);
83
+ check(value: Date): VldIssue | null;
84
+ meta(): {
85
+ kind: string;
86
+ message: string | undefined;
87
+ };
88
+ }
89
+ export declare class VldDateCheckWeekday extends VldDateCheck {
90
+ private _msg?;
91
+ readonly kind: "weekday";
92
+ constructor(_msg?: string | undefined);
93
+ check(value: Date): VldIssue | null;
94
+ meta(): {
95
+ kind: string;
96
+ message: string | undefined;
97
+ };
98
+ }
99
+ export declare class VldDateCheckWeekend extends VldDateCheck {
100
+ private _msg?;
101
+ readonly kind: "weekend";
102
+ constructor(_msg?: string | undefined);
103
+ check(value: Date): VldIssue | null;
104
+ meta(): {
105
+ kind: string;
106
+ message: string | undefined;
107
+ };
108
+ }
109
+ export interface VldDateDef {
110
+ readonly type: 'date';
111
+ readonly checks: ReadonlyArray<VldDateCheck>;
112
+ readonly jsonSchema?: {
113
+ minimum?: string;
114
+ maximum?: string;
115
+ format?: string;
116
+ } | undefined;
117
+ readonly errorMessage?: string | undefined;
118
+ readonly isSimple: boolean;
119
+ }
120
+ export declare class VldDateV2 extends VldBase<Date, Date> {
121
+ readonly __def: VldDateDef;
122
+ constructor(def?: VldDateDef);
123
+ static create(): VldDateV2;
124
+ get isSimple(): boolean;
125
+ parse(value: unknown): Date;
126
+ parseKnownDate(value: Date): Date;
127
+ safeParse(value: unknown): ParseResult<Date>;
128
+ protected withDef(def: Partial<VldDateDef> & {
129
+ type: 'date';
130
+ }): VldDateV2;
131
+ min(date: Date | string | number, message?: ErrorParam): VldDateV2;
132
+ max(date: Date | string | number, message?: ErrorParam): VldDateV2;
133
+ past(message?: ErrorParam): VldDateV2;
134
+ future(message?: ErrorParam): VldDateV2;
135
+ today(message?: ErrorParam): VldDateV2;
136
+ weekday(message?: ErrorParam): VldDateV2;
137
+ weekend(message?: ErrorParam): VldDateV2;
138
+ gt(value: Date | number, message?: ErrorParam): VldDateV2;
139
+ lt(value: Date | number, message?: ErrorParam): VldDateV2;
140
+ }
@@ -0,0 +1 @@
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as t}from"./base.js";import{V as s,c as h,g as a}from"../chunks/errors-core-BU14-Dk8.js";class VldDateCheck{}function r(e){return e instanceof Date?e:new Date(e)}class VldDateCheckMin extends VldDateCheck{constructor(e,t){super(),this._msg=t,this.kind="min",this._threshold=r(e)}check(e){return e.getTime()<this._threshold.getTime()?{code:"too_small",path:[],origin:"date",message:this._msg||`Date must be >= ${this._threshold.toISOString()}`}:null}meta(){return{kind:"min",value:this._threshold,message:this._msg}}}class VldDateCheckMax extends VldDateCheck{constructor(e,t){super(),this._msg=t,this.kind="max",this._threshold=r(e)}check(e){return e.getTime()>this._threshold.getTime()?{code:"too_big",path:[],origin:"date",message:this._msg||`Date must be <= ${this._threshold.toISOString()}`}:null}meta(){return{kind:"max",value:this._threshold,message:this._msg}}}class VldDateCheckGt extends VldDateCheck{constructor(e,t){super(),this._msg=t,this.kind="gt",this._threshold=r(e)}check(e){return e.getTime()<=this._threshold.getTime()?{code:"too_small",path:[],origin:"date",message:this._msg||`Date must be > ${this._threshold.toISOString()}`}:null}meta(){return{kind:"gt",value:this._threshold,message:this._msg}}}class VldDateCheckLt extends VldDateCheck{constructor(e,t){super(),this._msg=t,this.kind="lt",this._threshold=r(e)}check(e){return e.getTime()>=this._threshold.getTime()?{code:"too_big",path:[],origin:"date",message:this._msg||`Date must be < ${this._threshold.toISOString()}`}:null}meta(){return{kind:"lt",value:this._threshold,message:this._msg}}}class VldDateCheckPast extends VldDateCheck{constructor(e){super(),this._msg=e,this.kind="past"}check(e){return e.getTime()>=Date.now()?{code:"custom",path:[],message:this._msg||"Date must be in the past"}:null}meta(){return{kind:"past",message:this._msg}}}class VldDateCheckFuture extends VldDateCheck{constructor(e){super(),this._msg=e,this.kind="future"}check(e){return e.getTime()<=Date.now()?{code:"custom",path:[],message:this._msg||"Date must be in the future"}:null}meta(){return{kind:"future",message:this._msg}}}class VldDateCheckToday extends VldDateCheck{constructor(e){super(),this._msg=e,this.kind="today"}check(e){const t=new Date;return e.toDateString()!==t.toDateString()?{code:"custom",path:[],message:this._msg||"Date must be today"}:null}meta(){return{kind:"today",message:this._msg}}}class VldDateCheckWeekday extends VldDateCheck{constructor(e){super(),this._msg=e,this.kind="weekday"}check(e){const t=e.getDay();return 0===t||6===t?{code:"custom",path:[],message:this._msg||"Date must be a weekday"}:null}meta(){return{kind:"weekday",message:this._msg}}}class VldDateCheckWeekend extends VldDateCheck{constructor(e){super(),this._msg=e,this.kind="weekend"}check(e){const t=e.getDay();return 0!==t&&6!==t?{code:"custom",path:[],message:this._msg||"Date must be a weekend"}:null}meta(){return{kind:"weekend",message:this._msg}}}const c=Object.freeze({type:"date",checks:Object.freeze([]),isSimple:!0});class VldDateV2 extends e{constructor(e=c){super(t.DATE),this.__def=e}static create(){return new VldDateV2}get isSimple(){return this.__def.isSimple}parse(e){let t;if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new s([h("date","Invalid Date",this.__def.errorMessage)]);t=e}else{if("string"!=typeof e&&"number"!=typeof e)throw new s([h("date",a(e),this.__def.errorMessage)]);if(t=new Date(e),Number.isNaN(t.getTime()))throw new s([h("date",a(e),this.__def.errorMessage)])}return this.__def.isSimple?t:this.parseKnownDate(t)}parseKnownDate(e){const t=this.__def.checks;for(let h=0;h<t.length;h++){const a=t[h].check(e);if(null!==a)throw new s([a])}return e}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e instanceof s?e:new s([{code:"custom",path:[],message:String(e)}])}}}withDef(e){const t=(s=e.checks??this.__def.checks,h=e.jsonSchema??this.__def.jsonSchema,a=e.errorMessage??this.__def.errorMessage,Object.freeze({type:"date",checks:s,jsonSchema:h,errorMessage:a,isSimple:0===s.length}));var s,h,a;return new this.constructor(t)}min(e,t){return this.withDef({type:"date",checks:[...this.__def.checks,new VldDateCheckMin(e,t)],jsonSchema:{...this.__def.jsonSchema,minimum:r(e).toISOString()}})}max(e,t){return this.withDef({type:"date",checks:[...this.__def.checks,new VldDateCheckMax(e,t)],jsonSchema:{...this.__def.jsonSchema,maximum:r(e).toISOString()}})}past(e){return this.withDef({type:"date",checks:[...this.__def.checks,new VldDateCheckPast(e)]})}future(e){return this.withDef({type:"date",checks:[...this.__def.checks,new VldDateCheckFuture(e)]})}today(e){return this.withDef({type:"date",checks:[...this.__def.checks,new VldDateCheckToday(e)]})}weekday(e){return this.withDef({type:"date",checks:[...this.__def.checks,new VldDateCheckWeekday(e)]})}weekend(e){return this.withDef({type:"date",checks:[...this.__def.checks,new VldDateCheckWeekend(e)]})}gt(e,t){return this.withDef({type:"date",checks:[...this.__def.checks,new VldDateCheckGt(e,t)]})}lt(e,t){return this.withDef({type:"date",checks:[...this.__def.checks,new VldDateCheckLt(e,t)]})}}export{VldDateCheck,VldDateCheckFuture,VldDateCheckGt,VldDateCheckLt,VldDateCheckMax,VldDateCheckMin,VldDateCheckPast,VldDateCheckToday,VldDateCheckWeekday,VldDateCheckWeekend,VldDateV2};
@@ -1 +1 @@
1
- import{VldBase as e,VLD_VALIDATOR_TYPES as t}from"./base.js";import{getMessages as n}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-CerMg2rq.js";function i(e){return new s([{code:"invalid_date",path:[],message:e}])}class VldDate extends e{constructor(e){super(e?.validatorType||t.DATE),this.config={checks:e?.checks||[],errorMessage:e?.errorMessage,jsonSchema:e?.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 t;if(e instanceof Date)t=e;else{if("string"!=typeof e&&"number"!=typeof e)throw new Error(this.config.errorMessage||n().invalidDate);t=new Date(e)}if(isNaN(t.getTime()))throw new Error(this.config.errorMessage||n().invalidDate);return this.parseValidDate(t)}parseKnownDate(e){if(isNaN(e.getTime()))throw new Error(this.config.errorMessage||n().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:i(e.message)}}try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:i(e.message)}}}min(e,t){const s=e instanceof Date?e:new Date(e);if(isNaN(s.getTime()))throw new Error(`Invalid date provided to min(): ${e}`);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e>=s,message:t||n().dateMin(s)}],jsonSchema:{...this.config.jsonSchema,formatMinimum:s.toISOString()}})}max(e,t){const s=e instanceof Date?e:new Date(e);if(isNaN(s.getTime()))throw new Error(`Invalid date provided to max(): ${e}`);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e<=s,message:t||n().dateMax(s)}],jsonSchema:{...this.config.jsonSchema,formatMaximum:s.toISOString()}})}between(e,t,n){const s=e instanceof Date?e:new Date(e),i=t instanceof Date?t:new Date(t);if(isNaN(s.getTime()))throw new Error(`Invalid min date provided to between(): ${e}`);if(isNaN(i.getTime()))throw new Error(`Invalid max date provided to between(): ${t}`);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e>=s&&e<=i,message:n||`Date must be between ${s.toISOString()} and ${i.toISOString()}`}],jsonSchema:{...this.config.jsonSchema,formatMinimum:s.toISOString(),formatMaximum:i.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,n=t.getFullYear(),s=t.getMonth(),i=t.getDate();return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e.getFullYear()===n&&e.getMonth()===s&&e.getDate()===i,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 n=e instanceof Date?e:new Date(e);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e.getTime()>n.getTime(),message:t||`Date must be greater than ${n.toISOString()}`}],jsonSchema:{...this.config.jsonSchema,formatExclusiveMinimum:n.toISOString()}})}lt(e,t){const n=e instanceof Date?e:new Date(e);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e.getTime()<n.getTime(),message:t||`Date must be less than ${n.toISOString()}`}],jsonSchema:{...this.config.jsonSchema,formatExclusiveMaximum:n.toISOString()}})}}export{VldDate};
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as t}from"./base.js";import{getMessages as n}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-BU14-Dk8.js";function i(e){return new s([{code:"invalid_date",path:[],message:e}])}class VldDate extends e{constructor(e){super(e?.validatorType||t.DATE),this.config={checks:e?.checks||[],errorMessage:e?.errorMessage,jsonSchema:e?.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 t;if(e instanceof Date)t=e;else{if("string"!=typeof e&&"number"!=typeof e)throw new Error(this.config.errorMessage||n().invalidDate);t=new Date(e)}if(isNaN(t.getTime()))throw new Error(this.config.errorMessage||n().invalidDate);return this.parseValidDate(t)}parseKnownDate(e){if(isNaN(e.getTime()))throw new Error(this.config.errorMessage||n().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:i(e.message)}}try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:i(e.message)}}}min(e,t){const s=e instanceof Date?e:new Date(e);if(isNaN(s.getTime()))throw new Error(`Invalid date provided to min(): ${e}`);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e>=s,message:t||n().dateMin(s)}],jsonSchema:{...this.config.jsonSchema,formatMinimum:s.toISOString()}})}max(e,t){const s=e instanceof Date?e:new Date(e);if(isNaN(s.getTime()))throw new Error(`Invalid date provided to max(): ${e}`);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e<=s,message:t||n().dateMax(s)}],jsonSchema:{...this.config.jsonSchema,formatMaximum:s.toISOString()}})}between(e,t,n){const s=e instanceof Date?e:new Date(e),i=t instanceof Date?t:new Date(t);if(isNaN(s.getTime()))throw new Error(`Invalid min date provided to between(): ${e}`);if(isNaN(i.getTime()))throw new Error(`Invalid max date provided to between(): ${t}`);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e>=s&&e<=i,message:n||`Date must be between ${s.toISOString()} and ${i.toISOString()}`}],jsonSchema:{...this.config.jsonSchema,formatMinimum:s.toISOString(),formatMaximum:i.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,n=t.getFullYear(),s=t.getMonth(),i=t.getDate();return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e.getFullYear()===n&&e.getMonth()===s&&e.getDate()===i,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 n=e instanceof Date?e:new Date(e);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e.getTime()>n.getTime(),message:t||`Date must be greater than ${n.toISOString()}`}],jsonSchema:{...this.config.jsonSchema,formatExclusiveMinimum:n.toISOString()}})}lt(e,t){const n=e instanceof Date?e:new Date(e);return new VldDate({...this.config,checks:[...this.config.checks,{fn:e=>e.getTime()<n.getTime(),message:t||`Date must be less than ${n.toISOString()}`}],jsonSchema:{...this.config.jsonSchema,formatExclusiveMaximum:n.toISOString()}})}}export{VldDate};
@@ -1 +1 @@
1
- import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{getMessages as s}from"../locales/runtime.js";import{V as t}from"../chunks/errors-core-CerMg2rq.js";class VldEnum extends e{constructor(e,s){super(r.ENUM),this._values=e,this.errorMessage=s,this._valueSet=e.length>6?new Set(e):void 0}createError(e){const r={code:"invalid_value",path:[],values:[...this._values],message:this.errorMessage||s().enumExpected([...this._values],JSON.stringify(e))};return new t([r])}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)}}export{VldEnum};
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{getMessages as s}from"../locales/runtime.js";import{V as t}from"../chunks/errors-core-BU14-Dk8.js";class VldEnum extends e{constructor(e,s){super(r.ENUM),this._values=e,this.errorMessage=s,this._valueSet=e.length>6?new Set(e):void 0}createError(e){const r={code:"invalid_value",path:[],values:[...this._values],message:this.errorMessage||s().enumExpected([...this._values],JSON.stringify(e))};return new t([r])}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)}}export{VldEnum};
@@ -1 +1 @@
1
- import{VldBase as e,VLD_VALIDATOR_TYPES as s}from"./base.js";import{getMessages as i}from"../locales/runtime.js";import{V as r}from"../chunks/errors-core-CerMg2rq.js";class VldFile extends e{constructor(e=[]){super(s.FILE),this.checks=e}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(i().fileNotSupported||"File API not supported in this environment");throw new Error(i().invalidFile||"Expected a File object")}parseKnownFile(e){return this.runChecks(e)}runChecks(e){const s=i();for(const i of this.checks)switch(i.type){case"min":if(e.size<i.value)throw new Error(i.message||s.fileMinSize?.(i.value)||`File size must be at least ${i.value} bytes`);break;case"max":if(e.size>i.value)throw new Error(i.message||s.fileMaxSize?.(i.value)||`File size must not exceed ${i.value} bytes`);break;case"mime":if(!i.value.includes(e.type))throw new Error(i.message||s.fileMimeType?.(i.value)||`Invalid file type. Expected: ${i.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([{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 i=Array.isArray(e)?e:[e];return new VldFile([...this.checks,{type:"mime",value:i,message:s}])}size(e,s,i){return this.min(e,i).max(s,i)}}function t(){return VldFile.create()}export{VldFile,t as file};
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as s}from"./base.js";import{getMessages as i}from"../locales/runtime.js";import{V as r}from"../chunks/errors-core-BU14-Dk8.js";class VldFile extends e{constructor(e=[]){super(s.FILE),this.checks=e}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(i().fileNotSupported||"File API not supported in this environment");throw new Error(i().invalidFile||"Expected a File object")}parseKnownFile(e){return this.runChecks(e)}runChecks(e){const s=i();for(const i of this.checks)switch(i.type){case"min":if(e.size<i.value)throw new Error(i.message||s.fileMinSize?.(i.value)||`File size must be at least ${i.value} bytes`);break;case"max":if(e.size>i.value)throw new Error(i.message||s.fileMaxSize?.(i.value)||`File size must not exceed ${i.value} bytes`);break;case"mime":if(!i.value.includes(e.type))throw new Error(i.message||s.fileMimeType?.(i.value)||`Invalid file type. Expected: ${i.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([{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 i=Array.isArray(e)?e:[e];return new VldFile([...this.checks,{type:"mime",value:i,message:s}])}size(e,s,i){return this.min(e,i).max(s,i)}}function t(){return VldFile.create()}export{VldFile,t as file};
@@ -1 +1 @@
1
- import{VldBase as r,VLD_VALIDATOR_TYPES as e}from"./base.js";import{getMessages as t}from"../locales/runtime.js";import{V as n}from"../chunks/errors-core-CerMg2rq.js";class VldFunction extends r{constructor(){super(e.FUNCTION)}static create(){return new VldFunction}parse(r){if("function"!=typeof r)throw new Error(t().invalidFunction||"Expected a function");return r}parseKnownFunction(r){return r}safeParse(r){try{return{success:!0,data:this.parse(r)}}catch(r){return{success:!1,error:(e=r.message,new n([{code:"invalid_type",path:[],message:e}]))}}var e}}function s(){return VldFunction.create()}export{VldFunction,s as functionValidator};
1
+ import{VldBase as r,VLD_VALIDATOR_TYPES as e}from"./base.js";import{getMessages as t}from"../locales/runtime.js";import{V as n}from"../chunks/errors-core-BU14-Dk8.js";class VldFunction extends r{constructor(){super(e.FUNCTION)}static create(){return new VldFunction}parse(r){if("function"!=typeof r)throw new Error(t().invalidFunction||"Expected a function");return r}parseKnownFunction(r){return r}safeParse(r){try{return{success:!0,data:this.parse(r)}}catch(r){return{success:!1,error:(e=r.message,new n([{code:"invalid_type",path:[],message:e}]))}}var e}}function s(){return VldFunction.create()}export{VldFunction,s as functionValidator};
@@ -1 +1 @@
1
- import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{createIssue as s}from"../errors.js";import{getMessages as t}from"../locales/runtime.js";import{V as o}from"../chunks/errors-core-CerMg2rq.js";class VldHex extends e{constructor(e=!1){super(r.HEX),this.lowercase=e}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 o([s("invalid_type",[],t().expectedString)])};if(!VldHex.HEX_REGEX.test(e))return{success:!1,error:new o([s("custom",[],t().invalidHex)])};if(e.length%2!=0)return{success:!1,error:new o([s("custom",[],t().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]*$/;export{VldHex};
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{createIssue as s}from"../errors.js";import{getMessages as t}from"../locales/runtime.js";import{V as o}from"../chunks/errors-core-BU14-Dk8.js";class VldHex extends e{constructor(e=!1){super(r.HEX),this.lowercase=e}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 o([s("invalid_type",[],t().expectedString)])};if(!VldHex.HEX_REGEX.test(e))return{success:!1,error:new o([s("custom",[],t().invalidHex)])};if(e.length%2!=0)return{success:!1,error:new o([s("custom",[],t().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]*$/;export{VldHex};
@@ -1 +1 @@
1
- import{VldBase as t,VLD_VALIDATOR_TYPES as e}from"./base.js";import{i as r}from"../chunks/security-Dy24T8N7.js";import{getMessages as o}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-CerMg2rq.js";function n(t){return null!==t&&"object"==typeof t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t)}function c(t,e){const o={...t},s=Object.keys(e);for(let i=0;i<s.length;i++){const a=s[i];if(r(a))continue;if(!Object.prototype.hasOwnProperty.call(e,a))continue;const u=e[a],p=t[a];n(u)&&n(p)?o[a]=c(p,u):o[a]=u}return o}class VldIntersection extends t{constructor(t,r){super(e.INTERSECTION),this.validatorA=t,this.validatorB=r}static create(t,e){return new VldIntersection(t,e)}parse(t){try{const e=this.validatorA.parse(t),r=this.validatorB.parse(t),o=n(e),s=n(r);if(o&&s)return c(e,r);if(!o&&!s){if(e===r)return e;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(t){throw new Error(o().intersectionError(t.message))}}safeParse(t){try{return{success:!0,data:this.parse(t)}}catch(t){return{success:!1,error:(e=t.message,new s([{code:"invalid_type",path:[],message:e}]))}}var e}}export{VldIntersection};
1
+ import{VldBase as t,VLD_VALIDATOR_TYPES as e}from"./base.js";import{i as r}from"../chunks/security-Dy24T8N7.js";import{getMessages as o}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-BU14-Dk8.js";function n(t){return null!==t&&"object"==typeof t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t)}function c(t,e){const o={...t},s=Object.keys(e);for(let i=0;i<s.length;i++){const a=s[i];if(r(a))continue;if(!Object.prototype.hasOwnProperty.call(e,a))continue;const u=e[a],p=t[a];n(u)&&n(p)?o[a]=c(p,u):o[a]=u}return o}class VldIntersection extends t{constructor(t,r){super(e.INTERSECTION),this.validatorA=t,this.validatorB=r}static create(t,e){return new VldIntersection(t,e)}parse(t){try{const e=this.validatorA.parse(t),r=this.validatorB.parse(t),o=n(e),s=n(r);if(o&&s)return c(e,r);if(!o&&!s){if(e===r)return e;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(t){throw new Error(o().intersectionError(t.message))}}safeParse(t){try{return{success:!0,data:this.parse(t)}}catch(t){return{success:!1,error:(e=t.message,new s([{code:"invalid_type",path:[],message:e}]))}}var e}}export{VldIntersection};
@@ -0,0 +1,138 @@
1
+ /**
2
+ * V2 leaf validators: VldLiteralV2, VldBooleanV2, VldEnumV2, VldRecordV2,
3
+ * VldAnyV2, VldUnknownV2, VldVoidV2, VldNeverV2, VldNullV2, VldUndefinedV2,
4
+ * VldSymbolV2, VldNullishV2, VldFunctionV2.
5
+ */
6
+ import { VldBase, type ParseResult } from './base.js';
7
+ export interface VldLiteralDef<T> {
8
+ readonly type: 'literal';
9
+ readonly value: T | undefined;
10
+ }
11
+ export declare class VldLiteralV2<T extends string | number | boolean | null | undefined> extends VldBase<T, T> {
12
+ readonly __def: VldLiteralDef<T>;
13
+ constructor(value: T);
14
+ static create<T extends string | number | boolean | null | undefined>(value: T): VldLiteralV2<T>;
15
+ parse(value: unknown): T;
16
+ safeParse(value: unknown): ParseResult<T>;
17
+ get literal(): T;
18
+ get isSimple(): boolean;
19
+ }
20
+ export declare class VldBooleanV2 extends VldBase<boolean, boolean> {
21
+ readonly __def: {
22
+ type: 'boolean';
23
+ };
24
+ constructor();
25
+ static create(): VldBooleanV2;
26
+ parse(value: unknown): boolean;
27
+ safeParse(value: unknown): ParseResult<boolean>;
28
+ get isSimple(): boolean;
29
+ }
30
+ export interface VldEnumDef<T extends readonly (string | number)[]> {
31
+ readonly type: 'enum';
32
+ readonly values: ReadonlyArray<T[number]>;
33
+ readonly valuesSet: Set<T[number]>;
34
+ }
35
+ export declare class VldEnumV2<T extends readonly (string | number)[]> extends VldBase<T[number], T[number]> {
36
+ readonly __def: VldEnumDef<T>;
37
+ constructor(values: T);
38
+ static create<T extends readonly (string | number)[]>(values: T): VldEnumV2<T>;
39
+ parse(value: unknown): T[number];
40
+ safeParse(value: unknown): ParseResult<T[number]>;
41
+ get options(): T[number][];
42
+ get enumValues(): T[number][];
43
+ get isSimple(): boolean;
44
+ }
45
+ export interface VldRecordDef<T> {
46
+ readonly type: 'record';
47
+ readonly valueValidator: VldBase<unknown, T>;
48
+ readonly simpleValueMode: 'string' | 'number' | 'boolean' | 'bigint' | 'symbol' | undefined;
49
+ }
50
+ export declare class VldRecordV2<T> extends VldBase<Record<string, T>, Record<string, T>> {
51
+ readonly __def: VldRecordDef<T>;
52
+ constructor(valueValidator: VldBase<unknown, T>);
53
+ static create<T>(valueValidator: VldBase<unknown, T>): VldRecordV2<T>;
54
+ parse(value: unknown): Record<string, T>;
55
+ parseKnownRecord(value: Record<string, unknown>): Record<string, T>;
56
+ safeParse(value: unknown): ParseResult<Record<string, T>>;
57
+ get isSimple(): boolean;
58
+ }
59
+ export declare class VldAnyV2 extends VldBase<any, any> {
60
+ readonly __def: {
61
+ type: 'any';
62
+ };
63
+ constructor();
64
+ static create(): VldAnyV2;
65
+ parse(value: unknown): any;
66
+ safeParse(value: unknown): ParseResult<any>;
67
+ get isSimple(): boolean;
68
+ }
69
+ export declare class VldUnknownV2 extends VldBase<unknown, unknown> {
70
+ readonly __def: {
71
+ type: 'unknown';
72
+ };
73
+ constructor();
74
+ static create(): VldUnknownV2;
75
+ parse(value: unknown): unknown;
76
+ safeParse(value: unknown): ParseResult<unknown>;
77
+ get isSimple(): boolean;
78
+ }
79
+ export declare class VldVoidV2 extends VldBase<undefined, undefined> {
80
+ readonly __def: {
81
+ type: 'void';
82
+ };
83
+ constructor();
84
+ static create(): VldVoidV2;
85
+ parse(value: unknown): undefined;
86
+ safeParse(value: unknown): ParseResult<undefined>;
87
+ get isSimple(): boolean;
88
+ }
89
+ export declare class VldNeverV2 extends VldBase<never, never> {
90
+ readonly __def: {
91
+ type: 'never';
92
+ };
93
+ constructor();
94
+ static create(): VldNeverV2;
95
+ parse(_value: unknown): never;
96
+ safeParse(_value: unknown): ParseResult<never>;
97
+ get isSimple(): boolean;
98
+ }
99
+ export declare class VldNullV2 extends VldBase<null, null> {
100
+ readonly __def: {
101
+ type: 'null';
102
+ };
103
+ constructor();
104
+ static create(): VldNullV2;
105
+ parse(value: unknown): null;
106
+ safeParse(value: unknown): ParseResult<null>;
107
+ get isSimple(): boolean;
108
+ }
109
+ export declare class VldUndefinedV2 extends VldBase<undefined, undefined> {
110
+ readonly __def: {
111
+ type: 'undefined';
112
+ };
113
+ constructor();
114
+ static create(): VldUndefinedV2;
115
+ parse(value: unknown): undefined;
116
+ safeParse(value: unknown): ParseResult<undefined>;
117
+ get isSimple(): boolean;
118
+ }
119
+ export declare class VldSymbolV2 extends VldBase<symbol, symbol> {
120
+ readonly __def: {
121
+ type: 'symbol';
122
+ };
123
+ constructor();
124
+ static create(): VldSymbolV2;
125
+ parse(value: unknown): symbol;
126
+ safeParse(value: unknown): ParseResult<symbol>;
127
+ get isSimple(): boolean;
128
+ }
129
+ export declare class VldFunctionV2 extends VldBase<Function, (...args: any[]) => any> {
130
+ readonly __def: {
131
+ type: 'function';
132
+ };
133
+ constructor();
134
+ static create(): VldFunctionV2;
135
+ parse(value: unknown): (...args: any[]) => any;
136
+ safeParse(value: unknown): ParseResult<(...args: any[]) => any>;
137
+ get isSimple(): boolean;
138
+ }
@@ -0,0 +1 @@
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{V as t,c as s,g as n}from"../chunks/errors-core-BU14-Dk8.js";class VldLiteralV2 extends e{constructor(e){super(r.LITERAL),this.__def=Object.freeze({type:"literal",value:e})}static create(e){return new VldLiteralV2(e)}parse(e){const r=this.__def.value;if(e!==r)throw new t([{code:"invalid_literal",path:[],expected:String(r),received:void 0===e?"undefined":typeof e,message:`Invalid input: expected ${JSON.stringify(r)}, received ${JSON.stringify(e)}`}]);return r}safeParse(e){const r=this.__def.value;return e===r?{success:!0,data:r}:{success:!1,error:new t([{code:"invalid_literal",path:[],expected:String(r),received:void 0===e?"undefined":typeof e,message:`Invalid input: expected ${JSON.stringify(r)}, received ${JSON.stringify(e)}`}])}}get literal(){return this.__def.value}get isSimple(){return!0}}class VldBooleanV2 extends e{constructor(){super(r.BOOLEAN),this.__def=Object.freeze({type:"boolean"})}static create(){return new VldBooleanV2}parse(e){if("boolean"!=typeof e)throw new t([s("boolean",n(e),void 0)]);return e}safeParse(e){return"boolean"==typeof e?{success:!0,data:e}:{success:!1,error:new t([s("boolean",n(e),void 0)])}}get isSimple(){return!0}}class VldEnumV2 extends e{constructor(e){super(r.ENUM),this.__def=Object.freeze({type:"enum",values:Object.freeze([...e]),valuesSet:new Set(e)})}static create(e){return new VldEnumV2(e)}parse(e){if(!this.__def.valuesSet.has(e))throw new t([{code:"invalid_value",path:[],values:[...this.__def.values],received:typeof e,message:`Invalid enum value. Expected ${[...this.__def.values].join(" | ")}, received ${JSON.stringify(e)}`}]);return e}safeParse(e){return this.__def.valuesSet.has(e)?{success:!0,data:e}:{success:!1,error:new t([{code:"invalid_value",path:[],values:[...this.__def.values],received:typeof e,message:`Invalid enum value. Expected ${[...this.__def.values].join(" | ")}, received ${JSON.stringify(e)}`}])}}get options(){return[...this.__def.values]}get enumValues(){return this.options}get isSimple(){return!0}}class VldRecordV2 extends e{constructor(e){super(r.RECORD);const t=!0===e.isSimple?e.validatorType===r.STRING?"string":e.validatorType===r.NUMBER?"number":e.validatorType===r.BOOLEAN?"boolean":e.validatorType===r.BIGINT?"bigint":e.validatorType===r.SYMBOL?"symbol":void 0:void 0;this.__def=Object.freeze({type:"record",valueValidator:e,simpleValueMode:t})}static create(e){return new VldRecordV2(e)}parse(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new t([s("record",n(e),void 0)]);return this.parseKnownRecord(e)}parseKnownRecord(e){const r=this.__def.simpleValueMode,t={},s=Object.keys(e);if(void 0!==r)for(let n=0;n<s.length;n++){const i=s[n],a=e[i];switch(r){case"string":if("string"!=typeof a)throw new Error(`Invalid field ${i}: expected string, received ${typeof a}`);t[i]=a;break;case"number":if("number"!=typeof a||isNaN(a))throw new Error(`Invalid field ${i}: expected number, received ${typeof a}`);t[i]=a;break;case"boolean":if("boolean"!=typeof a)throw new Error(`Invalid field ${i}: expected boolean, received ${typeof a}`);t[i]=a;break;case"bigint":if("bigint"!=typeof a)throw new Error(`Invalid field ${i}: expected bigint, received ${typeof a}`);t[i]=a;break;case"symbol":if("symbol"!=typeof a)throw new Error(`Invalid field ${i}: expected symbol, received ${typeof a}`);t[i]=a}}else{const r=this.__def.valueValidator;for(let n=0;n<s.length;n++){const i=s[n];t[i]=r.parse(e[i])}}return t}safeParse(e){try{return{success:!0,data:this.parse(e)}}catch(e){return{success:!1,error:e instanceof t?e:new t([{code:"custom",path:[],message:String(e)}])}}}get isSimple(){return!1}}class VldAnyV2 extends e{constructor(){super(r.ANY),this.__def=Object.freeze({type:"any"})}static create(){return new VldAnyV2}parse(e){return e}safeParse(e){return{success:!0,data:e}}get isSimple(){return!0}}class VldUnknownV2 extends e{constructor(){super(r.UNKNOWN),this.__def=Object.freeze({type:"unknown"})}static create(){return new VldUnknownV2}parse(e){return e}safeParse(e){return{success:!0,data:e}}get isSimple(){return!0}}class VldVoidV2 extends e{constructor(){super(r.VOID),this.__def=Object.freeze({type:"void"})}static create(){return new VldVoidV2}parse(e){if(void 0!==e)throw new t([s("void",n(e),void 0)])}safeParse(e){return void 0===e?{success:!0,data:void 0}:{success:!1,error:new t([s("void",n(e),void 0)])}}get isSimple(){return!0}}class VldNeverV2 extends e{constructor(){super(r.NEVER),this.__def=Object.freeze({type:"never"})}static create(){return new VldNeverV2}parse(e){throw new t([{code:"custom",path:[],message:"No value can pass never validation"}])}safeParse(e){return{success:!1,error:new t([{code:"custom",path:[],message:"No value can pass never validation"}])}}get isSimple(){return!0}}class VldNullV2 extends e{constructor(){super(r.NULL),this.__def=Object.freeze({type:"null"})}static create(){return new VldNullV2}parse(e){if(null!==e)throw new t([s("null",n(e),void 0)]);return null}safeParse(e){return null===e?{success:!0,data:null}:{success:!1,error:new t([s("null",n(e),void 0)])}}get isSimple(){return!0}}class VldUndefinedV2 extends e{constructor(){super(r.UNDEFINED),this.__def=Object.freeze({type:"undefined"})}static create(){return new VldUndefinedV2}parse(e){if(void 0!==e)throw new t([s("undefined",n(e),void 0)])}safeParse(e){return void 0===e?{success:!0,data:void 0}:{success:!1,error:new t([s("undefined",n(e),void 0)])}}get isSimple(){return!0}}class VldSymbolV2 extends e{constructor(){super(r.SYMBOL),this.__def=Object.freeze({type:"symbol"})}static create(){return new VldSymbolV2}parse(e){if("symbol"!=typeof e)throw new t([s("symbol",n(e),void 0)]);return e}safeParse(e){return"symbol"==typeof e?{success:!0,data:e}:{success:!1,error:new t([s("symbol",n(e),void 0)])}}get isSimple(){return!0}}class VldFunctionV2 extends e{constructor(){super(r.FUNCTION),this.__def=Object.freeze({type:"function"})}static create(){return new VldFunctionV2}parse(e){if("function"!=typeof e)throw new t([s("function",n(e),void 0)]);return e}safeParse(e){return"function"==typeof e?{success:!0,data:e}:{success:!1,error:new t([s("function",n(e),void 0)])}}get isSimple(){return!0}}export{VldAnyV2,VldBooleanV2,VldEnumV2,VldFunctionV2,VldLiteralV2,VldNeverV2,VldNullV2,VldRecordV2,VldSymbolV2,VldUndefinedV2,VldUnknownV2,VldVoidV2};
@@ -1 +1 @@
1
- import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{getMessages as t}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-CerMg2rq.js";function a(e){const r=JSON.stringify(e,(e,r)=>"bigint"==typeof r?r.toString():r);return void 0===r?String(e):r}class VldLiteral extends e{constructor(e,t){super(r.LITERAL),this._values=e,this.errorMessage=t}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 a(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 r={code:"invalid_value",path:[],values:[...this._values],message:this.errorMessage||t().literalExpected(this.expectedDisplay,a(e))};return new s([r])}safeParse(e){return this._values.includes(e)?{success:!0,data:e}:{success:!1,error:this._createLiteralError(e)}}}export{VldLiteral};
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{getMessages as t}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-BU14-Dk8.js";function a(e){const r=JSON.stringify(e,(e,r)=>"bigint"==typeof r?r.toString():r);return void 0===r?String(e):r}class VldLiteral extends e{constructor(e,t){super(r.LITERAL),this._values=e,this.errorMessage=t}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 a(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 r={code:"invalid_value",path:[],values:[...this._values],message:this.errorMessage||t().literalExpected(this.expectedDisplay,a(e))};return new s([r])}safeParse(e){return this._values.includes(e)?{success:!0,data:e}:{success:!1,error:this._createLiteralError(e)}}}export{VldLiteral};
@@ -1 +1 @@
1
- import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{getMessages as t}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-CerMg2rq.js";class VldMap extends e{constructor(e,t,s,i=[]){super(r.MAP),this.keyValidator=e,this.valueValidator=t,this.errorMessage=s,this._checks=i,this._simpleKeyMode=this.getSimpleItemMode(e),this._simpleValueMode=this.getSimpleItemMode(t),this._simpleKeyValue="literal"===this._simpleKeyMode?e.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(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";case r.NULL:return"null";case r.UNDEFINED:case r.VOID:return"undefinedValue";case r.LITERAL:return"literal";case r.ANY:case r.UNKNOWN:return"passthrough";default:return}}getSimpleItemError(e,r,s){switch(e){case"string":return t().invalidString;case"number":return t().invalidNumber;case"boolean":return t().invalidBoolean;case"bigint":return t().invalidBigint;case"symbol":return t().invalidSymbol;case"null":return"Expected null, received "+typeof s;case"undefinedValue":return t().expectedUndefined;case"literal":return t().literalExpected(JSON.stringify(r),JSON.stringify(s));default:return t().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||t().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 s([{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")}}export{VldMap};
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{getMessages as t}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-BU14-Dk8.js";class VldMap extends e{constructor(e,t,s,i=[]){super(r.MAP),this.keyValidator=e,this.valueValidator=t,this.errorMessage=s,this._checks=i,this._simpleKeyMode=this.getSimpleItemMode(e),this._simpleValueMode=this.getSimpleItemMode(t),this._simpleKeyValue="literal"===this._simpleKeyMode?e.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(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";case r.NULL:return"null";case r.UNDEFINED:case r.VOID:return"undefinedValue";case r.LITERAL:return"literal";case r.ANY:case r.UNKNOWN:return"passthrough";default:return}}getSimpleItemError(e,r,s){switch(e){case"string":return t().invalidString;case"number":return t().invalidNumber;case"boolean":return t().invalidBoolean;case"bigint":return t().invalidBigint;case"symbol":return t().invalidSymbol;case"null":return"Expected null, received "+typeof s;case"undefinedValue":return t().expectedUndefined;case"literal":return t().literalExpected(JSON.stringify(r),JSON.stringify(s));default:return t().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||t().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 s([{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")}}export{VldMap};
@@ -1 +1 @@
1
- import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{V as s}from"../chunks/errors-core-CerMg2rq.js";class VldNan extends e{constructor(){super(r.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:(r=e.message,new s([{code:"invalid_number",path:[],message:r}]))}}var r}}export{VldNan};
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{V as s}from"../chunks/errors-core-BU14-Dk8.js";class VldNan extends e{constructor(){super(r.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:(r=e.message,new s([{code:"invalid_number",path:[],message:r}]))}}var r}}export{VldNan};
@@ -1 +1 @@
1
- import{VldBase as e}from"./base.js";import{getMessages as r}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-CerMg2rq.js";class VldNever extends e{static create(){return new VldNever}parse(e){throw new Error(r().neverType)}safeParse(e){return{success:!1,error:new s([{code:"invalid_type",path:[],message:r().neverType}])}}}export{VldNever};
1
+ import{VldBase as e}from"./base.js";import{getMessages as r}from"../locales/runtime.js";import{V as s}from"../chunks/errors-core-BU14-Dk8.js";class VldNever extends e{static create(){return new VldNever}parse(e){throw new Error(r().neverType)}safeParse(e){return{success:!1,error:new s([{code:"invalid_type",path:[],message:r().neverType}])}}}export{VldNever};
@@ -1 +1 @@
1
- import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{V as s}from"../chunks/errors-core-CerMg2rq.js";class VldNull extends e{constructor(){super(r.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:(r=e.message,new s([{code:"invalid_type",path:[],message:r}]))}}var r}}export{VldNull};
1
+ import{VldBase as e,VLD_VALIDATOR_TYPES as r}from"./base.js";import{V as s}from"../chunks/errors-core-BU14-Dk8.js";class VldNull extends e{constructor(){super(r.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:(r=e.message,new s([{code:"invalid_type",path:[],message:r}]))}}var r}}export{VldNull};