justus 0.4.1 → 0.5.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/README.md +78 -0
- package/dist/dts-generator.cjs +36 -22
- package/dist/dts-generator.cjs.map +1 -1
- package/dist/dts-generator.d.ts +1 -1
- package/dist/dts-generator.mjs +15 -22
- package/dist/dts-generator.mjs.map +1 -1
- package/dist/errors.cjs +3 -3
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.mjs +3 -3
- package/dist/errors.mjs.map +1 -1
- package/dist/extra/arn.cjs +98 -0
- package/dist/extra/arn.cjs.map +6 -0
- package/dist/extra/arn.d.ts +71 -0
- package/dist/extra/arn.mjs +68 -0
- package/dist/extra/arn.mjs.map +6 -0
- package/dist/extra/ean13.cjs +52 -0
- package/dist/extra/ean13.cjs.map +6 -0
- package/dist/extra/ean13.d.ts +9 -0
- package/dist/extra/ean13.mjs +26 -0
- package/dist/extra/ean13.mjs.map +6 -0
- package/dist/{validators → extra}/url.cjs +10 -10
- package/dist/extra/url.cjs.map +6 -0
- package/dist/{validators → extra}/url.d.ts +4 -5
- package/dist/{validators → extra}/url.mjs +8 -9
- package/dist/{validators → extra}/url.mjs.map +3 -3
- package/dist/extra/uuid.cjs +45 -0
- package/dist/extra/uuid.cjs.map +6 -0
- package/dist/extra/uuid.d.ts +10 -0
- package/dist/extra/uuid.mjs +18 -0
- package/dist/extra/uuid.mjs.map +6 -0
- package/dist/index.cjs +0 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +18 -19
- package/dist/index.mjs +12 -15
- package/dist/index.mjs.map +1 -1
- package/dist/registry.cjs +44 -0
- package/dist/registry.cjs.map +6 -0
- package/dist/registry.d.ts +16 -0
- package/dist/registry.mjs +19 -0
- package/dist/registry.mjs.map +6 -0
- package/dist/schema.cjs +3 -5
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.ts +6 -5
- package/dist/schema.mjs +3 -4
- package/dist/schema.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +38 -12
- package/dist/types.mjs.map +1 -1
- package/dist/utilities.cjs +5 -7
- package/dist/utilities.cjs.map +1 -1
- package/dist/utilities.mjs +5 -7
- package/dist/utilities.mjs.map +1 -1
- package/dist/validators/array.cjs +4 -2
- package/dist/validators/array.cjs.map +1 -1
- package/dist/validators/array.d.ts +3 -4
- package/dist/validators/array.mjs +3 -2
- package/dist/validators/array.mjs.map +1 -1
- package/dist/validators/boolean.cjs +6 -4
- package/dist/validators/boolean.cjs.map +1 -1
- package/dist/validators/boolean.d.ts +2 -3
- package/dist/validators/boolean.mjs +4 -3
- package/dist/validators/boolean.mjs.map +1 -1
- package/dist/validators/constant.cjs +4 -5
- package/dist/validators/constant.cjs.map +1 -1
- package/dist/validators/constant.d.ts +0 -2
- package/dist/validators/constant.mjs +3 -3
- package/dist/validators/constant.mjs.map +1 -1
- package/dist/validators/date.cjs +8 -10
- package/dist/validators/date.cjs.map +1 -1
- package/dist/validators/date.d.ts +3 -4
- package/dist/validators/date.mjs +6 -9
- package/dist/validators/date.mjs.map +1 -1
- package/dist/validators/number.cjs +6 -4
- package/dist/validators/number.cjs.map +1 -1
- package/dist/validators/number.d.ts +5 -6
- package/dist/validators/number.mjs +4 -3
- package/dist/validators/number.mjs.map +1 -1
- package/dist/validators/object.cjs +7 -4
- package/dist/validators/object.cjs.map +1 -1
- package/dist/validators/object.d.ts +6 -7
- package/dist/validators/object.mjs +7 -9
- package/dist/validators/object.mjs.map +1 -1
- package/dist/validators/optional.cjs.map +1 -1
- package/dist/validators/optional.d.ts +5 -4
- package/dist/validators/optional.mjs.map +1 -1
- package/dist/validators/string.cjs +6 -4
- package/dist/validators/string.cjs.map +1 -1
- package/dist/validators/string.d.ts +5 -6
- package/dist/validators/string.mjs +4 -3
- package/dist/validators/string.mjs.map +1 -1
- package/dist/validators/tuple.cjs +3 -2
- package/dist/validators/tuple.cjs.map +1 -1
- package/dist/validators/tuple.d.ts +3 -3
- package/dist/validators/tuple.mjs +3 -2
- package/dist/validators/tuple.mjs.map +1 -1
- package/dist/validators/union.cjs.map +1 -1
- package/dist/validators/union.d.ts +9 -7
- package/dist/validators/union.mjs.map +1 -1
- package/package.json +46 -6
- package/src/dts-generator.ts +17 -27
- package/src/extra/arn.ts +151 -0
- package/src/extra/ean13.ts +31 -0
- package/src/{validators → extra}/url.ts +6 -8
- package/src/extra/uuid.ts +18 -0
- package/src/index.ts +18 -19
- package/src/registry.ts +28 -0
- package/src/schema.ts +10 -11
- package/src/types.ts +80 -11
- package/src/utilities.ts +5 -9
- package/src/validators/array.ts +3 -3
- package/src/validators/boolean.ts +2 -2
- package/src/validators/constant.ts +3 -2
- package/src/validators/date.ts +9 -9
- package/src/validators/number.ts +6 -7
- package/src/validators/object.ts +15 -14
- package/src/validators/optional.ts +9 -7
- package/src/validators/string.ts +6 -6
- package/src/validators/tuple.ts +20 -6
- package/src/validators/union.ts +35 -10
- package/dist/validators/url.cjs.map +0 -6
package/dist/validators/date.cjs
CHANGED
|
@@ -21,7 +21,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var date_exports = {};
|
|
22
22
|
__export(date_exports, {
|
|
23
23
|
DateValidator: () => DateValidator,
|
|
24
|
-
date: () => date
|
|
24
|
+
date: () => date,
|
|
25
|
+
dateFactory: () => dateFactory
|
|
25
26
|
});
|
|
26
27
|
module.exports = __toCommonJS(date_exports);
|
|
27
28
|
var import_errors = require("../errors.cjs");
|
|
@@ -45,12 +46,8 @@ var DateValidator = class extends import_types.AbstractValidator {
|
|
|
45
46
|
this.until = until;
|
|
46
47
|
}
|
|
47
48
|
validate(value) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
date2 = new Date(value);
|
|
51
|
-
} catch (error) {
|
|
52
|
-
throw new import_errors.ValidationError('Value could not be converted to a "Date"');
|
|
53
|
-
}
|
|
49
|
+
const date2 = value instanceof Date ? new Date(value.getTime()) : typeof value === "string" ? new Date(value) : typeof value === "number" ? new Date(value) : void 0;
|
|
50
|
+
(0, import_errors.assertValidation)(!!date2, 'Value could not be converted to a "Date"');
|
|
54
51
|
if (isNaN(date2.getTime()))
|
|
55
52
|
throw new import_errors.ValidationError("Invalid date");
|
|
56
53
|
if (this.format === "iso") {
|
|
@@ -68,13 +65,14 @@ var DateValidator = class extends import_types.AbstractValidator {
|
|
|
68
65
|
return date2;
|
|
69
66
|
}
|
|
70
67
|
};
|
|
71
|
-
function
|
|
68
|
+
function dateFactory(constraints) {
|
|
72
69
|
return new DateValidator(constraints);
|
|
73
70
|
}
|
|
74
|
-
var date = (0, import_types.makeValidatorFactory)(new DateValidator(),
|
|
71
|
+
var date = (0, import_types.makeValidatorFactory)(new DateValidator(), dateFactory);
|
|
75
72
|
// Annotate the CommonJS export names for ESM import in node:
|
|
76
73
|
0 && (module.exports = {
|
|
77
74
|
DateValidator,
|
|
78
|
-
date
|
|
75
|
+
date,
|
|
76
|
+
dateFactory
|
|
79
77
|
});
|
|
80
78
|
//# sourceMappingURL=date.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/date.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgE;AAChE,mBAAwD;AAGxD,IAAM,iBAAiB;AAahB,IAAM,gBAAN,cAA4B,+
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgE;AAChE,mBAAwD;AAGxD,IAAM,iBAAiB;AAahB,IAAM,gBAAN,cAA4B,+BAAgD;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,cAA+B,CAAC,GAAG;AAC7C,UAAM;AAEN,UAAM,EAAE,QAAQ,MAAM,MAAM,IAAI;AAEhC,QAAK,QAAQ,UAAe,UAAU,QAAY;AAChD;AAAA,QAAa,MAAM,QAAQ,KAAK,KAAK,QAAQ;AAAA,QACzC,uBAAuB,MAAM,YAAY,CAAC,gCAAgC,KAAK,YAAY,CAAC;AAAA,MAAG;AAAA,IACrG;AAEA,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,SAAS,OAAsB;AAC7B,UAAMA,QACF,iBAAiB,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC,IAChD,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C;AACJ,wCAAiB,CAAC,CAAEA,OAAM,0CAA0C;AAEpE,QAAI,MAAMA,MAAK,QAAQ,CAAC;AAAG,YAAM,IAAI,8BAAgB,cAAc;AAEnE,QAAI,KAAK,WAAW,OAAO;AACzB,0CAAiB,OAAO,UAAU,UAAU,4BAA4B;AACxE,0CAAiB,eAAe,KAAK,KAAK,GAAG,6BAA6B;AAAA,IAC5E,WAAW,KAAK,WAAW,aAAa;AACtC,0CAAiB,OAAO,UAAU,UAAU,6BAA6B;AAAA,IAC3E;AAEA,QAAI,KAAK,MAAM;AACb,0CAAiB,KAAK,KAAK,QAAQ,KAAKA,MAAK,QAAQ,GAAG,kBAAkB,KAAK,KAAK,YAAY,CAAC,EAAE;AAAA,IACrG;AAEA,QAAI,KAAK,OAAO;AACd,0CAAiB,KAAK,MAAM,QAAQ,KAAKA,MAAK,QAAQ,GAAG,iBAAiB,KAAK,MAAM,YAAY,CAAC,EAAE;AAAA,IACtG;AAEA,WAAOA;AAAA,EACT;AACF;AAEO,SAAS,YAAY,aAA6C;AACvE,SAAO,IAAI,cAAc,WAAW;AACtC;AAGO,IAAM,WAAO,mCAAqB,IAAI,cAAc,GAAG,WAAW;",
|
|
5
5
|
"names": ["date"]
|
|
6
6
|
}
|
|
@@ -9,14 +9,13 @@ export interface DateConstraints {
|
|
|
9
9
|
until?: Date;
|
|
10
10
|
}
|
|
11
11
|
/** A `Validator` validating dates and converting them to `Date` instances. */
|
|
12
|
-
export declare class DateValidator extends AbstractValidator<Date> {
|
|
12
|
+
export declare class DateValidator extends AbstractValidator<Date, Date | string | number> {
|
|
13
13
|
readonly format?: 'iso' | 'timestamp';
|
|
14
14
|
readonly from?: Date;
|
|
15
15
|
readonly until?: Date;
|
|
16
16
|
constructor(constraints?: DateConstraints);
|
|
17
17
|
validate(value: unknown): Date;
|
|
18
18
|
}
|
|
19
|
-
declare function
|
|
19
|
+
export declare function dateFactory(constraints: DateConstraints): DateValidator;
|
|
20
20
|
/** Validate dates and convert them to `Date` instances. */
|
|
21
|
-
export declare const date: typeof
|
|
22
|
-
export {};
|
|
21
|
+
export declare const date: typeof dateFactory & DateValidator;
|
package/dist/validators/date.mjs
CHANGED
|
@@ -20,12 +20,8 @@ var DateValidator = class extends AbstractValidator {
|
|
|
20
20
|
this.until = until;
|
|
21
21
|
}
|
|
22
22
|
validate(value) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
date2 = new Date(value);
|
|
26
|
-
} catch (error) {
|
|
27
|
-
throw new ValidationError('Value could not be converted to a "Date"');
|
|
28
|
-
}
|
|
23
|
+
const date2 = value instanceof Date ? new Date(value.getTime()) : typeof value === "string" ? new Date(value) : typeof value === "number" ? new Date(value) : void 0;
|
|
24
|
+
assertValidation(!!date2, 'Value could not be converted to a "Date"');
|
|
29
25
|
if (isNaN(date2.getTime()))
|
|
30
26
|
throw new ValidationError("Invalid date");
|
|
31
27
|
if (this.format === "iso") {
|
|
@@ -43,12 +39,13 @@ var DateValidator = class extends AbstractValidator {
|
|
|
43
39
|
return date2;
|
|
44
40
|
}
|
|
45
41
|
};
|
|
46
|
-
function
|
|
42
|
+
function dateFactory(constraints) {
|
|
47
43
|
return new DateValidator(constraints);
|
|
48
44
|
}
|
|
49
|
-
var date = makeValidatorFactory(new DateValidator(),
|
|
45
|
+
var date = makeValidatorFactory(new DateValidator(), dateFactory);
|
|
50
46
|
export {
|
|
51
47
|
DateValidator,
|
|
52
|
-
date
|
|
48
|
+
date,
|
|
49
|
+
dateFactory
|
|
53
50
|
};
|
|
54
51
|
//# sourceMappingURL=date.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/date.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc,kBAAkB,uBAAuB;AAChE,SAAS,mBAAmB,4BAA4B;AAGxD,IAAM,iBAAiB;AAahB,IAAM,gBAAN,cAA4B,
|
|
4
|
+
"mappings": ";AAAA,SAAS,cAAc,kBAAkB,uBAAuB;AAChE,SAAS,mBAAmB,4BAA4B;AAGxD,IAAM,iBAAiB;AAahB,IAAM,gBAAN,cAA4B,kBAAgD;AAAA,EACxE;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,cAA+B,CAAC,GAAG;AAC7C,UAAM;AAEN,UAAM,EAAE,QAAQ,MAAM,MAAM,IAAI;AAEhC,QAAK,QAAQ,UAAe,UAAU,QAAY;AAChD;AAAA,QAAa,MAAM,QAAQ,KAAK,KAAK,QAAQ;AAAA,QACzC,uBAAuB,MAAM,YAAY,CAAC,gCAAgC,KAAK,YAAY,CAAC;AAAA,MAAG;AAAA,IACrG;AAEA,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,SAAS,OAAsB;AAC7B,UAAMA,QACF,iBAAiB,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC,IAChD,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAC1C;AACJ,qBAAiB,CAAC,CAAEA,OAAM,0CAA0C;AAEpE,QAAI,MAAMA,MAAK,QAAQ,CAAC;AAAG,YAAM,IAAI,gBAAgB,cAAc;AAEnE,QAAI,KAAK,WAAW,OAAO;AACzB,uBAAiB,OAAO,UAAU,UAAU,4BAA4B;AACxE,uBAAiB,eAAe,KAAK,KAAK,GAAG,6BAA6B;AAAA,IAC5E,WAAW,KAAK,WAAW,aAAa;AACtC,uBAAiB,OAAO,UAAU,UAAU,6BAA6B;AAAA,IAC3E;AAEA,QAAI,KAAK,MAAM;AACb,uBAAiB,KAAK,KAAK,QAAQ,KAAKA,MAAK,QAAQ,GAAG,kBAAkB,KAAK,KAAK,YAAY,CAAC,EAAE;AAAA,IACrG;AAEA,QAAI,KAAK,OAAO;AACd,uBAAiB,KAAK,MAAM,QAAQ,KAAKA,MAAK,QAAQ,GAAG,iBAAiB,KAAK,MAAM,YAAY,CAAC,EAAE;AAAA,IACtG;AAEA,WAAOA;AAAA,EACT;AACF;AAEO,SAAS,YAAY,aAA6C;AACvE,SAAO,IAAI,cAAc,WAAW;AACtC;AAGO,IAAM,OAAO,qBAAqB,IAAI,cAAc,GAAG,WAAW;",
|
|
5
5
|
"names": ["date"]
|
|
6
6
|
}
|
|
@@ -22,7 +22,8 @@ var number_exports = {};
|
|
|
22
22
|
__export(number_exports, {
|
|
23
23
|
AnyNumberValidator: () => AnyNumberValidator,
|
|
24
24
|
NumberValidator: () => NumberValidator,
|
|
25
|
-
number: () => number
|
|
25
|
+
number: () => number,
|
|
26
|
+
numberFactory: () => numberFactory
|
|
26
27
|
});
|
|
27
28
|
module.exports = __toCommonJS(number_exports);
|
|
28
29
|
var import_errors = require("../errors.cjs");
|
|
@@ -140,14 +141,15 @@ var NumberValidator = class extends import_types.AbstractValidator {
|
|
|
140
141
|
return value;
|
|
141
142
|
}
|
|
142
143
|
};
|
|
143
|
-
function
|
|
144
|
+
function numberFactory(constraints) {
|
|
144
145
|
return new NumberValidator(constraints);
|
|
145
146
|
}
|
|
146
|
-
var number = (0, import_types.makeValidatorFactory)(new AnyNumberValidator(),
|
|
147
|
+
var number = (0, import_types.makeValidatorFactory)(new AnyNumberValidator(), numberFactory);
|
|
147
148
|
// Annotate the CommonJS export names for ESM import in node:
|
|
148
149
|
0 && (module.exports = {
|
|
149
150
|
AnyNumberValidator,
|
|
150
151
|
NumberValidator,
|
|
151
|
-
number
|
|
152
|
+
number,
|
|
153
|
+
numberFactory
|
|
152
154
|
});
|
|
153
155
|
//# sourceMappingURL=number.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/number.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgE;AAChE,mBAAwD;AAMxD,IAAM,YAAY;AAClB,IAAM,aAAa,KAAK,IAAI,IAAI,SAAS;AAEzC,SAAS,cAAc,GAAmB;AAExC,QAAM,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB;AAC/D,MAAI,CAAE;AAAO,UAAM,IAAI,WAAW,sCAAsC,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -27,7 +27,7 @@ export declare class AnyNumberValidator extends AbstractValidator<number> {
|
|
|
27
27
|
validate(value: unknown): number;
|
|
28
28
|
}
|
|
29
29
|
/** A `Validator` validating `number`s with constaints. */
|
|
30
|
-
export declare class NumberValidator<N extends number = number> extends AbstractValidator<N> {
|
|
30
|
+
export declare class NumberValidator<N extends number = number> extends AbstractValidator<N, number> {
|
|
31
31
|
#private;
|
|
32
32
|
readonly allowNaN: boolean;
|
|
33
33
|
readonly exclusiveMaximum?: number;
|
|
@@ -40,9 +40,8 @@ export declare class NumberValidator<N extends number = number> extends Abstract
|
|
|
40
40
|
constructor(constraints?: NumberConstraints);
|
|
41
41
|
validate(value: unknown): N;
|
|
42
42
|
}
|
|
43
|
-
declare function
|
|
44
|
-
declare function
|
|
45
|
-
declare function
|
|
43
|
+
export declare function numberFactory(constraints: NumberConstraints): NumberValidator<number>;
|
|
44
|
+
export declare function numberFactory<N extends number>(constraints: NumberConstraints): NumberValidator<N>;
|
|
45
|
+
export declare function numberFactory<B extends string>(constraints: BrandedNumberConstraints<B>): NumberValidator<number & Branding<B>>;
|
|
46
46
|
/** Validate `number`s. */
|
|
47
|
-
export declare const number: typeof
|
|
48
|
-
export {};
|
|
47
|
+
export declare const number: typeof numberFactory & AnyNumberValidator;
|
|
@@ -114,13 +114,14 @@ var NumberValidator = class extends AbstractValidator {
|
|
|
114
114
|
return value;
|
|
115
115
|
}
|
|
116
116
|
};
|
|
117
|
-
function
|
|
117
|
+
function numberFactory(constraints) {
|
|
118
118
|
return new NumberValidator(constraints);
|
|
119
119
|
}
|
|
120
|
-
var number = makeValidatorFactory(new AnyNumberValidator(),
|
|
120
|
+
var number = makeValidatorFactory(new AnyNumberValidator(), numberFactory);
|
|
121
121
|
export {
|
|
122
122
|
AnyNumberValidator,
|
|
123
123
|
NumberValidator,
|
|
124
|
-
number
|
|
124
|
+
number,
|
|
125
|
+
numberFactory
|
|
125
126
|
};
|
|
126
127
|
//# sourceMappingURL=number.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/number.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc,kBAAkB,uBAAuB;AAChE,SAAS,mBAAmB,4BAA4B;AAMxD,IAAM,YAAY;AAClB,IAAM,aAAa,KAAK,IAAI,IAAI,SAAS;AAEzC,SAAS,cAAc,GAAmB;AAExC,QAAM,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB;AAC/D,MAAI,CAAE;AAAO,UAAM,IAAI,WAAW,sCAAsC,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -23,11 +23,12 @@ __export(object_exports, {
|
|
|
23
23
|
AnyObjectValidator: () => AnyObjectValidator,
|
|
24
24
|
ObjectValidator: () => ObjectValidator,
|
|
25
25
|
object: () => object,
|
|
26
|
+
objectFactory: () => objectFactory,
|
|
26
27
|
objectOf: () => objectOf
|
|
27
28
|
});
|
|
28
29
|
module.exports = __toCommonJS(object_exports);
|
|
29
30
|
var import_errors = require("../errors.cjs");
|
|
30
|
-
var
|
|
31
|
+
var import_registry = require("../registry.cjs");
|
|
31
32
|
var import_types = require("../types.cjs");
|
|
32
33
|
var import_utilities = require("../utilities.cjs");
|
|
33
34
|
var AnyObjectValidator = class extends import_types.AbstractValidator {
|
|
@@ -105,7 +106,7 @@ var ObjectValidator = class extends import_types.AbstractValidator {
|
|
|
105
106
|
return builder.assert(clone);
|
|
106
107
|
}
|
|
107
108
|
};
|
|
108
|
-
function
|
|
109
|
+
function objectFactory(schema) {
|
|
109
110
|
const validator = new ObjectValidator(schema);
|
|
110
111
|
function* iterator() {
|
|
111
112
|
yield { [Symbol.justusRestValidator]: validator };
|
|
@@ -115,15 +116,17 @@ function _object(schema) {
|
|
|
115
116
|
[Symbol.iterator]: { value: iterator, enumerable: false }
|
|
116
117
|
});
|
|
117
118
|
}
|
|
118
|
-
var object = (0, import_types.makeValidatorFactory)(new AnyObjectValidator(),
|
|
119
|
+
var object = (0, import_types.makeValidatorFactory)(new AnyObjectValidator(), objectFactory);
|
|
119
120
|
function objectOf(validation) {
|
|
120
|
-
return new ObjectValidator({
|
|
121
|
+
return new ObjectValidator({ [Symbol.justusAdditionalValidator]: (0, import_utilities.getValidator)(validation) });
|
|
121
122
|
}
|
|
123
|
+
import_registry.registry.set("object", ObjectValidator);
|
|
122
124
|
// Annotate the CommonJS export names for ESM import in node:
|
|
123
125
|
0 && (module.exports = {
|
|
124
126
|
AnyObjectValidator,
|
|
125
127
|
ObjectValidator,
|
|
126
128
|
object,
|
|
129
|
+
objectFactory,
|
|
127
130
|
objectOf
|
|
128
131
|
});
|
|
129
132
|
//# sourceMappingURL=object.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/object.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAyD;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAyD;AACzD,sBAAyB;AACzB,mBAAkF;AAClF,uBAA6B;AActB,IAAM,qBAAN,cAAiC,+BAAuC;AAAA,EAC7E,SAAS,OAAqC;AAC5C,wCAAiB,OAAO,SAAS,UAAU,0BAA0B;AACrE,wCAAiB,UAAU,MAAM,iBAAiB;AAClD,WAAO;AAAA,EACT;AACF;AAGO,IAAM,kBAAN,cAAgD,+BAAuD;AAAA,EACnG;AAAA,EAET,aAAa,oBAAI,IAAuB;AAAA,EACxC;AAAA,EAEA,YAAY,QAAW;AACrB,UAAM;AACN,UAAM,EAAE,CAAC,OAAO,yBAAyB,GAAG,YAAY,GAAG,WAAW,IAAI;AAE1E,QAAI;AAAY,WAAK,uBAAuB;AAE5C,eAAW,OAAO,OAAO,KAAK,UAAU,GAAG;AACzC,WAAK,WAAW,IAAI,SAAK,+BAAa,WAAW,GAAG,CAAC,CAAC;AAAA,IACxD;AAEA,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,SAAS,OAAgB,UAA6B,uCAA0C;AAC9F,wCAAiB,OAAO,UAAU,UAAU,0BAA0B;AACtE,wCAAiB,UAAU,MAAM,iBAAiB;AAElD,UAAM,EAAE,2BAA2B,mBAAmB,IAAI;AAE1D,UAAM,SAA0D;AAChE,UAAM,UAAU,IAAI,qCAAuB;AAC3C,UAAM,QAA6B,CAAC;AAEpC,eAAW,CAAE,KAAK,SAAU,KAAK,KAAK,WAAW,QAAQ,GAAG;AAC1D,YAAM,WAAW,CAAC,CAAE,UAAU;AAC9B,YAAM,WAAW,OAAO,GAAG;AAG3B,UAAI,sBAAsB,YAAa,aAAa,MAAO;AACzD;AAAA,MACF;AAMA,UAAI,aAAa,QAAW;AAC1B,YAAI;AAEF,gBAAM,YAAY,UAAU,SAAS,UAAU,OAAO;AAEtD,cAAI,EAAG,YAAa,aAAa;AAAa,kBAAM,GAAG,IAAI;AAAA,QAC7D,SAAS,OAAO;AACd,cAAI;AAAU;AACd,kBAAQ,OAAO,6BAA6B,GAAG;AAAA,QAEjD;AAEA;AAAA,MACF;AAGA,UAAI;AACF,cAAM,YAAY,UAAU,SAAS,UAAU,OAAO;AAEtD,YAAI,EAAG,YAAa,aAAa;AAAa,gBAAM,GAAG,IAAI;AAAA,MAC7D,SAAS,OAAO;AACd,gBAAQ,OAAO,OAAO,GAAG;AAAA,MAC3B;AAAA,IACF;AAGA,UAAM,iBAAiB,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC;AAChF,UAAM,aAAa,KAAK;AAExB,QAAI,YAAY;AACd,qBAAe,QAAQ,CAAC,QAAQ;AAC9B,YAAI,OAAO,GAAG,MAAM;AAAW;AAC/B,YAAI;AACF,gBAAM,GAAG,IAAI,WAAW,SAAS,OAAO,GAAG,GAAG,OAAO;AAAA,QACvD,SAAS,OAAO;AACd,kBAAQ,OAAO,OAAO,GAAG;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH,WAAW,CAAE,2BAA2B;AACtC,qBAAe,QAAQ,CAAC,QAAQ;AAC9B,YAAI,OAAO,GAAG,MAAM;AAAW,kBAAQ,OAAO,oBAAoB,GAAG;AAAA,MACvE,CAAC;AAAA,IACH;AAEA,WAAO,QAAQ,OAAO,KAAuB;AAAA,EAC/C;AACF;AAEO,SAAS,cAAgC,QAE9C;AACA,QAAM,YAAY,IAAI,gBAAgB,MAAM;AAE5C,YAAU,WAAoD;AAC5D,UAAM,EAAE,CAAC,OAAO,mBAAmB,GAAG,UAAU;AAAA,EAClD;AAEA,SAAO,OAAO,iBAAiB,QAAQ;AAAA,IACrC,CAAC,OAAO,eAAe,GAAG,EAAE,OAAO,WAAW,YAAY,MAAM;AAAA,IAChE,CAAC,OAAO,QAAQ,GAAG,EAAE,OAAO,UAAU,YAAY,MAAM;AAAA,EAC1D,CAAC;AACH;AAGO,IAAM,aAAS,mCAAqB,IAAI,mBAAmB,GAAG,aAAa;AAG3E,SAAS,SAA+B,YAA8D;AAC3G,SAAO,IAAI,gBAAgB,EAAE,CAAC,OAAO,yBAAyB,OAAG,+BAAa,UAAU,EAAE,CAAC;AAC7F;AAGA,yBAAS,IAAI,UAAU,eAAe;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import { AbstractValidator } from '../types';
|
|
2
|
-
import type { InferSchema, InferValidation, Schema, TupleRestParameter, Validation, ValidationOptions, Validator } from '../types';
|
|
2
|
+
import type { InferInputSchema, InferSchema, InferValidation, Schema, TupleRestParameter, Validation, ValidationOptions, Validator } from '../types';
|
|
3
3
|
/** A `Validator` validating any `object`. */
|
|
4
4
|
export declare class AnyObjectValidator extends AbstractValidator<Record<string, any>> {
|
|
5
5
|
validate(value: unknown): Record<string, any>;
|
|
6
6
|
}
|
|
7
7
|
/** A `Validator` validating `object`s according to a `Schema`. */
|
|
8
|
-
export declare class ObjectValidator<S extends Schema> extends AbstractValidator<InferSchema<S>> {
|
|
8
|
+
export declare class ObjectValidator<S extends Schema> extends AbstractValidator<InferSchema<S>, InferInputSchema<S>> {
|
|
9
9
|
readonly schema: Readonly<S>;
|
|
10
|
-
validators: Map<string, Validator<any>>;
|
|
10
|
+
validators: Map<string, Validator<any, any>>;
|
|
11
11
|
additionalProperties?: Validator;
|
|
12
12
|
constructor(schema: S);
|
|
13
13
|
validate(value: unknown, options?: ValidationOptions): InferSchema<S>;
|
|
14
14
|
}
|
|
15
|
-
declare function
|
|
16
|
-
[Symbol.iterator](): Generator<TupleRestParameter<InferSchema<S>>>;
|
|
15
|
+
export declare function objectFactory<S extends Schema>(schema: S): S & {
|
|
16
|
+
[Symbol.iterator](): Generator<TupleRestParameter<InferSchema<S>, InferInputSchema<S>>>;
|
|
17
17
|
};
|
|
18
18
|
/** Validate `object`s. */
|
|
19
|
-
export declare const object: typeof
|
|
19
|
+
export declare const object: typeof objectFactory & AnyObjectValidator;
|
|
20
20
|
/** Validate `Object`s containing only the specified elements. */
|
|
21
21
|
export declare function objectOf<V extends Validation>(validation: V): Validator<Record<string, InferValidation<V>>>;
|
|
22
|
-
export {};
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
// validators/object.ts
|
|
2
2
|
import { assertValidation, ValidationErrorBuilder } from "../errors.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
AbstractValidator,
|
|
6
|
-
defaultValidationOptions,
|
|
7
|
-
makeValidatorFactory
|
|
8
|
-
} from "../types.mjs";
|
|
3
|
+
import { registry } from "../registry.mjs";
|
|
4
|
+
import { AbstractValidator, defaultValidationOptions, makeValidatorFactory } from "../types.mjs";
|
|
9
5
|
import { getValidator } from "../utilities.mjs";
|
|
10
6
|
var AnyObjectValidator = class extends AbstractValidator {
|
|
11
7
|
validate(value) {
|
|
@@ -82,7 +78,7 @@ var ObjectValidator = class extends AbstractValidator {
|
|
|
82
78
|
return builder.assert(clone);
|
|
83
79
|
}
|
|
84
80
|
};
|
|
85
|
-
function
|
|
81
|
+
function objectFactory(schema) {
|
|
86
82
|
const validator = new ObjectValidator(schema);
|
|
87
83
|
function* iterator() {
|
|
88
84
|
yield { [Symbol.justusRestValidator]: validator };
|
|
@@ -92,14 +88,16 @@ function _object(schema) {
|
|
|
92
88
|
[Symbol.iterator]: { value: iterator, enumerable: false }
|
|
93
89
|
});
|
|
94
90
|
}
|
|
95
|
-
var object = makeValidatorFactory(new AnyObjectValidator(),
|
|
91
|
+
var object = makeValidatorFactory(new AnyObjectValidator(), objectFactory);
|
|
96
92
|
function objectOf(validation) {
|
|
97
|
-
return new ObjectValidator({
|
|
93
|
+
return new ObjectValidator({ [Symbol.justusAdditionalValidator]: getValidator(validation) });
|
|
98
94
|
}
|
|
95
|
+
registry.set("object", ObjectValidator);
|
|
99
96
|
export {
|
|
100
97
|
AnyObjectValidator,
|
|
101
98
|
ObjectValidator,
|
|
102
99
|
object,
|
|
100
|
+
objectFactory,
|
|
103
101
|
objectOf
|
|
104
102
|
};
|
|
105
103
|
//# sourceMappingURL=object.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/object.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,kBAAkB,8BAA8B;
|
|
4
|
+
"mappings": ";AAAA,SAAS,kBAAkB,8BAA8B;AACzD,SAAS,gBAAgB;AACzB,SAAS,mBAAmB,0BAA0B,4BAA4B;AAClF,SAAS,oBAAoB;AActB,IAAM,qBAAN,cAAiC,kBAAuC;AAAA,EAC7E,SAAS,OAAqC;AAC5C,qBAAiB,OAAO,SAAS,UAAU,0BAA0B;AACrE,qBAAiB,UAAU,MAAM,iBAAiB;AAClD,WAAO;AAAA,EACT;AACF;AAGO,IAAM,kBAAN,cAAgD,kBAAuD;AAAA,EACnG;AAAA,EAET,aAAa,oBAAI,IAAuB;AAAA,EACxC;AAAA,EAEA,YAAY,QAAW;AACrB,UAAM;AACN,UAAM,EAAE,CAAC,OAAO,yBAAyB,GAAG,YAAY,GAAG,WAAW,IAAI;AAE1E,QAAI;AAAY,WAAK,uBAAuB;AAE5C,eAAW,OAAO,OAAO,KAAK,UAAU,GAAG;AACzC,WAAK,WAAW,IAAI,KAAK,aAAa,WAAW,GAAG,CAAC,CAAC;AAAA,IACxD;AAEA,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,SAAS,OAAgB,UAA6B,0BAA0C;AAC9F,qBAAiB,OAAO,UAAU,UAAU,0BAA0B;AACtE,qBAAiB,UAAU,MAAM,iBAAiB;AAElD,UAAM,EAAE,2BAA2B,mBAAmB,IAAI;AAE1D,UAAM,SAA0D;AAChE,UAAM,UAAU,IAAI,uBAAuB;AAC3C,UAAM,QAA6B,CAAC;AAEpC,eAAW,CAAE,KAAK,SAAU,KAAK,KAAK,WAAW,QAAQ,GAAG;AAC1D,YAAM,WAAW,CAAC,CAAE,UAAU;AAC9B,YAAM,WAAW,OAAO,GAAG;AAG3B,UAAI,sBAAsB,YAAa,aAAa,MAAO;AACzD;AAAA,MACF;AAMA,UAAI,aAAa,QAAW;AAC1B,YAAI;AAEF,gBAAM,YAAY,UAAU,SAAS,UAAU,OAAO;AAEtD,cAAI,EAAG,YAAa,aAAa;AAAa,kBAAM,GAAG,IAAI;AAAA,QAC7D,SAAS,OAAO;AACd,cAAI;AAAU;AACd,kBAAQ,OAAO,6BAA6B,GAAG;AAAA,QAEjD;AAEA;AAAA,MACF;AAGA,UAAI;AACF,cAAM,YAAY,UAAU,SAAS,UAAU,OAAO;AAEtD,YAAI,EAAG,YAAa,aAAa;AAAa,gBAAM,GAAG,IAAI;AAAA,MAC7D,SAAS,OAAO;AACd,gBAAQ,OAAO,OAAO,GAAG;AAAA,MAC3B;AAAA,IACF;AAGA,UAAM,iBAAiB,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC;AAChF,UAAM,aAAa,KAAK;AAExB,QAAI,YAAY;AACd,qBAAe,QAAQ,CAAC,QAAQ;AAC9B,YAAI,OAAO,GAAG,MAAM;AAAW;AAC/B,YAAI;AACF,gBAAM,GAAG,IAAI,WAAW,SAAS,OAAO,GAAG,GAAG,OAAO;AAAA,QACvD,SAAS,OAAO;AACd,kBAAQ,OAAO,OAAO,GAAG;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH,WAAW,CAAE,2BAA2B;AACtC,qBAAe,QAAQ,CAAC,QAAQ;AAC9B,YAAI,OAAO,GAAG,MAAM;AAAW,kBAAQ,OAAO,oBAAoB,GAAG;AAAA,MACvE,CAAC;AAAA,IACH;AAEA,WAAO,QAAQ,OAAO,KAAuB;AAAA,EAC/C;AACF;AAEO,SAAS,cAAgC,QAE9C;AACA,QAAM,YAAY,IAAI,gBAAgB,MAAM;AAE5C,YAAU,WAAoD;AAC5D,UAAM,EAAE,CAAC,OAAO,mBAAmB,GAAG,UAAU;AAAA,EAClD;AAEA,SAAO,OAAO,iBAAiB,QAAQ;AAAA,IACrC,CAAC,OAAO,eAAe,GAAG,EAAE,OAAO,WAAW,YAAY,MAAM;AAAA,IAChE,CAAC,OAAO,QAAQ,GAAG,EAAE,OAAO,UAAU,YAAY,MAAM;AAAA,EAC1D,CAAC;AACH;AAGO,IAAM,SAAS,qBAAqB,IAAI,mBAAmB,GAAG,aAAa;AAG3E,SAAS,SAA+B,YAA8D;AAC3G,SAAO,IAAI,gBAAgB,EAAE,CAAC,OAAO,yBAAyB,GAAG,aAAa,UAAU,EAAE,CAAC;AAC7F;AAGA,SAAS,IAAI,UAAU,eAAe;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/optional.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4D;AAC5D,uBAA6B;AAOtB,IAAM,oBAAN,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4D;AAC5D,uBAA6B;AAOtB,IAAM,oBAAN,cAIG,+BAA0E;AAAA,EAClF;AAAA,EACA;AAAA,EAKA,YAAY,WAAyB,cAAkB;AACrD,UAAM;AACN,SAAK,YAAY;AACjB,SAAK,WAAY,iBAAiB;AAClC,QAAI,KAAK,UAAU;AACjB,WAAK,eAAe;AACpB;AAAA,IACF;AAEA,QAAI;AACF,WAAK,eAAe,UAAU,SAAS,cAAc,qCAAwB;AAAA,IAC/E,SAAS,OAAO;AACd,YAAM,IAAI,UAAU,0CAA0C,EAAE,MAAM,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAGA,SAAS,OAAgB,SAA4C;AACnE,QAAI,UAAU;AAAW,aAAO,KAAK;AACrC,WAAO,KAAK,UAAU,SAAS,OAAO,OAAO;AAAA,EAC/C;AACF;AAeO,SAAS,SAEd,YAAe,cAA2E;AAC1F,QAAM,gBAAY,+BAAa,UAAU;AACzC,SAAO,IAAI,kBAAkB,WAAW,YAAY;AACtD;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { AbstractValidator } from '../types';
|
|
2
|
-
import type { InferValidation, Validation, ValidationOptions, Validator } from '../types';
|
|
2
|
+
import type { InferInput, InferValidation, Validation, ValidationOptions, Validator } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* A `Validator` for _optional_ properties (that is `type | undefined`).
|
|
5
5
|
*/
|
|
6
6
|
export declare class OptionalValidator<T = any, // the type of the "validation", that is the optional type to validate
|
|
7
|
-
|
|
7
|
+
I = T, // the _input_ type of the "validation", that is anything acceptable
|
|
8
|
+
D = undefined> extends AbstractValidator<D extends undefined ? T | undefined : T, I | undefined> {
|
|
8
9
|
validator: Validator<T>;
|
|
9
10
|
defaultValue: T | undefined;
|
|
10
11
|
constructor(validator: Validator<T>);
|
|
@@ -17,5 +18,5 @@ D = undefined> extends AbstractValidator<D extends undefined ? T | undefined : T
|
|
|
17
18
|
*
|
|
18
19
|
* @param validation - A `Validation` to be marked as _optional_.
|
|
19
20
|
*/
|
|
20
|
-
export declare function optional<V extends Validation>(validation: V): OptionalValidator<InferValidation<V>, undefined>;
|
|
21
|
-
export declare function optional<V extends Validation, D>(validation: V, defaultValue: D): OptionalValidator<InferValidation<V>, D>;
|
|
21
|
+
export declare function optional<V extends Validation>(validation: V): OptionalValidator<InferValidation<V>, InferInput<V>, undefined>;
|
|
22
|
+
export declare function optional<V extends Validation, D>(validation: V, defaultValue: D): OptionalValidator<InferValidation<V>, InferInput<V>, D>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/optional.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,mBAAmB,gCAAgC;AAC5D,SAAS,oBAAoB;AAOtB,IAAM,oBAAN,
|
|
4
|
+
"mappings": ";AAAA,SAAS,mBAAmB,gCAAgC;AAC5D,SAAS,oBAAoB;AAOtB,IAAM,oBAAN,cAIG,kBAA0E;AAAA,EAClF;AAAA,EACA;AAAA,EAKA,YAAY,WAAyB,cAAkB;AACrD,UAAM;AACN,SAAK,YAAY;AACjB,SAAK,WAAY,iBAAiB;AAClC,QAAI,KAAK,UAAU;AACjB,WAAK,eAAe;AACpB;AAAA,IACF;AAEA,QAAI;AACF,WAAK,eAAe,UAAU,SAAS,cAAc,wBAAwB;AAAA,IAC/E,SAAS,OAAO;AACd,YAAM,IAAI,UAAU,0CAA0C,EAAE,MAAM,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAGA,SAAS,OAAgB,SAA4C;AACnE,QAAI,UAAU;AAAW,aAAO,KAAK;AACrC,WAAO,KAAK,UAAU,SAAS,OAAO,OAAO;AAAA,EAC/C;AACF;AAeO,SAAS,SAEd,YAAe,cAA2E;AAC1F,QAAM,YAAY,aAAa,UAAU;AACzC,SAAO,IAAI,kBAAkB,WAAW,YAAY;AACtD;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -22,7 +22,8 @@ var string_exports = {};
|
|
|
22
22
|
__export(string_exports, {
|
|
23
23
|
AnyStringValidator: () => AnyStringValidator,
|
|
24
24
|
StringValidator: () => StringValidator,
|
|
25
|
-
string: () => string
|
|
25
|
+
string: () => string,
|
|
26
|
+
stringFactory: () => stringFactory
|
|
26
27
|
});
|
|
27
28
|
module.exports = __toCommonJS(string_exports);
|
|
28
29
|
var import_errors = require("../errors.cjs");
|
|
@@ -71,14 +72,15 @@ var StringValidator = class extends import_types.AbstractValidator {
|
|
|
71
72
|
return value;
|
|
72
73
|
}
|
|
73
74
|
};
|
|
74
|
-
function
|
|
75
|
+
function stringFactory(constraints) {
|
|
75
76
|
return new StringValidator(constraints);
|
|
76
77
|
}
|
|
77
|
-
var string = (0, import_types.makeValidatorFactory)(new AnyStringValidator(),
|
|
78
|
+
var string = (0, import_types.makeValidatorFactory)(new AnyStringValidator(), stringFactory);
|
|
78
79
|
// Annotate the CommonJS export names for ESM import in node:
|
|
79
80
|
0 && (module.exports = {
|
|
80
81
|
AnyStringValidator,
|
|
81
82
|
StringValidator,
|
|
82
|
-
string
|
|
83
|
+
string,
|
|
84
|
+
stringFactory
|
|
83
85
|
});
|
|
84
86
|
//# sourceMappingURL=string.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/string.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+C;AAC/C,mBAAwD;AAqBjD,IAAM,qBAAN,cAAiC,+BAA0B;AAAA,EAChE,SAAS,OAAwB;AAC/B,wCAAiB,OAAO,SAAS,UAAU,yBAAyB;AACpE,WAAO;AAAA,EACT;AACF;AAGO,IAAM,kBAAN,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+C;AAC/C,mBAAwD;AAqBjD,IAAM,qBAAN,cAAiC,+BAA0B;AAAA,EAChE,SAAS,OAAwB;AAC/B,wCAAiB,OAAO,SAAS,UAAU,yBAAyB;AACpE,WAAO;AAAA,EACT;AACF;AAGO,IAAM,kBAAN,cAAqE,+BAAwB;AAAA,EACzF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,cAAiC,CAAC,GAAG;AAC/C,UAAM;AAEN,UAAM;AAAA,MACJ,YAAY;AAAA,MACZ,YAAY,OAAO;AAAA,MACnB;AAAA,IACF,IAAI;AAEJ,QAAI,WAAW;AAAa,WAAK,QAAe,YAAa;AAE7D,oCAAa,aAAa,GAAG,2BAA2B,SAAS,wBAAwB;AACzF,oCAAa,aAAa,GAAG,2BAA2B,SAAS,wBAAwB;AACzF,oCAAa,aAAa,WAAW,2BAA2B,SAAS,kCAAkC,SAAS,GAAG;AAEvH,SAAK,YAAY;AACjB,SAAK,YAAY;AACjB,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,SAAS,OAAmB;AAC1B,wCAAiB,OAAO,SAAS,UAAU,yBAAyB;AAEpE;AAAA,MAAiB,MAAM,UAAU,KAAK;AAAA,MAClC,wCAAwC,KAAK,SAAS;AAAA,IAAE;AAE5D;AAAA,MAAiB,MAAM,UAAU,KAAK;AAAA,MAClC,wCAAwC,KAAK,SAAS;AAAA,IAAE;AAE5D;AAAA,MAAiB,KAAK,UAAU,KAAK,QAAQ,KAAK,KAAK,IAAI;AAAA,MACvD,0CAA0C,KAAK,OAAO;AAAA,IAAE;AAE5D,WAAO;AAAA,EACT;AACF;AAKO,SAAS,cAAc,aAAmD;AAC/E,SAAO,IAAI,gBAAgB,WAAW;AACxC;AAGO,IAAM,aAAS,mCAAqB,IAAI,mBAAmB,GAAG,aAAa;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -19,7 +19,7 @@ export declare class AnyStringValidator extends AbstractValidator<string> {
|
|
|
19
19
|
validate(value: unknown): string;
|
|
20
20
|
}
|
|
21
21
|
/** A `Validator` validating `string`s with constraints. */
|
|
22
|
-
export declare class StringValidator<S extends string = string> extends AbstractValidator<S> {
|
|
22
|
+
export declare class StringValidator<S extends string = string, I = string> extends AbstractValidator<S, I> {
|
|
23
23
|
readonly maxLength: number;
|
|
24
24
|
readonly minLength: number;
|
|
25
25
|
readonly pattern?: RegExp;
|
|
@@ -27,9 +27,8 @@ export declare class StringValidator<S extends string = string> extends Abstract
|
|
|
27
27
|
constructor(constraints?: StringConstraints);
|
|
28
28
|
validate(value: unknown): S;
|
|
29
29
|
}
|
|
30
|
-
declare function
|
|
31
|
-
declare function
|
|
32
|
-
declare function
|
|
30
|
+
export declare function stringFactory(constraints: StringConstraints): StringValidator<string>;
|
|
31
|
+
export declare function stringFactory<S extends string>(constraints: StringConstraints): StringValidator<S>;
|
|
32
|
+
export declare function stringFactory<B extends string>(constraints: BrandedStringConstraints<B>): StringValidator<string & Branding<B>>;
|
|
33
33
|
/** Validate `string`s. */
|
|
34
|
-
export declare const string: typeof
|
|
35
|
-
export {};
|
|
34
|
+
export declare const string: typeof stringFactory & AnyStringValidator;
|
|
@@ -45,13 +45,14 @@ var StringValidator = class extends AbstractValidator {
|
|
|
45
45
|
return value;
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
function
|
|
48
|
+
function stringFactory(constraints) {
|
|
49
49
|
return new StringValidator(constraints);
|
|
50
50
|
}
|
|
51
|
-
var string = makeValidatorFactory(new AnyStringValidator(),
|
|
51
|
+
var string = makeValidatorFactory(new AnyStringValidator(), stringFactory);
|
|
52
52
|
export {
|
|
53
53
|
AnyStringValidator,
|
|
54
54
|
StringValidator,
|
|
55
|
-
string
|
|
55
|
+
string,
|
|
56
|
+
stringFactory
|
|
56
57
|
};
|
|
57
58
|
//# sourceMappingURL=string.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/string.ts"],
|
|
4
|
-
"mappings": ";AAAA,SAAS,cAAc,wBAAwB;AAC/C,SAAS,mBAAmB,4BAA4B;AAqBjD,IAAM,qBAAN,cAAiC,kBAA0B;AAAA,EAChE,SAAS,OAAwB;AAC/B,qBAAiB,OAAO,SAAS,UAAU,yBAAyB;AACpE,WAAO;AAAA,EACT;AACF;AAGO,IAAM,kBAAN,
|
|
4
|
+
"mappings": ";AAAA,SAAS,cAAc,wBAAwB;AAC/C,SAAS,mBAAmB,4BAA4B;AAqBjD,IAAM,qBAAN,cAAiC,kBAA0B;AAAA,EAChE,SAAS,OAAwB;AAC/B,qBAAiB,OAAO,SAAS,UAAU,yBAAyB;AACpE,WAAO;AAAA,EACT;AACF;AAGO,IAAM,kBAAN,cAAqE,kBAAwB;AAAA,EACzF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,cAAiC,CAAC,GAAG;AAC/C,UAAM;AAEN,UAAM;AAAA,MACJ,YAAY;AAAA,MACZ,YAAY,OAAO;AAAA,MACnB;AAAA,IACF,IAAI;AAEJ,QAAI,WAAW;AAAa,WAAK,QAAe,YAAa;AAE7D,iBAAa,aAAa,GAAG,2BAA2B,SAAS,wBAAwB;AACzF,iBAAa,aAAa,GAAG,2BAA2B,SAAS,wBAAwB;AACzF,iBAAa,aAAa,WAAW,2BAA2B,SAAS,kCAAkC,SAAS,GAAG;AAEvH,SAAK,YAAY;AACjB,SAAK,YAAY;AACjB,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,SAAS,OAAmB;AAC1B,qBAAiB,OAAO,SAAS,UAAU,yBAAyB;AAEpE;AAAA,MAAiB,MAAM,UAAU,KAAK;AAAA,MAClC,wCAAwC,KAAK,SAAS;AAAA,IAAE;AAE5D;AAAA,MAAiB,MAAM,UAAU,KAAK;AAAA,MAClC,wCAAwC,KAAK,SAAS;AAAA,IAAE;AAE5D;AAAA,MAAiB,KAAK,UAAU,KAAK,QAAQ,KAAK,KAAK,IAAI;AAAA,MACvD,0CAA0C,KAAK,OAAO;AAAA,IAAE;AAE5D,WAAO;AAAA,EACT;AACF;AAKO,SAAS,cAAc,aAAmD;AAC/E,SAAO,IAAI,gBAAgB,WAAW;AACxC;AAGO,IAAM,SAAS,qBAAqB,IAAI,mBAAmB,GAAG,aAAa;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -25,9 +25,9 @@ __export(tuple_exports, {
|
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(tuple_exports);
|
|
27
27
|
var import_errors = require("../errors.cjs");
|
|
28
|
+
var import_registry = require("../registry.cjs");
|
|
28
29
|
var import_types = require("../types.cjs");
|
|
29
30
|
var import_utilities = require("../utilities.cjs");
|
|
30
|
-
var import_constant = require("./constant.cjs");
|
|
31
31
|
var TupleValidator = class extends import_types.AbstractValidator {
|
|
32
32
|
members;
|
|
33
33
|
tuple;
|
|
@@ -36,7 +36,7 @@ var TupleValidator = class extends import_types.AbstractValidator {
|
|
|
36
36
|
const members = [];
|
|
37
37
|
for (const item of tuple2) {
|
|
38
38
|
if (item === null) {
|
|
39
|
-
members.push({ single: true, validator:
|
|
39
|
+
members.push({ single: true, validator: (0, import_utilities.getValidator)(null) });
|
|
40
40
|
} else if (typeof item === "object" && Symbol.justusRestValidator in item) {
|
|
41
41
|
members.push({ single: false, validator: item[Symbol.justusRestValidator] });
|
|
42
42
|
} else {
|
|
@@ -87,6 +87,7 @@ var TupleValidator = class extends import_types.AbstractValidator {
|
|
|
87
87
|
function tuple(tuple2) {
|
|
88
88
|
return new TupleValidator(tuple2);
|
|
89
89
|
}
|
|
90
|
+
import_registry.registry.set("tuple", TupleValidator);
|
|
90
91
|
// Annotate the CommonJS export names for ESM import in node:
|
|
91
92
|
0 && (module.exports = {
|
|
92
93
|
TupleValidator,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validators/tuple.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAkD;AAClD,mBAAkC;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAkD;AAClD,sBAAyB;AACzB,mBAAkC;AAClC,uBAA6B;AAetB,IAAM,iBAAN,cAA8C,+BAAqD;AAAA,EAC/F;AAAA,EACA;AAAA,EAET,YAAYA,QAAU;AACpB,UAAM;AAEN,UAAM,UAAyB,CAAC;AAChC,eAAW,QAAQA,QAAO;AACxB,UAAI,SAAS,MAAM;AACjB,gBAAQ,KAAK,EAAE,QAAQ,MAAM,eAAW,+BAAa,IAAI,EAAE,CAAC;AAAA,MAC9D,WAAY,OAAO,SAAS,YAAc,OAAO,uBAAuB,MAAO;AAC7E,gBAAQ,KAAK,EAAE,QAAQ,OAAO,WAAiB,KAAM,OAAO,mBAAmB,EAAE,CAAC;AAAA,MACpF,OAAO;AACL,gBAAQ,KAAK,EAAE,QAAQ,MAAM,eAAW,+BAAa,IAAI,EAAE,CAAC;AAAA,MAC9D;AAAA,IACF;AAEA,SAAK,UAAU;AACf,SAAK,QAAQA;AAAA,EACf;AAAA,EAEA,SAAS,OAAgB,SAA4C;AACnE,wCAAiB,MAAM,QAAQ,KAAK,GAAG,yBAAyB;AAGhE,QAAI,KAAK,QAAQ,WAAW,GAAG;AAC7B,YAAM,OAAO,MAAM;AACnB,0CAAiB,SAAS,GAAG,SAAS,IAAI,WAAW,SAAS,IAAI,KAAK,GAAG,yBAAyB;AACnG,aAAO;AAAA,IACT;AAGA,UAAM,QAAQ,IAAI,MAAM,MAAM,MAAM;AACpC,QAAI,SAAS;AACb,QAAI,WAAW;AACf,QAAI,EAAE,QAAQ,UAAU,IAAI,KAAK,QAAQ,MAAM;AAE/C,WAAQ,SAAS,KAAK,QAAQ,UAAY,WAAW,MAAM,QAAS;AAClE,UAAI;AACF,cAAM,QAAQ,IAAI,UAAU,SAAS,MAAM,QAAQ,GAAG,OAAO;AAC7D,YAAI;AAAQ,WAAC,EAAE,QAAQ,UAAU,IAAI,KAAK,QAAQ,EAAG,MAAM,KAAK,CAAC;AACjE;AAAA,MACF,SAAS,OAAO;AACd,YAAI;AAAQ,gBAAM,IAAI,8BAAgB,OAAO,CAAE,QAAS,CAAC;AAAA;AACpD,WAAC,EAAE,QAAQ,UAAU,IAAI,KAAK,QAAQ,EAAG,MAAM,KAAK,CAAC;AAAA,MAC5D;AAAA,IACF;AAEA,WAAQ,SAAS,KAAK,QAAQ,UAAY,KAAK,QAAQ,MAAM,EAAE,WAAW,OAAQ;AAChF;AAAA,IACF;AAEA,UAAM,UAAU,KAAK,QAAQ,SAAS;AACtC,QAAK,YAAY,KAAM,QAAQ;AAC7B,YAAM,IAAI,8BAAgB,oCAAoC;AAAA,IAChE,WAAW,UAAU,GAAG;AACtB,YAAM,IAAI,8BAAgB,iBAAiB,OAAO,sBAAsB;AAAA,IAC1E;AAEA,UAAM,QAAQ,MAAM,SAAS;AAC7B,wCAAiB,UAAU,GAAG,SAAS,KAAK,iBAAiB,UAAU,IAAI,KAAK,GAAG,WAAW;AAE9F,WAAO;AAAA,EACT;AACF;AAGO,SAAS,MAIdA,QAAwD;AACxD,SAAO,IAAI,eAAeA,MAAK;AACjC;AAGA,yBAAS,IAAI,SAAS,cAAc;",
|
|
5
5
|
"names": ["tuple"]
|
|
6
6
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { AbstractValidator } from '../types';
|
|
2
|
-
import type { InferTuple, Tuple, ValidationOptions, Validator } from '../types';
|
|
2
|
+
import type { InferInputTuple, InferTuple, Tuple, TupleRestParameter, Validation, ValidationOptions, Validator } from '../types';
|
|
3
3
|
export interface TupleMember {
|
|
4
4
|
single: boolean;
|
|
5
5
|
validator: Validator;
|
|
6
6
|
}
|
|
7
7
|
/** A `Validator` for _tuples_. */
|
|
8
|
-
export declare class TupleValidator<T extends Tuple> extends AbstractValidator<InferTuple<T>> {
|
|
8
|
+
export declare class TupleValidator<T extends Tuple> extends AbstractValidator<InferTuple<T>, InferInputTuple<T>> {
|
|
9
9
|
readonly members: readonly TupleMember[];
|
|
10
10
|
readonly tuple: T;
|
|
11
11
|
constructor(tuple: T);
|
|
12
12
|
validate(value: unknown, options?: ValidationOptions): InferTuple<T>;
|
|
13
13
|
}
|
|
14
14
|
/** Validate _tuples_. */
|
|
15
|
-
export declare function tuple<T extends Tuple>(tuple: T): Validator<InferTuple<T>>;
|
|
15
|
+
export declare function tuple<T extends readonly [Validation | TupleRestParameter<any, any>, ...Tuple] | readonly [...Tuple, Validation | TupleRestParameter<any, any>] | readonly [...Tuple]>(tuple: T): Validator<InferTuple<T>, InferInputTuple<T>>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// validators/tuple.ts
|
|
2
2
|
import { assertValidation, ValidationError } from "../errors.mjs";
|
|
3
|
+
import { registry } from "../registry.mjs";
|
|
3
4
|
import { AbstractValidator } from "../types.mjs";
|
|
4
5
|
import { getValidator } from "../utilities.mjs";
|
|
5
|
-
import { nullValidator } from "./constant.mjs";
|
|
6
6
|
var TupleValidator = class extends AbstractValidator {
|
|
7
7
|
members;
|
|
8
8
|
tuple;
|
|
@@ -11,7 +11,7 @@ var TupleValidator = class extends AbstractValidator {
|
|
|
11
11
|
const members = [];
|
|
12
12
|
for (const item of tuple2) {
|
|
13
13
|
if (item === null) {
|
|
14
|
-
members.push({ single: true, validator:
|
|
14
|
+
members.push({ single: true, validator: getValidator(null) });
|
|
15
15
|
} else if (typeof item === "object" && Symbol.justusRestValidator in item) {
|
|
16
16
|
members.push({ single: false, validator: item[Symbol.justusRestValidator] });
|
|
17
17
|
} else {
|
|
@@ -62,6 +62,7 @@ var TupleValidator = class extends AbstractValidator {
|
|
|
62
62
|
function tuple(tuple2) {
|
|
63
63
|
return new TupleValidator(tuple2);
|
|
64
64
|
}
|
|
65
|
+
registry.set("tuple", TupleValidator);
|
|
65
66
|
export {
|
|
66
67
|
TupleValidator,
|
|
67
68
|
tuple
|