@warlock.js/seal 3.0.19 → 3.0.20
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 +373 -373
- package/cjs/factory/validators.d.ts +2 -1
- package/cjs/factory/validators.d.ts.map +1 -1
- package/cjs/factory/validators.js +3 -1
- package/cjs/factory/validators.js.map +1 -1
- package/cjs/helpers/date-helpers.d.ts.map +1 -1
- package/cjs/helpers/date-helpers.js +2 -7
- package/cjs/helpers/date-helpers.js.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/mutators/index.d.ts +1 -0
- package/cjs/mutators/index.d.ts.map +1 -1
- package/cjs/mutators/scalar-mutators.d.ts +3 -0
- package/cjs/mutators/scalar-mutators.d.ts.map +1 -0
- package/cjs/mutators/scalar-mutators.js +6 -0
- package/cjs/mutators/scalar-mutators.js.map +1 -0
- package/cjs/rules/core/index.d.ts +1 -0
- package/cjs/rules/core/index.d.ts.map +1 -1
- package/cjs/rules/core/union.d.ts +9 -0
- package/cjs/rules/core/union.d.ts.map +1 -0
- package/cjs/rules/core/union.js +40 -0
- package/cjs/rules/core/union.js.map +1 -0
- package/cjs/validators/array-validator.d.ts +8 -0
- package/cjs/validators/array-validator.d.ts.map +1 -1
- package/cjs/validators/array-validator.js +20 -6
- package/cjs/validators/array-validator.js.map +1 -1
- package/cjs/validators/base-validator.d.ts +42 -0
- package/cjs/validators/base-validator.d.ts.map +1 -1
- package/cjs/validators/base-validator.js +57 -0
- package/cjs/validators/base-validator.js.map +1 -1
- package/cjs/validators/boolean-validator.d.ts +4 -0
- package/cjs/validators/boolean-validator.d.ts.map +1 -1
- package/cjs/validators/boolean-validator.js +6 -0
- package/cjs/validators/boolean-validator.js.map +1 -1
- package/cjs/validators/date-validator.d.ts +4 -0
- package/cjs/validators/date-validator.d.ts.map +1 -1
- package/cjs/validators/date-validator.js +7 -1
- package/cjs/validators/date-validator.js.map +1 -1
- package/cjs/validators/index.d.ts +1 -0
- package/cjs/validators/index.d.ts.map +1 -1
- package/cjs/validators/number-validator.d.ts +4 -0
- package/cjs/validators/number-validator.d.ts.map +1 -1
- package/cjs/validators/number-validator.js +6 -0
- package/cjs/validators/number-validator.js.map +1 -1
- package/cjs/validators/object-validator.d.ts +152 -0
- package/cjs/validators/object-validator.d.ts.map +1 -1
- package/cjs/validators/object-validator.js +223 -0
- package/cjs/validators/object-validator.js.map +1 -1
- package/cjs/validators/scalar-validator.d.ts +4 -0
- package/cjs/validators/scalar-validator.d.ts.map +1 -1
- package/cjs/validators/scalar-validator.js +8 -1
- package/cjs/validators/scalar-validator.js.map +1 -1
- package/cjs/validators/string-validator.d.ts +4 -0
- package/cjs/validators/string-validator.d.ts.map +1 -1
- package/cjs/validators/string-validator.js +6 -0
- package/cjs/validators/string-validator.js.map +1 -1
- package/cjs/validators/union-validator.d.ts +42 -0
- package/cjs/validators/union-validator.d.ts.map +1 -0
- package/cjs/validators/union-validator.js +44 -0
- package/cjs/validators/union-validator.js.map +1 -0
- package/esm/factory/validators.d.ts +2 -1
- package/esm/factory/validators.d.ts.map +1 -1
- package/esm/factory/validators.js +3 -1
- package/esm/factory/validators.js.map +1 -1
- package/esm/helpers/date-helpers.d.ts.map +1 -1
- package/esm/helpers/date-helpers.js +2 -7
- package/esm/helpers/date-helpers.js.map +1 -1
- package/esm/index.js +1 -1
- package/esm/mutators/index.d.ts +1 -0
- package/esm/mutators/index.d.ts.map +1 -1
- package/esm/mutators/scalar-mutators.d.ts +3 -0
- package/esm/mutators/scalar-mutators.d.ts.map +1 -0
- package/esm/mutators/scalar-mutators.js +6 -0
- package/esm/mutators/scalar-mutators.js.map +1 -0
- package/esm/rules/core/index.d.ts +1 -0
- package/esm/rules/core/index.d.ts.map +1 -1
- package/esm/rules/core/union.d.ts +9 -0
- package/esm/rules/core/union.d.ts.map +1 -0
- package/esm/rules/core/union.js +40 -0
- package/esm/rules/core/union.js.map +1 -0
- package/esm/validators/array-validator.d.ts +8 -0
- package/esm/validators/array-validator.d.ts.map +1 -1
- package/esm/validators/array-validator.js +20 -6
- package/esm/validators/array-validator.js.map +1 -1
- package/esm/validators/base-validator.d.ts +42 -0
- package/esm/validators/base-validator.d.ts.map +1 -1
- package/esm/validators/base-validator.js +57 -0
- package/esm/validators/base-validator.js.map +1 -1
- package/esm/validators/boolean-validator.d.ts +4 -0
- package/esm/validators/boolean-validator.d.ts.map +1 -1
- package/esm/validators/boolean-validator.js +6 -0
- package/esm/validators/boolean-validator.js.map +1 -1
- package/esm/validators/date-validator.d.ts +4 -0
- package/esm/validators/date-validator.d.ts.map +1 -1
- package/esm/validators/date-validator.js +7 -1
- package/esm/validators/date-validator.js.map +1 -1
- package/esm/validators/index.d.ts +1 -0
- package/esm/validators/index.d.ts.map +1 -1
- package/esm/validators/number-validator.d.ts +4 -0
- package/esm/validators/number-validator.d.ts.map +1 -1
- package/esm/validators/number-validator.js +6 -0
- package/esm/validators/number-validator.js.map +1 -1
- package/esm/validators/object-validator.d.ts +152 -0
- package/esm/validators/object-validator.d.ts.map +1 -1
- package/esm/validators/object-validator.js +223 -0
- package/esm/validators/object-validator.js.map +1 -1
- package/esm/validators/scalar-validator.d.ts +4 -0
- package/esm/validators/scalar-validator.d.ts.map +1 -1
- package/esm/validators/scalar-validator.js +8 -1
- package/esm/validators/scalar-validator.js.map +1 -1
- package/esm/validators/string-validator.d.ts +4 -0
- package/esm/validators/string-validator.d.ts.map +1 -1
- package/esm/validators/string-validator.js +6 -0
- package/esm/validators/string-validator.js.map +1 -1
- package/esm/validators/union-validator.d.ts +42 -0
- package/esm/validators/union-validator.d.ts.map +1 -0
- package/esm/validators/union-validator.js +44 -0
- package/esm/validators/union-validator.js.map +1 -0
- package/package.json +23 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Schema, ValidationResult } from "../types";
|
|
2
2
|
import type { BaseValidator } from "../validators";
|
|
3
|
-
import { AnyValidator, ArrayValidator, BooleanValidator, DateValidator, FloatValidator, IntValidator, NumberValidator, ObjectValidator, ScalarValidator, StringValidator } from "../validators";
|
|
3
|
+
import { AnyValidator, ArrayValidator, BooleanValidator, DateValidator, FloatValidator, IntValidator, NumberValidator, ObjectValidator, ScalarValidator, StringValidator, UnionValidator } from "../validators";
|
|
4
4
|
/**
|
|
5
5
|
* Seal factory object - creates instances of validators
|
|
6
6
|
*
|
|
@@ -27,6 +27,7 @@ export interface ValidatorV {
|
|
|
27
27
|
localized: (valueValidator?: BaseValidator, errorMessage?: string) => ArrayValidator & {
|
|
28
28
|
validator: BaseValidator;
|
|
29
29
|
};
|
|
30
|
+
union: (validators: BaseValidator[], errorMessage?: string) => UnionValidator;
|
|
30
31
|
validate: <T extends BaseValidator>(schema: T, data: any) => Promise<ValidationResult>;
|
|
31
32
|
}
|
|
32
33
|
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/factory/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/factory/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAC;AAGvB;;;;GAIG;AACH,eAAO,MAAM,CAAC,EAAE,UA4DU,CAAC;AAE3B,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,EACvB,MAAM,EAAE,CAAC,EACT,YAAY,CAAC,EAAE,MAAM,KAClB,eAAe,GAAG;QACrB,MAAM,EAAE,CAAC,CAAC;KACX,CAAC;IACF,GAAG,EAAE,MAAM,YAAY,CAAC;IACxB,SAAS,EAAE,MAAM,YAAY,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,SAAS,aAAa,EAC7B,SAAS,EAAE,CAAC,EACZ,YAAY,CAAC,EAAE,MAAM,KAClB,cAAc,GAAG;QACpB,SAAS,EAAE,CAAC,CAAC;KACd,CAAC;IACF,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IAC/C,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACnD,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IAC9D,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACnD,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC;IAC7C,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC;IACjD,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,gBAAgB,CAAC;IACrD,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACnD,SAAS,EAAE,CACT,cAAc,CAAC,EAAE,aAAa,EAC9B,YAAY,CAAC,EAAE,MAAM,KAClB,cAAc,GAAG;QACpB,SAAS,EAAE,aAAa,CAAC;KAC1B,CAAC;IACF,KAAK,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC;IAC9E,QAAQ,EAAE,CAAC,CAAC,SAAS,aAAa,EAChC,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,GAAG,KACN,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var anyValidator=require('../validators/any-validator.js'),arrayValidator=require('../validators/array-validator.js');require('@mongez/reinforcements'),require('@mongez/supportive-is'),require('net');var booleanValidator=require('../validators/boolean-validator.js'),dateValidator=require('../validators/date-validator.js'),floatValidator=require('../validators/float-validator.js'),intValidator=require('../validators/int-validator.js'),numberValidator=require('../validators/number-validator.js'),objectValidator=require('../validators/object-validator.js'),scalarValidator=require('../validators/scalar-validator.js'),stringValidator=require('../validators/string-validator.js'),validate=require('./validate.js');/**
|
|
1
|
+
'use strict';var anyValidator=require('../validators/any-validator.js'),arrayValidator=require('../validators/array-validator.js');require('@mongez/reinforcements'),require('@mongez/supportive-is'),require('net');var booleanValidator=require('../validators/boolean-validator.js'),dateValidator=require('../validators/date-validator.js'),floatValidator=require('../validators/float-validator.js'),intValidator=require('../validators/int-validator.js'),numberValidator=require('../validators/number-validator.js'),objectValidator=require('../validators/object-validator.js'),scalarValidator=require('../validators/scalar-validator.js'),stringValidator=require('../validators/string-validator.js'),unionValidator=require('../validators/union-validator.js'),validate=require('./validate.js');/**
|
|
2
2
|
* Seal factory object - creates instances of validators
|
|
3
3
|
*
|
|
4
4
|
* Use 'v' to create validation schemas (seals) for your data
|
|
@@ -33,6 +33,8 @@ const v = {
|
|
|
33
33
|
localeCode: v.string().required(),
|
|
34
34
|
value: (valueValidator || v.string()).required(),
|
|
35
35
|
}), errorMessage),
|
|
36
|
+
/** Create a union validator - validates against multiple types */
|
|
37
|
+
union: (validators, errorMessage) => new unionValidator.UnionValidator().union(validators, errorMessage),
|
|
36
38
|
/** Validate data against a schema */
|
|
37
39
|
validate: validate.validate,
|
|
38
40
|
};exports.v=v;//# sourceMappingURL=validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sources":["../../src/factory/validators.ts"],"sourcesContent":[null],"names":["ObjectValidator","AnyValidator","ArrayValidator","DateValidator","StringValidator","ScalarValidator","NumberValidator","IntValidator","FloatValidator","BooleanValidator","validateFunction"],"mappings":"
|
|
1
|
+
{"version":3,"file":"validators.js","sources":["../../src/factory/validators.ts"],"sourcesContent":[null],"names":["ObjectValidator","AnyValidator","ArrayValidator","DateValidator","StringValidator","ScalarValidator","NumberValidator","IntValidator","FloatValidator","BooleanValidator","UnionValidator","validateFunction"],"mappings":"oxBAiBA;;;;AAIG;AACU,MAAA,CAAC,GAAe;;AAE3B,IAAA,MAAM,EAAE,CAAmB,MAAS,EAAE,YAAqB,KACzD,IAAIA,+BAAe,CAAC,MAAM,EAAE,YAAY,CAEvC;;AAGH,IAAA,GAAG,EAAE,MAAM,IAAIC,yBAAY,EAAE;;IAG7B,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE;;AAGpC,IAAA,KAAK,EAAE,CAA0B,SAAY,EAAE,YAAqB,KAClE,IAAIC,6BAAc,CAAC,SAAS,EAAE,YAAY,CAEzC;;IAGH,IAAI,EAAE,CAAC,YAAqB,KAAK,IAAIC,2BAAa,CAAC,YAAY,CAAC;;IAGhE,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAIC,+BAAe,CAAC,YAAY,CAAC;;AAGpE,IAAA,IAAI,EAAE,CAAC,MAAW,EAAE,YAAqB,KACvC,IAAIC,+BAAe,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;;IAGlD,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAIC,+BAAe,CAAC,YAAY,CAAC;;IAGpE,GAAG,EAAE,CAAC,YAAqB,KAAK,IAAIC,yBAAY,CAAC,YAAY,CAAC;;IAG9D,KAAK,EAAE,CAAC,YAAqB,KAAK,IAAIC,6BAAc,CAAC,YAAY,CAAC;;IAGlE,OAAO,EAAE,CAAC,YAAqB,KAAK,IAAIC,iCAAgB,CAAC,YAAY,CAAC;;IAGtE,MAAM,EAAE,CAAC,YAAqB,KAAK,IAAIJ,+BAAe,CAAC,YAAY,CAAC;;AAGpE,IAAA,SAAS,EAAE,CAAC,cAA8B,EAAE,YAAqB,KAC/D,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;AACP,QAAA,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,KAAK,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE;KACjD,CAAC,EACF,YAAY,CACb;;AAGH,IAAA,KAAK,EAAE,CAAC,UAA2B,EAAE,YAAqB,KACxD,IAAIK,6BAAc,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;;AAGtD,IAAA,QAAQ,EAAEC,iBAAgB;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/date-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"date-helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/date-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAM/C"}
|
|
@@ -15,11 +15,6 @@
|
|
|
15
15
|
function isDateValue(value) {
|
|
16
16
|
if (value instanceof Date)
|
|
17
17
|
return true;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (typeof value === "string" &&
|
|
21
|
-
(value.includes("-") || value.includes("/"))) {
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
return false;
|
|
18
|
+
const date = new Date(value);
|
|
19
|
+
return !isNaN(date.getTime());
|
|
25
20
|
}exports.isDateValue=isDateValue;//# sourceMappingURL=date-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-helpers.js","sources":["../../src/helpers/date-helpers.ts"],"sourcesContent":[null],"names":[],"mappings":"aAAA;;;;;;;;;;;;;AAaG;AACG,SAAU,WAAW,CAAC,KAAU,EAAA;IACpC,IAAI,KAAK,YAAY,IAAI;AAAE,QAAA,OAAO,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"date-helpers.js","sources":["../../src/helpers/date-helpers.ts"],"sourcesContent":[null],"names":[],"mappings":"aAAA;;;;;;;;;;;;;AAaG;AACG,SAAU,WAAW,CAAC,KAAU,EAAA;IACpC,IAAI,KAAK,YAAY,IAAI;AAAE,QAAA,OAAO,IAAI,CAAC;AAEvC,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAChC"}
|
package/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var anyValidator=require('./validators/any-validator.js'),arrayValidator=require('./validators/array-validator.js'),baseValidator=require('./validators/base-validator.js'),booleanValidator=require('./validators/boolean-validator.js'),dateValidator=require('./validators/date-validator.js'),floatValidator=require('./validators/float-validator.js'),intValidator=require('./validators/int-validator.js'),numberValidator=require('./validators/number-validator.js'),objectValidator=require('./validators/object-validator.js'),scalarValidator=require('./validators/scalar-validator.js'),stringValidator=require('./validators/string-validator.js'),dateTypes=require('./types/date-types.js'),dateHelpers=require('./helpers/date-helpers.js'),getFieldValue=require('./helpers/get-field-value.js'),pathHelpers=require('./helpers/path-helpers.js'),validationHelpers=require('./helpers/validation-helpers.js'),arrayMutators=require('./mutators/array-mutators.js'),dateMutators=require('./mutators/date-mutators.js'),numberMutators=require('./mutators/number-mutators.js'),objectMutators=require('./mutators/object-mutators.js'),stringMutators=require('./mutators/string-mutators.js'),equal=require('./rules/core/equal.js'),forbidden=require('./rules/core/forbidden.js'),required=require('./rules/core/required.js'),when=require('./rules/core/when.js'),alpha=require('./rules/string/alpha.js'),creditCard=require('./rules/string/credit-card.js'),email=require('./rules/string/email.js'),ip=require('./rules/string/ip.js'),matches=require('./rules/string/matches.js'),pattern=require('./rules/string/pattern.js'),stringComparison=require('./rules/string/string-comparison.js'),strongPasswordRule=require('./rules/string/strong-password-rule.js'),url=require('./rules/string/url.js'),withoutWhitespace=require('./rules/string/without-whitespace.js'),numberRules=require('./rules/number/number-rules.js'),lengthRules=require('./rules/length/length-rules.js'),arrayRules=require('./rules/array/array-rules.js'),date=require('./rules/date/date.js'),dateComparisonRules=require('./rules/date/date-comparison-rules.js'),dateDayRules=require('./rules/date/date-day-rules.js'),dateFieldComparisonRules=require('./rules/date/date-field-comparison-rules.js'),datePeriodRules=require('./rules/date/date-period-rules.js'),dateRelativeRules=require('./rules/date/date-relative-rules.js'),dateSpecialRules=require('./rules/date/date-special-rules.js'),dimensions=require('./rules/file/dimensions.js'),fileSize=require('./rules/file/file-size.js'),colorRules=require('./rules/color/color-rules.js'),requiredIfRules=require('./rules/conditional/required-if-rules.js'),requiredUnlessRules=require('./rules/conditional/required-unless-rules.js'),requiredWithRules=require('./rules/conditional/required-with-rules.js'),requiredWithoutRules=require('./rules/conditional/required-without-rules.js'),presentIfRules=require('./rules/conditional/present-if-rules.js'),presentUnlessRules=require('./rules/conditional/present-unless-rules.js'),presentWithRules=require('./rules/conditional/present-with-rules.js'),presentWithoutRules=require('./rules/conditional/present-without-rules.js'),_enum=require('./rules/common/enum.js'),equalsFieldRules=require('./rules/common/equals-field-rules.js'),typeRules=require('./rules/common/type-rules.js'),unknownKey=require('./rules/common/unknown-key.js'),validate=require('./factory/validate.js'),validators=require('./factory/validators.js'),pluginSystem=require('./plugins/plugin-system.js'),config=require('./config.js');exports.AnyValidator=anyValidator.AnyValidator;exports.ArrayValidator=arrayValidator.ArrayValidator;exports.BaseValidator=baseValidator.BaseValidator;exports.BooleanValidator=booleanValidator.BooleanValidator;exports.DateValidator=dateValidator.DateValidator;exports.FloatValidator=floatValidator.FloatValidator;exports.IntValidator=intValidator.IntValidator;exports.NumberValidator=numberValidator.NumberValidator;exports.ObjectValidator=objectValidator.ObjectValidator;exports.ScalarValidator=scalarValidator.ScalarValidator;exports.StringValidator=stringValidator.StringValidator;exports.WEEK_DAYS=dateTypes.WEEK_DAYS;exports.isDateValue=dateHelpers.isDateValue;exports.getFieldValue=getFieldValue.getFieldValue;exports.setKeyPath=pathHelpers.setKeyPath;exports.VALID_RULE=validationHelpers.VALID_RULE;exports.invalidRule=validationHelpers.invalidRule;exports.flipArrayMutator=arrayMutators.flipArrayMutator;exports.removeEmptyArrayElementsMutator=arrayMutators.removeEmptyArrayElementsMutator;exports.reverseArrayMutator=arrayMutators.reverseArrayMutator;exports.sortArrayMutator=arrayMutators.sortArrayMutator;exports.uniqueArrayMutator=arrayMutators.uniqueArrayMutator;exports.addDaysMutator=dateMutators.addDaysMutator;exports.addHoursMutator=dateMutators.addHoursMutator;exports.addMonthsMutator=dateMutators.addMonthsMutator;exports.addYearsMutator=dateMutators.addYearsMutator;exports.dateMutator=dateMutators.dateMutator;exports.toDateOnlyMutator=dateMutators.toDateOnlyMutator;exports.toEndOfDayMutator=dateMutators.toEndOfDayMutator;exports.toEndOfMonthMutator=dateMutators.toEndOfMonthMutator;exports.toEndOfYearMutator=dateMutators.toEndOfYearMutator;exports.toFormatMutator=dateMutators.toFormatMutator;exports.toISOStringMutator=dateMutators.toISOStringMutator;exports.toStartOfDayMutator=dateMutators.toStartOfDayMutator;exports.toStartOfMonthMutator=dateMutators.toStartOfMonthMutator;exports.toStartOfYearMutator=dateMutators.toStartOfYearMutator;exports.toTimeOnlyMutator=dateMutators.toTimeOnlyMutator;exports.toTimestampMutator=dateMutators.toTimestampMutator;exports.toUTCMutator=dateMutators.toUTCMutator;exports.booleanMutator=numberMutators.booleanMutator;exports.numberMutator=numberMutators.numberMutator;exports.roundNumberMutator=numberMutators.roundNumberMutator;exports.jsonMutator=objectMutators.jsonMutator;exports.objectTrimMutator=objectMutators.objectTrimMutator;exports.stripUnknownMutator=objectMutators.stripUnknownMutator;exports.alphaOnlyMutator=stringMutators.alphaOnlyMutator;exports.alphanumericOnlyMutator=stringMutators.alphanumericOnlyMutator;exports.appendMutator=stringMutators.appendMutator;exports.base64DecodeMutator=stringMutators.base64DecodeMutator;exports.base64EncodeMutator=stringMutators.base64EncodeMutator;exports.camelCaseMutator=stringMutators.camelCaseMutator;exports.capitalizeMutator=stringMutators.capitalizeMutator;exports.htmlEscapeMutator=stringMutators.htmlEscapeMutator;exports.kebabCaseMutator=stringMutators.kebabCaseMutator;exports.lowercaseMutator=stringMutators.lowercaseMutator;exports.ltrimMutator=stringMutators.ltrimMutator;exports.maskMutator=stringMutators.maskMutator;exports.padEndMutator=stringMutators.padEndMutator;exports.padStartMutator=stringMutators.padStartMutator;exports.pascalCaseMutator=stringMutators.pascalCaseMutator;exports.prependMutator=stringMutators.prependMutator;exports.removeNumbersMutator=stringMutators.removeNumbersMutator;exports.removeSpecialCharactersMutator=stringMutators.removeSpecialCharactersMutator;exports.repeatMutator=stringMutators.repeatMutator;exports.replaceAllMutator=stringMutators.replaceAllMutator;exports.replaceMutator=stringMutators.replaceMutator;exports.reverseMutator=stringMutators.reverseMutator;exports.rtrimMutator=stringMutators.rtrimMutator;exports.safeHtmlMutator=stringMutators.safeHtmlMutator;exports.slugMutator=stringMutators.slugMutator;exports.snakeCaseMutator=stringMutators.snakeCaseMutator;exports.stringifyMutator=stringMutators.stringifyMutator;exports.titleCaseMutator=stringMutators.titleCaseMutator;exports.trimMultipleWhitespaceMutator=stringMutators.trimMultipleWhitespaceMutator;exports.trimMutator=stringMutators.trimMutator;exports.truncateMutator=stringMutators.truncateMutator;exports.unescapeHtmlMutator=stringMutators.unescapeHtmlMutator;exports.uppercaseMutator=stringMutators.uppercaseMutator;exports.urlDecodeMutator=stringMutators.urlDecodeMutator;exports.urlEncodeMutator=stringMutators.urlEncodeMutator;exports.equalRule=equal.equalRule;exports.forbiddenRule=forbidden.forbiddenRule;exports.presentRule=required.presentRule;exports.requiredRule=required.requiredRule;exports.whenRule=when.whenRule;exports.alphaNumericRule=alpha.alphaNumericRule;exports.alphaRule=alpha.alphaRule;exports.isNumericRule=alpha.isNumericRule;exports.isCreditCardRule=creditCard.isCreditCardRule;exports.emailRule=email.emailRule;exports.ip4Rule=ip.ip4Rule;exports.ip6Rule=ip.ip6Rule;exports.ipRule=ip.ipRule;exports.matchesRule=matches.matchesRule;exports.patternRule=pattern.patternRule;exports.containsRule=stringComparison.containsRule;exports.endsWithRule=stringComparison.endsWithRule;exports.notContainsRule=stringComparison.notContainsRule;exports.startsWithRule=stringComparison.startsWithRule;exports.strongPasswordRule=strongPasswordRule.strongPasswordRule;exports.urlRule=url.urlRule;exports.withoutWhitespaceRule=withoutWhitespace.withoutWhitespaceRule;exports.betweenNumbersRule=numberRules.betweenNumbersRule;exports.evenRule=numberRules.evenRule;exports.greaterThanRule=numberRules.greaterThanRule;exports.lessThanRule=numberRules.lessThanRule;exports.maxRule=numberRules.maxRule;exports.minRule=numberRules.minRule;exports.moduloRule=numberRules.moduloRule;exports.negativeRule=numberRules.negativeRule;exports.oddRule=numberRules.oddRule;exports.positiveRule=numberRules.positiveRule;exports.betweenLengthRule=lengthRules.betweenLengthRule;exports.lengthRule=lengthRules.lengthRule;exports.maxLengthRule=lengthRules.maxLengthRule;exports.maxWordsRule=lengthRules.maxWordsRule;exports.minLengthRule=lengthRules.minLengthRule;exports.minWordsRule=lengthRules.minWordsRule;exports.wordsRule=lengthRules.wordsRule;exports.sortedArrayRule=arrayRules.sortedArrayRule;exports.uniqueArrayRule=arrayRules.uniqueArrayRule;exports.ageRule=date.ageRule;exports.beforeHourRule=date.beforeHourRule;exports.beforeMinuteRule=date.beforeMinuteRule;exports.beforeTodayRule=date.beforeTodayRule;exports.betweenHoursRule=date.betweenHoursRule;exports.betweenMinutesRule=date.betweenMinutesRule;exports.dateRule=date.dateRule;exports.fromHourRule=date.fromHourRule;exports.fromMinuteRule=date.fromMinuteRule;exports.fromTodayRule=date.fromTodayRule;exports.maxAgeRule=date.maxAgeRule;exports.maxDateRule=date.maxDateRule;exports.minAgeRule=date.minAgeRule;exports.minDateRule=date.minDateRule;exports.weekDayRule=date.weekDayRule;exports.afterTodayRule=dateComparisonRules.afterTodayRule;exports.betweenDatesRule=dateComparisonRules.betweenDatesRule;exports.futureRule=dateComparisonRules.futureRule;exports.pastRule=dateComparisonRules.pastRule;exports.todayRule=dateComparisonRules.todayRule;exports.businessDayRule=dateDayRules.businessDayRule;exports.weekdayRule=dateDayRules.weekdayRule;exports.weekdaysRule=dateDayRules.weekdaysRule;exports.weekendRule=dateDayRules.weekendRule;exports.afterFieldRule=dateFieldComparisonRules.afterFieldRule;exports.beforeFieldRule=dateFieldComparisonRules.beforeFieldRule;exports.sameAsFieldDateRule=dateFieldComparisonRules.sameAsFieldDateRule;exports.betweenDaysRule=datePeriodRules.betweenDaysRule;exports.betweenMonthsRule=datePeriodRules.betweenMonthsRule;exports.betweenTimesRule=datePeriodRules.betweenTimesRule;exports.betweenYearsRule=datePeriodRules.betweenYearsRule;exports.maxDayRule=datePeriodRules.maxDayRule;exports.maxMonthRule=datePeriodRules.maxMonthRule;exports.maxYearRule=datePeriodRules.maxYearRule;exports.minDayRule=datePeriodRules.minDayRule;exports.minMonthRule=datePeriodRules.minMonthRule;exports.minYearRule=datePeriodRules.minYearRule;exports.monthRule=datePeriodRules.monthRule;exports.quarterRule=datePeriodRules.quarterRule;exports.yearRule=datePeriodRules.yearRule;exports.withinDaysRule=dateRelativeRules.withinDaysRule;exports.withinFutureDaysRule=dateRelativeRules.withinFutureDaysRule;exports.withinPastDaysRule=dateRelativeRules.withinPastDaysRule;exports.betweenAgeRule=dateSpecialRules.betweenAgeRule;exports.birthdayRule=dateSpecialRules.birthdayRule;exports.leapYearRule=dateSpecialRules.leapYearRule;exports.maxHeightRule=dimensions.maxHeightRule;exports.maxWidthRule=dimensions.maxWidthRule;exports.minHeightRule=dimensions.minHeightRule;exports.minWidthRule=dimensions.minWidthRule;exports.maxFileSizeRule=fileSize.maxFileSizeRule;exports.minFileSizeRule=fileSize.minFileSizeRule;exports.colorRule=colorRules.colorRule;exports.darkColorRule=colorRules.darkColorRule;exports.hexColorRule=colorRules.hexColorRule;exports.hslColorRule=colorRules.hslColorRule;exports.lightColorRule=colorRules.lightColorRule;exports.rgbColorRule=colorRules.rgbColorRule;exports.rgbaColorRule=colorRules.rgbaColorRule;exports.requiredIfEmptyRule=requiredIfRules.requiredIfEmptyRule;exports.requiredIfInRule=requiredIfRules.requiredIfInRule;exports.requiredIfNotEmptyRule=requiredIfRules.requiredIfNotEmptyRule;exports.requiredIfNotInRule=requiredIfRules.requiredIfNotInRule;exports.requiredIfRule=requiredIfRules.requiredIfRule;exports.requiredUnlessRule=requiredUnlessRules.requiredUnlessRule;exports.requiredWithAllRule=requiredWithRules.requiredWithAllRule;exports.requiredWithAnyRule=requiredWithRules.requiredWithAnyRule;exports.requiredWithRule=requiredWithRules.requiredWithRule;exports.requiredWithoutAllRule=requiredWithoutRules.requiredWithoutAllRule;exports.requiredWithoutAnyRule=requiredWithoutRules.requiredWithoutAnyRule;exports.requiredWithoutRule=requiredWithoutRules.requiredWithoutRule;exports.presentIfEmptyRule=presentIfRules.presentIfEmptyRule;exports.presentIfInRule=presentIfRules.presentIfInRule;exports.presentIfNotEmptyRule=presentIfRules.presentIfNotEmptyRule;exports.presentIfNotInRule=presentIfRules.presentIfNotInRule;exports.presentIfRule=presentIfRules.presentIfRule;exports.presentUnlessRule=presentUnlessRules.presentUnlessRule;exports.presentWithAllRule=presentWithRules.presentWithAllRule;exports.presentWithAnyRule=presentWithRules.presentWithAnyRule;exports.presentWithRule=presentWithRules.presentWithRule;exports.presentWithoutAllRule=presentWithoutRules.presentWithoutAllRule;exports.presentWithoutAnyRule=presentWithoutRules.presentWithoutAnyRule;exports.presentWithoutRule=presentWithoutRules.presentWithoutRule;exports.allowedValuesRule=_enum.allowedValuesRule;exports.enumRule=_enum.enumRule;exports.inRule=_enum.inRule;exports.notAllowedValuesRule=_enum.notAllowedValuesRule;exports.equalsFieldRule=equalsFieldRules.equalsFieldRule;exports.notEqualsFieldRule=equalsFieldRules.notEqualsFieldRule;exports.arrayRule=typeRules.arrayRule;exports.booleanRule=typeRules.booleanRule;exports.floatRule=typeRules.floatRule;exports.intRule=typeRules.intRule;exports.numberRule=typeRules.numberRule;exports.objectRule=typeRules.objectRule;exports.scalarRule=typeRules.scalarRule;exports.stringRule=typeRules.stringRule;exports.unknownKeyRule=unknownKey.unknownKeyRule;exports.validate=validate.validate;exports.v=validators.v;exports.getInstalledPlugins=pluginSystem.getInstalledPlugins;exports.hasPlugin=pluginSystem.hasPlugin;exports.registerPlugin=pluginSystem.registerPlugin;exports.unregisterPlugin=pluginSystem.unregisterPlugin;exports.configureSeal=config.configureSeal;exports.getSealConfig=config.getSealConfig;exports.resetSealConfig=config.resetSealConfig;//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict';var anyValidator=require('./validators/any-validator.js'),arrayValidator=require('./validators/array-validator.js'),baseValidator=require('./validators/base-validator.js'),booleanValidator=require('./validators/boolean-validator.js'),dateValidator=require('./validators/date-validator.js'),floatValidator=require('./validators/float-validator.js'),intValidator=require('./validators/int-validator.js'),numberValidator=require('./validators/number-validator.js'),objectValidator=require('./validators/object-validator.js'),scalarValidator=require('./validators/scalar-validator.js'),stringValidator=require('./validators/string-validator.js'),unionValidator=require('./validators/union-validator.js'),dateTypes=require('./types/date-types.js'),dateHelpers=require('./helpers/date-helpers.js'),getFieldValue=require('./helpers/get-field-value.js'),pathHelpers=require('./helpers/path-helpers.js'),validationHelpers=require('./helpers/validation-helpers.js'),arrayMutators=require('./mutators/array-mutators.js'),dateMutators=require('./mutators/date-mutators.js'),numberMutators=require('./mutators/number-mutators.js'),objectMutators=require('./mutators/object-mutators.js'),scalarMutators=require('./mutators/scalar-mutators.js'),stringMutators=require('./mutators/string-mutators.js'),equal=require('./rules/core/equal.js'),forbidden=require('./rules/core/forbidden.js'),required=require('./rules/core/required.js'),union=require('./rules/core/union.js'),when=require('./rules/core/when.js'),alpha=require('./rules/string/alpha.js'),creditCard=require('./rules/string/credit-card.js'),email=require('./rules/string/email.js'),ip=require('./rules/string/ip.js'),matches=require('./rules/string/matches.js'),pattern=require('./rules/string/pattern.js'),stringComparison=require('./rules/string/string-comparison.js'),strongPasswordRule=require('./rules/string/strong-password-rule.js'),url=require('./rules/string/url.js'),withoutWhitespace=require('./rules/string/without-whitespace.js'),numberRules=require('./rules/number/number-rules.js'),lengthRules=require('./rules/length/length-rules.js'),arrayRules=require('./rules/array/array-rules.js'),date=require('./rules/date/date.js'),dateComparisonRules=require('./rules/date/date-comparison-rules.js'),dateDayRules=require('./rules/date/date-day-rules.js'),dateFieldComparisonRules=require('./rules/date/date-field-comparison-rules.js'),datePeriodRules=require('./rules/date/date-period-rules.js'),dateRelativeRules=require('./rules/date/date-relative-rules.js'),dateSpecialRules=require('./rules/date/date-special-rules.js'),dimensions=require('./rules/file/dimensions.js'),fileSize=require('./rules/file/file-size.js'),colorRules=require('./rules/color/color-rules.js'),requiredIfRules=require('./rules/conditional/required-if-rules.js'),requiredUnlessRules=require('./rules/conditional/required-unless-rules.js'),requiredWithRules=require('./rules/conditional/required-with-rules.js'),requiredWithoutRules=require('./rules/conditional/required-without-rules.js'),presentIfRules=require('./rules/conditional/present-if-rules.js'),presentUnlessRules=require('./rules/conditional/present-unless-rules.js'),presentWithRules=require('./rules/conditional/present-with-rules.js'),presentWithoutRules=require('./rules/conditional/present-without-rules.js'),_enum=require('./rules/common/enum.js'),equalsFieldRules=require('./rules/common/equals-field-rules.js'),typeRules=require('./rules/common/type-rules.js'),unknownKey=require('./rules/common/unknown-key.js'),validate=require('./factory/validate.js'),validators=require('./factory/validators.js'),pluginSystem=require('./plugins/plugin-system.js'),config=require('./config.js');exports.AnyValidator=anyValidator.AnyValidator;exports.ArrayValidator=arrayValidator.ArrayValidator;exports.BaseValidator=baseValidator.BaseValidator;exports.BooleanValidator=booleanValidator.BooleanValidator;exports.DateValidator=dateValidator.DateValidator;exports.FloatValidator=floatValidator.FloatValidator;exports.IntValidator=intValidator.IntValidator;exports.NumberValidator=numberValidator.NumberValidator;exports.ObjectValidator=objectValidator.ObjectValidator;exports.ScalarValidator=scalarValidator.ScalarValidator;exports.StringValidator=stringValidator.StringValidator;exports.UnionValidator=unionValidator.UnionValidator;exports.WEEK_DAYS=dateTypes.WEEK_DAYS;exports.isDateValue=dateHelpers.isDateValue;exports.getFieldValue=getFieldValue.getFieldValue;exports.setKeyPath=pathHelpers.setKeyPath;exports.VALID_RULE=validationHelpers.VALID_RULE;exports.invalidRule=validationHelpers.invalidRule;exports.flipArrayMutator=arrayMutators.flipArrayMutator;exports.removeEmptyArrayElementsMutator=arrayMutators.removeEmptyArrayElementsMutator;exports.reverseArrayMutator=arrayMutators.reverseArrayMutator;exports.sortArrayMutator=arrayMutators.sortArrayMutator;exports.uniqueArrayMutator=arrayMutators.uniqueArrayMutator;exports.addDaysMutator=dateMutators.addDaysMutator;exports.addHoursMutator=dateMutators.addHoursMutator;exports.addMonthsMutator=dateMutators.addMonthsMutator;exports.addYearsMutator=dateMutators.addYearsMutator;exports.dateMutator=dateMutators.dateMutator;exports.toDateOnlyMutator=dateMutators.toDateOnlyMutator;exports.toEndOfDayMutator=dateMutators.toEndOfDayMutator;exports.toEndOfMonthMutator=dateMutators.toEndOfMonthMutator;exports.toEndOfYearMutator=dateMutators.toEndOfYearMutator;exports.toFormatMutator=dateMutators.toFormatMutator;exports.toISOStringMutator=dateMutators.toISOStringMutator;exports.toStartOfDayMutator=dateMutators.toStartOfDayMutator;exports.toStartOfMonthMutator=dateMutators.toStartOfMonthMutator;exports.toStartOfYearMutator=dateMutators.toStartOfYearMutator;exports.toTimeOnlyMutator=dateMutators.toTimeOnlyMutator;exports.toTimestampMutator=dateMutators.toTimestampMutator;exports.toUTCMutator=dateMutators.toUTCMutator;exports.booleanMutator=numberMutators.booleanMutator;exports.numberMutator=numberMutators.numberMutator;exports.roundNumberMutator=numberMutators.roundNumberMutator;exports.jsonMutator=objectMutators.jsonMutator;exports.objectTrimMutator=objectMutators.objectTrimMutator;exports.stripUnknownMutator=objectMutators.stripUnknownMutator;exports.stringMutator=scalarMutators.stringMutator;exports.alphaOnlyMutator=stringMutators.alphaOnlyMutator;exports.alphanumericOnlyMutator=stringMutators.alphanumericOnlyMutator;exports.appendMutator=stringMutators.appendMutator;exports.base64DecodeMutator=stringMutators.base64DecodeMutator;exports.base64EncodeMutator=stringMutators.base64EncodeMutator;exports.camelCaseMutator=stringMutators.camelCaseMutator;exports.capitalizeMutator=stringMutators.capitalizeMutator;exports.htmlEscapeMutator=stringMutators.htmlEscapeMutator;exports.kebabCaseMutator=stringMutators.kebabCaseMutator;exports.lowercaseMutator=stringMutators.lowercaseMutator;exports.ltrimMutator=stringMutators.ltrimMutator;exports.maskMutator=stringMutators.maskMutator;exports.padEndMutator=stringMutators.padEndMutator;exports.padStartMutator=stringMutators.padStartMutator;exports.pascalCaseMutator=stringMutators.pascalCaseMutator;exports.prependMutator=stringMutators.prependMutator;exports.removeNumbersMutator=stringMutators.removeNumbersMutator;exports.removeSpecialCharactersMutator=stringMutators.removeSpecialCharactersMutator;exports.repeatMutator=stringMutators.repeatMutator;exports.replaceAllMutator=stringMutators.replaceAllMutator;exports.replaceMutator=stringMutators.replaceMutator;exports.reverseMutator=stringMutators.reverseMutator;exports.rtrimMutator=stringMutators.rtrimMutator;exports.safeHtmlMutator=stringMutators.safeHtmlMutator;exports.slugMutator=stringMutators.slugMutator;exports.snakeCaseMutator=stringMutators.snakeCaseMutator;exports.stringifyMutator=stringMutators.stringifyMutator;exports.titleCaseMutator=stringMutators.titleCaseMutator;exports.trimMultipleWhitespaceMutator=stringMutators.trimMultipleWhitespaceMutator;exports.trimMutator=stringMutators.trimMutator;exports.truncateMutator=stringMutators.truncateMutator;exports.unescapeHtmlMutator=stringMutators.unescapeHtmlMutator;exports.uppercaseMutator=stringMutators.uppercaseMutator;exports.urlDecodeMutator=stringMutators.urlDecodeMutator;exports.urlEncodeMutator=stringMutators.urlEncodeMutator;exports.equalRule=equal.equalRule;exports.forbiddenRule=forbidden.forbiddenRule;exports.presentRule=required.presentRule;exports.requiredRule=required.requiredRule;exports.unionRule=union.unionRule;exports.whenRule=when.whenRule;exports.alphaNumericRule=alpha.alphaNumericRule;exports.alphaRule=alpha.alphaRule;exports.isNumericRule=alpha.isNumericRule;exports.isCreditCardRule=creditCard.isCreditCardRule;exports.emailRule=email.emailRule;exports.ip4Rule=ip.ip4Rule;exports.ip6Rule=ip.ip6Rule;exports.ipRule=ip.ipRule;exports.matchesRule=matches.matchesRule;exports.patternRule=pattern.patternRule;exports.containsRule=stringComparison.containsRule;exports.endsWithRule=stringComparison.endsWithRule;exports.notContainsRule=stringComparison.notContainsRule;exports.startsWithRule=stringComparison.startsWithRule;exports.strongPasswordRule=strongPasswordRule.strongPasswordRule;exports.urlRule=url.urlRule;exports.withoutWhitespaceRule=withoutWhitespace.withoutWhitespaceRule;exports.betweenNumbersRule=numberRules.betweenNumbersRule;exports.evenRule=numberRules.evenRule;exports.greaterThanRule=numberRules.greaterThanRule;exports.lessThanRule=numberRules.lessThanRule;exports.maxRule=numberRules.maxRule;exports.minRule=numberRules.minRule;exports.moduloRule=numberRules.moduloRule;exports.negativeRule=numberRules.negativeRule;exports.oddRule=numberRules.oddRule;exports.positiveRule=numberRules.positiveRule;exports.betweenLengthRule=lengthRules.betweenLengthRule;exports.lengthRule=lengthRules.lengthRule;exports.maxLengthRule=lengthRules.maxLengthRule;exports.maxWordsRule=lengthRules.maxWordsRule;exports.minLengthRule=lengthRules.minLengthRule;exports.minWordsRule=lengthRules.minWordsRule;exports.wordsRule=lengthRules.wordsRule;exports.sortedArrayRule=arrayRules.sortedArrayRule;exports.uniqueArrayRule=arrayRules.uniqueArrayRule;exports.ageRule=date.ageRule;exports.beforeHourRule=date.beforeHourRule;exports.beforeMinuteRule=date.beforeMinuteRule;exports.beforeTodayRule=date.beforeTodayRule;exports.betweenHoursRule=date.betweenHoursRule;exports.betweenMinutesRule=date.betweenMinutesRule;exports.dateRule=date.dateRule;exports.fromHourRule=date.fromHourRule;exports.fromMinuteRule=date.fromMinuteRule;exports.fromTodayRule=date.fromTodayRule;exports.maxAgeRule=date.maxAgeRule;exports.maxDateRule=date.maxDateRule;exports.minAgeRule=date.minAgeRule;exports.minDateRule=date.minDateRule;exports.weekDayRule=date.weekDayRule;exports.afterTodayRule=dateComparisonRules.afterTodayRule;exports.betweenDatesRule=dateComparisonRules.betweenDatesRule;exports.futureRule=dateComparisonRules.futureRule;exports.pastRule=dateComparisonRules.pastRule;exports.todayRule=dateComparisonRules.todayRule;exports.businessDayRule=dateDayRules.businessDayRule;exports.weekdayRule=dateDayRules.weekdayRule;exports.weekdaysRule=dateDayRules.weekdaysRule;exports.weekendRule=dateDayRules.weekendRule;exports.afterFieldRule=dateFieldComparisonRules.afterFieldRule;exports.beforeFieldRule=dateFieldComparisonRules.beforeFieldRule;exports.sameAsFieldDateRule=dateFieldComparisonRules.sameAsFieldDateRule;exports.betweenDaysRule=datePeriodRules.betweenDaysRule;exports.betweenMonthsRule=datePeriodRules.betweenMonthsRule;exports.betweenTimesRule=datePeriodRules.betweenTimesRule;exports.betweenYearsRule=datePeriodRules.betweenYearsRule;exports.maxDayRule=datePeriodRules.maxDayRule;exports.maxMonthRule=datePeriodRules.maxMonthRule;exports.maxYearRule=datePeriodRules.maxYearRule;exports.minDayRule=datePeriodRules.minDayRule;exports.minMonthRule=datePeriodRules.minMonthRule;exports.minYearRule=datePeriodRules.minYearRule;exports.monthRule=datePeriodRules.monthRule;exports.quarterRule=datePeriodRules.quarterRule;exports.yearRule=datePeriodRules.yearRule;exports.withinDaysRule=dateRelativeRules.withinDaysRule;exports.withinFutureDaysRule=dateRelativeRules.withinFutureDaysRule;exports.withinPastDaysRule=dateRelativeRules.withinPastDaysRule;exports.betweenAgeRule=dateSpecialRules.betweenAgeRule;exports.birthdayRule=dateSpecialRules.birthdayRule;exports.leapYearRule=dateSpecialRules.leapYearRule;exports.maxHeightRule=dimensions.maxHeightRule;exports.maxWidthRule=dimensions.maxWidthRule;exports.minHeightRule=dimensions.minHeightRule;exports.minWidthRule=dimensions.minWidthRule;exports.maxFileSizeRule=fileSize.maxFileSizeRule;exports.minFileSizeRule=fileSize.minFileSizeRule;exports.colorRule=colorRules.colorRule;exports.darkColorRule=colorRules.darkColorRule;exports.hexColorRule=colorRules.hexColorRule;exports.hslColorRule=colorRules.hslColorRule;exports.lightColorRule=colorRules.lightColorRule;exports.rgbColorRule=colorRules.rgbColorRule;exports.rgbaColorRule=colorRules.rgbaColorRule;exports.requiredIfEmptyRule=requiredIfRules.requiredIfEmptyRule;exports.requiredIfInRule=requiredIfRules.requiredIfInRule;exports.requiredIfNotEmptyRule=requiredIfRules.requiredIfNotEmptyRule;exports.requiredIfNotInRule=requiredIfRules.requiredIfNotInRule;exports.requiredIfRule=requiredIfRules.requiredIfRule;exports.requiredUnlessRule=requiredUnlessRules.requiredUnlessRule;exports.requiredWithAllRule=requiredWithRules.requiredWithAllRule;exports.requiredWithAnyRule=requiredWithRules.requiredWithAnyRule;exports.requiredWithRule=requiredWithRules.requiredWithRule;exports.requiredWithoutAllRule=requiredWithoutRules.requiredWithoutAllRule;exports.requiredWithoutAnyRule=requiredWithoutRules.requiredWithoutAnyRule;exports.requiredWithoutRule=requiredWithoutRules.requiredWithoutRule;exports.presentIfEmptyRule=presentIfRules.presentIfEmptyRule;exports.presentIfInRule=presentIfRules.presentIfInRule;exports.presentIfNotEmptyRule=presentIfRules.presentIfNotEmptyRule;exports.presentIfNotInRule=presentIfRules.presentIfNotInRule;exports.presentIfRule=presentIfRules.presentIfRule;exports.presentUnlessRule=presentUnlessRules.presentUnlessRule;exports.presentWithAllRule=presentWithRules.presentWithAllRule;exports.presentWithAnyRule=presentWithRules.presentWithAnyRule;exports.presentWithRule=presentWithRules.presentWithRule;exports.presentWithoutAllRule=presentWithoutRules.presentWithoutAllRule;exports.presentWithoutAnyRule=presentWithoutRules.presentWithoutAnyRule;exports.presentWithoutRule=presentWithoutRules.presentWithoutRule;exports.allowedValuesRule=_enum.allowedValuesRule;exports.enumRule=_enum.enumRule;exports.inRule=_enum.inRule;exports.notAllowedValuesRule=_enum.notAllowedValuesRule;exports.equalsFieldRule=equalsFieldRules.equalsFieldRule;exports.notEqualsFieldRule=equalsFieldRules.notEqualsFieldRule;exports.arrayRule=typeRules.arrayRule;exports.booleanRule=typeRules.booleanRule;exports.floatRule=typeRules.floatRule;exports.intRule=typeRules.intRule;exports.numberRule=typeRules.numberRule;exports.objectRule=typeRules.objectRule;exports.scalarRule=typeRules.scalarRule;exports.stringRule=typeRules.stringRule;exports.unknownKeyRule=unknownKey.unknownKeyRule;exports.validate=validate.validate;exports.v=validators.v;exports.getInstalledPlugins=pluginSystem.getInstalledPlugins;exports.hasPlugin=pluginSystem.hasPlugin;exports.registerPlugin=pluginSystem.registerPlugin;exports.unregisterPlugin=pluginSystem.unregisterPlugin;exports.configureSeal=config.configureSeal;exports.getSealConfig=config.getSealConfig;exports.resetSealConfig=config.resetSealConfig;//# sourceMappingURL=index.js.map
|
package/cjs/mutators/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mutators/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mutators/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-mutators.d.ts","sourceRoot":"","sources":["../../src/mutators/scalar-mutators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,OAK3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-mutators.js","sources":["../../src/mutators/scalar-mutators.ts"],"sourcesContent":[null],"names":[],"mappings":"mBAEa,aAAa,GAAY,OAAM,KAAK,KAAG;IAClD,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SchemaRule } from "../../types";
|
|
2
|
+
import type { BaseValidator } from "../../validators/base-validator";
|
|
3
|
+
/**
|
|
4
|
+
* Union rule - value must match at least one of the provided validators
|
|
5
|
+
*/
|
|
6
|
+
export declare const unionRule: SchemaRule<{
|
|
7
|
+
validators: BaseValidator[];
|
|
8
|
+
}>;
|
|
9
|
+
//# sourceMappingURL=union.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../src/rules/core/union.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,UAAU,CAAC;IAAE,UAAU,EAAE,aAAa,EAAE,CAAA;CAAE,CA2CjE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';require('@mongez/reinforcements');var validationHelpers=require('../../helpers/validation-helpers.js');/**
|
|
2
|
+
* Union rule - value must match at least one of the provided validators
|
|
3
|
+
*/
|
|
4
|
+
const unionRule = {
|
|
5
|
+
name: "union",
|
|
6
|
+
defaultErrorMessage: "Value must match one of the allowed types",
|
|
7
|
+
async validate(value, context) {
|
|
8
|
+
const validators = this.context.options.validators;
|
|
9
|
+
const firstErrorOnly = context.configurations?.firstErrorOnly ?? true;
|
|
10
|
+
const allErrors = [];
|
|
11
|
+
// Try each validator
|
|
12
|
+
for (const validator of validators) {
|
|
13
|
+
// Skip if type doesn't match (optimization)
|
|
14
|
+
if (!validator.matchesType(value)) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
// Type matches - validate
|
|
18
|
+
const result = await validator.validate(value, context);
|
|
19
|
+
if (result.isValid) {
|
|
20
|
+
// Success! Validator matched and validated
|
|
21
|
+
return validationHelpers.VALID_RULE;
|
|
22
|
+
}
|
|
23
|
+
// Failed - collect error message
|
|
24
|
+
const errorMsg = result.errors?.[0]?.error || "Validation failed";
|
|
25
|
+
allErrors.push(errorMsg);
|
|
26
|
+
// If firstErrorOnly, stop after first failed validator
|
|
27
|
+
if (firstErrorOnly) {
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// All failed or no validator matched the type
|
|
32
|
+
if (allErrors.length > 0) {
|
|
33
|
+
// At least one validator matched type but failed validation
|
|
34
|
+
this.context.errorMessage = firstErrorOnly
|
|
35
|
+
? allErrors[0]
|
|
36
|
+
: allErrors.join("; ");
|
|
37
|
+
}
|
|
38
|
+
return validationHelpers.invalidRule(this, context);
|
|
39
|
+
},
|
|
40
|
+
};exports.unionRule=unionRule;//# sourceMappingURL=union.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union.js","sources":["../../../src/rules/core/union.ts"],"sourcesContent":[null],"names":["VALID_RULE","invalidRule"],"mappings":"oHAIA;;AAEG;AACU,MAAA,SAAS,GAAgD;AACpE,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,mBAAmB,EAAE,2CAA2C;AAChE,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QACnD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,cAAc,IAAI,IAAI,CAAC;QACtE,MAAM,SAAS,GAAa,EAAE,CAAC;;AAG/B,QAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;;AAElC,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBACjC,SAAS;AACV,aAAA;;YAGD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAExD,IAAI,MAAM,CAAC,OAAO,EAAE;;AAElB,gBAAA,OAAOA,4BAAU,CAAC;AACnB,aAAA;;AAGD,YAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,mBAAmB,CAAC;AAClE,YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;AAGzB,YAAA,IAAI,cAAc,EAAE;gBAClB,MAAM;AACP,aAAA;AACF,SAAA;;AAGD,QAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;;AAExB,YAAA,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,cAAc;AACxC,kBAAE,SAAS,CAAC,CAAC,CAAC;AACd,kBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;AAED,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;"}
|
|
@@ -6,6 +6,14 @@ import { BaseValidator } from "./base-validator";
|
|
|
6
6
|
export declare class ArrayValidator extends BaseValidator {
|
|
7
7
|
validator: BaseValidator;
|
|
8
8
|
constructor(validator: BaseValidator, errorMessage?: string);
|
|
9
|
+
/**
|
|
10
|
+
* Check if value is an array type
|
|
11
|
+
*/
|
|
12
|
+
matchesType(value: any): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Clone the validator
|
|
15
|
+
*/
|
|
16
|
+
clone(): this;
|
|
9
17
|
/** Reverse array order */
|
|
10
18
|
flip(): this;
|
|
11
19
|
/** Reverse array order (alias) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-validator.d.ts","sourceRoot":"","sources":["../../src/validators/array-validator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAEtC,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa,EAC/B,YAAY,CAAC,EAAE,MAAM;IAMvB,0BAA0B;IACnB,IAAI;IAIX,kCAAkC;IAC3B,OAAO;IAId,qCAAqC;IAC9B,UAAU;IAIjB,iBAAiB;IACV,IAAI,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,GAAG,CAAC,EAAE,MAAM;IAK3D,yDAAyD;IAClD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMtD,sDAAsD;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMtD,+CAA+C;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMnD;;;;;;;;;;;;;OAaG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO9D;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAIpE,oCAAoC;IAC7B,MAAM;IAKb,2BAA2B;IACpB,MAAM,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc;IAM/C,sBAAsB;IACf,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;IAK/C,qBAAqB;IACR,QAAQ,CACnB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"array-validator.d.ts","sourceRoot":"","sources":["../../src/validators/array-validator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAEtC,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa,EAC/B,YAAY,CAAC,EAAE,MAAM;IAMvB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIvC;;OAEG;IACa,KAAK,IAAI,IAAI;IAQ7B,0BAA0B;IACnB,IAAI;IAIX,kCAAkC;IAC3B,OAAO;IAId,qCAAqC;IAC9B,UAAU;IAIjB,iBAAiB;IACV,IAAI,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,GAAG,CAAC,EAAE,MAAM;IAK3D,yDAAyD;IAClD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMtD,sDAAsD;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMtD,+CAA+C;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMnD;;;;;;;;;;;;;OAaG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO9D;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAIpE,oCAAoC;IAC7B,MAAM;IAKb,2BAA2B;IACpB,MAAM,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc;IAM/C,sBAAsB;IACf,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;IAK/C,qBAAqB;IACR,QAAQ,CACnB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,gBAAgB,CAAC;CAuC7B"}
|
|
@@ -8,6 +8,20 @@ class ArrayValidator extends baseValidator.BaseValidator {
|
|
|
8
8
|
this.validator = validator;
|
|
9
9
|
this.addRule(typeRules.arrayRule, errorMessage);
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Check if value is an array type
|
|
13
|
+
*/
|
|
14
|
+
matchesType(value) {
|
|
15
|
+
return Array.isArray(value);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Clone the validator
|
|
19
|
+
*/
|
|
20
|
+
clone() {
|
|
21
|
+
const cloned = super.clone();
|
|
22
|
+
cloned.validator = this.validator.clone();
|
|
23
|
+
return cloned;
|
|
24
|
+
}
|
|
11
25
|
/** Reverse array order */
|
|
12
26
|
flip() {
|
|
13
27
|
return this.addMutator(arrayMutators.flipArrayMutator);
|
|
@@ -93,8 +107,8 @@ class ArrayValidator extends baseValidator.BaseValidator {
|
|
|
93
107
|
if (result.isValid === false)
|
|
94
108
|
return result;
|
|
95
109
|
const errors = [];
|
|
96
|
-
|
|
97
|
-
|
|
110
|
+
// Validate all items in parallel (consistent with ObjectValidator)
|
|
111
|
+
const validationPromises = mutatedData.map(async (value, index) => {
|
|
98
112
|
const childContext = {
|
|
99
113
|
...context,
|
|
100
114
|
parent: mutatedData,
|
|
@@ -103,14 +117,14 @@ class ArrayValidator extends baseValidator.BaseValidator {
|
|
|
103
117
|
path: pathHelpers.setKeyPath(context.path, index.toString()),
|
|
104
118
|
};
|
|
105
119
|
const childResult = await this.validator.validate(value, childContext);
|
|
120
|
+
// Update mutated data with validated result
|
|
106
121
|
mutatedData[index] = childResult.data;
|
|
122
|
+
// Collect errors from this element
|
|
107
123
|
if (childResult.isValid === false) {
|
|
108
124
|
errors.push(...childResult.errors);
|
|
109
125
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
}
|
|
126
|
+
});
|
|
127
|
+
await Promise.all(validationPromises);
|
|
114
128
|
return {
|
|
115
129
|
isValid: errors.length === 0,
|
|
116
130
|
errors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-validator.js","sources":["../../src/validators/array-validator.ts"],"sourcesContent":[null],"names":["BaseValidator","arrayRule","flipArrayMutator","uniqueArrayMutator","sortArrayMutator","minLengthRule","maxLengthRule","lengthRule","betweenLengthRule","uniqueArrayRule","sortedArrayRule","setKeyPath"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"array-validator.js","sources":["../../src/validators/array-validator.ts"],"sourcesContent":[null],"names":["BaseValidator","arrayRule","flipArrayMutator","uniqueArrayMutator","sortArrayMutator","minLengthRule","maxLengthRule","lengthRule","betweenLengthRule","uniqueArrayRule","sortedArrayRule","setKeyPath"],"mappings":"4aAkBA;;AAEG;AACG,MAAO,cAAe,SAAQA,2BAAa,CAAA;AAEtC,IAAA,SAAA,CAAA;IADT,WACS,CAAA,SAAwB,EAC/B,YAAqB,EAAA;AAErB,QAAA,KAAK,EAAE,CAAC;QAHD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAe;AAI/B,QAAA,IAAI,CAAC,OAAO,CAACC,mBAAS,EAAE,YAAY,CAAC,CAAC;KACvC;AAED;;AAEG;AACI,IAAA,WAAW,CAAC,KAAU,EAAA;AAC3B,QAAA,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAC7B;AAED;;AAEG;IACa,KAAK,GAAA;AACnB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAE7B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AAE1C,QAAA,OAAO,MAAM,CAAC;KACf;;IAGM,IAAI,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAACC,8BAAgB,CAAC,CAAC;KAC1C;;IAGM,OAAO,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAACA,8BAAgB,CAAC,CAAC;KAC1C;;IAGM,UAAU,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,UAAU,CAACC,gCAAkB,CAAC,CAAC;KAC5C;;AAGM,IAAA,IAAI,CAAC,SAAA,GAA4B,KAAK,EAAE,GAAY,EAAA;QACzD,IAAI,CAAC,UAAU,CAACC,8BAAgB,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACtD,QAAA,OAAO,IAAI,CAAC;KACb;;IAGM,SAAS,CAAC,MAAc,EAAE,YAAqB,EAAA;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAACC,yBAAa,EAAE,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;AACxC,QAAA,OAAO,IAAI,CAAC;KACb;;IAGM,SAAS,CAAC,MAAc,EAAE,YAAqB,EAAA;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAACC,yBAAa,EAAE,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;AACxC,QAAA,OAAO,IAAI,CAAC;KACb;;IAGM,MAAM,CAAC,MAAc,EAAE,YAAqB,EAAA;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAACC,sBAAU,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;;;;;;AAaG;AACI,IAAA,OAAO,CAAC,GAAW,EAAE,GAAW,EAAE,YAAqB,EAAA;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAACC,6BAAiB,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,aAAa,CAAC,GAAW,EAAE,GAAW,EAAE,YAAqB,EAAA;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;KAC7C;;IAGM,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,CAACC,0BAAe,CAAC,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC;KACb;;IAGM,MAAM,CAAC,YAA4B,KAAK,EAAA;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAACC,0BAAe,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3C,QAAA,OAAO,IAAI,CAAC;KACb;;IAGM,MAAM,CAAC,IAAS,EAAE,OAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;KACzC;;AAGM,IAAA,MAAM,QAAQ,CACnB,IAAS,EACT,OAAsB,EAAA;AAEtB,QAAA,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAEnD,QAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;AAAE,YAAA,OAAO,MAAM,CAAC;QAE5C,MAAM,MAAM,GAA+B,EAAE,CAAC;;AAG9C,QAAA,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CACxC,OAAO,KAAU,EAAE,KAAa,KAAI;AAClC,YAAA,MAAM,YAAY,GAAkB;AAClC,gBAAA,GAAG,OAAO;AACV,gBAAA,MAAM,EAAE,WAAW;gBACnB,KAAK;AACL,gBAAA,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACrB,IAAI,EAAEC,sBAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;aACjD,CAAC;AAEF,YAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;;AAGvE,YAAA,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;;AAGtC,YAAA,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,aAAA;AACH,SAAC,CACF,CAAC;AAEF,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEtC,OAAO;AACL,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,IAAI,EAAE,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,OAAO,CAAC;SACnE,CAAC;KACH;AACF"}
|
|
@@ -117,6 +117,48 @@ export declare class BaseValidator {
|
|
|
117
117
|
* Add description to the validator
|
|
118
118
|
*/
|
|
119
119
|
describe(description: string): this;
|
|
120
|
+
/**
|
|
121
|
+
* Check if this validator can handle the given value's type
|
|
122
|
+
* Override this in specific validators to enable type-based routing in union validators
|
|
123
|
+
*
|
|
124
|
+
* Default: returns true (validator will attempt to validate any type)
|
|
125
|
+
*
|
|
126
|
+
* @param value - The value to check
|
|
127
|
+
* @returns True if this validator can handle this type
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```ts
|
|
131
|
+
* // StringValidator
|
|
132
|
+
* public matchesType(value: any): boolean {
|
|
133
|
+
* return typeof value === 'string';
|
|
134
|
+
* }
|
|
135
|
+
*
|
|
136
|
+
* // Custom FileValidator
|
|
137
|
+
* public matchesType(value: any): boolean {
|
|
138
|
+
* return value instanceof UploadedFile;
|
|
139
|
+
* }
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
matchesType(_value: any): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Create a copy of this validator with the same configuration
|
|
145
|
+
* Copies all rules, mutators, transformers, default values, and settings
|
|
146
|
+
*
|
|
147
|
+
* @returns A new validator instance with copied configuration
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```ts
|
|
151
|
+
* // Create reusable validator templates
|
|
152
|
+
* const baseString = v.string().required().trim().min(3);
|
|
153
|
+
* const emailField = baseString.clone().email();
|
|
154
|
+
* const usernameField = baseString.clone().alphanumeric().max(20);
|
|
155
|
+
*
|
|
156
|
+
* // Works with all validators
|
|
157
|
+
* const positiveInt = v.int().positive().required();
|
|
158
|
+
* const ageField = positiveInt.clone().min(18).max(120);
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
clone(): this;
|
|
120
162
|
/**
|
|
121
163
|
* @deprecated This method is no longer needed and does nothing.
|
|
122
164
|
* Empty values are now automatically skipped for validation rules by default.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-validator.d.ts","sourceRoot":"","sources":["../../src/validators/base-validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-validator.d.ts","sourceRoot":"","sources":["../../src/validators/base-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -144,6 +144,63 @@ class BaseValidator {
|
|
|
144
144
|
this.description = description;
|
|
145
145
|
return this;
|
|
146
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Check if this validator can handle the given value's type
|
|
149
|
+
* Override this in specific validators to enable type-based routing in union validators
|
|
150
|
+
*
|
|
151
|
+
* Default: returns true (validator will attempt to validate any type)
|
|
152
|
+
*
|
|
153
|
+
* @param value - The value to check
|
|
154
|
+
* @returns True if this validator can handle this type
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* // StringValidator
|
|
159
|
+
* public matchesType(value: any): boolean {
|
|
160
|
+
* return typeof value === 'string';
|
|
161
|
+
* }
|
|
162
|
+
*
|
|
163
|
+
* // Custom FileValidator
|
|
164
|
+
* public matchesType(value: any): boolean {
|
|
165
|
+
* return value instanceof UploadedFile;
|
|
166
|
+
* }
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
matchesType(_value) {
|
|
170
|
+
return true; // Default: permissive, attempt to validate any type
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Create a copy of this validator with the same configuration
|
|
174
|
+
* Copies all rules, mutators, transformers, default values, and settings
|
|
175
|
+
*
|
|
176
|
+
* @returns A new validator instance with copied configuration
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```ts
|
|
180
|
+
* // Create reusable validator templates
|
|
181
|
+
* const baseString = v.string().required().trim().min(3);
|
|
182
|
+
* const emailField = baseString.clone().email();
|
|
183
|
+
* const usernameField = baseString.clone().alphanumeric().max(20);
|
|
184
|
+
*
|
|
185
|
+
* // Works with all validators
|
|
186
|
+
* const positiveInt = v.int().positive().required();
|
|
187
|
+
* const ageField = positiveInt.clone().min(18).max(120);
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
190
|
+
clone() {
|
|
191
|
+
// Create a new instance using Object.create to preserve the prototype chain
|
|
192
|
+
const Constructor = this.constructor;
|
|
193
|
+
const cloned = Object.create(Constructor.prototype);
|
|
194
|
+
// Copy all BaseValidator properties
|
|
195
|
+
cloned.rules = [...this.rules];
|
|
196
|
+
cloned.mutators = [...this.mutators];
|
|
197
|
+
cloned.dataTransformers = [...this.dataTransformers];
|
|
198
|
+
cloned.defaultValue = this.defaultValue;
|
|
199
|
+
cloned.shouldOmit = this.shouldOmit;
|
|
200
|
+
cloned.description = this.description;
|
|
201
|
+
cloned.attributesText = { ...this.attributesText };
|
|
202
|
+
return cloned;
|
|
203
|
+
}
|
|
147
204
|
/**
|
|
148
205
|
* @deprecated This method is no longer needed and does nothing.
|
|
149
206
|
* Empty values are now automatically skipped for validation rules by default.
|