@warlock.js/seal 3.0.14
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 -0
- package/cjs/config.d.ts +48 -0
- package/cjs/config.d.ts.map +1 -0
- package/cjs/config.js +42 -0
- package/cjs/config.js.map +1 -0
- package/cjs/factory/index.d.ts +3 -0
- package/cjs/factory/index.d.ts.map +1 -0
- package/cjs/factory/validate.d.ts +8 -0
- package/cjs/factory/validate.d.ts.map +1 -0
- package/cjs/factory/validate.js +21 -0
- package/cjs/factory/validate.js.map +1 -0
- package/cjs/factory/validators.d.ts +32 -0
- package/cjs/factory/validators.d.ts.map +1 -0
- package/cjs/factory/validators.js +38 -0
- package/cjs/factory/validators.js.map +1 -0
- package/cjs/helpers/date-helpers.d.ts +16 -0
- package/cjs/helpers/date-helpers.d.ts.map +1 -0
- package/cjs/helpers/date-helpers.js +25 -0
- package/cjs/helpers/date-helpers.js.map +1 -0
- package/cjs/helpers/get-field-value.d.ts +37 -0
- package/cjs/helpers/get-field-value.d.ts.map +1 -0
- package/cjs/helpers/get-field-value.js +40 -0
- package/cjs/helpers/get-field-value.js.map +1 -0
- package/cjs/helpers/index.d.ts +5 -0
- package/cjs/helpers/index.d.ts.map +1 -0
- package/cjs/helpers/path-helpers.d.ts +5 -0
- package/cjs/helpers/path-helpers.d.ts.map +1 -0
- package/cjs/helpers/path-helpers.js +8 -0
- package/cjs/helpers/path-helpers.js.map +1 -0
- package/cjs/helpers/validation-helpers.d.ts +4 -0
- package/cjs/helpers/validation-helpers.d.ts.map +1 -0
- package/cjs/helpers/validation-helpers.js +39 -0
- package/cjs/helpers/validation-helpers.js.map +1 -0
- package/cjs/index.d.ts +29 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -0
- package/cjs/mutators/array-mutators.d.ts +12 -0
- package/cjs/mutators/array-mutators.d.ts.map +1 -0
- package/cjs/mutators/array-mutators.js +37 -0
- package/cjs/mutators/array-mutators.js.map +1 -0
- package/cjs/mutators/date-mutators.d.ts +39 -0
- package/cjs/mutators/date-mutators.d.ts.map +1 -0
- package/cjs/mutators/date-mutators.js +120 -0
- package/cjs/mutators/date-mutators.js.map +1 -0
- package/cjs/mutators/index.d.ts +6 -0
- package/cjs/mutators/index.d.ts.map +1 -0
- package/cjs/mutators/number-mutators.d.ts +8 -0
- package/cjs/mutators/number-mutators.d.ts.map +1 -0
- package/cjs/mutators/number-mutators.js +18 -0
- package/cjs/mutators/number-mutators.js.map +1 -0
- package/cjs/mutators/object-mutators.d.ts +8 -0
- package/cjs/mutators/object-mutators.d.ts.map +1 -0
- package/cjs/mutators/object-mutators.js +50 -0
- package/cjs/mutators/object-mutators.js.map +1 -0
- package/cjs/mutators/string-mutators.d.ts +72 -0
- package/cjs/mutators/string-mutators.d.ts.map +1 -0
- package/cjs/mutators/string-mutators.js +193 -0
- package/cjs/mutators/string-mutators.js.map +1 -0
- package/cjs/plugins/index.d.ts +7 -0
- package/cjs/plugins/index.d.ts.map +1 -0
- package/cjs/plugins/plugin-system.d.ts +71 -0
- package/cjs/plugins/plugin-system.d.ts.map +1 -0
- package/cjs/plugins/plugin-system.js +68 -0
- package/cjs/plugins/plugin-system.js.map +1 -0
- package/cjs/rules/array/array-rules.d.ts +12 -0
- package/cjs/rules/array/array-rules.d.ts.map +1 -0
- package/cjs/rules/array/array-rules.js +44 -0
- package/cjs/rules/array/array-rules.js.map +1 -0
- package/cjs/rules/array/index.d.ts +2 -0
- package/cjs/rules/array/index.d.ts.map +1 -0
- package/cjs/rules/color/color-rules.d.ts +30 -0
- package/cjs/rules/color/color-rules.d.ts.map +1 -0
- package/cjs/rules/color/color-rules.js +120 -0
- package/cjs/rules/color/color-rules.js.map +1 -0
- package/cjs/rules/color/index.d.ts +2 -0
- package/cjs/rules/color/index.d.ts.map +1 -0
- package/cjs/rules/common/enum.d.ts +26 -0
- package/cjs/rules/common/enum.d.ts.map +1 -0
- package/cjs/rules/common/enum.js +55 -0
- package/cjs/rules/common/enum.js.map +1 -0
- package/cjs/rules/common/equals-field-rules.d.ts +18 -0
- package/cjs/rules/common/equals-field-rules.d.ts.map +1 -0
- package/cjs/rules/common/equals-field-rules.js +38 -0
- package/cjs/rules/common/equals-field-rules.js.map +1 -0
- package/cjs/rules/common/index.d.ts +5 -0
- package/cjs/rules/common/index.d.ts.map +1 -0
- package/cjs/rules/common/type-rules.d.ts +34 -0
- package/cjs/rules/common/type-rules.d.ts.map +1 -0
- package/cjs/rules/common/type-rules.js +104 -0
- package/cjs/rules/common/type-rules.js.map +1 -0
- package/cjs/rules/common/unknown-key.d.ts +9 -0
- package/cjs/rules/common/unknown-key.d.ts.map +1 -0
- package/cjs/rules/common/unknown-key.js +20 -0
- package/cjs/rules/common/unknown-key.js.map +1 -0
- package/cjs/rules/conditional/index.d.ts +9 -0
- package/cjs/rules/conditional/index.d.ts.map +1 -0
- package/cjs/rules/conditional/present-if-rules.d.ts +45 -0
- package/cjs/rules/conditional/present-if-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/present-if-rules.js +98 -0
- package/cjs/rules/conditional/present-if-rules.js.map +1 -0
- package/cjs/rules/conditional/present-unless-rules.d.ts +11 -0
- package/cjs/rules/conditional/present-unless-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/present-unless-rules.js +20 -0
- package/cjs/rules/conditional/present-unless-rules.js.map +1 -0
- package/cjs/rules/conditional/present-with-rules.d.ts +26 -0
- package/cjs/rules/conditional/present-with-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/present-with-rules.js +63 -0
- package/cjs/rules/conditional/present-with-rules.js.map +1 -0
- package/cjs/rules/conditional/present-without-rules.d.ts +26 -0
- package/cjs/rules/conditional/present-without-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/present-without-rules.js +63 -0
- package/cjs/rules/conditional/present-without-rules.js.map +1 -0
- package/cjs/rules/conditional/required-if-rules.d.ts +45 -0
- package/cjs/rules/conditional/required-if-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/required-if-rules.js +98 -0
- package/cjs/rules/conditional/required-if-rules.js.map +1 -0
- package/cjs/rules/conditional/required-unless-rules.d.ts +11 -0
- package/cjs/rules/conditional/required-unless-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/required-unless-rules.js +20 -0
- package/cjs/rules/conditional/required-unless-rules.js.map +1 -0
- package/cjs/rules/conditional/required-with-rules.d.ts +26 -0
- package/cjs/rules/conditional/required-with-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/required-with-rules.js +63 -0
- package/cjs/rules/conditional/required-with-rules.js.map +1 -0
- package/cjs/rules/conditional/required-without-rules.d.ts +26 -0
- package/cjs/rules/conditional/required-without-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/required-without-rules.js +63 -0
- package/cjs/rules/conditional/required-without-rules.js.map +1 -0
- package/cjs/rules/core/equal.d.ts +8 -0
- package/cjs/rules/core/equal.d.ts.map +1 -0
- package/cjs/rules/core/equal.js +13 -0
- package/cjs/rules/core/equal.js.map +1 -0
- package/cjs/rules/core/forbidden.d.ts +6 -0
- package/cjs/rules/core/forbidden.d.ts.map +1 -0
- package/cjs/rules/core/forbidden.js +13 -0
- package/cjs/rules/core/forbidden.js.map +1 -0
- package/cjs/rules/core/index.d.ts +5 -0
- package/cjs/rules/core/index.d.ts.map +1 -0
- package/cjs/rules/core/required.d.ts +11 -0
- package/cjs/rules/core/required.d.ts.map +1 -0
- package/cjs/rules/core/required.js +31 -0
- package/cjs/rules/core/required.js.map +1 -0
- package/cjs/rules/core/when.d.ts +6 -0
- package/cjs/rules/core/when.d.ts.map +1 -0
- package/cjs/rules/core/when.js +40 -0
- package/cjs/rules/core/when.js.map +1 -0
- package/cjs/rules/date/date-comparison-rules.d.ts +25 -0
- package/cjs/rules/date/date-comparison-rules.d.ts.map +1 -0
- package/cjs/rules/date/date-comparison-rules.js +78 -0
- package/cjs/rules/date/date-comparison-rules.js.map +1 -0
- package/cjs/rules/date/date-day-rules.d.ts +21 -0
- package/cjs/rules/date/date-day-rules.d.ts.map +1 -0
- package/cjs/rules/date/date-day-rules.js +65 -0
- package/cjs/rules/date/date-day-rules.js.map +1 -0
- package/cjs/rules/date/date-field-comparison-rules.d.ts +28 -0
- package/cjs/rules/date/date-field-comparison-rules.d.ts.map +1 -0
- package/cjs/rules/date/date-field-comparison-rules.js +90 -0
- package/cjs/rules/date/date-field-comparison-rules.js.map +1 -0
- package/cjs/rules/date/date-period-rules.d.ts +108 -0
- package/cjs/rules/date/date-period-rules.d.ts.map +1 -0
- package/cjs/rules/date/date-period-rules.js +566 -0
- package/cjs/rules/date/date-period-rules.js.map +1 -0
- package/cjs/rules/date/date-relative-rules.d.ts +20 -0
- package/cjs/rules/date/date-relative-rules.d.ts.map +1 -0
- package/cjs/rules/date/date-relative-rules.js +57 -0
- package/cjs/rules/date/date-relative-rules.js.map +1 -0
- package/cjs/rules/date/date-special-rules.d.ts +20 -0
- package/cjs/rules/date/date-special-rules.d.ts.map +1 -0
- package/cjs/rules/date/date-special-rules.js +72 -0
- package/cjs/rules/date/date-special-rules.js.map +1 -0
- package/cjs/rules/date/date.d.ts +93 -0
- package/cjs/rules/date/date.d.ts.map +1 -0
- package/cjs/rules/date/date.js +279 -0
- package/cjs/rules/date/date.js.map +1 -0
- package/cjs/rules/date/index.d.ts +8 -0
- package/cjs/rules/date/index.d.ts.map +1 -0
- package/cjs/rules/file/dimensions.d.ts +26 -0
- package/cjs/rules/file/dimensions.d.ts.map +1 -0
- package/cjs/rules/file/dimensions.js +56 -0
- package/cjs/rules/file/dimensions.js.map +1 -0
- package/cjs/rules/file/file-size.d.ts +14 -0
- package/cjs/rules/file/file-size.d.ts.map +1 -0
- package/cjs/rules/file/file-size.js +26 -0
- package/cjs/rules/file/file-size.js.map +1 -0
- package/cjs/rules/file/index.d.ts +11 -0
- package/cjs/rules/file/index.d.ts.map +1 -0
- package/cjs/rules/index.d.ts +19 -0
- package/cjs/rules/index.d.ts.map +1 -0
- package/cjs/rules/length/index.d.ts +2 -0
- package/cjs/rules/length/index.d.ts.map +1 -0
- package/cjs/rules/length/length-rules.d.ts +49 -0
- package/cjs/rules/length/length-rules.d.ts.map +1 -0
- package/cjs/rules/length/length-rules.js +116 -0
- package/cjs/rules/length/length-rules.js.map +1 -0
- package/cjs/rules/number/index.d.ts +2 -0
- package/cjs/rules/number/index.d.ts.map +1 -0
- package/cjs/rules/number/number-rules.d.ts +43 -0
- package/cjs/rules/number/number-rules.d.ts.map +1 -0
- package/cjs/rules/number/number-rules.js +107 -0
- package/cjs/rules/number/number-rules.js.map +1 -0
- package/cjs/rules/scalar/accepted-rule.d.ts +39 -0
- package/cjs/rules/scalar/accepted-rule.d.ts.map +1 -0
- package/cjs/rules/scalar/accepted-rule.js +110 -0
- package/cjs/rules/scalar/accepted-rule.js.map +1 -0
- package/cjs/rules/scalar/declined-rule.d.ts +39 -0
- package/cjs/rules/scalar/declined-rule.d.ts.map +1 -0
- package/cjs/rules/scalar/declined-rule.js +110 -0
- package/cjs/rules/scalar/declined-rule.js.map +1 -0
- package/cjs/rules/scalar/index.d.ts +3 -0
- package/cjs/rules/scalar/index.d.ts.map +1 -0
- package/cjs/rules/string/alpha.d.ts +14 -0
- package/cjs/rules/string/alpha.d.ts.map +1 -0
- package/cjs/rules/string/alpha.js +39 -0
- package/cjs/rules/string/alpha.js.map +1 -0
- package/cjs/rules/string/credit-card.d.ts +6 -0
- package/cjs/rules/string/credit-card.d.ts.map +1 -0
- package/cjs/rules/string/credit-card.js +31 -0
- package/cjs/rules/string/credit-card.js.map +1 -0
- package/cjs/rules/string/email.d.ts +6 -0
- package/cjs/rules/string/email.d.ts.map +1 -0
- package/cjs/rules/string/email.js +13 -0
- package/cjs/rules/string/email.js.map +1 -0
- package/cjs/rules/string/index.d.ts +17 -0
- package/cjs/rules/string/index.d.ts.map +1 -0
- package/cjs/rules/string/ip.d.ts +14 -0
- package/cjs/rules/string/ip.d.ts.map +1 -0
- package/cjs/rules/string/ip.js +39 -0
- package/cjs/rules/string/ip.js.map +1 -0
- package/cjs/rules/string/matches.d.ts +8 -0
- package/cjs/rules/string/matches.d.ts.map +1 -0
- package/cjs/rules/string/matches.js +14 -0
- package/cjs/rules/string/matches.js.map +1 -0
- package/cjs/rules/string/pattern.d.ts +8 -0
- package/cjs/rules/string/pattern.d.ts.map +1 -0
- package/cjs/rules/string/pattern.js +13 -0
- package/cjs/rules/string/pattern.js.map +1 -0
- package/cjs/rules/string/string-comparison.d.ts +26 -0
- package/cjs/rules/string/string-comparison.d.ts.map +1 -0
- package/cjs/rules/string/string-comparison.js +52 -0
- package/cjs/rules/string/string-comparison.js.map +1 -0
- package/cjs/rules/string/strong-password-rule.d.ts +14 -0
- package/cjs/rules/string/strong-password-rule.d.ts.map +1 -0
- package/cjs/rules/string/strong-password-rule.js +38 -0
- package/cjs/rules/string/strong-password-rule.js.map +1 -0
- package/cjs/rules/string/url.d.ts +6 -0
- package/cjs/rules/string/url.d.ts.map +1 -0
- package/cjs/rules/string/url.js +16 -0
- package/cjs/rules/string/url.js.map +1 -0
- package/cjs/rules/string/without-whitespace.d.ts +6 -0
- package/cjs/rules/string/without-whitespace.d.ts.map +1 -0
- package/cjs/rules/string/without-whitespace.js +13 -0
- package/cjs/rules/string/without-whitespace.js.map +1 -0
- package/cjs/types/conditional-types.d.ts +15 -0
- package/cjs/types/conditional-types.d.ts.map +1 -0
- package/cjs/types/context-types.d.ts +44 -0
- package/cjs/types/context-types.d.ts.map +1 -0
- package/cjs/types/data-transformer-types.d.ts +25 -0
- package/cjs/types/data-transformer-types.d.ts.map +1 -0
- package/cjs/types/date-types.d.ts +9 -0
- package/cjs/types/date-types.d.ts.map +1 -0
- package/cjs/types/date-types.js +12 -0
- package/cjs/types/date-types.js.map +1 -0
- package/cjs/types/index.d.ts +10 -0
- package/cjs/types/index.d.ts.map +1 -0
- package/cjs/types/inference-types.d.ts +29 -0
- package/cjs/types/inference-types.d.ts.map +1 -0
- package/cjs/types/mutator-types.d.ts +27 -0
- package/cjs/types/mutator-types.d.ts.map +1 -0
- package/cjs/types/result-types.d.ts +19 -0
- package/cjs/types/result-types.d.ts.map +1 -0
- package/cjs/types/rule-types.d.ts +53 -0
- package/cjs/types/rule-types.d.ts.map +1 -0
- package/cjs/types/schema-types.d.ts +6 -0
- package/cjs/types/schema-types.d.ts.map +1 -0
- package/cjs/validators/any-validator.d.ts +7 -0
- package/cjs/validators/any-validator.d.ts.map +1 -0
- package/cjs/validators/any-validator.js +5 -0
- package/cjs/validators/any-validator.js.map +1 -0
- package/cjs/validators/array-validator.d.ts +51 -0
- package/cjs/validators/array-validator.d.ts.map +1 -0
- package/cjs/validators/array-validator.js +120 -0
- package/cjs/validators/array-validator.js.map +1 -0
- package/cjs/validators/base-validator.d.ts +500 -0
- package/cjs/validators/base-validator.d.ts.map +1 -0
- package/cjs/validators/base-validator.js +950 -0
- package/cjs/validators/base-validator.js.map +1 -0
- package/cjs/validators/boolean-validator.d.ts +43 -0
- package/cjs/validators/boolean-validator.d.ts.map +1 -0
- package/cjs/validators/boolean-validator.js +48 -0
- package/cjs/validators/boolean-validator.js.map +1 -0
- package/cjs/validators/date-validator.d.ts +303 -0
- package/cjs/validators/date-validator.d.ts.map +1 -0
- package/cjs/validators/date-validator.js +639 -0
- package/cjs/validators/date-validator.js.map +1 -0
- package/cjs/validators/float-validator.d.ts +8 -0
- package/cjs/validators/float-validator.d.ts.map +1 -0
- package/cjs/validators/float-validator.js +9 -0
- package/cjs/validators/float-validator.js.map +1 -0
- package/cjs/validators/index.d.ts +20 -0
- package/cjs/validators/index.d.ts.map +1 -0
- package/cjs/validators/int-validator.d.ts +8 -0
- package/cjs/validators/int-validator.d.ts.map +1 -0
- package/cjs/validators/int-validator.js +9 -0
- package/cjs/validators/int-validator.js.map +1 -0
- package/cjs/validators/number-validator.d.ts +35 -0
- package/cjs/validators/number-validator.d.ts.map +1 -0
- package/cjs/validators/number-validator.js +66 -0
- package/cjs/validators/number-validator.js.map +1 -0
- package/cjs/validators/object-validator.d.ts +24 -0
- package/cjs/validators/object-validator.d.ts.map +1 -0
- package/cjs/validators/object-validator.js +120 -0
- package/cjs/validators/object-validator.js.map +1 -0
- package/cjs/validators/scalar-validator.d.ts +74 -0
- package/cjs/validators/scalar-validator.d.ts.map +1 -0
- package/cjs/validators/scalar-validator.js +145 -0
- package/cjs/validators/scalar-validator.js.map +1 -0
- package/cjs/validators/string-validator.d.ts +187 -0
- package/cjs/validators/string-validator.d.ts.map +1 -0
- package/cjs/validators/string-validator.js +404 -0
- package/cjs/validators/string-validator.js.map +1 -0
- package/esm/config.d.ts +48 -0
- package/esm/config.d.ts.map +1 -0
- package/esm/config.js +42 -0
- package/esm/config.js.map +1 -0
- package/esm/factory/index.d.ts +3 -0
- package/esm/factory/index.d.ts.map +1 -0
- package/esm/factory/validate.d.ts +8 -0
- package/esm/factory/validate.d.ts.map +1 -0
- package/esm/factory/validate.js +21 -0
- package/esm/factory/validate.js.map +1 -0
- package/esm/factory/validators.d.ts +32 -0
- package/esm/factory/validators.d.ts.map +1 -0
- package/esm/factory/validators.js +38 -0
- package/esm/factory/validators.js.map +1 -0
- package/esm/helpers/date-helpers.d.ts +16 -0
- package/esm/helpers/date-helpers.d.ts.map +1 -0
- package/esm/helpers/date-helpers.js +25 -0
- package/esm/helpers/date-helpers.js.map +1 -0
- package/esm/helpers/get-field-value.d.ts +37 -0
- package/esm/helpers/get-field-value.d.ts.map +1 -0
- package/esm/helpers/get-field-value.js +40 -0
- package/esm/helpers/get-field-value.js.map +1 -0
- package/esm/helpers/index.d.ts +5 -0
- package/esm/helpers/index.d.ts.map +1 -0
- package/esm/helpers/path-helpers.d.ts +5 -0
- package/esm/helpers/path-helpers.d.ts.map +1 -0
- package/esm/helpers/path-helpers.js +8 -0
- package/esm/helpers/path-helpers.js.map +1 -0
- package/esm/helpers/validation-helpers.d.ts +4 -0
- package/esm/helpers/validation-helpers.d.ts.map +1 -0
- package/esm/helpers/validation-helpers.js +39 -0
- package/esm/helpers/validation-helpers.js.map +1 -0
- package/esm/index.d.ts +29 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -0
- package/esm/mutators/array-mutators.d.ts +12 -0
- package/esm/mutators/array-mutators.d.ts.map +1 -0
- package/esm/mutators/array-mutators.js +37 -0
- package/esm/mutators/array-mutators.js.map +1 -0
- package/esm/mutators/date-mutators.d.ts +39 -0
- package/esm/mutators/date-mutators.d.ts.map +1 -0
- package/esm/mutators/date-mutators.js +120 -0
- package/esm/mutators/date-mutators.js.map +1 -0
- package/esm/mutators/index.d.ts +6 -0
- package/esm/mutators/index.d.ts.map +1 -0
- package/esm/mutators/number-mutators.d.ts +8 -0
- package/esm/mutators/number-mutators.d.ts.map +1 -0
- package/esm/mutators/number-mutators.js +18 -0
- package/esm/mutators/number-mutators.js.map +1 -0
- package/esm/mutators/object-mutators.d.ts +8 -0
- package/esm/mutators/object-mutators.d.ts.map +1 -0
- package/esm/mutators/object-mutators.js +50 -0
- package/esm/mutators/object-mutators.js.map +1 -0
- package/esm/mutators/string-mutators.d.ts +72 -0
- package/esm/mutators/string-mutators.d.ts.map +1 -0
- package/esm/mutators/string-mutators.js +193 -0
- package/esm/mutators/string-mutators.js.map +1 -0
- package/esm/plugins/index.d.ts +7 -0
- package/esm/plugins/index.d.ts.map +1 -0
- package/esm/plugins/plugin-system.d.ts +71 -0
- package/esm/plugins/plugin-system.d.ts.map +1 -0
- package/esm/plugins/plugin-system.js +68 -0
- package/esm/plugins/plugin-system.js.map +1 -0
- package/esm/rules/array/array-rules.d.ts +12 -0
- package/esm/rules/array/array-rules.d.ts.map +1 -0
- package/esm/rules/array/array-rules.js +44 -0
- package/esm/rules/array/array-rules.js.map +1 -0
- package/esm/rules/array/index.d.ts +2 -0
- package/esm/rules/array/index.d.ts.map +1 -0
- package/esm/rules/color/color-rules.d.ts +30 -0
- package/esm/rules/color/color-rules.d.ts.map +1 -0
- package/esm/rules/color/color-rules.js +120 -0
- package/esm/rules/color/color-rules.js.map +1 -0
- package/esm/rules/color/index.d.ts +2 -0
- package/esm/rules/color/index.d.ts.map +1 -0
- package/esm/rules/common/enum.d.ts +26 -0
- package/esm/rules/common/enum.d.ts.map +1 -0
- package/esm/rules/common/enum.js +55 -0
- package/esm/rules/common/enum.js.map +1 -0
- package/esm/rules/common/equals-field-rules.d.ts +18 -0
- package/esm/rules/common/equals-field-rules.d.ts.map +1 -0
- package/esm/rules/common/equals-field-rules.js +38 -0
- package/esm/rules/common/equals-field-rules.js.map +1 -0
- package/esm/rules/common/index.d.ts +5 -0
- package/esm/rules/common/index.d.ts.map +1 -0
- package/esm/rules/common/type-rules.d.ts +34 -0
- package/esm/rules/common/type-rules.d.ts.map +1 -0
- package/esm/rules/common/type-rules.js +104 -0
- package/esm/rules/common/type-rules.js.map +1 -0
- package/esm/rules/common/unknown-key.d.ts +9 -0
- package/esm/rules/common/unknown-key.d.ts.map +1 -0
- package/esm/rules/common/unknown-key.js +20 -0
- package/esm/rules/common/unknown-key.js.map +1 -0
- package/esm/rules/conditional/index.d.ts +9 -0
- package/esm/rules/conditional/index.d.ts.map +1 -0
- package/esm/rules/conditional/present-if-rules.d.ts +45 -0
- package/esm/rules/conditional/present-if-rules.d.ts.map +1 -0
- package/esm/rules/conditional/present-if-rules.js +98 -0
- package/esm/rules/conditional/present-if-rules.js.map +1 -0
- package/esm/rules/conditional/present-unless-rules.d.ts +11 -0
- package/esm/rules/conditional/present-unless-rules.d.ts.map +1 -0
- package/esm/rules/conditional/present-unless-rules.js +20 -0
- package/esm/rules/conditional/present-unless-rules.js.map +1 -0
- package/esm/rules/conditional/present-with-rules.d.ts +26 -0
- package/esm/rules/conditional/present-with-rules.d.ts.map +1 -0
- package/esm/rules/conditional/present-with-rules.js +63 -0
- package/esm/rules/conditional/present-with-rules.js.map +1 -0
- package/esm/rules/conditional/present-without-rules.d.ts +26 -0
- package/esm/rules/conditional/present-without-rules.d.ts.map +1 -0
- package/esm/rules/conditional/present-without-rules.js +63 -0
- package/esm/rules/conditional/present-without-rules.js.map +1 -0
- package/esm/rules/conditional/required-if-rules.d.ts +45 -0
- package/esm/rules/conditional/required-if-rules.d.ts.map +1 -0
- package/esm/rules/conditional/required-if-rules.js +98 -0
- package/esm/rules/conditional/required-if-rules.js.map +1 -0
- package/esm/rules/conditional/required-unless-rules.d.ts +11 -0
- package/esm/rules/conditional/required-unless-rules.d.ts.map +1 -0
- package/esm/rules/conditional/required-unless-rules.js +20 -0
- package/esm/rules/conditional/required-unless-rules.js.map +1 -0
- package/esm/rules/conditional/required-with-rules.d.ts +26 -0
- package/esm/rules/conditional/required-with-rules.d.ts.map +1 -0
- package/esm/rules/conditional/required-with-rules.js +63 -0
- package/esm/rules/conditional/required-with-rules.js.map +1 -0
- package/esm/rules/conditional/required-without-rules.d.ts +26 -0
- package/esm/rules/conditional/required-without-rules.d.ts.map +1 -0
- package/esm/rules/conditional/required-without-rules.js +63 -0
- package/esm/rules/conditional/required-without-rules.js.map +1 -0
- package/esm/rules/core/equal.d.ts +8 -0
- package/esm/rules/core/equal.d.ts.map +1 -0
- package/esm/rules/core/equal.js +13 -0
- package/esm/rules/core/equal.js.map +1 -0
- package/esm/rules/core/forbidden.d.ts +6 -0
- package/esm/rules/core/forbidden.d.ts.map +1 -0
- package/esm/rules/core/forbidden.js +13 -0
- package/esm/rules/core/forbidden.js.map +1 -0
- package/esm/rules/core/index.d.ts +5 -0
- package/esm/rules/core/index.d.ts.map +1 -0
- package/esm/rules/core/required.d.ts +11 -0
- package/esm/rules/core/required.d.ts.map +1 -0
- package/esm/rules/core/required.js +31 -0
- package/esm/rules/core/required.js.map +1 -0
- package/esm/rules/core/when.d.ts +6 -0
- package/esm/rules/core/when.d.ts.map +1 -0
- package/esm/rules/core/when.js +40 -0
- package/esm/rules/core/when.js.map +1 -0
- package/esm/rules/date/date-comparison-rules.d.ts +25 -0
- package/esm/rules/date/date-comparison-rules.d.ts.map +1 -0
- package/esm/rules/date/date-comparison-rules.js +78 -0
- package/esm/rules/date/date-comparison-rules.js.map +1 -0
- package/esm/rules/date/date-day-rules.d.ts +21 -0
- package/esm/rules/date/date-day-rules.d.ts.map +1 -0
- package/esm/rules/date/date-day-rules.js +65 -0
- package/esm/rules/date/date-day-rules.js.map +1 -0
- package/esm/rules/date/date-field-comparison-rules.d.ts +28 -0
- package/esm/rules/date/date-field-comparison-rules.d.ts.map +1 -0
- package/esm/rules/date/date-field-comparison-rules.js +90 -0
- package/esm/rules/date/date-field-comparison-rules.js.map +1 -0
- package/esm/rules/date/date-period-rules.d.ts +108 -0
- package/esm/rules/date/date-period-rules.d.ts.map +1 -0
- package/esm/rules/date/date-period-rules.js +566 -0
- package/esm/rules/date/date-period-rules.js.map +1 -0
- package/esm/rules/date/date-relative-rules.d.ts +20 -0
- package/esm/rules/date/date-relative-rules.d.ts.map +1 -0
- package/esm/rules/date/date-relative-rules.js +57 -0
- package/esm/rules/date/date-relative-rules.js.map +1 -0
- package/esm/rules/date/date-special-rules.d.ts +20 -0
- package/esm/rules/date/date-special-rules.d.ts.map +1 -0
- package/esm/rules/date/date-special-rules.js +72 -0
- package/esm/rules/date/date-special-rules.js.map +1 -0
- package/esm/rules/date/date.d.ts +93 -0
- package/esm/rules/date/date.d.ts.map +1 -0
- package/esm/rules/date/date.js +279 -0
- package/esm/rules/date/date.js.map +1 -0
- package/esm/rules/date/index.d.ts +8 -0
- package/esm/rules/date/index.d.ts.map +1 -0
- package/esm/rules/file/dimensions.d.ts +26 -0
- package/esm/rules/file/dimensions.d.ts.map +1 -0
- package/esm/rules/file/dimensions.js +56 -0
- package/esm/rules/file/dimensions.js.map +1 -0
- package/esm/rules/file/file-size.d.ts +14 -0
- package/esm/rules/file/file-size.d.ts.map +1 -0
- package/esm/rules/file/file-size.js +26 -0
- package/esm/rules/file/file-size.js.map +1 -0
- package/esm/rules/file/index.d.ts +11 -0
- package/esm/rules/file/index.d.ts.map +1 -0
- package/esm/rules/index.d.ts +19 -0
- package/esm/rules/index.d.ts.map +1 -0
- package/esm/rules/length/index.d.ts +2 -0
- package/esm/rules/length/index.d.ts.map +1 -0
- package/esm/rules/length/length-rules.d.ts +49 -0
- package/esm/rules/length/length-rules.d.ts.map +1 -0
- package/esm/rules/length/length-rules.js +116 -0
- package/esm/rules/length/length-rules.js.map +1 -0
- package/esm/rules/number/index.d.ts +2 -0
- package/esm/rules/number/index.d.ts.map +1 -0
- package/esm/rules/number/number-rules.d.ts +43 -0
- package/esm/rules/number/number-rules.d.ts.map +1 -0
- package/esm/rules/number/number-rules.js +107 -0
- package/esm/rules/number/number-rules.js.map +1 -0
- package/esm/rules/scalar/accepted-rule.d.ts +39 -0
- package/esm/rules/scalar/accepted-rule.d.ts.map +1 -0
- package/esm/rules/scalar/accepted-rule.js +110 -0
- package/esm/rules/scalar/accepted-rule.js.map +1 -0
- package/esm/rules/scalar/declined-rule.d.ts +39 -0
- package/esm/rules/scalar/declined-rule.d.ts.map +1 -0
- package/esm/rules/scalar/declined-rule.js +110 -0
- package/esm/rules/scalar/declined-rule.js.map +1 -0
- package/esm/rules/scalar/index.d.ts +3 -0
- package/esm/rules/scalar/index.d.ts.map +1 -0
- package/esm/rules/string/alpha.d.ts +14 -0
- package/esm/rules/string/alpha.d.ts.map +1 -0
- package/esm/rules/string/alpha.js +39 -0
- package/esm/rules/string/alpha.js.map +1 -0
- package/esm/rules/string/credit-card.d.ts +6 -0
- package/esm/rules/string/credit-card.d.ts.map +1 -0
- package/esm/rules/string/credit-card.js +31 -0
- package/esm/rules/string/credit-card.js.map +1 -0
- package/esm/rules/string/email.d.ts +6 -0
- package/esm/rules/string/email.d.ts.map +1 -0
- package/esm/rules/string/email.js +13 -0
- package/esm/rules/string/email.js.map +1 -0
- package/esm/rules/string/index.d.ts +17 -0
- package/esm/rules/string/index.d.ts.map +1 -0
- package/esm/rules/string/ip.d.ts +14 -0
- package/esm/rules/string/ip.d.ts.map +1 -0
- package/esm/rules/string/ip.js +39 -0
- package/esm/rules/string/ip.js.map +1 -0
- package/esm/rules/string/matches.d.ts +8 -0
- package/esm/rules/string/matches.d.ts.map +1 -0
- package/esm/rules/string/matches.js +14 -0
- package/esm/rules/string/matches.js.map +1 -0
- package/esm/rules/string/pattern.d.ts +8 -0
- package/esm/rules/string/pattern.d.ts.map +1 -0
- package/esm/rules/string/pattern.js +13 -0
- package/esm/rules/string/pattern.js.map +1 -0
- package/esm/rules/string/string-comparison.d.ts +26 -0
- package/esm/rules/string/string-comparison.d.ts.map +1 -0
- package/esm/rules/string/string-comparison.js +52 -0
- package/esm/rules/string/string-comparison.js.map +1 -0
- package/esm/rules/string/strong-password-rule.d.ts +14 -0
- package/esm/rules/string/strong-password-rule.d.ts.map +1 -0
- package/esm/rules/string/strong-password-rule.js +38 -0
- package/esm/rules/string/strong-password-rule.js.map +1 -0
- package/esm/rules/string/url.d.ts +6 -0
- package/esm/rules/string/url.d.ts.map +1 -0
- package/esm/rules/string/url.js +16 -0
- package/esm/rules/string/url.js.map +1 -0
- package/esm/rules/string/without-whitespace.d.ts +6 -0
- package/esm/rules/string/without-whitespace.d.ts.map +1 -0
- package/esm/rules/string/without-whitespace.js +13 -0
- package/esm/rules/string/without-whitespace.js.map +1 -0
- package/esm/types/conditional-types.d.ts +15 -0
- package/esm/types/conditional-types.d.ts.map +1 -0
- package/esm/types/context-types.d.ts +44 -0
- package/esm/types/context-types.d.ts.map +1 -0
- package/esm/types/data-transformer-types.d.ts +25 -0
- package/esm/types/data-transformer-types.d.ts.map +1 -0
- package/esm/types/date-types.d.ts +9 -0
- package/esm/types/date-types.d.ts.map +1 -0
- package/esm/types/date-types.js +12 -0
- package/esm/types/date-types.js.map +1 -0
- package/esm/types/index.d.ts +10 -0
- package/esm/types/index.d.ts.map +1 -0
- package/esm/types/inference-types.d.ts +29 -0
- package/esm/types/inference-types.d.ts.map +1 -0
- package/esm/types/mutator-types.d.ts +27 -0
- package/esm/types/mutator-types.d.ts.map +1 -0
- package/esm/types/result-types.d.ts +19 -0
- package/esm/types/result-types.d.ts.map +1 -0
- package/esm/types/rule-types.d.ts +53 -0
- package/esm/types/rule-types.d.ts.map +1 -0
- package/esm/types/schema-types.d.ts +6 -0
- package/esm/types/schema-types.d.ts.map +1 -0
- package/esm/validators/any-validator.d.ts +7 -0
- package/esm/validators/any-validator.d.ts.map +1 -0
- package/esm/validators/any-validator.js +5 -0
- package/esm/validators/any-validator.js.map +1 -0
- package/esm/validators/array-validator.d.ts +51 -0
- package/esm/validators/array-validator.d.ts.map +1 -0
- package/esm/validators/array-validator.js +120 -0
- package/esm/validators/array-validator.js.map +1 -0
- package/esm/validators/base-validator.d.ts +500 -0
- package/esm/validators/base-validator.d.ts.map +1 -0
- package/esm/validators/base-validator.js +950 -0
- package/esm/validators/base-validator.js.map +1 -0
- package/esm/validators/boolean-validator.d.ts +43 -0
- package/esm/validators/boolean-validator.d.ts.map +1 -0
- package/esm/validators/boolean-validator.js +48 -0
- package/esm/validators/boolean-validator.js.map +1 -0
- package/esm/validators/date-validator.d.ts +303 -0
- package/esm/validators/date-validator.d.ts.map +1 -0
- package/esm/validators/date-validator.js +639 -0
- package/esm/validators/date-validator.js.map +1 -0
- package/esm/validators/float-validator.d.ts +8 -0
- package/esm/validators/float-validator.d.ts.map +1 -0
- package/esm/validators/float-validator.js +9 -0
- package/esm/validators/float-validator.js.map +1 -0
- package/esm/validators/index.d.ts +20 -0
- package/esm/validators/index.d.ts.map +1 -0
- package/esm/validators/int-validator.d.ts +8 -0
- package/esm/validators/int-validator.d.ts.map +1 -0
- package/esm/validators/int-validator.js +9 -0
- package/esm/validators/int-validator.js.map +1 -0
- package/esm/validators/number-validator.d.ts +35 -0
- package/esm/validators/number-validator.d.ts.map +1 -0
- package/esm/validators/number-validator.js +66 -0
- package/esm/validators/number-validator.js.map +1 -0
- package/esm/validators/object-validator.d.ts +24 -0
- package/esm/validators/object-validator.d.ts.map +1 -0
- package/esm/validators/object-validator.js +120 -0
- package/esm/validators/object-validator.js.map +1 -0
- package/esm/validators/scalar-validator.d.ts +74 -0
- package/esm/validators/scalar-validator.d.ts.map +1 -0
- package/esm/validators/scalar-validator.js +145 -0
- package/esm/validators/scalar-validator.js.map +1 -0
- package/esm/validators/string-validator.d.ts +187 -0
- package/esm/validators/string-validator.d.ts.map +1 -0
- package/esm/validators/string-validator.js +404 -0
- package/esm/validators/string-validator.js.map +1 -0
- package/package.json +29 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-relative-rules.js","sources":["../../../src/rules/date/date-relative-rules.ts"],"sourcesContent":[null],"names":["VALID_RULE","invalidRule"],"mappings":"oHAGA;;AAEG;AACU,MAAA,cAAc,GAAiC;AAC1D,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,mBAAmB,EAAE,+CAA+C;AACpE,IAAA,MAAM,QAAQ,CAAC,KAAW,EAAE,OAAO,EAAA;AACjC,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACvB,QAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE7D,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;AACzC,YAAA,OAAOA,4BAAU,CAAC;AACnB,SAAA;AACD,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;EACD;AAEF;;AAEG;AACU,MAAA,kBAAkB,GAAiC;AAC9D,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,mBAAmB,EAAE,+CAA+C;AACpE,IAAA,MAAM,QAAQ,CAAC,KAAW,EAAE,OAAO,EAAA;AACjC,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACvB,QAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,SAAS,GAAG,GAAG,EAAE;YACnB,OAAOA,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,SAAA;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;AACrD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE7D,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;AACzC,YAAA,OAAOD,4BAAU,CAAC;AACnB,SAAA;AACD,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;EACD;AAEF;;AAEG;AACU,MAAA,oBAAoB,GAAiC;AAChE,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,mBAAmB,EAAE,+CAA+C;AACpE,IAAA,MAAM,QAAQ,CAAC,KAAW,EAAE,OAAO,EAAA;AACjC,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACvB,QAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,SAAS,GAAG,GAAG,EAAE;YACnB,OAAOA,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,SAAA;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;AACrD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE7D,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;AACzC,YAAA,OAAOD,4BAAU,CAAC;AACnB,SAAA;AACD,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SchemaRule } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Birthday rule - valid birthday (not in future, reasonable age)
|
|
4
|
+
*/
|
|
5
|
+
export declare const birthdayRule: SchemaRule<{
|
|
6
|
+
minAge?: number;
|
|
7
|
+
maxAge?: number;
|
|
8
|
+
}>;
|
|
9
|
+
/**
|
|
10
|
+
* Between age rule - age must be between min and max years
|
|
11
|
+
*/
|
|
12
|
+
export declare const betweenAgeRule: SchemaRule<{
|
|
13
|
+
minAge: number;
|
|
14
|
+
maxAge: number;
|
|
15
|
+
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Leap year rule - date must be in a leap year
|
|
18
|
+
*/
|
|
19
|
+
export declare const leapYearRule: SchemaRule;
|
|
20
|
+
//# sourceMappingURL=date-special-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-special-rules.d.ts","sourceRoot":"","sources":["../../../src/rules/date/date-special-rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAqCzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAuBzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAe1B,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';require('@mongez/reinforcements');var validationHelpers=require('../../helpers/validation-helpers.js');/**
|
|
2
|
+
* Birthday rule - valid birthday (not in future, reasonable age)
|
|
3
|
+
*/
|
|
4
|
+
const birthdayRule = {
|
|
5
|
+
name: "birthday",
|
|
6
|
+
defaultErrorMessage: "The :input must be a valid birthday",
|
|
7
|
+
async validate(value, context) {
|
|
8
|
+
const birthDate = new Date(value);
|
|
9
|
+
const today = new Date();
|
|
10
|
+
// Must not be in the future
|
|
11
|
+
if (birthDate > today) {
|
|
12
|
+
return validationHelpers.invalidRule(this, context);
|
|
13
|
+
}
|
|
14
|
+
// Calculate age
|
|
15
|
+
let age = today.getFullYear() - birthDate.getFullYear();
|
|
16
|
+
const monthDiff = today.getMonth() - birthDate.getMonth();
|
|
17
|
+
if (monthDiff < 0 ||
|
|
18
|
+
(monthDiff === 0 && today.getDate() < birthDate.getDate())) {
|
|
19
|
+
age--;
|
|
20
|
+
}
|
|
21
|
+
// Check minimum age (default: 0)
|
|
22
|
+
const minAge = this.context.options.minAge ?? 0;
|
|
23
|
+
if (age < minAge) {
|
|
24
|
+
return validationHelpers.invalidRule(this, context);
|
|
25
|
+
}
|
|
26
|
+
// Check maximum age (default: 150)
|
|
27
|
+
const maxAge = this.context.options.maxAge ?? 150;
|
|
28
|
+
if (age > maxAge) {
|
|
29
|
+
return validationHelpers.invalidRule(this, context);
|
|
30
|
+
}
|
|
31
|
+
return validationHelpers.VALID_RULE;
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Between age rule - age must be between min and max years
|
|
36
|
+
*/
|
|
37
|
+
const betweenAgeRule = {
|
|
38
|
+
name: "betweenAge",
|
|
39
|
+
defaultErrorMessage: "Age must be between :minAge and :maxAge years",
|
|
40
|
+
async validate(value, context) {
|
|
41
|
+
const birthDate = new Date(value);
|
|
42
|
+
const today = new Date();
|
|
43
|
+
let age = today.getFullYear() - birthDate.getFullYear();
|
|
44
|
+
const monthDiff = today.getMonth() - birthDate.getMonth();
|
|
45
|
+
if (monthDiff < 0 ||
|
|
46
|
+
(monthDiff === 0 && today.getDate() < birthDate.getDate())) {
|
|
47
|
+
age--;
|
|
48
|
+
}
|
|
49
|
+
const { minAge, maxAge } = this.context.options;
|
|
50
|
+
if (age >= minAge && age <= maxAge) {
|
|
51
|
+
return validationHelpers.VALID_RULE;
|
|
52
|
+
}
|
|
53
|
+
return validationHelpers.invalidRule(this, context);
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Leap year rule - date must be in a leap year
|
|
58
|
+
*/
|
|
59
|
+
const leapYearRule = {
|
|
60
|
+
name: "leapYear",
|
|
61
|
+
defaultErrorMessage: "The :input must be in a leap year",
|
|
62
|
+
async validate(value, context) {
|
|
63
|
+
const inputDate = new Date(value);
|
|
64
|
+
const year = inputDate.getFullYear();
|
|
65
|
+
// Leap year logic: divisible by 4, except century years unless divisible by 400
|
|
66
|
+
const isLeapYear = (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
67
|
+
if (isLeapYear) {
|
|
68
|
+
return validationHelpers.VALID_RULE;
|
|
69
|
+
}
|
|
70
|
+
return validationHelpers.invalidRule(this, context);
|
|
71
|
+
},
|
|
72
|
+
};exports.betweenAgeRule=betweenAgeRule;exports.birthdayRule=birthdayRule;exports.leapYearRule=leapYearRule;//# sourceMappingURL=date-special-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-special-rules.js","sources":["../../../src/rules/date/date-special-rules.ts"],"sourcesContent":[null],"names":["invalidRule","VALID_RULE"],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { SchemaRule } from "../../types";
|
|
2
|
+
import type { WeekDay } from "../../types/date-types";
|
|
3
|
+
/**
|
|
4
|
+
* Date rule - validates date format
|
|
5
|
+
*/
|
|
6
|
+
export declare const dateRule: SchemaRule;
|
|
7
|
+
/**
|
|
8
|
+
* Min date rule - date must be >= given date or field
|
|
9
|
+
* Smart detection: date value or field name
|
|
10
|
+
*/
|
|
11
|
+
export declare const minDateRule: SchemaRule<{
|
|
12
|
+
dateOrField: Date | string | number;
|
|
13
|
+
scope?: "global" | "sibling";
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* Max date rule - date must be <= given date or field
|
|
17
|
+
* Smart detection: date value or field name
|
|
18
|
+
*/
|
|
19
|
+
export declare const maxDateRule: SchemaRule<{
|
|
20
|
+
dateOrField: Date | string | number;
|
|
21
|
+
scope?: "global" | "sibling";
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* From today rule - date must be today or in the future
|
|
25
|
+
*/
|
|
26
|
+
export declare const fromTodayRule: SchemaRule;
|
|
27
|
+
/**
|
|
28
|
+
* Before today rule - date must be before today
|
|
29
|
+
*/
|
|
30
|
+
export declare const beforeTodayRule: SchemaRule;
|
|
31
|
+
/**
|
|
32
|
+
* From hour rule - time must be from specific hour onwards
|
|
33
|
+
*/
|
|
34
|
+
export declare const fromHourRule: SchemaRule<{
|
|
35
|
+
hour: number;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Before hour rule - time must be before specific hour
|
|
39
|
+
*/
|
|
40
|
+
export declare const beforeHourRule: SchemaRule<{
|
|
41
|
+
hour: number;
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Between hours rule - time must be between start and end hours
|
|
45
|
+
*/
|
|
46
|
+
export declare const betweenHoursRule: SchemaRule<{
|
|
47
|
+
startHour: number;
|
|
48
|
+
endHour: number;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* From minute rule - time must be from specific minute onwards
|
|
52
|
+
*/
|
|
53
|
+
export declare const fromMinuteRule: SchemaRule<{
|
|
54
|
+
minute: number;
|
|
55
|
+
}>;
|
|
56
|
+
/**
|
|
57
|
+
* Before minute rule - time must be before specific minute
|
|
58
|
+
*/
|
|
59
|
+
export declare const beforeMinuteRule: SchemaRule<{
|
|
60
|
+
minute: number;
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Between minutes rule - time must be between start and end minutes
|
|
64
|
+
*/
|
|
65
|
+
export declare const betweenMinutesRule: SchemaRule<{
|
|
66
|
+
startMinute: number;
|
|
67
|
+
endMinute: number;
|
|
68
|
+
}>;
|
|
69
|
+
/**
|
|
70
|
+
* Age rule - calculate age from date
|
|
71
|
+
*/
|
|
72
|
+
export declare const ageRule: SchemaRule<{
|
|
73
|
+
years: number;
|
|
74
|
+
}>;
|
|
75
|
+
/**
|
|
76
|
+
* Min age rule - minimum age requirement
|
|
77
|
+
*/
|
|
78
|
+
export declare const minAgeRule: SchemaRule<{
|
|
79
|
+
years: number;
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Max age rule - maximum age requirement
|
|
83
|
+
*/
|
|
84
|
+
export declare const maxAgeRule: SchemaRule<{
|
|
85
|
+
years: number;
|
|
86
|
+
}>;
|
|
87
|
+
/**
|
|
88
|
+
* Week day rule - date must be specific weekday
|
|
89
|
+
*/
|
|
90
|
+
export declare const weekDayRule: SchemaRule<{
|
|
91
|
+
day: WeekDay;
|
|
92
|
+
}>;
|
|
93
|
+
//# sourceMappingURL=date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/rules/date/date.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,UAUtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CA8BA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CA6BA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAc3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,UAc7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAYrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAYvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAU,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAcA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAYzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAU,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAY3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAcA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAqBjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAqBpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAqBpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAapD,CAAC"}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
'use strict';var reinforcements=require('@mongez/reinforcements'),dateHelpers=require('../../helpers/date-helpers.js'),validationHelpers=require('../../helpers/validation-helpers.js'),dateTypes=require('../../types/date-types.js');/**
|
|
2
|
+
* Date rule - validates date format
|
|
3
|
+
*/
|
|
4
|
+
const dateRule = {
|
|
5
|
+
name: "date",
|
|
6
|
+
defaultErrorMessage: "The :input must be a valid date",
|
|
7
|
+
async validate(value, context) {
|
|
8
|
+
if (value instanceof Date && !isNaN(value.getTime())) {
|
|
9
|
+
return validationHelpers.VALID_RULE;
|
|
10
|
+
}
|
|
11
|
+
return validationHelpers.invalidRule(this, context);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Min date rule - date must be >= given date or field
|
|
16
|
+
* Smart detection: date value or field name
|
|
17
|
+
*/
|
|
18
|
+
const minDateRule = {
|
|
19
|
+
name: "minDate",
|
|
20
|
+
description: "The field must be at least the given date or field",
|
|
21
|
+
defaultErrorMessage: "The :input must be at least :dateOrField",
|
|
22
|
+
async validate(value, context) {
|
|
23
|
+
const { dateOrField, scope = "global" } = this.context.options;
|
|
24
|
+
let compareDate;
|
|
25
|
+
if (dateHelpers.isDateValue(dateOrField)) {
|
|
26
|
+
// Value comparison
|
|
27
|
+
compareDate = new Date(dateOrField);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// Field comparison
|
|
31
|
+
const source = scope === "sibling" ? context.parent : context.allValues;
|
|
32
|
+
const fieldValue = reinforcements.get(source, dateOrField);
|
|
33
|
+
if (fieldValue === undefined) {
|
|
34
|
+
return validationHelpers.VALID_RULE;
|
|
35
|
+
}
|
|
36
|
+
compareDate = new Date(fieldValue);
|
|
37
|
+
}
|
|
38
|
+
const inputDate = new Date(value);
|
|
39
|
+
if (inputDate >= compareDate) {
|
|
40
|
+
return validationHelpers.VALID_RULE;
|
|
41
|
+
}
|
|
42
|
+
return validationHelpers.invalidRule(this, context);
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Max date rule - date must be <= given date or field
|
|
47
|
+
* Smart detection: date value or field name
|
|
48
|
+
*/
|
|
49
|
+
const maxDateRule = {
|
|
50
|
+
name: "maxDate",
|
|
51
|
+
defaultErrorMessage: "The :input must be at most :dateOrField",
|
|
52
|
+
async validate(value, context) {
|
|
53
|
+
const { dateOrField, scope = "global" } = this.context.options;
|
|
54
|
+
let compareDate;
|
|
55
|
+
if (dateHelpers.isDateValue(dateOrField)) {
|
|
56
|
+
// Value comparison
|
|
57
|
+
compareDate = new Date(dateOrField);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// Field comparison
|
|
61
|
+
const source = scope === "sibling" ? context.parent : context.allValues;
|
|
62
|
+
const fieldValue = reinforcements.get(source, dateOrField);
|
|
63
|
+
if (fieldValue === undefined) {
|
|
64
|
+
return validationHelpers.VALID_RULE;
|
|
65
|
+
}
|
|
66
|
+
compareDate = new Date(fieldValue);
|
|
67
|
+
}
|
|
68
|
+
const inputDate = new Date(value);
|
|
69
|
+
if (inputDate <= compareDate) {
|
|
70
|
+
return validationHelpers.VALID_RULE;
|
|
71
|
+
}
|
|
72
|
+
return validationHelpers.invalidRule(this, context);
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* From today rule - date must be today or in the future
|
|
77
|
+
*/
|
|
78
|
+
const fromTodayRule = {
|
|
79
|
+
name: "fromToday",
|
|
80
|
+
defaultErrorMessage: "The :input must be today or in the future",
|
|
81
|
+
async validate(value, context) {
|
|
82
|
+
const today = new Date();
|
|
83
|
+
today.setHours(0, 0, 0, 0);
|
|
84
|
+
const inputDate = new Date(value);
|
|
85
|
+
inputDate.setHours(0, 0, 0, 0);
|
|
86
|
+
if (inputDate >= today) {
|
|
87
|
+
return validationHelpers.VALID_RULE;
|
|
88
|
+
}
|
|
89
|
+
return validationHelpers.invalidRule(this, context);
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Before today rule - date must be before today
|
|
94
|
+
*/
|
|
95
|
+
const beforeTodayRule = {
|
|
96
|
+
name: "beforeToday",
|
|
97
|
+
defaultErrorMessage: "The :input must be before today",
|
|
98
|
+
async validate(value, context) {
|
|
99
|
+
const today = new Date();
|
|
100
|
+
today.setHours(0, 0, 0, 0);
|
|
101
|
+
const inputDate = new Date(value);
|
|
102
|
+
inputDate.setHours(0, 0, 0, 0);
|
|
103
|
+
if (inputDate < today) {
|
|
104
|
+
return validationHelpers.VALID_RULE;
|
|
105
|
+
}
|
|
106
|
+
return validationHelpers.invalidRule(this, context);
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* From hour rule - time must be from specific hour onwards
|
|
111
|
+
*/
|
|
112
|
+
const fromHourRule = {
|
|
113
|
+
name: "fromHour",
|
|
114
|
+
defaultErrorMessage: "The :input must be from :hour:00 onwards",
|
|
115
|
+
async validate(value, context) {
|
|
116
|
+
const inputDate = new Date(value);
|
|
117
|
+
const hour = inputDate.getHours();
|
|
118
|
+
if (hour >= this.context.options.hour) {
|
|
119
|
+
return validationHelpers.VALID_RULE;
|
|
120
|
+
}
|
|
121
|
+
return validationHelpers.invalidRule(this, context);
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Before hour rule - time must be before specific hour
|
|
126
|
+
*/
|
|
127
|
+
const beforeHourRule = {
|
|
128
|
+
name: "beforeHour",
|
|
129
|
+
defaultErrorMessage: "The :input must be before :hour:00",
|
|
130
|
+
async validate(value, context) {
|
|
131
|
+
const inputDate = new Date(value);
|
|
132
|
+
const hour = inputDate.getHours();
|
|
133
|
+
if (hour < this.context.options.hour) {
|
|
134
|
+
return validationHelpers.VALID_RULE;
|
|
135
|
+
}
|
|
136
|
+
return validationHelpers.invalidRule(this, context);
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Between hours rule - time must be between start and end hours
|
|
141
|
+
*/
|
|
142
|
+
const betweenHoursRule = {
|
|
143
|
+
name: "betweenHours",
|
|
144
|
+
defaultErrorMessage: "The :input must be between :startHour:00 and :endHour:00",
|
|
145
|
+
async validate(value, context) {
|
|
146
|
+
const inputDate = new Date(value);
|
|
147
|
+
const hour = inputDate.getHours();
|
|
148
|
+
const { startHour, endHour } = this.context.options;
|
|
149
|
+
if (hour >= startHour && hour <= endHour) {
|
|
150
|
+
return validationHelpers.VALID_RULE;
|
|
151
|
+
}
|
|
152
|
+
return validationHelpers.invalidRule(this, context);
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* From minute rule - time must be from specific minute onwards
|
|
157
|
+
*/
|
|
158
|
+
const fromMinuteRule = {
|
|
159
|
+
name: "fromMinute",
|
|
160
|
+
defaultErrorMessage: "The :input must be from minute :minute onwards",
|
|
161
|
+
async validate(value, context) {
|
|
162
|
+
const inputDate = new Date(value);
|
|
163
|
+
const minute = inputDate.getMinutes();
|
|
164
|
+
if (minute >= this.context.options.minute) {
|
|
165
|
+
return validationHelpers.VALID_RULE;
|
|
166
|
+
}
|
|
167
|
+
return validationHelpers.invalidRule(this, context);
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Before minute rule - time must be before specific minute
|
|
172
|
+
*/
|
|
173
|
+
const beforeMinuteRule = {
|
|
174
|
+
name: "beforeMinute",
|
|
175
|
+
defaultErrorMessage: "The :input must be before minute :minute",
|
|
176
|
+
async validate(value, context) {
|
|
177
|
+
const inputDate = new Date(value);
|
|
178
|
+
const minute = inputDate.getMinutes();
|
|
179
|
+
if (minute < this.context.options.minute) {
|
|
180
|
+
return validationHelpers.VALID_RULE;
|
|
181
|
+
}
|
|
182
|
+
return validationHelpers.invalidRule(this, context);
|
|
183
|
+
},
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Between minutes rule - time must be between start and end minutes
|
|
187
|
+
*/
|
|
188
|
+
const betweenMinutesRule = {
|
|
189
|
+
name: "betweenMinutes",
|
|
190
|
+
defaultErrorMessage: "The :input must be between minute :startMinute and :endMinute",
|
|
191
|
+
async validate(value, context) {
|
|
192
|
+
const inputDate = new Date(value);
|
|
193
|
+
const minute = inputDate.getMinutes();
|
|
194
|
+
const { startMinute, endMinute } = this.context.options;
|
|
195
|
+
if (minute >= startMinute && minute <= endMinute) {
|
|
196
|
+
return validationHelpers.VALID_RULE;
|
|
197
|
+
}
|
|
198
|
+
return validationHelpers.invalidRule(this, context);
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* Age rule - calculate age from date
|
|
203
|
+
*/
|
|
204
|
+
const ageRule = {
|
|
205
|
+
name: "age",
|
|
206
|
+
defaultErrorMessage: "The :input must be exactly :years years old",
|
|
207
|
+
async validate(value, context) {
|
|
208
|
+
const birthDate = new Date(value);
|
|
209
|
+
const today = new Date();
|
|
210
|
+
let age = today.getFullYear() - birthDate.getFullYear();
|
|
211
|
+
const monthDiff = today.getMonth() - birthDate.getMonth();
|
|
212
|
+
if (monthDiff < 0 ||
|
|
213
|
+
(monthDiff === 0 && today.getDate() < birthDate.getDate())) {
|
|
214
|
+
age--;
|
|
215
|
+
}
|
|
216
|
+
if (age === this.context.options.years) {
|
|
217
|
+
return validationHelpers.VALID_RULE;
|
|
218
|
+
}
|
|
219
|
+
return validationHelpers.invalidRule(this, context);
|
|
220
|
+
},
|
|
221
|
+
};
|
|
222
|
+
/**
|
|
223
|
+
* Min age rule - minimum age requirement
|
|
224
|
+
*/
|
|
225
|
+
const minAgeRule = {
|
|
226
|
+
name: "minAge",
|
|
227
|
+
defaultErrorMessage: "The :input must be at least :years years old",
|
|
228
|
+
async validate(value, context) {
|
|
229
|
+
const birthDate = new Date(value);
|
|
230
|
+
const today = new Date();
|
|
231
|
+
let age = today.getFullYear() - birthDate.getFullYear();
|
|
232
|
+
const monthDiff = today.getMonth() - birthDate.getMonth();
|
|
233
|
+
if (monthDiff < 0 ||
|
|
234
|
+
(monthDiff === 0 && today.getDate() < birthDate.getDate())) {
|
|
235
|
+
age--;
|
|
236
|
+
}
|
|
237
|
+
if (age >= this.context.options.years) {
|
|
238
|
+
return validationHelpers.VALID_RULE;
|
|
239
|
+
}
|
|
240
|
+
return validationHelpers.invalidRule(this, context);
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* Max age rule - maximum age requirement
|
|
245
|
+
*/
|
|
246
|
+
const maxAgeRule = {
|
|
247
|
+
name: "maxAge",
|
|
248
|
+
defaultErrorMessage: "The :input must be at most :years years old",
|
|
249
|
+
async validate(value, context) {
|
|
250
|
+
const birthDate = new Date(value);
|
|
251
|
+
const today = new Date();
|
|
252
|
+
let age = today.getFullYear() - birthDate.getFullYear();
|
|
253
|
+
const monthDiff = today.getMonth() - birthDate.getMonth();
|
|
254
|
+
if (monthDiff < 0 ||
|
|
255
|
+
(monthDiff === 0 && today.getDate() < birthDate.getDate())) {
|
|
256
|
+
age--;
|
|
257
|
+
}
|
|
258
|
+
if (age <= this.context.options.years) {
|
|
259
|
+
return validationHelpers.VALID_RULE;
|
|
260
|
+
}
|
|
261
|
+
return validationHelpers.invalidRule(this, context);
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
/**
|
|
265
|
+
* Week day rule - date must be specific weekday
|
|
266
|
+
*/
|
|
267
|
+
const weekDayRule = {
|
|
268
|
+
name: "weekDay",
|
|
269
|
+
defaultErrorMessage: "The :input must be a :day",
|
|
270
|
+
async validate(value, context) {
|
|
271
|
+
const inputDate = new Date(value);
|
|
272
|
+
const dayOfWeek = inputDate.getDay();
|
|
273
|
+
const expectedDay = dateTypes.WEEK_DAYS[this.context.options.day];
|
|
274
|
+
if (dayOfWeek === expectedDay) {
|
|
275
|
+
return validationHelpers.VALID_RULE;
|
|
276
|
+
}
|
|
277
|
+
return validationHelpers.invalidRule(this, context);
|
|
278
|
+
},
|
|
279
|
+
};exports.ageRule=ageRule;exports.beforeHourRule=beforeHourRule;exports.beforeMinuteRule=beforeMinuteRule;exports.beforeTodayRule=beforeTodayRule;exports.betweenHoursRule=betweenHoursRule;exports.betweenMinutesRule=betweenMinutesRule;exports.dateRule=dateRule;exports.fromHourRule=fromHourRule;exports.fromMinuteRule=fromMinuteRule;exports.fromTodayRule=fromTodayRule;exports.maxAgeRule=maxAgeRule;exports.maxDateRule=maxDateRule;exports.minAgeRule=minAgeRule;exports.minDateRule=minDateRule;exports.weekDayRule=weekDayRule;//# sourceMappingURL=date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","sources":["../../../src/rules/date/date.ts"],"sourcesContent":[null],"names":["VALID_RULE","invalidRule","isDateValue","get","WEEK_DAYS"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./date";
|
|
2
|
+
export * from "./date-comparison-rules";
|
|
3
|
+
export * from "./date-day-rules";
|
|
4
|
+
export * from "./date-field-comparison-rules";
|
|
5
|
+
export * from "./date-period-rules";
|
|
6
|
+
export * from "./date-relative-rules";
|
|
7
|
+
export * from "./date-special-rules";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/date/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SchemaRule } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Min width rule - image width validation
|
|
4
|
+
*/
|
|
5
|
+
export declare const minWidthRule: SchemaRule<{
|
|
6
|
+
minWidth: number;
|
|
7
|
+
}>;
|
|
8
|
+
/**
|
|
9
|
+
* Max width rule - image width validation
|
|
10
|
+
*/
|
|
11
|
+
export declare const maxWidthRule: SchemaRule<{
|
|
12
|
+
maxWidth: number;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Min height rule - image height validation
|
|
16
|
+
*/
|
|
17
|
+
export declare const minHeightRule: SchemaRule<{
|
|
18
|
+
minHeight: number;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Max height rule - image height validation
|
|
22
|
+
*/
|
|
23
|
+
export declare const maxHeightRule: SchemaRule<{
|
|
24
|
+
maxHeight: number;
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=dimensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dimensions.d.ts","sourceRoot":"","sources":["../../../src/rules/file/dimensions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAYzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAYzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAY3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAY3D,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';require('@mongez/reinforcements');var validationHelpers=require('../../helpers/validation-helpers.js');/**
|
|
2
|
+
* Min width rule - image width validation
|
|
3
|
+
*/
|
|
4
|
+
const minWidthRule = {
|
|
5
|
+
name: "minWidth",
|
|
6
|
+
defaultErrorMessage: "The :input must be at least :minWidth pixels wide",
|
|
7
|
+
async validate(value, context) {
|
|
8
|
+
const dimensions = await value.dimensions();
|
|
9
|
+
if (dimensions.width >= this.context.options.minWidth) {
|
|
10
|
+
return validationHelpers.VALID_RULE;
|
|
11
|
+
}
|
|
12
|
+
return validationHelpers.invalidRule(this, context);
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Max width rule - image width validation
|
|
17
|
+
*/
|
|
18
|
+
const maxWidthRule = {
|
|
19
|
+
name: "maxWidth",
|
|
20
|
+
defaultErrorMessage: "The :input must be at most :maxWidth pixels wide",
|
|
21
|
+
async validate(value, context) {
|
|
22
|
+
const dimensions = await value.dimensions();
|
|
23
|
+
if (dimensions.width <= this.context.options.maxWidth) {
|
|
24
|
+
return validationHelpers.VALID_RULE;
|
|
25
|
+
}
|
|
26
|
+
return validationHelpers.invalidRule(this, context);
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Min height rule - image height validation
|
|
31
|
+
*/
|
|
32
|
+
const minHeightRule = {
|
|
33
|
+
name: "minHeight",
|
|
34
|
+
defaultErrorMessage: "The :input must be at least :minHeight pixels tall",
|
|
35
|
+
async validate(value, context) {
|
|
36
|
+
const dimensions = await value.dimensions();
|
|
37
|
+
if (dimensions.height >= this.context.options.minHeight) {
|
|
38
|
+
return validationHelpers.VALID_RULE;
|
|
39
|
+
}
|
|
40
|
+
return validationHelpers.invalidRule(this, context);
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Max height rule - image height validation
|
|
45
|
+
*/
|
|
46
|
+
const maxHeightRule = {
|
|
47
|
+
name: "maxHeight",
|
|
48
|
+
defaultErrorMessage: "The :input must be at most :maxHeight pixels tall",
|
|
49
|
+
async validate(value, context) {
|
|
50
|
+
const dimensions = await value.dimensions();
|
|
51
|
+
if (dimensions.height <= this.context.options.maxHeight) {
|
|
52
|
+
return validationHelpers.VALID_RULE;
|
|
53
|
+
}
|
|
54
|
+
return validationHelpers.invalidRule(this, context);
|
|
55
|
+
},
|
|
56
|
+
};exports.maxHeightRule=maxHeightRule;exports.maxWidthRule=maxWidthRule;exports.minHeightRule=minHeightRule;exports.minWidthRule=minWidthRule;//# sourceMappingURL=dimensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dimensions.js","sources":["../../../src/rules/file/dimensions.ts"],"sourcesContent":[null],"names":["VALID_RULE","invalidRule"],"mappings":"oHAGA;;AAEG;AACU,MAAA,YAAY,GAAqC;AAC5D,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,mBAAmB,EAAE,mDAAmD;AACxE,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;AAChC,QAAA,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;QAE5C,IAAI,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;AACrD,YAAA,OAAOA,4BAAU,CAAC;AACnB,SAAA;AAED,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;EACD;AAEF;;AAEG;AACU,MAAA,YAAY,GAAqC;AAC5D,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,mBAAmB,EAAE,kDAAkD;AACvE,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;AAChC,QAAA,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;QAE5C,IAAI,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;AACrD,YAAA,OAAOD,4BAAU,CAAC;AACnB,SAAA;AAED,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;EACD;AAEF;;AAEG;AACU,MAAA,aAAa,GAAsC;AAC9D,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,mBAAmB,EAAE,oDAAoD;AACzE,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;AAChC,QAAA,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;QAE5C,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;AACvD,YAAA,OAAOD,4BAAU,CAAC;AACnB,SAAA;AAED,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;EACD;AAEF;;AAEG;AACU,MAAA,aAAa,GAAsC;AAC9D,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,mBAAmB,EAAE,mDAAmD;AACxE,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;AAChC,QAAA,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;QAE5C,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;AACvD,YAAA,OAAOD,4BAAU,CAAC;AACnB,SAAA;AAED,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SchemaRule } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Max file size rule
|
|
4
|
+
*/
|
|
5
|
+
export declare const maxFileSizeRule: SchemaRule<{
|
|
6
|
+
maxFileSize: number;
|
|
7
|
+
}>;
|
|
8
|
+
/**
|
|
9
|
+
* Min file size rule
|
|
10
|
+
*/
|
|
11
|
+
export declare const minFileSizeRule: SchemaRule<{
|
|
12
|
+
minFileSize: number;
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=file-size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-size.d.ts","sourceRoot":"","sources":["../../../src/rules/file/file-size.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,UAAU,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAS/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,UAAU,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAS/D,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';require('@mongez/reinforcements');var validationHelpers=require('../../helpers/validation-helpers.js');/**
|
|
2
|
+
* Max file size rule
|
|
3
|
+
*/
|
|
4
|
+
const maxFileSizeRule = {
|
|
5
|
+
name: "maxFileSize",
|
|
6
|
+
defaultErrorMessage: "The :input must not exceed :maxFileSize",
|
|
7
|
+
async validate(value, context) {
|
|
8
|
+
if (value.size <= this.context.options.maxFileSize) {
|
|
9
|
+
return validationHelpers.VALID_RULE;
|
|
10
|
+
}
|
|
11
|
+
return validationHelpers.invalidRule(this, context);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Min file size rule
|
|
16
|
+
*/
|
|
17
|
+
const minFileSizeRule = {
|
|
18
|
+
name: "minFileSize",
|
|
19
|
+
defaultErrorMessage: "The :input must be at least :minFileSize",
|
|
20
|
+
async validate(value, context) {
|
|
21
|
+
if (value.size >= this.context.options.minFileSize) {
|
|
22
|
+
return validationHelpers.VALID_RULE;
|
|
23
|
+
}
|
|
24
|
+
return validationHelpers.invalidRule(this, context);
|
|
25
|
+
},
|
|
26
|
+
};exports.maxFileSizeRule=maxFileSizeRule;exports.minFileSizeRule=minFileSizeRule;//# sourceMappingURL=file-size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-size.js","sources":["../../../src/rules/file/file-size.ts"],"sourcesContent":[null],"names":["VALID_RULE","invalidRule"],"mappings":"oHAGA;;AAEG;AACU,MAAA,eAAe,GAAwC;AAClE,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,mBAAmB,EAAE,yCAAyC;AAC9D,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;QAChC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;AAClD,YAAA,OAAOA,4BAAU,CAAC;AACnB,SAAA;AACD,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;EACD;AAEF;;AAEG;AACU,MAAA,eAAe,GAAwC;AAClE,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,mBAAmB,EAAE,0CAA0C;AAC/D,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;QAChC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;AAClD,YAAA,OAAOD,4BAAU,CAAC;AACnB,SAAA;AACD,QAAA,OAAOC,6BAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACnC;"}
|