@warlock.js/seal 4.0.135 → 4.0.136
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/cjs/factory/validators.d.ts +1 -1
- package/cjs/factory/validators.d.ts.map +1 -1
- package/cjs/factory/validators.js +2 -2
- package/cjs/factory/validators.js.map +1 -1
- package/cjs/helpers/validation-helpers.d.ts +22 -0
- package/cjs/helpers/validation-helpers.d.ts.map +1 -1
- package/cjs/helpers/validation-helpers.js +56 -34
- package/cjs/helpers/validation-helpers.js.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/mutators/date-mutators.js +1 -1
- package/cjs/mutators/date-mutators.js.map +1 -1
- package/cjs/rules/array/array-rules.d.ts.map +1 -1
- package/cjs/rules/array/array-rules.js +1 -0
- package/cjs/rules/array/array-rules.js.map +1 -1
- package/cjs/rules/common/enum.d.ts.map +1 -1
- package/cjs/rules/common/enum.js +17 -3
- package/cjs/rules/common/enum.js.map +1 -1
- package/cjs/rules/common/equals-field-rules.d.ts.map +1 -1
- package/cjs/rules/common/equals-field-rules.js +1 -0
- package/cjs/rules/common/equals-field-rules.js.map +1 -1
- package/cjs/rules/common/type-rules.d.ts +4 -0
- package/cjs/rules/common/type-rules.d.ts.map +1 -1
- package/cjs/rules/common/type-rules.js +14 -1
- package/cjs/rules/common/type-rules.js.map +1 -1
- package/cjs/rules/common/unknown-key.js +2 -2
- package/cjs/rules/common/unknown-key.js.map +1 -1
- package/cjs/rules/conditional/forbidden-if-rules.d.ts.map +1 -1
- package/cjs/rules/conditional/forbidden-if-rules.js +6 -0
- package/cjs/rules/conditional/forbidden-if-rules.js.map +1 -1
- package/cjs/rules/conditional/index.d.ts +1 -0
- package/cjs/rules/conditional/index.d.ts.map +1 -1
- package/cjs/rules/conditional/present-if-rules.d.ts.map +1 -1
- package/cjs/rules/conditional/present-if-rules.js +2 -0
- package/cjs/rules/conditional/present-if-rules.js.map +1 -1
- package/cjs/rules/conditional/present-unless-rules.d.ts.map +1 -1
- package/cjs/rules/conditional/present-unless-rules.js +2 -0
- package/cjs/rules/conditional/present-unless-rules.js.map +1 -1
- package/cjs/rules/conditional/present-with-rules.d.ts.map +1 -1
- package/cjs/rules/conditional/present-with-rules.js +9 -2
- package/cjs/rules/conditional/present-with-rules.js.map +1 -1
- package/cjs/rules/conditional/present-without-rules.d.ts.map +1 -1
- package/cjs/rules/conditional/present-without-rules.js +9 -2
- package/cjs/rules/conditional/present-without-rules.js.map +1 -1
- package/cjs/rules/conditional/required-if-rules.d.ts.map +1 -1
- package/cjs/rules/conditional/required-if-rules.js +22 -7
- package/cjs/rules/conditional/required-if-rules.js.map +1 -1
- package/cjs/rules/conditional/required-unless-rules.d.ts.map +1 -1
- package/cjs/rules/conditional/required-unless-rules.js +2 -0
- package/cjs/rules/conditional/required-unless-rules.js.map +1 -1
- package/cjs/rules/conditional/required-when-rule.d.ts +18 -0
- package/cjs/rules/conditional/required-when-rule.d.ts.map +1 -0
- package/cjs/rules/conditional/required-when-rule.js +26 -0
- package/cjs/rules/conditional/required-when-rule.js.map +1 -0
- package/cjs/rules/conditional/required-with-rules.d.ts.map +1 -1
- package/cjs/rules/conditional/required-with-rules.js +1 -0
- package/cjs/rules/conditional/required-with-rules.js.map +1 -1
- package/cjs/rules/conditional/required-without-rules.d.ts.map +1 -1
- package/cjs/rules/conditional/required-without-rules.js +1 -0
- package/cjs/rules/conditional/required-without-rules.js.map +1 -1
- package/cjs/rules/core/equal.d.ts.map +1 -1
- package/cjs/rules/core/equal.js +1 -0
- package/cjs/rules/core/equal.js.map +1 -1
- package/cjs/rules/core/required.d.ts +1 -1
- package/cjs/rules/core/required.js +1 -1
- package/cjs/rules/date/date-comparison-rules.d.ts.map +1 -1
- package/cjs/rules/date/date-comparison-rules.js +2 -0
- package/cjs/rules/date/date-comparison-rules.js.map +1 -1
- package/cjs/rules/date/date-day-rules.d.ts.map +1 -1
- package/cjs/rules/date/date-day-rules.js +4 -1
- package/cjs/rules/date/date-day-rules.js.map +1 -1
- package/cjs/rules/date/date-field-comparison-rules.d.ts.map +1 -1
- package/cjs/rules/date/date-field-comparison-rules.js +4 -0
- package/cjs/rules/date/date-field-comparison-rules.js.map +1 -1
- package/cjs/rules/date/date-period-rules.d.ts +20 -4
- package/cjs/rules/date/date-period-rules.d.ts.map +1 -1
- package/cjs/rules/date/date-period-rules.js +44 -5
- package/cjs/rules/date/date-period-rules.js.map +1 -1
- package/cjs/rules/date/date-relative-rules.d.ts.map +1 -1
- package/cjs/rules/date/date-relative-rules.js +3 -0
- package/cjs/rules/date/date-relative-rules.js.map +1 -1
- package/cjs/rules/date/date-special-rules.d.ts.map +1 -1
- package/cjs/rules/date/date-special-rules.js +5 -6
- package/cjs/rules/date/date-special-rules.js.map +1 -1
- package/cjs/rules/date/date.d.ts.map +1 -1
- package/cjs/rules/date/date.js +15 -6
- package/cjs/rules/date/date.js.map +1 -1
- package/cjs/rules/file/dimensions.d.ts.map +1 -1
- package/cjs/rules/file/dimensions.js +4 -0
- package/cjs/rules/file/dimensions.js.map +1 -1
- package/cjs/rules/file/file-size.d.ts.map +1 -1
- package/cjs/rules/file/file-size.js +4 -22
- package/cjs/rules/file/file-size.js.map +1 -1
- package/cjs/rules/length/length-rules.d.ts.map +1 -1
- package/cjs/rules/length/length-rules.js +13 -22
- package/cjs/rules/length/length-rules.js.map +1 -1
- package/cjs/rules/number/number-rules.d.ts.map +1 -1
- package/cjs/rules/number/number-rules.js +13 -2
- package/cjs/rules/number/number-rules.js.map +1 -1
- package/cjs/rules/scalar/accepted-rule.d.ts.map +1 -1
- package/cjs/rules/scalar/accepted-rule.js +12 -5
- package/cjs/rules/scalar/accepted-rule.js.map +1 -1
- package/cjs/rules/scalar/declined-rule.d.ts.map +1 -1
- package/cjs/rules/scalar/declined-rule.js +12 -5
- package/cjs/rules/scalar/declined-rule.js.map +1 -1
- package/cjs/rules/string/matches.d.ts.map +1 -1
- package/cjs/rules/string/matches.js +1 -0
- package/cjs/rules/string/matches.js.map +1 -1
- package/cjs/rules/string/pattern.d.ts.map +1 -1
- package/cjs/rules/string/pattern.js +1 -0
- package/cjs/rules/string/pattern.js.map +1 -1
- package/cjs/rules/string/string-comparison.d.ts.map +1 -1
- package/cjs/rules/string/string-comparison.js +4 -0
- package/cjs/rules/string/string-comparison.js.map +1 -1
- package/cjs/types/context-types.d.ts +0 -1
- package/cjs/types/context-types.d.ts.map +1 -1
- package/cjs/types/inference-types.d.ts +10 -5
- package/cjs/types/inference-types.d.ts.map +1 -1
- package/cjs/types/rule-types.d.ts +4 -0
- package/cjs/types/rule-types.d.ts.map +1 -1
- package/cjs/validators/array-validator.d.ts +2 -2
- package/cjs/validators/array-validator.d.ts.map +1 -1
- package/cjs/validators/array-validator.js +13 -23
- package/cjs/validators/array-validator.js.map +1 -1
- package/cjs/validators/base-validator.d.ts +79 -369
- package/cjs/validators/base-validator.d.ts.map +1 -1
- package/cjs/validators/base-validator.js +144 -826
- package/cjs/validators/base-validator.js.map +1 -1
- package/cjs/validators/boolean-validator.d.ts +18 -15
- package/cjs/validators/boolean-validator.d.ts.map +1 -1
- package/cjs/validators/boolean-validator.js +46 -16
- package/cjs/validators/boolean-validator.js.map +1 -1
- package/cjs/validators/date-validator.d.ts +8 -3
- package/cjs/validators/date-validator.d.ts.map +1 -1
- package/cjs/validators/date-validator.js +176 -246
- package/cjs/validators/date-validator.js.map +1 -1
- package/cjs/validators/float-validator.js +1 -1
- package/cjs/validators/float-validator.js.map +1 -1
- package/cjs/validators/index.d.ts +5 -0
- package/cjs/validators/index.d.ts.map +1 -1
- package/cjs/validators/int-validator.js +1 -1
- package/cjs/validators/int-validator.js.map +1 -1
- package/cjs/validators/methods/equality-conditional-methods.d.ts +88 -0
- package/cjs/validators/methods/equality-conditional-methods.d.ts.map +1 -0
- package/cjs/validators/methods/equality-conditional-methods.js +118 -0
- package/cjs/validators/methods/equality-conditional-methods.js.map +1 -0
- package/cjs/validators/methods/forbidden-methods.d.ts +58 -0
- package/cjs/validators/methods/forbidden-methods.d.ts.map +1 -0
- package/cjs/validators/methods/forbidden-methods.js +122 -0
- package/cjs/validators/methods/forbidden-methods.js.map +1 -0
- package/cjs/validators/methods/present-methods.d.ts +102 -0
- package/cjs/validators/methods/present-methods.d.ts.map +1 -0
- package/cjs/validators/methods/present-methods.js +229 -0
- package/cjs/validators/methods/present-methods.js.map +1 -0
- package/cjs/validators/methods/required-methods.d.ts +174 -0
- package/cjs/validators/methods/required-methods.d.ts.map +1 -0
- package/cjs/validators/methods/required-methods.js +246 -0
- package/cjs/validators/methods/required-methods.js.map +1 -0
- package/cjs/validators/number-validator.d.ts +11 -13
- package/cjs/validators/number-validator.d.ts.map +1 -1
- package/cjs/validators/number-validator.js +60 -78
- package/cjs/validators/number-validator.js.map +1 -1
- package/cjs/validators/numeric-validator.js +1 -1
- package/cjs/validators/numeric-validator.js.map +1 -1
- package/cjs/validators/object-validator.d.ts +1 -0
- package/cjs/validators/object-validator.d.ts.map +1 -1
- package/cjs/validators/object-validator.js +21 -15
- package/cjs/validators/object-validator.js.map +1 -1
- package/cjs/validators/primitive-validator.d.ts +70 -0
- package/cjs/validators/primitive-validator.d.ts.map +1 -0
- package/cjs/validators/primitive-validator.js +80 -0
- package/cjs/validators/primitive-validator.js.map +1 -0
- package/cjs/validators/record-validator.d.ts +4 -0
- package/cjs/validators/record-validator.d.ts.map +1 -1
- package/cjs/validators/record-validator.js +7 -1
- package/cjs/validators/record-validator.js.map +1 -1
- package/cjs/validators/scalar-validator.d.ts +5 -15
- package/cjs/validators/scalar-validator.d.ts.map +1 -1
- package/cjs/validators/scalar-validator.js +20 -78
- package/cjs/validators/scalar-validator.js.map +1 -1
- package/cjs/validators/string-validator.d.ts +2 -18
- package/cjs/validators/string-validator.d.ts.map +1 -1
- package/cjs/validators/string-validator.js +71 -164
- package/cjs/validators/string-validator.js.map +1 -1
- package/cjs/validators/tuple-validator.d.ts.map +1 -1
- package/cjs/validators/tuple-validator.js +2 -2
- package/cjs/validators/tuple-validator.js.map +1 -1
- package/cjs/validators/union-validator.d.ts.map +1 -1
- package/cjs/validators/union-validator.js +1 -3
- package/cjs/validators/union-validator.js.map +1 -1
- package/esm/factory/validators.d.ts +1 -1
- package/esm/factory/validators.d.ts.map +1 -1
- package/esm/factory/validators.js +2 -2
- package/esm/factory/validators.js.map +1 -1
- package/esm/helpers/validation-helpers.d.ts +22 -0
- package/esm/helpers/validation-helpers.d.ts.map +1 -1
- package/esm/helpers/validation-helpers.js +56 -34
- package/esm/helpers/validation-helpers.js.map +1 -1
- package/esm/index.js +1 -1
- package/esm/mutators/date-mutators.js +1 -1
- package/esm/mutators/date-mutators.js.map +1 -1
- package/esm/rules/array/array-rules.d.ts.map +1 -1
- package/esm/rules/array/array-rules.js +1 -0
- package/esm/rules/array/array-rules.js.map +1 -1
- package/esm/rules/common/enum.d.ts.map +1 -1
- package/esm/rules/common/enum.js +18 -4
- package/esm/rules/common/enum.js.map +1 -1
- package/esm/rules/common/equals-field-rules.d.ts.map +1 -1
- package/esm/rules/common/equals-field-rules.js +1 -0
- package/esm/rules/common/equals-field-rules.js.map +1 -1
- package/esm/rules/common/type-rules.d.ts +4 -0
- package/esm/rules/common/type-rules.d.ts.map +1 -1
- package/esm/rules/common/type-rules.js +15 -2
- package/esm/rules/common/type-rules.js.map +1 -1
- package/esm/rules/common/unknown-key.js +2 -2
- package/esm/rules/common/unknown-key.js.map +1 -1
- package/esm/rules/conditional/forbidden-if-rules.d.ts.map +1 -1
- package/esm/rules/conditional/forbidden-if-rules.js +6 -0
- package/esm/rules/conditional/forbidden-if-rules.js.map +1 -1
- package/esm/rules/conditional/index.d.ts +1 -0
- package/esm/rules/conditional/index.d.ts.map +1 -1
- package/esm/rules/conditional/present-if-rules.d.ts.map +1 -1
- package/esm/rules/conditional/present-if-rules.js +2 -0
- package/esm/rules/conditional/present-if-rules.js.map +1 -1
- package/esm/rules/conditional/present-unless-rules.d.ts.map +1 -1
- package/esm/rules/conditional/present-unless-rules.js +2 -0
- package/esm/rules/conditional/present-unless-rules.js.map +1 -1
- package/esm/rules/conditional/present-with-rules.d.ts.map +1 -1
- package/esm/rules/conditional/present-with-rules.js +9 -2
- package/esm/rules/conditional/present-with-rules.js.map +1 -1
- package/esm/rules/conditional/present-without-rules.d.ts.map +1 -1
- package/esm/rules/conditional/present-without-rules.js +9 -2
- package/esm/rules/conditional/present-without-rules.js.map +1 -1
- package/esm/rules/conditional/required-if-rules.d.ts.map +1 -1
- package/esm/rules/conditional/required-if-rules.js +22 -7
- package/esm/rules/conditional/required-if-rules.js.map +1 -1
- package/esm/rules/conditional/required-unless-rules.d.ts.map +1 -1
- package/esm/rules/conditional/required-unless-rules.js +2 -0
- package/esm/rules/conditional/required-unless-rules.js.map +1 -1
- package/esm/rules/conditional/required-when-rule.d.ts +18 -0
- package/esm/rules/conditional/required-when-rule.d.ts.map +1 -0
- package/esm/rules/conditional/required-when-rule.js +26 -0
- package/esm/rules/conditional/required-when-rule.js.map +1 -0
- package/esm/rules/conditional/required-with-rules.d.ts.map +1 -1
- package/esm/rules/conditional/required-with-rules.js +1 -0
- package/esm/rules/conditional/required-with-rules.js.map +1 -1
- package/esm/rules/conditional/required-without-rules.d.ts.map +1 -1
- package/esm/rules/conditional/required-without-rules.js +1 -0
- package/esm/rules/conditional/required-without-rules.js.map +1 -1
- package/esm/rules/core/equal.d.ts.map +1 -1
- package/esm/rules/core/equal.js +1 -0
- package/esm/rules/core/equal.js.map +1 -1
- package/esm/rules/core/required.d.ts +1 -1
- package/esm/rules/core/required.js +1 -1
- package/esm/rules/date/date-comparison-rules.d.ts.map +1 -1
- package/esm/rules/date/date-comparison-rules.js +2 -0
- package/esm/rules/date/date-comparison-rules.js.map +1 -1
- package/esm/rules/date/date-day-rules.d.ts.map +1 -1
- package/esm/rules/date/date-day-rules.js +4 -1
- package/esm/rules/date/date-day-rules.js.map +1 -1
- package/esm/rules/date/date-field-comparison-rules.d.ts.map +1 -1
- package/esm/rules/date/date-field-comparison-rules.js +4 -0
- package/esm/rules/date/date-field-comparison-rules.js.map +1 -1
- package/esm/rules/date/date-period-rules.d.ts +20 -4
- package/esm/rules/date/date-period-rules.d.ts.map +1 -1
- package/esm/rules/date/date-period-rules.js +44 -5
- package/esm/rules/date/date-period-rules.js.map +1 -1
- package/esm/rules/date/date-relative-rules.d.ts.map +1 -1
- package/esm/rules/date/date-relative-rules.js +3 -0
- package/esm/rules/date/date-relative-rules.js.map +1 -1
- package/esm/rules/date/date-special-rules.d.ts.map +1 -1
- package/esm/rules/date/date-special-rules.js +5 -6
- package/esm/rules/date/date-special-rules.js.map +1 -1
- package/esm/rules/date/date.d.ts.map +1 -1
- package/esm/rules/date/date.js +15 -6
- package/esm/rules/date/date.js.map +1 -1
- package/esm/rules/file/dimensions.d.ts.map +1 -1
- package/esm/rules/file/dimensions.js +4 -0
- package/esm/rules/file/dimensions.js.map +1 -1
- package/esm/rules/file/file-size.d.ts.map +1 -1
- package/esm/rules/file/file-size.js +4 -22
- package/esm/rules/file/file-size.js.map +1 -1
- package/esm/rules/length/length-rules.d.ts.map +1 -1
- package/esm/rules/length/length-rules.js +13 -22
- package/esm/rules/length/length-rules.js.map +1 -1
- package/esm/rules/number/number-rules.d.ts.map +1 -1
- package/esm/rules/number/number-rules.js +13 -2
- package/esm/rules/number/number-rules.js.map +1 -1
- package/esm/rules/scalar/accepted-rule.d.ts.map +1 -1
- package/esm/rules/scalar/accepted-rule.js +12 -5
- package/esm/rules/scalar/accepted-rule.js.map +1 -1
- package/esm/rules/scalar/declined-rule.d.ts.map +1 -1
- package/esm/rules/scalar/declined-rule.js +12 -5
- package/esm/rules/scalar/declined-rule.js.map +1 -1
- package/esm/rules/string/matches.d.ts.map +1 -1
- package/esm/rules/string/matches.js +1 -0
- package/esm/rules/string/matches.js.map +1 -1
- package/esm/rules/string/pattern.d.ts.map +1 -1
- package/esm/rules/string/pattern.js +1 -0
- package/esm/rules/string/pattern.js.map +1 -1
- package/esm/rules/string/string-comparison.d.ts.map +1 -1
- package/esm/rules/string/string-comparison.js +4 -0
- package/esm/rules/string/string-comparison.js.map +1 -1
- package/esm/types/context-types.d.ts +0 -1
- package/esm/types/context-types.d.ts.map +1 -1
- package/esm/types/inference-types.d.ts +10 -5
- package/esm/types/inference-types.d.ts.map +1 -1
- package/esm/types/rule-types.d.ts +4 -0
- package/esm/types/rule-types.d.ts.map +1 -1
- package/esm/validators/array-validator.d.ts +2 -2
- package/esm/validators/array-validator.d.ts.map +1 -1
- package/esm/validators/array-validator.js +13 -23
- package/esm/validators/array-validator.js.map +1 -1
- package/esm/validators/base-validator.d.ts +79 -369
- package/esm/validators/base-validator.d.ts.map +1 -1
- package/esm/validators/base-validator.js +144 -826
- package/esm/validators/base-validator.js.map +1 -1
- package/esm/validators/boolean-validator.d.ts +18 -15
- package/esm/validators/boolean-validator.d.ts.map +1 -1
- package/esm/validators/boolean-validator.js +46 -16
- package/esm/validators/boolean-validator.js.map +1 -1
- package/esm/validators/date-validator.d.ts +8 -3
- package/esm/validators/date-validator.d.ts.map +1 -1
- package/esm/validators/date-validator.js +176 -246
- package/esm/validators/date-validator.js.map +1 -1
- package/esm/validators/float-validator.js +1 -1
- package/esm/validators/float-validator.js.map +1 -1
- package/esm/validators/index.d.ts +5 -0
- package/esm/validators/index.d.ts.map +1 -1
- package/esm/validators/int-validator.js +1 -1
- package/esm/validators/int-validator.js.map +1 -1
- package/esm/validators/methods/equality-conditional-methods.d.ts +88 -0
- package/esm/validators/methods/equality-conditional-methods.d.ts.map +1 -0
- package/esm/validators/methods/equality-conditional-methods.js +118 -0
- package/esm/validators/methods/equality-conditional-methods.js.map +1 -0
- package/esm/validators/methods/forbidden-methods.d.ts +58 -0
- package/esm/validators/methods/forbidden-methods.d.ts.map +1 -0
- package/esm/validators/methods/forbidden-methods.js +122 -0
- package/esm/validators/methods/forbidden-methods.js.map +1 -0
- package/esm/validators/methods/present-methods.d.ts +102 -0
- package/esm/validators/methods/present-methods.d.ts.map +1 -0
- package/esm/validators/methods/present-methods.js +229 -0
- package/esm/validators/methods/present-methods.js.map +1 -0
- package/esm/validators/methods/required-methods.d.ts +174 -0
- package/esm/validators/methods/required-methods.d.ts.map +1 -0
- package/esm/validators/methods/required-methods.js +246 -0
- package/esm/validators/methods/required-methods.js.map +1 -0
- package/esm/validators/number-validator.d.ts +11 -13
- package/esm/validators/number-validator.d.ts.map +1 -1
- package/esm/validators/number-validator.js +60 -78
- package/esm/validators/number-validator.js.map +1 -1
- package/esm/validators/numeric-validator.js +1 -1
- package/esm/validators/numeric-validator.js.map +1 -1
- package/esm/validators/object-validator.d.ts +1 -0
- package/esm/validators/object-validator.d.ts.map +1 -1
- package/esm/validators/object-validator.js +21 -15
- package/esm/validators/object-validator.js.map +1 -1
- package/esm/validators/primitive-validator.d.ts +70 -0
- package/esm/validators/primitive-validator.d.ts.map +1 -0
- package/esm/validators/primitive-validator.js +80 -0
- package/esm/validators/primitive-validator.js.map +1 -0
- package/esm/validators/record-validator.d.ts +4 -0
- package/esm/validators/record-validator.d.ts.map +1 -1
- package/esm/validators/record-validator.js +8 -2
- package/esm/validators/record-validator.js.map +1 -1
- package/esm/validators/scalar-validator.d.ts +5 -15
- package/esm/validators/scalar-validator.d.ts.map +1 -1
- package/esm/validators/scalar-validator.js +20 -78
- package/esm/validators/scalar-validator.js.map +1 -1
- package/esm/validators/string-validator.d.ts +2 -18
- package/esm/validators/string-validator.d.ts.map +1 -1
- package/esm/validators/string-validator.js +71 -164
- package/esm/validators/string-validator.js.map +1 -1
- package/esm/validators/tuple-validator.d.ts.map +1 -1
- package/esm/validators/tuple-validator.js +2 -2
- package/esm/validators/tuple-validator.js.map +1 -1
- package/esm/validators/union-validator.d.ts.map +1 -1
- package/esm/validators/union-validator.js +1 -3
- package/esm/validators/union-validator.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,25 +2,30 @@ import type { AnyValidator, ArrayValidator, BaseValidator, BooleanValidator, Com
|
|
|
2
2
|
/**
|
|
3
3
|
* Infer the output type from a validator
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Actual requirement validation happens at runtime.
|
|
5
|
+
* Fields marked with .optional() become optional keys in the inferred type.
|
|
7
6
|
* Fields marked with .omit() or .exclude() are excluded from the type.
|
|
8
7
|
*
|
|
9
8
|
* @example
|
|
10
9
|
* ```ts
|
|
11
10
|
* const schema = v.object({
|
|
12
11
|
* name: v.string().required(),
|
|
13
|
-
* email: v.string().email(),
|
|
12
|
+
* email: v.string().email().optional(),
|
|
14
13
|
* confirmEmail: v.string().sameAs("email").omit(),
|
|
15
14
|
* });
|
|
16
15
|
*
|
|
17
16
|
* type User = Infer<typeof schema>;
|
|
18
|
-
* // Result: { name: string; email
|
|
17
|
+
* // Result: { name: string; email?: string }
|
|
19
18
|
* // confirmEmail is omitted from type
|
|
20
19
|
* ```
|
|
21
20
|
*/
|
|
22
21
|
export type Infer<T> = T extends ObjectValidator<infer S> ? {
|
|
23
|
-
[K in keyof S
|
|
22
|
+
[K in keyof S as S[K] extends {
|
|
23
|
+
isOptional: true;
|
|
24
|
+
} ? K : never]?: Infer<S[K]>;
|
|
25
|
+
} & {
|
|
26
|
+
[K in keyof S as S[K] extends {
|
|
27
|
+
isOptional: true;
|
|
28
|
+
} ? never : K]: Infer<S[K]>;
|
|
24
29
|
} : T extends ArrayValidator ? T extends {
|
|
25
30
|
validator: infer V extends BaseValidator;
|
|
26
31
|
} ? Array<Infer<V>> : never : T extends ComputedValidator<infer R> ? R : T extends ManagedValidator<infer R> ? R : T extends StringValidator ? string : T extends IntValidator ? number : T extends FloatValidator ? number : T extends BooleanValidator ? boolean : T extends DateValidator ? Date : T extends ScalarValidator ? string | number | boolean : T extends AnyValidator ? any : unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inference-types.d.ts","sourceRoot":"","sources":["../../src/types/inference-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EAChB,MAAM,eAAe,CAAC;AAEvB
|
|
1
|
+
{"version":3,"file":"inference-types.d.ts","sourceRoot":"","sources":["../../src/types/inference-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EAChB,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,KAAK,CAAC,CAAC,IACjB,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,CAAC,GAC9B;KAEG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E,GAAG;KAED,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7E,GACD,CAAC,SAAS,cAAc,GACtB,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAC,SAAS,aAAa,CAAA;CAAE,GACpD,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACf,KAAK,GACP,CAAC,SAAS,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAClC,CAAC,GACD,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GACjC,CAAC,GACD,CAAC,SAAS,eAAe,GACvB,MAAM,GACN,CAAC,SAAS,YAAY,GACpB,MAAM,GACN,CAAC,SAAS,cAAc,GACtB,MAAM,GACN,CAAC,SAAS,gBAAgB,GACxB,OAAO,GACP,CAAC,SAAS,aAAa,GACrB,IAAI,GACJ,CAAC,SAAS,eAAe,GACvB,MAAM,GAAG,MAAM,GAAG,OAAO,GACzB,CAAC,SAAS,YAAY,GACpB,GAAG,GACH,OAAO,CAAC"}
|
|
@@ -48,6 +48,10 @@ export type ContextualSchemaRule<Options extends SchemaRuleOptions = SchemaRuleO
|
|
|
48
48
|
options: Options;
|
|
49
49
|
attributesList: ValidationAttributesList;
|
|
50
50
|
translatedAttributes: Record<string, string>;
|
|
51
|
+
/** Raw placeholder values — substituted as-is (enums, numbers, computed strings) */
|
|
52
|
+
translationParams: Record<string, any>;
|
|
53
|
+
/** Field-key placeholder values — passed through the attribute translator before substitution */
|
|
54
|
+
translatableParams: Record<string, string>;
|
|
51
55
|
};
|
|
52
56
|
};
|
|
53
57
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-types.d.ts","sourceRoot":"","sources":["../../src/types/rule-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB;IACE,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEN,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtC,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,MAAM,EACN,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"rule-types.d.ts","sourceRoot":"","sources":["../../src/types/rule-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB;IACE,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEN,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtC,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,MAAM,EACN,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IAC9E,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0BAA0B;IAC1B,QAAQ,EAAE,CACR,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,EACnC,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,aAAa,KACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,4BAA4B;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,IACpF,UAAU,GAAG;IACX;;;OAGG;IACH,OAAO,EAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,EAAE,wBAAwB,CAAC;QACzC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,oFAAoF;QACpF,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvC,iGAAiG;QACjG,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC5C,CAAC;CACH,CAAC"}
|
|
@@ -48,9 +48,9 @@ export declare class ArrayValidator extends BaseValidator {
|
|
|
48
48
|
*/
|
|
49
49
|
lengthBetween(min: number, max: number, errorMessage?: string): this;
|
|
50
50
|
/** Array must have unique values */
|
|
51
|
-
unique(): this;
|
|
51
|
+
unique(errorMessage?: string): this;
|
|
52
52
|
/** Array must be sorted */
|
|
53
|
-
sorted(direction?: "asc" | "desc"): this;
|
|
53
|
+
sorted(direction?: "asc" | "desc", errorMessage?: string): this;
|
|
54
54
|
/** Mutate the data */
|
|
55
55
|
mutate(data: any, context: SchemaContext): any;
|
|
56
56
|
/** Validate array */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-validator.d.ts","sourceRoot":"","sources":["../../src/validators/array-validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"array-validator.d.ts","sourceRoot":"","sources":["../../src/validators/array-validator.ts"],"names":[],"mappings":"AAWA,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;IAI3D,yDAAyD;IAClD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,sDAAsD;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD,+CAA+C;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAInD;;;;;;;;;;;;;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,CAAC,YAAY,CAAC,EAAE,MAAM;IAInC,2BAA2B;IACpB,MAAM,CAAC,SAAS,GAAE,KAAK,GAAG,MAAc,EAAE,YAAY,CAAC,EAAE,MAAM;IAItE,sBAAsB;IACf,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;IAK/C,qBAAqB;IACR,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAqCpF"}
|
|
@@ -6,7 +6,7 @@ class ArrayValidator extends BaseValidator {
|
|
|
6
6
|
constructor(validator, errorMessage) {
|
|
7
7
|
super();
|
|
8
8
|
this.validator = validator;
|
|
9
|
-
this.
|
|
9
|
+
this.addMutableRule(arrayRule, errorMessage);
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Check if value is an array type
|
|
@@ -36,26 +36,19 @@ class ArrayValidator extends BaseValidator {
|
|
|
36
36
|
}
|
|
37
37
|
/** Sort array */
|
|
38
38
|
sort(direction = "asc", key) {
|
|
39
|
-
this.addMutator(sortArrayMutator, { direction, key });
|
|
40
|
-
return this;
|
|
39
|
+
return this.addMutator(sortArrayMutator, { direction, key });
|
|
41
40
|
}
|
|
42
41
|
/** Array length must be greater than the given length */
|
|
43
42
|
minLength(length, errorMessage) {
|
|
44
|
-
|
|
45
|
-
rule.context.options.minLength = length;
|
|
46
|
-
return this;
|
|
43
|
+
return this.addRule(minLengthRule, errorMessage, { minLength: length });
|
|
47
44
|
}
|
|
48
45
|
/** Array length must be less than the given length */
|
|
49
46
|
maxLength(length, errorMessage) {
|
|
50
|
-
|
|
51
|
-
rule.context.options.maxLength = length;
|
|
52
|
-
return this;
|
|
47
|
+
return this.addRule(maxLengthRule, errorMessage, { maxLength: length });
|
|
53
48
|
}
|
|
54
49
|
/** Array length must be of the given length */
|
|
55
50
|
length(length, errorMessage) {
|
|
56
|
-
|
|
57
|
-
rule.context.options.length = length;
|
|
58
|
-
return this;
|
|
51
|
+
return this.addRule(lengthRule, errorMessage, { length });
|
|
59
52
|
}
|
|
60
53
|
/**
|
|
61
54
|
* Array length must be between min and max (inclusive)
|
|
@@ -72,10 +65,10 @@ class ArrayValidator extends BaseValidator {
|
|
|
72
65
|
* @category Validation Rule
|
|
73
66
|
*/
|
|
74
67
|
between(min, max, errorMessage) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
68
|
+
return this.addRule(betweenLengthRule, errorMessage, {
|
|
69
|
+
minLength: min,
|
|
70
|
+
maxLength: max,
|
|
71
|
+
});
|
|
79
72
|
}
|
|
80
73
|
/**
|
|
81
74
|
* Alias for between() - array length between min and max
|
|
@@ -84,15 +77,12 @@ class ArrayValidator extends BaseValidator {
|
|
|
84
77
|
return this.between(min, max, errorMessage);
|
|
85
78
|
}
|
|
86
79
|
/** Array must have unique values */
|
|
87
|
-
unique() {
|
|
88
|
-
this.addRule(uniqueArrayRule);
|
|
89
|
-
return this;
|
|
80
|
+
unique(errorMessage) {
|
|
81
|
+
return this.addRule(uniqueArrayRule, errorMessage);
|
|
90
82
|
}
|
|
91
83
|
/** Array must be sorted */
|
|
92
|
-
sorted(direction = "asc") {
|
|
93
|
-
|
|
94
|
-
rule.context.options.direction = direction;
|
|
95
|
-
return this;
|
|
84
|
+
sorted(direction = "asc", errorMessage) {
|
|
85
|
+
return this.addRule(sortedArrayRule, errorMessage, { direction });
|
|
96
86
|
}
|
|
97
87
|
/** Mutate the data */
|
|
98
88
|
mutate(data, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-validator.js","sources":["../../src/validators/array-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"array-validator.js","sources":["../../src/validators/array-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|