@warlock.js/seal 4.0.162 → 4.0.163
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/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 +23 -0
- package/cjs/factory/validate.js.map +1 -0
- package/cjs/factory/validators.d.ts +56 -0
- package/cjs/factory/validators.d.ts.map +1 -0
- package/cjs/factory/validators.js +45 -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 +20 -0
- package/cjs/helpers/date-helpers.js.map +1 -0
- package/cjs/helpers/file.utils.d.ts +8 -0
- package/cjs/helpers/file.utils.d.ts.map +1 -0
- package/cjs/helpers/file.utils.js +29 -0
- package/cjs/helpers/file.utils.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 +6 -0
- package/cjs/helpers/index.d.ts.map +1 -0
- package/cjs/helpers/is-empty-value.d.ts +2 -0
- package/cjs/helpers/is-empty-value.d.ts.map +1 -0
- package/cjs/helpers/is-empty-value.js +3 -0
- package/cjs/helpers/is-empty-value.js.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 +26 -0
- package/cjs/helpers/validation-helpers.d.ts.map +1 -0
- package/cjs/helpers/validation-helpers.js +74 -0
- package/cjs/helpers/validation-helpers.js.map +1 -0
- package/cjs/index.d.ts +30 -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 +7 -0
- package/cjs/mutators/index.d.ts.map +1 -0
- package/cjs/mutators/number-mutators.d.ts +22 -0
- package/cjs/mutators/number-mutators.d.ts.map +1 -0
- package/cjs/mutators/number-mutators.js +53 -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 +48 -0
- package/cjs/mutators/object-mutators.js.map +1 -0
- package/cjs/mutators/scalar-mutators.d.ts +3 -0
- package/cjs/mutators/scalar-mutators.d.ts.map +1 -0
- package/cjs/mutators/scalar-mutators.js +6 -0
- package/cjs/mutators/scalar-mutators.js.map +1 -0
- package/cjs/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 +67 -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 +45 -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 +69 -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 +39 -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 +38 -0
- package/cjs/rules/common/type-rules.d.ts.map +1 -0
- package/cjs/rules/common/type-rules.js +117 -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 +17 -0
- package/cjs/rules/common/unknown-key.js.map +1 -0
- package/cjs/rules/conditional/forbidden-if-rules.d.ts +54 -0
- package/cjs/rules/conditional/forbidden-if-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/forbidden-if-rules.js +118 -0
- package/cjs/rules/conditional/forbidden-if-rules.js.map +1 -0
- package/cjs/rules/conditional/index.d.ts +11 -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 +100 -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 +22 -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 +70 -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 +70 -0
- package/cjs/rules/conditional/present-without-rules.js.map +1 -0
- package/cjs/rules/conditional/required-if-rules.d.ts +77 -0
- package/cjs/rules/conditional/required-if-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/required-if-rules.js +205 -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 +22 -0
- package/cjs/rules/conditional/required-unless-rules.js.map +1 -0
- 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 +26 -0
- package/cjs/rules/conditional/required-with-rules.d.ts.map +1 -0
- package/cjs/rules/conditional/required-with-rules.js +64 -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 +64 -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 +14 -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 +6 -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/union.d.ts +9 -0
- package/cjs/rules/core/union.d.ts.map +1 -0
- package/cjs/rules/core/union.js +40 -0
- package/cjs/rules/core/union.js.map +1 -0
- package/cjs/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 +80 -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 +68 -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 +94 -0
- package/cjs/rules/date/date-field-comparison-rules.js.map +1 -0
- package/cjs/rules/date/date-period-rules.d.ts +124 -0
- package/cjs/rules/date/date-period-rules.d.ts.map +1 -0
- package/cjs/rules/date/date-period-rules.js +605 -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 +60 -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 +71 -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 +288 -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 +60 -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 +30 -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 +107 -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 +65 -0
- package/cjs/rules/number/number-rules.d.ts.map +1 -0
- package/cjs/rules/number/number-rules.js +245 -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 +117 -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 +117 -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 +15 -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 +14 -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 +56 -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/standard-schema/index.d.ts +4 -0
- package/cjs/standard-schema/index.d.ts.map +1 -0
- package/cjs/standard-schema/json-schema.d.ts +61 -0
- package/cjs/standard-schema/json-schema.d.ts.map +1 -0
- package/cjs/standard-schema/json-schema.js +85 -0
- package/cjs/standard-schema/json-schema.js.map +1 -0
- package/cjs/standard-schema/map-result.d.ts +18 -0
- package/cjs/standard-schema/map-result.d.ts.map +1 -0
- package/cjs/standard-schema/map-result.js +27 -0
- package/cjs/standard-schema/map-result.js.map +1 -0
- package/cjs/standard-schema/types.d.ts +93 -0
- package/cjs/standard-schema/types.d.ts.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 +47 -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/file.types.d.ts +5 -0
- package/cjs/types/file.types.d.ts.map +1 -0
- package/cjs/types/index.d.ts +11 -0
- package/cjs/types/index.d.ts.map +1 -0
- package/cjs/types/inference-types.d.ts +32 -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 +58 -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 +29 -0
- package/cjs/validators/any-validator.d.ts.map +1 -0
- package/cjs/validators/any-validator.js +31 -0
- package/cjs/validators/any-validator.js.map +1 -0
- package/cjs/validators/array-validator.d.ts +72 -0
- package/cjs/validators/array-validator.d.ts.map +1 -0
- package/cjs/validators/array-validator.js +162 -0
- package/cjs/validators/array-validator.js.map +1 -0
- package/cjs/validators/base-validator.d.ts +425 -0
- package/cjs/validators/base-validator.d.ts.map +1 -0
- package/cjs/validators/base-validator.js +637 -0
- package/cjs/validators/base-validator.js.map +1 -0
- package/cjs/validators/boolean-validator.d.ts +67 -0
- package/cjs/validators/boolean-validator.d.ts.map +1 -0
- package/cjs/validators/boolean-validator.js +105 -0
- package/cjs/validators/boolean-validator.js.map +1 -0
- package/cjs/validators/computed-validator.d.ts +75 -0
- package/cjs/validators/computed-validator.d.ts.map +1 -0
- package/cjs/validators/computed-validator.js +124 -0
- package/cjs/validators/computed-validator.js.map +1 -0
- package/cjs/validators/date-validator.d.ts +330 -0
- package/cjs/validators/date-validator.d.ts.map +1 -0
- package/cjs/validators/date-validator.js +614 -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 +31 -0
- package/cjs/validators/index.d.ts.map +1 -0
- package/cjs/validators/int-validator.d.ts +19 -0
- package/cjs/validators/int-validator.d.ts.map +1 -0
- package/cjs/validators/int-validator.js +21 -0
- package/cjs/validators/int-validator.js.map +1 -0
- package/cjs/validators/managed-validator.d.ts +38 -0
- package/cjs/validators/managed-validator.d.ts.map +1 -0
- package/cjs/validators/managed-validator.js +34 -0
- package/cjs/validators/managed-validator.js.map +1 -0
- 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 +166 -0
- package/cjs/validators/number-validator.d.ts.map +1 -0
- package/cjs/validators/number-validator.js +307 -0
- package/cjs/validators/number-validator.js.map +1 -0
- package/cjs/validators/numeric-validator.d.ts +15 -0
- package/cjs/validators/numeric-validator.d.ts.map +1 -0
- package/cjs/validators/numeric-validator.js +18 -0
- package/cjs/validators/numeric-validator.js.map +1 -0
- package/cjs/validators/object-validator.d.ts +233 -0
- package/cjs/validators/object-validator.d.ts.map +1 -0
- package/cjs/validators/object-validator.js +517 -0
- package/cjs/validators/object-validator.js.map +1 -0
- 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 +54 -0
- package/cjs/validators/record-validator.d.ts.map +1 -0
- package/cjs/validators/record-validator.js +100 -0
- package/cjs/validators/record-validator.js.map +1 -0
- package/cjs/validators/scalar-validator.d.ts +93 -0
- package/cjs/validators/scalar-validator.d.ts.map +1 -0
- package/cjs/validators/scalar-validator.js +149 -0
- package/cjs/validators/scalar-validator.js.map +1 -0
- package/cjs/validators/string-validator.d.ts +189 -0
- package/cjs/validators/string-validator.d.ts.map +1 -0
- package/cjs/validators/string-validator.js +387 -0
- package/cjs/validators/string-validator.js.map +1 -0
- package/cjs/validators/tuple-validator.d.ts +56 -0
- package/cjs/validators/tuple-validator.d.ts.map +1 -0
- package/cjs/validators/tuple-validator.js +121 -0
- package/cjs/validators/tuple-validator.js.map +1 -0
- package/cjs/validators/union-validator.d.ts +55 -0
- package/cjs/validators/union-validator.d.ts.map +1 -0
- package/cjs/validators/union-validator.js +60 -0
- package/cjs/validators/union-validator.js.map +1 -0
- package/esm/index.d.ts +30 -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 +7 -0
- package/esm/mutators/index.d.ts.map +1 -0
- package/esm/mutators/number-mutators.d.ts +22 -0
- package/esm/mutators/number-mutators.d.ts.map +1 -0
- package/esm/mutators/number-mutators.js +53 -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 +48 -0
- package/esm/mutators/object-mutators.js.map +1 -0
- package/esm/mutators/scalar-mutators.d.ts +3 -0
- package/esm/mutators/scalar-mutators.d.ts.map +1 -0
- package/esm/mutators/scalar-mutators.js +6 -0
- package/esm/mutators/scalar-mutators.js.map +1 -0
- package/esm/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 +67 -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 +45 -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 +69 -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 +39 -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 +38 -0
- package/esm/rules/common/type-rules.d.ts.map +1 -0
- package/esm/rules/common/type-rules.js +117 -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 +17 -0
- package/esm/rules/common/unknown-key.js.map +1 -0
- package/esm/rules/conditional/forbidden-if-rules.d.ts +54 -0
- package/esm/rules/conditional/forbidden-if-rules.d.ts.map +1 -0
- package/esm/rules/conditional/forbidden-if-rules.js +118 -0
- package/esm/rules/conditional/forbidden-if-rules.js.map +1 -0
- package/esm/rules/conditional/index.d.ts +11 -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 +100 -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 +22 -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 +70 -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 +70 -0
- package/esm/rules/conditional/present-without-rules.js.map +1 -0
- package/esm/rules/conditional/required-if-rules.d.ts +77 -0
- package/esm/rules/conditional/required-if-rules.d.ts.map +1 -0
- package/esm/rules/conditional/required-if-rules.js +205 -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 +22 -0
- package/esm/rules/conditional/required-unless-rules.js.map +1 -0
- 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 +26 -0
- package/esm/rules/conditional/required-with-rules.d.ts.map +1 -0
- package/esm/rules/conditional/required-with-rules.js +64 -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 +64 -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 +14 -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 +6 -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/union.d.ts +9 -0
- package/esm/rules/core/union.d.ts.map +1 -0
- package/esm/rules/core/union.js +40 -0
- package/esm/rules/core/union.js.map +1 -0
- package/esm/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 +80 -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 +68 -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 +94 -0
- package/esm/rules/date/date-field-comparison-rules.js.map +1 -0
- package/esm/rules/date/date-period-rules.d.ts +124 -0
- package/esm/rules/date/date-period-rules.d.ts.map +1 -0
- package/esm/rules/date/date-period-rules.js +605 -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 +60 -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 +71 -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 +288 -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 +60 -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 +30 -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 +107 -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 +65 -0
- package/esm/rules/number/number-rules.d.ts.map +1 -0
- package/esm/rules/number/number-rules.js +245 -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 +117 -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 +117 -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 +15 -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 +14 -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 +56 -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/standard-schema/index.d.ts +4 -0
- package/esm/standard-schema/index.d.ts.map +1 -0
- package/esm/standard-schema/json-schema.d.ts +61 -0
- package/esm/standard-schema/json-schema.d.ts.map +1 -0
- package/esm/standard-schema/json-schema.js +85 -0
- package/esm/standard-schema/json-schema.js.map +1 -0
- package/esm/standard-schema/map-result.d.ts +18 -0
- package/esm/standard-schema/map-result.d.ts.map +1 -0
- package/esm/standard-schema/map-result.js +27 -0
- package/esm/standard-schema/map-result.js.map +1 -0
- package/esm/standard-schema/types.d.ts +93 -0
- package/esm/standard-schema/types.d.ts.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 +47 -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/file.types.d.ts +5 -0
- package/esm/types/file.types.d.ts.map +1 -0
- package/esm/types/index.d.ts +11 -0
- package/esm/types/index.d.ts.map +1 -0
- package/esm/types/inference-types.d.ts +32 -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 +58 -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 +29 -0
- package/esm/validators/any-validator.d.ts.map +1 -0
- package/esm/validators/any-validator.js +31 -0
- package/esm/validators/any-validator.js.map +1 -0
- package/esm/validators/array-validator.d.ts +72 -0
- package/esm/validators/array-validator.d.ts.map +1 -0
- package/esm/validators/array-validator.js +162 -0
- package/esm/validators/array-validator.js.map +1 -0
- package/esm/validators/base-validator.d.ts +425 -0
- package/esm/validators/base-validator.d.ts.map +1 -0
- package/esm/validators/base-validator.js +637 -0
- package/esm/validators/base-validator.js.map +1 -0
- package/esm/validators/boolean-validator.d.ts +67 -0
- package/esm/validators/boolean-validator.d.ts.map +1 -0
- package/esm/validators/boolean-validator.js +105 -0
- package/esm/validators/boolean-validator.js.map +1 -0
- package/esm/validators/computed-validator.d.ts +75 -0
- package/esm/validators/computed-validator.d.ts.map +1 -0
- package/esm/validators/computed-validator.js +124 -0
- package/esm/validators/computed-validator.js.map +1 -0
- package/esm/validators/date-validator.d.ts +330 -0
- package/esm/validators/date-validator.d.ts.map +1 -0
- package/esm/validators/date-validator.js +614 -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 +31 -0
- package/esm/validators/index.d.ts.map +1 -0
- package/esm/validators/int-validator.d.ts +19 -0
- package/esm/validators/int-validator.d.ts.map +1 -0
- package/esm/validators/int-validator.js +21 -0
- package/esm/validators/int-validator.js.map +1 -0
- package/esm/validators/managed-validator.d.ts +38 -0
- package/esm/validators/managed-validator.d.ts.map +1 -0
- package/esm/validators/managed-validator.js +34 -0
- package/esm/validators/managed-validator.js.map +1 -0
- 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 +166 -0
- package/esm/validators/number-validator.d.ts.map +1 -0
- package/esm/validators/number-validator.js +307 -0
- package/esm/validators/number-validator.js.map +1 -0
- package/esm/validators/numeric-validator.d.ts +15 -0
- package/esm/validators/numeric-validator.d.ts.map +1 -0
- package/esm/validators/numeric-validator.js +18 -0
- package/esm/validators/numeric-validator.js.map +1 -0
- package/esm/validators/object-validator.d.ts +233 -0
- package/esm/validators/object-validator.d.ts.map +1 -0
- package/esm/validators/object-validator.js +517 -0
- package/esm/validators/object-validator.js.map +1 -0
- 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 +54 -0
- package/esm/validators/record-validator.d.ts.map +1 -0
- package/esm/validators/record-validator.js +100 -0
- package/esm/validators/record-validator.js.map +1 -0
- package/esm/validators/scalar-validator.d.ts +93 -0
- package/esm/validators/scalar-validator.d.ts.map +1 -0
- package/esm/validators/scalar-validator.js +149 -0
- package/esm/validators/scalar-validator.js.map +1 -0
- package/esm/validators/string-validator.d.ts +189 -0
- package/esm/validators/string-validator.d.ts.map +1 -0
- package/esm/validators/string-validator.js +387 -0
- package/esm/validators/string-validator.js.map +1 -0
- package/esm/validators/tuple-validator.d.ts +56 -0
- package/esm/validators/tuple-validator.d.ts.map +1 -0
- package/esm/validators/tuple-validator.js +121 -0
- package/esm/validators/tuple-validator.js.map +1 -0
- package/esm/validators/union-validator.d.ts +55 -0
- package/esm/validators/union-validator.d.ts.map +1 -0
- package/esm/validators/union-validator.js +60 -0
- package/esm/validators/union-validator.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
'use strict';require('@mongez/reinforcements');var pathHelpers=require('../helpers/path-helpers.js');require('@mongez/supportive-is'),require('net');var typeRules=require('../rules/common/type-rules.js'),baseValidator=require('./base-validator.js'),jsonSchema=require('../standard-schema/json-schema.js');/**
|
|
2
|
+
* Tuple validator class - validates fixed-length arrays with position-specific types
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* // RGB color tuple
|
|
7
|
+
* v.tuple([v.number(), v.number(), v.number()])
|
|
8
|
+
* // Valid: [255, 128, 0]
|
|
9
|
+
* // Invalid: [255, 128] (too short)
|
|
10
|
+
*
|
|
11
|
+
* // Mixed types
|
|
12
|
+
* v.tuple([v.string(), v.int(), v.boolean()])
|
|
13
|
+
* // Valid: ["John", 25, true]
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
class TupleValidator extends baseValidator.BaseValidator {
|
|
17
|
+
validators;
|
|
18
|
+
constructor(validators, errorMessage) {
|
|
19
|
+
super();
|
|
20
|
+
this.validators = validators;
|
|
21
|
+
this.addMutableRule(typeRules.arrayRule, errorMessage);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Check if value is an array type
|
|
25
|
+
*/
|
|
26
|
+
matchesType(value) {
|
|
27
|
+
return Array.isArray(value);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Clone the validator
|
|
31
|
+
*/
|
|
32
|
+
clone() {
|
|
33
|
+
const cloned = super.clone();
|
|
34
|
+
cloned.validators = this.validators.map((v) => v.clone());
|
|
35
|
+
return cloned;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Validate tuple - check length then validate each position
|
|
39
|
+
*/
|
|
40
|
+
async validate(data, context) {
|
|
41
|
+
const mutatedData = (await this.mutate(data, context)) || [];
|
|
42
|
+
const result = await super.validate(data, context);
|
|
43
|
+
if (result.isValid === false)
|
|
44
|
+
return result;
|
|
45
|
+
const errors = [];
|
|
46
|
+
// Tuple-specific: length validation
|
|
47
|
+
if (mutatedData.length !== this.validators.length) {
|
|
48
|
+
errors.push({
|
|
49
|
+
type: "tuple",
|
|
50
|
+
input: context.key || "value",
|
|
51
|
+
error: `Expected exactly ${this.validators.length} items, but got ${mutatedData.length}`,
|
|
52
|
+
});
|
|
53
|
+
return { isValid: false, errors, data: mutatedData };
|
|
54
|
+
}
|
|
55
|
+
// Validate each position with its specific validator in parallel
|
|
56
|
+
const validationPromises = this.validators.map(async (validator, index) => {
|
|
57
|
+
const childContext = {
|
|
58
|
+
...context,
|
|
59
|
+
parent: mutatedData,
|
|
60
|
+
value: mutatedData[index],
|
|
61
|
+
key: index.toString(),
|
|
62
|
+
path: pathHelpers.setKeyPath(context.path, index.toString()),
|
|
63
|
+
};
|
|
64
|
+
const childResult = await validator.validate(mutatedData[index], childContext);
|
|
65
|
+
// Update mutated data with validated result
|
|
66
|
+
mutatedData[index] = childResult.data;
|
|
67
|
+
// Collect errors from this element
|
|
68
|
+
if (childResult.isValid === false) {
|
|
69
|
+
errors.push(...childResult.errors);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
await Promise.all(validationPromises);
|
|
73
|
+
return {
|
|
74
|
+
isValid: errors.length === 0,
|
|
75
|
+
errors,
|
|
76
|
+
data: await this.startTransformationPipeline(mutatedData, context),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @inheritdoc
|
|
81
|
+
*
|
|
82
|
+
* Tuple keyword diverges between targets:
|
|
83
|
+
* - `draft-2020-12` → `prefixItems` + `items: false` (exact length enforced)
|
|
84
|
+
* - `draft-07` → `items` as array + `additionalItems: false`
|
|
85
|
+
* - `openapi-3.0` → same as draft-07 (OpenAPI 3.0 is based on draft-07)
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* v.tuple([v.string(), v.int(), v.boolean()]).toJsonSchema("draft-2020-12")
|
|
90
|
+
* // → {
|
|
91
|
+
* // type: "array",
|
|
92
|
+
* // prefixItems: [{ type: "string" }, { type: "integer" }, { type: "boolean" }],
|
|
93
|
+
* // items: false,
|
|
94
|
+
* // minItems: 3,
|
|
95
|
+
* // maxItems: 3
|
|
96
|
+
* // }
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
toJsonSchema(target = "draft-2020-12") {
|
|
100
|
+
const itemSchemas = this.validators.map(v => v.toJsonSchema(target));
|
|
101
|
+
const length = this.validators.length;
|
|
102
|
+
const schema = {
|
|
103
|
+
type: "array",
|
|
104
|
+
minItems: length,
|
|
105
|
+
maxItems: length,
|
|
106
|
+
};
|
|
107
|
+
if (target === "draft-2020-12") {
|
|
108
|
+
// prefixItems is the draft-2020-12 keyword for positional tuple items
|
|
109
|
+
schema.prefixItems = itemSchemas;
|
|
110
|
+
schema.items = false; // no additional items beyond the tuple
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// draft-07 and openapi-3.0: items as array + additionalItems: false
|
|
114
|
+
schema.items = itemSchemas;
|
|
115
|
+
schema.additionalItems = false;
|
|
116
|
+
}
|
|
117
|
+
if (this.isNullable)
|
|
118
|
+
jsonSchema.applyNullable(schema, target);
|
|
119
|
+
return schema;
|
|
120
|
+
}
|
|
121
|
+
}exports.TupleValidator=TupleValidator;//# sourceMappingURL=tuple-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple-validator.js","sources":["../../src/validators/tuple-validator.ts"],"sourcesContent":[null],"names":["BaseValidator","arrayRule","setKeyPath","applyNullable"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { BaseValidator } from "./base-validator";
|
|
2
|
+
import type { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema";
|
|
3
|
+
/**
|
|
4
|
+
* Union validator class - validates value against multiple validator types
|
|
5
|
+
*
|
|
6
|
+
* Tries each validator in order until one passes. If a validator's matchesType()
|
|
7
|
+
* returns false, it's skipped for optimization. First validator that both matches
|
|
8
|
+
* the type and passes validation wins.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // Accept email or username
|
|
13
|
+
* const identifier = v.union([
|
|
14
|
+
* v.string().email(),
|
|
15
|
+
* v.string().alphanumeric().min(3).max(20)
|
|
16
|
+
* ]);
|
|
17
|
+
*
|
|
18
|
+
* // Accept different types
|
|
19
|
+
* const customValue = v.union([
|
|
20
|
+
* v.string().required(),
|
|
21
|
+
* v.number().required(),
|
|
22
|
+
* v.boolean().required(),
|
|
23
|
+
* v.file().required()
|
|
24
|
+
* ]);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare class UnionValidator extends BaseValidator {
|
|
28
|
+
/**
|
|
29
|
+
* Set the validators to try for union validation
|
|
30
|
+
*
|
|
31
|
+
* @param validators - Array of validators to try
|
|
32
|
+
* @param errorMessage - Optional custom error message if all validators fail
|
|
33
|
+
* @returns This validator for chaining
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* new UnionValidator()
|
|
38
|
+
* .union([v.string(), v.number()], 'Must be string or number');
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
union(validators: BaseValidator[], errorMessage?: string): this;
|
|
42
|
+
/**
|
|
43
|
+
* @inheritdoc
|
|
44
|
+
*
|
|
45
|
+
* Generates `{ oneOf: [...] }` by mapping each sub-validator to its JSON Schema.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* v.union([v.string(), v.number()]).toJsonSchema("draft-2020-12")
|
|
50
|
+
* // → { oneOf: [{ type: "string" }, { type: "number" }] }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=union-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union-validator.d.ts","sourceRoot":"","sources":["../../src/validators/union-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAC/C;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;IAI/D;;;;;;;;;;OAUG;IACa,YAAY,CAAC,MAAM,GAAE,gBAAkC,GAAG,gBAAgB;CAQ3F"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';require('@mongez/reinforcements'),require('@mongez/supportive-is');var union=require('../rules/core/union.js');require('net');var baseValidator=require('./base-validator.js'),jsonSchema=require('../standard-schema/json-schema.js');/**
|
|
2
|
+
* Union validator class - validates value against multiple validator types
|
|
3
|
+
*
|
|
4
|
+
* Tries each validator in order until one passes. If a validator's matchesType()
|
|
5
|
+
* returns false, it's skipped for optimization. First validator that both matches
|
|
6
|
+
* the type and passes validation wins.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* // Accept email or username
|
|
11
|
+
* const identifier = v.union([
|
|
12
|
+
* v.string().email(),
|
|
13
|
+
* v.string().alphanumeric().min(3).max(20)
|
|
14
|
+
* ]);
|
|
15
|
+
*
|
|
16
|
+
* // Accept different types
|
|
17
|
+
* const customValue = v.union([
|
|
18
|
+
* v.string().required(),
|
|
19
|
+
* v.number().required(),
|
|
20
|
+
* v.boolean().required(),
|
|
21
|
+
* v.file().required()
|
|
22
|
+
* ]);
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
class UnionValidator extends baseValidator.BaseValidator {
|
|
26
|
+
/**
|
|
27
|
+
* Set the validators to try for union validation
|
|
28
|
+
*
|
|
29
|
+
* @param validators - Array of validators to try
|
|
30
|
+
* @param errorMessage - Optional custom error message if all validators fail
|
|
31
|
+
* @returns This validator for chaining
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* new UnionValidator()
|
|
36
|
+
* .union([v.string(), v.number()], 'Must be string or number');
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
union(validators, errorMessage) {
|
|
40
|
+
return this.addRule(union.unionRule, errorMessage, { validators });
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @inheritdoc
|
|
44
|
+
*
|
|
45
|
+
* Generates `{ oneOf: [...] }` by mapping each sub-validator to its JSON Schema.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* v.union([v.string(), v.number()]).toJsonSchema("draft-2020-12")
|
|
50
|
+
* // → { oneOf: [{ type: "string" }, { type: "number" }] }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
toJsonSchema(target = "draft-2020-12") {
|
|
54
|
+
const opts = jsonSchema.getRuleOptions(this.rules, "union");
|
|
55
|
+
const validators = (opts?.validators ?? []);
|
|
56
|
+
return {
|
|
57
|
+
oneOf: validators.map(v => v.toJsonSchema(target)),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}exports.UnionValidator=UnionValidator;//# sourceMappingURL=union-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union-validator.js","sources":["../../src/validators/union-validator.ts"],"sourcesContent":[null],"names":["BaseValidator","unionRule","getRuleOptions"],"mappings":"oPAKA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,MAAO,cAAe,SAAQA,2BAAa,CAAA;AAC/C;;;;;;;;;;;;AAYG;IACI,KAAK,CAAC,UAA2B,EAAE,YAAqB,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,OAAO,CAACC,eAAS,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;KAC9D;AAED;;;;;;;;;;AAUG;IACa,YAAY,CAAC,SAA2B,eAAe,EAAA;QACrE,MAAM,IAAI,GAAGC,yBAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,UAAU,IAAI,IAAI,EAAE,UAAU,IAAI,EAAE,CAAoB,CAAC;QAE/D,OAAO;AACL,YAAA,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SACnD,CAAC;KACH;AACF"}
|
package/esm/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Warlock Seal - Type-Safe Validation Library
|
|
3
|
+
*
|
|
4
|
+
* A powerful, framework-agnostic validation library with TypeScript support
|
|
5
|
+
*
|
|
6
|
+
* Package: @warlock.js/seal
|
|
7
|
+
*
|
|
8
|
+
* Cast validation seals on your schemas to protect your data!
|
|
9
|
+
*
|
|
10
|
+
* Structure:
|
|
11
|
+
* - validators/ - Core validators (framework-agnostic)
|
|
12
|
+
* - rules/ - Core validation rules
|
|
13
|
+
* - types/ - Type definitions
|
|
14
|
+
* - helpers/ - Utilities
|
|
15
|
+
* - mutators/ - Data transformations
|
|
16
|
+
* - factory/ - v object and validate function
|
|
17
|
+
*
|
|
18
|
+
* Framework-specific features (FileValidator, database rules) are in:
|
|
19
|
+
* @warlock.js/core/v (src/warlock/v/)
|
|
20
|
+
*/
|
|
21
|
+
export * from "./validators";
|
|
22
|
+
export * from "./types";
|
|
23
|
+
export * from "./helpers";
|
|
24
|
+
export * from "./mutators";
|
|
25
|
+
export * from "./rules";
|
|
26
|
+
export * from "./factory";
|
|
27
|
+
export * from "./plugins";
|
|
28
|
+
export * from "./config";
|
|
29
|
+
export * from "./standard-schema";
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,mBAAmB,CAAC"}
|
package/esm/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{AnyValidator}from'./validators/any-validator.js';export{ArrayValidator}from'./validators/array-validator.js';export{BaseValidator}from'./validators/base-validator.js';import'./validators/methods/equality-conditional-methods.js';import'./validators/methods/forbidden-methods.js';import'./validators/methods/present-methods.js';import'./validators/methods/required-methods.js';export{PrimitiveValidator}from'./validators/primitive-validator.js';export{BooleanValidator}from'./validators/boolean-validator.js';export{ComputedValidator}from'./validators/computed-validator.js';export{DateValidator}from'./validators/date-validator.js';export{FloatValidator}from'./validators/float-validator.js';export{IntValidator}from'./validators/int-validator.js';export{ManagedValidator}from'./validators/managed-validator.js';export{NumberValidator}from'./validators/number-validator.js';export{NumericValidator}from'./validators/numeric-validator.js';export{ObjectValidator}from'./validators/object-validator.js';export{RecordValidator}from'./validators/record-validator.js';export{ScalarValidator}from'./validators/scalar-validator.js';export{StringValidator}from'./validators/string-validator.js';export{TupleValidator}from'./validators/tuple-validator.js';export{UnionValidator}from'./validators/union-validator.js';export{WEEK_DAYS}from'./types/date-types.js';export{isDateValue}from'./helpers/date-helpers.js';export{humanizeSize,resolveFileSize}from'./helpers/file.utils.js';export{getFieldValue}from'./helpers/get-field-value.js';export{setKeyPath}from'./helpers/path-helpers.js';export{VALID_RULE,invalidRule,resolveTranslation}from'./helpers/validation-helpers.js';export{flipArrayMutator,removeEmptyArrayElementsMutator,reverseArrayMutator,sortArrayMutator,uniqueArrayMutator}from'./mutators/array-mutators.js';export{addDaysMutator,addHoursMutator,addMonthsMutator,addYearsMutator,dateMutator,toDateOnlyMutator,toEndOfDayMutator,toEndOfMonthMutator,toEndOfYearMutator,toFormatMutator,toISOStringMutator,toStartOfDayMutator,toStartOfMonthMutator,toStartOfYearMutator,toTimeOnlyMutator,toTimestampMutator,toUTCMutator}from'./mutators/date-mutators.js';export{absMutator,booleanMutator,ceilMutator,floorMutator,numberMutator,numericMutator,roundMutator,roundNumberMutator,toFixedMutator}from'./mutators/number-mutators.js';export{jsonMutator,objectTrimMutator,stripUnknownMutator}from'./mutators/object-mutators.js';export{stringMutator}from'./mutators/scalar-mutators.js';export{alphaOnlyMutator,alphanumericOnlyMutator,appendMutator,base64DecodeMutator,base64EncodeMutator,camelCaseMutator,capitalizeMutator,htmlEscapeMutator,kebabCaseMutator,lowercaseMutator,ltrimMutator,maskMutator,padEndMutator,padStartMutator,pascalCaseMutator,prependMutator,removeNumbersMutator,removeSpecialCharactersMutator,repeatMutator,replaceAllMutator,replaceMutator,reverseMutator,rtrimMutator,safeHtmlMutator,slugMutator,snakeCaseMutator,stringifyMutator,titleCaseMutator,trimMultipleWhitespaceMutator,trimMutator,truncateMutator,unescapeHtmlMutator,uppercaseMutator,urlDecodeMutator,urlEncodeMutator}from'./mutators/string-mutators.js';export{equalRule}from'./rules/core/equal.js';export{forbiddenRule}from'./rules/core/forbidden.js';export{presentRule,requiredRule}from'./rules/core/required.js';export{unionRule}from'./rules/core/union.js';export{whenRule}from'./rules/core/when.js';export{alphaNumericRule,alphaRule,isNumericRule}from'./rules/string/alpha.js';export{isCreditCardRule}from'./rules/string/credit-card.js';export{emailRule}from'./rules/string/email.js';export{ip4Rule,ip6Rule,ipRule}from'./rules/string/ip.js';export{matchesRule}from'./rules/string/matches.js';export{patternRule}from'./rules/string/pattern.js';export{containsRule,endsWithRule,notContainsRule,startsWithRule}from'./rules/string/string-comparison.js';export{strongPasswordRule}from'./rules/string/strong-password-rule.js';export{urlRule}from'./rules/string/url.js';export{withoutWhitespaceRule}from'./rules/string/without-whitespace.js';export{betweenNumbersRule,evenRule,greaterThanRule,lessThanRule,maxRule,minRule,moduloRule,negativeRule,oddRule,positiveRule}from'./rules/number/number-rules.js';export{betweenLengthRule,lengthRule,maxLengthRule,maxWordsRule,minLengthRule,minWordsRule,wordsRule}from'./rules/length/length-rules.js';export{sortedArrayRule,uniqueArrayRule}from'./rules/array/array-rules.js';export{ageRule,beforeHourRule,beforeMinuteRule,beforeTodayRule,betweenHoursRule,betweenMinutesRule,dateRule,fromHourRule,fromMinuteRule,fromTodayRule,maxAgeRule,maxDateRule,minAgeRule,minDateRule,weekDayRule}from'./rules/date/date.js';export{afterTodayRule,betweenDatesRule,futureRule,pastRule,todayRule}from'./rules/date/date-comparison-rules.js';export{businessDayRule,weekdayRule,weekdaysRule,weekendRule}from'./rules/date/date-day-rules.js';export{afterFieldRule,beforeFieldRule,sameAsFieldDateRule}from'./rules/date/date-field-comparison-rules.js';export{betweenDaysRule,betweenMonthsRule,betweenTimesRule,betweenYearsRule,maxDayRule,maxMonthRule,maxYearRule,minDayRule,minMonthRule,minYearRule,monthRule,quarterRule,yearRule}from'./rules/date/date-period-rules.js';export{withinDaysRule,withinFutureDaysRule,withinPastDaysRule}from'./rules/date/date-relative-rules.js';export{betweenAgeRule,birthdayRule,leapYearRule}from'./rules/date/date-special-rules.js';export{maxHeightRule,maxWidthRule,minHeightRule,minWidthRule}from'./rules/file/dimensions.js';export{maxFileSizeRule,minFileSizeRule}from'./rules/file/file-size.js';export{colorRule,darkColorRule,hexColorRule,hslColorRule,lightColorRule,rgbColorRule,rgbaColorRule}from'./rules/color/color-rules.js';export{requiredIfAllEmptyRule,requiredIfAllNotEmptyRule,requiredIfAnyEmptyRule,requiredIfAnyNotEmptyRule,requiredIfEmptyRule,requiredIfInRule,requiredIfNotEmptyRule,requiredIfNotInRule,requiredIfRule}from'./rules/conditional/required-if-rules.js';export{requiredUnlessRule}from'./rules/conditional/required-unless-rules.js';export{requiredWhenRule}from'./rules/conditional/required-when-rule.js';export{requiredWithAllRule,requiredWithAnyRule,requiredWithRule}from'./rules/conditional/required-with-rules.js';export{requiredWithoutAllRule,requiredWithoutAnyRule,requiredWithoutRule}from'./rules/conditional/required-without-rules.js';export{presentIfEmptyRule,presentIfInRule,presentIfNotEmptyRule,presentIfNotInRule,presentIfRule}from'./rules/conditional/present-if-rules.js';export{presentUnlessRule}from'./rules/conditional/present-unless-rules.js';export{presentWithAllRule,presentWithAnyRule,presentWithRule}from'./rules/conditional/present-with-rules.js';export{presentWithoutAllRule,presentWithoutAnyRule,presentWithoutRule}from'./rules/conditional/present-without-rules.js';export{forbiddenIfEmptyRule,forbiddenIfInRule,forbiddenIfNotEmptyRule,forbiddenIfNotInRule,forbiddenIfNotRule,forbiddenIfRule}from'./rules/conditional/forbidden-if-rules.js';export{allowedValuesRule,enumRule,inRule,notAllowedValuesRule}from'./rules/common/enum.js';export{equalsFieldRule,notEqualsFieldRule}from'./rules/common/equals-field-rules.js';export{arrayRule,booleanRule,floatRule,intRule,numberRule,objectRule,plainObjectRule,scalarRule,stringRule}from'./rules/common/type-rules.js';export{unknownKeyRule}from'./rules/common/unknown-key.js';export{validate}from'./factory/validate.js';export{v}from'./factory/validators.js';export{getInstalledPlugins,hasPlugin,registerPlugin,unregisterPlugin}from'./plugins/plugin-system.js';export{configureSeal,getSealConfig,resetSealConfig}from'./config.js';export{mapToStandardResult}from'./standard-schema/map-result.js';export{applyNullable,getRuleOptions,wrapNullableStrict}from'./standard-schema/json-schema.js';//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Mutator } from "../types";
|
|
2
|
+
/** Reverse array order */
|
|
3
|
+
export declare const flipArrayMutator: Mutator;
|
|
4
|
+
/** Reverse array order (alias) */
|
|
5
|
+
export declare const reverseArrayMutator: Mutator;
|
|
6
|
+
/** Sort array */
|
|
7
|
+
export declare const sortArrayMutator: Mutator;
|
|
8
|
+
/** Make array have only unique values */
|
|
9
|
+
export declare const uniqueArrayMutator: Mutator;
|
|
10
|
+
/** Remove empty elements from array */
|
|
11
|
+
export declare const removeEmptyArrayElementsMutator: Mutator;
|
|
12
|
+
//# sourceMappingURL=array-mutators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-mutators.d.ts","sourceRoot":"","sources":["../../src/mutators/array-mutators.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,0BAA0B;AAC1B,eAAO,MAAM,gBAAgB,EAAE,OAE9B,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,mBAAmB,EAAE,OAEjC,CAAC;AAEF,iBAAiB;AACjB,eAAO,MAAM,gBAAgB,EAAE,OAsB9B,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,EAAE,OAEhC,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,+BAA+B,EAAE,OAE7C,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {get}from'@mongez/reinforcements';import {isEmptyValue}from'../helpers/is-empty-value.js';/** Reverse array order */
|
|
2
|
+
const flipArrayMutator = async (value) => {
|
|
3
|
+
return value.reverse();
|
|
4
|
+
};
|
|
5
|
+
/** Reverse array order (alias) */
|
|
6
|
+
const reverseArrayMutator = async (value) => {
|
|
7
|
+
return value.reverse();
|
|
8
|
+
};
|
|
9
|
+
/** Sort array */
|
|
10
|
+
const sortArrayMutator = async (value, context) => {
|
|
11
|
+
if (!Array.isArray(value))
|
|
12
|
+
return value;
|
|
13
|
+
const sortDirection = context?.options.direction ?? "asc";
|
|
14
|
+
const sortByKey = context?.options.key ?? null;
|
|
15
|
+
return value.sort((a, b) => {
|
|
16
|
+
if (sortByKey) {
|
|
17
|
+
const aValue = get(a, sortByKey);
|
|
18
|
+
const bValue = get(b, sortByKey);
|
|
19
|
+
if (sortDirection === "asc") {
|
|
20
|
+
return aValue - bValue;
|
|
21
|
+
}
|
|
22
|
+
return bValue - aValue;
|
|
23
|
+
}
|
|
24
|
+
if (sortDirection === "asc") {
|
|
25
|
+
return a - b;
|
|
26
|
+
}
|
|
27
|
+
return b - a;
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
/** Make array have only unique values */
|
|
31
|
+
const uniqueArrayMutator = async (value) => {
|
|
32
|
+
return [...new Set(value)];
|
|
33
|
+
};
|
|
34
|
+
/** Remove empty elements from array */
|
|
35
|
+
const removeEmptyArrayElementsMutator = async (value) => {
|
|
36
|
+
return value.filter((item) => !isEmptyValue(item));
|
|
37
|
+
};export{flipArrayMutator,removeEmptyArrayElementsMutator,reverseArrayMutator,sortArrayMutator,uniqueArrayMutator};//# sourceMappingURL=array-mutators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-mutators.js","sources":["../../src/mutators/array-mutators.ts"],"sourcesContent":[null],"names":[],"mappings":"iGAIA;MACa,gBAAgB,GAAY,OAAO,KAAK,KAAI;AACvD,IAAA,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;AACzB,EAAE;AAEF;MACa,mBAAmB,GAAY,OAAO,KAAK,KAAI;AAC1D,IAAA,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;AACzB,EAAE;AAEF;AACa,MAAA,gBAAgB,GAAY,OAAO,KAAK,EAAE,OAAO,KAAI;AAChE,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;IAExC,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC1D,MAAM,SAAS,GAAG,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;IAE/C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,KAAI;AACnC,QAAA,IAAI,SAAS,EAAE;YACb,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAEjC,IAAI,aAAa,KAAK,KAAK,EAAE;gBAC3B,OAAO,MAAM,GAAG,MAAM,CAAC;AACxB,aAAA;YACD,OAAO,MAAM,GAAG,MAAM,CAAC;AACxB,SAAA;QAED,IAAI,aAAa,KAAK,KAAK,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;AACd,SAAA;QACD,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,KAAC,CAAC,CAAC;AACL,EAAE;AAEF;MACa,kBAAkB,GAAY,OAAO,KAAK,KAAI;IACzD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,EAAE;AAEF;MACa,+BAA+B,GAAY,OAAO,KAAK,KAAI;AACtE,IAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Mutator } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Convert value to Date object
|
|
4
|
+
* Returns Invalid Date if value cannot be converted
|
|
5
|
+
*/
|
|
6
|
+
export declare const dateMutator: Mutator;
|
|
7
|
+
/** Convert date to ISO string format */
|
|
8
|
+
export declare const toISOStringMutator: Mutator;
|
|
9
|
+
/** Convert date to Unix timestamp (milliseconds) */
|
|
10
|
+
export declare const toTimestampMutator: Mutator;
|
|
11
|
+
/** Convert date to start of day (00:00:00) */
|
|
12
|
+
export declare const toStartOfDayMutator: Mutator;
|
|
13
|
+
/** Convert date to end of day (23:59:59.999) */
|
|
14
|
+
export declare const toEndOfDayMutator: Mutator;
|
|
15
|
+
/** Add or subtract days from date */
|
|
16
|
+
export declare const addDaysMutator: Mutator;
|
|
17
|
+
/** Add or subtract months from date */
|
|
18
|
+
export declare const addMonthsMutator: Mutator;
|
|
19
|
+
/** Add or subtract years from date */
|
|
20
|
+
export declare const addYearsMutator: Mutator;
|
|
21
|
+
/** Add or subtract hours from date */
|
|
22
|
+
export declare const addHoursMutator: Mutator;
|
|
23
|
+
/** Convert date to UTC */
|
|
24
|
+
export declare const toUTCMutator: Mutator;
|
|
25
|
+
/** Convert date to specific format using dayjs */
|
|
26
|
+
export declare const toFormatMutator: Mutator;
|
|
27
|
+
/** Convert to date only (remove time) */
|
|
28
|
+
export declare const toDateOnlyMutator: Mutator;
|
|
29
|
+
/** Convert to time only (HH:MM:SS) */
|
|
30
|
+
export declare const toTimeOnlyMutator: Mutator;
|
|
31
|
+
/** Set to start of month */
|
|
32
|
+
export declare const toStartOfMonthMutator: Mutator;
|
|
33
|
+
/** Set to end of month */
|
|
34
|
+
export declare const toEndOfMonthMutator: Mutator;
|
|
35
|
+
/** Set to start of year */
|
|
36
|
+
export declare const toStartOfYearMutator: Mutator;
|
|
37
|
+
/** Set to end of year */
|
|
38
|
+
export declare const toEndOfYearMutator: Mutator;
|
|
39
|
+
//# sourceMappingURL=date-mutators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-mutators.d.ts","sourceRoot":"","sources":["../../src/mutators/date-mutators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,OAiBzB,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,kBAAkB,EAAE,OAGhC,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,EAAE,OAGhC,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,EAAE,OAIjC,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,EAAE,OAI/B,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,cAAc,EAAE,OAK5B,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,gBAAgB,EAAE,OAK9B,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,eAAe,EAAE,OAK7B,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,eAAe,EAAE,OAK7B,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,YAAY,EAAE,OAG1B,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,eAAe,EAAE,OAG7B,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,iBAAiB,EAAE,OAG/B,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,EAAE,OAG/B,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,qBAAqB,EAAE,OAKnC,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,mBAAmB,EAAE,OAMjC,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,oBAAoB,EAAE,OAMlC,CAAC;AAEF,yBAAyB;AACzB,eAAO,MAAM,kBAAkB,EAAE,OAMhC,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import dayjs from'dayjs';/**
|
|
2
|
+
* Convert value to Date object
|
|
3
|
+
* Returns Invalid Date if value cannot be converted
|
|
4
|
+
*/
|
|
5
|
+
const dateMutator = async (value) => {
|
|
6
|
+
// Handle null/undefined
|
|
7
|
+
if (!value) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
// Already a Date object
|
|
11
|
+
if (value instanceof Date) {
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
// Try to convert to Date
|
|
15
|
+
const date = new Date(value);
|
|
16
|
+
// Return the date (valid or Invalid Date)
|
|
17
|
+
// dateRule will validate and fail if invalid
|
|
18
|
+
return date;
|
|
19
|
+
};
|
|
20
|
+
/** Convert date to ISO string format */
|
|
21
|
+
const toISOStringMutator = async (value) => {
|
|
22
|
+
const date = new Date(value);
|
|
23
|
+
return date.toISOString();
|
|
24
|
+
};
|
|
25
|
+
/** Convert date to Unix timestamp (milliseconds) */
|
|
26
|
+
const toTimestampMutator = async (value) => {
|
|
27
|
+
const date = new Date(value);
|
|
28
|
+
return date.getTime();
|
|
29
|
+
};
|
|
30
|
+
/** Convert date to start of day (00:00:00) */
|
|
31
|
+
const toStartOfDayMutator = async (value) => {
|
|
32
|
+
const date = new Date(value);
|
|
33
|
+
date.setHours(0, 0, 0, 0);
|
|
34
|
+
return date;
|
|
35
|
+
};
|
|
36
|
+
/** Convert date to end of day (23:59:59.999) */
|
|
37
|
+
const toEndOfDayMutator = async (value) => {
|
|
38
|
+
const date = new Date(value);
|
|
39
|
+
date.setHours(23, 59, 59, 999);
|
|
40
|
+
return date;
|
|
41
|
+
};
|
|
42
|
+
/** Add or subtract days from date */
|
|
43
|
+
const addDaysMutator = async (value, context) => {
|
|
44
|
+
const date = new Date(value);
|
|
45
|
+
const days = context?.options.days ?? 0;
|
|
46
|
+
date.setDate(date.getDate() + days);
|
|
47
|
+
return date;
|
|
48
|
+
};
|
|
49
|
+
/** Add or subtract months from date */
|
|
50
|
+
const addMonthsMutator = async (value, context) => {
|
|
51
|
+
const date = new Date(value);
|
|
52
|
+
const months = context?.options.months ?? 0;
|
|
53
|
+
date.setMonth(date.getMonth() + months);
|
|
54
|
+
return date;
|
|
55
|
+
};
|
|
56
|
+
/** Add or subtract years from date */
|
|
57
|
+
const addYearsMutator = async (value, context) => {
|
|
58
|
+
const date = new Date(value);
|
|
59
|
+
const years = context?.options.years ?? 0;
|
|
60
|
+
date.setFullYear(date.getFullYear() + years);
|
|
61
|
+
return date;
|
|
62
|
+
};
|
|
63
|
+
/** Add or subtract hours from date */
|
|
64
|
+
const addHoursMutator = async (value, context) => {
|
|
65
|
+
const date = new Date(value);
|
|
66
|
+
const hours = context?.options.hours ?? 0;
|
|
67
|
+
date.setHours(date.getHours() + hours);
|
|
68
|
+
return date;
|
|
69
|
+
};
|
|
70
|
+
/** Convert date to UTC */
|
|
71
|
+
const toUTCMutator = async (value) => {
|
|
72
|
+
const date = new Date(value);
|
|
73
|
+
return new Date(date.toUTCString());
|
|
74
|
+
};
|
|
75
|
+
/** Convert date to specific format using dayjs */
|
|
76
|
+
const toFormatMutator = async (value, context) => {
|
|
77
|
+
const format = context?.options.format ?? "YYYY-MM-DD";
|
|
78
|
+
return dayjs(value).format(format);
|
|
79
|
+
};
|
|
80
|
+
/** Convert to date only (remove time) */
|
|
81
|
+
const toDateOnlyMutator = async (value) => {
|
|
82
|
+
const date = new Date(value);
|
|
83
|
+
return date.toISOString().split("T")[0];
|
|
84
|
+
};
|
|
85
|
+
/** Convert to time only (HH:MM:SS) */
|
|
86
|
+
const toTimeOnlyMutator = async (value) => {
|
|
87
|
+
const date = new Date(value);
|
|
88
|
+
return date.toTimeString().split(" ")[0];
|
|
89
|
+
};
|
|
90
|
+
/** Set to start of month */
|
|
91
|
+
const toStartOfMonthMutator = async (value) => {
|
|
92
|
+
const date = new Date(value);
|
|
93
|
+
date.setDate(1);
|
|
94
|
+
date.setHours(0, 0, 0, 0);
|
|
95
|
+
return date;
|
|
96
|
+
};
|
|
97
|
+
/** Set to end of month */
|
|
98
|
+
const toEndOfMonthMutator = async (value) => {
|
|
99
|
+
const date = new Date(value);
|
|
100
|
+
date.setMonth(date.getMonth() + 1);
|
|
101
|
+
date.setDate(0);
|
|
102
|
+
date.setHours(23, 59, 59, 999);
|
|
103
|
+
return date;
|
|
104
|
+
};
|
|
105
|
+
/** Set to start of year */
|
|
106
|
+
const toStartOfYearMutator = async (value) => {
|
|
107
|
+
const date = new Date(value);
|
|
108
|
+
date.setMonth(0);
|
|
109
|
+
date.setDate(1);
|
|
110
|
+
date.setHours(0, 0, 0, 0);
|
|
111
|
+
return date;
|
|
112
|
+
};
|
|
113
|
+
/** Set to end of year */
|
|
114
|
+
const toEndOfYearMutator = async (value) => {
|
|
115
|
+
const date = new Date(value);
|
|
116
|
+
date.setMonth(11);
|
|
117
|
+
date.setDate(31);
|
|
118
|
+
date.setHours(23, 59, 59, 999);
|
|
119
|
+
return date;
|
|
120
|
+
};export{addDaysMutator,addHoursMutator,addMonthsMutator,addYearsMutator,dateMutator,toDateOnlyMutator,toEndOfDayMutator,toEndOfMonthMutator,toEndOfYearMutator,toFormatMutator,toISOStringMutator,toStartOfDayMutator,toStartOfMonthMutator,toStartOfYearMutator,toTimeOnlyMutator,toTimestampMutator,toUTCMutator};//# sourceMappingURL=date-mutators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-mutators.js","sources":["../../src/mutators/date-mutators.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mutators/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Mutator } from "../types";
|
|
2
|
+
/** Convert value to number */
|
|
3
|
+
export declare const numberMutator: Mutator;
|
|
4
|
+
/** Round number to specified decimals */
|
|
5
|
+
export declare const roundNumberMutator: Mutator;
|
|
6
|
+
/** Convert to boolean */
|
|
7
|
+
export declare const booleanMutator: Mutator;
|
|
8
|
+
export declare const numericMutator: Mutator;
|
|
9
|
+
/** Absolute value mutator */
|
|
10
|
+
export declare const absMutator: Mutator;
|
|
11
|
+
/** Ceil mutator */
|
|
12
|
+
export declare const ceilMutator: Mutator;
|
|
13
|
+
/** Floor mutator */
|
|
14
|
+
export declare const floorMutator: Mutator;
|
|
15
|
+
/**
|
|
16
|
+
* Round mutator
|
|
17
|
+
* Supports decimal precision via options.decimals
|
|
18
|
+
*/
|
|
19
|
+
export declare const roundMutator: Mutator;
|
|
20
|
+
/** To fixed mutator */
|
|
21
|
+
export declare const toFixedMutator: Mutator;
|
|
22
|
+
//# sourceMappingURL=number-mutators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-mutators.d.ts","sourceRoot":"","sources":["../../src/mutators/number-mutators.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,8BAA8B;AAC9B,eAAO,MAAM,aAAa,EAAE,OAG3B,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,EAAE,OAEhC,CAAC;AAEF,yBAAyB;AACzB,eAAO,MAAM,cAAc,EAAE,OAI5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAG5B,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,UAAU,EAAE,OAExB,CAAC;AAEF,mBAAmB;AACnB,eAAO,MAAM,WAAW,EAAE,OAEzB,CAAC;AAEF,oBAAoB;AACpB,eAAO,MAAM,YAAY,EAAE,OAE1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,OAQ1B,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,cAAc,EAAE,OAG5B,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import {round}from'@mongez/reinforcements';import {isNumeric}from'@mongez/supportive-is';/** Convert value to number */
|
|
2
|
+
const numberMutator = async (value) => {
|
|
3
|
+
if (!value)
|
|
4
|
+
return value;
|
|
5
|
+
return Number(value);
|
|
6
|
+
};
|
|
7
|
+
/** Round number to specified decimals */
|
|
8
|
+
const roundNumberMutator = async (value, context) => {
|
|
9
|
+
return round(value, context?.options?.decimals ?? 2);
|
|
10
|
+
};
|
|
11
|
+
/** Convert to boolean */
|
|
12
|
+
const booleanMutator = async (value) => {
|
|
13
|
+
if (value === "true")
|
|
14
|
+
return true;
|
|
15
|
+
if (value === "false")
|
|
16
|
+
return false;
|
|
17
|
+
return Boolean(value);
|
|
18
|
+
};
|
|
19
|
+
const numericMutator = async (value) => {
|
|
20
|
+
if (!isNumeric(value))
|
|
21
|
+
return value;
|
|
22
|
+
return Number(value);
|
|
23
|
+
};
|
|
24
|
+
/** Absolute value mutator */
|
|
25
|
+
const absMutator = async (value) => {
|
|
26
|
+
return Math.abs(Number(value));
|
|
27
|
+
};
|
|
28
|
+
/** Ceil mutator */
|
|
29
|
+
const ceilMutator = async (value) => {
|
|
30
|
+
return Math.ceil(Number(value));
|
|
31
|
+
};
|
|
32
|
+
/** Floor mutator */
|
|
33
|
+
const floorMutator = async (value) => {
|
|
34
|
+
return Math.floor(Number(value));
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Round mutator
|
|
38
|
+
* Supports decimal precision via options.decimals
|
|
39
|
+
*/
|
|
40
|
+
const roundMutator = async (value, context) => {
|
|
41
|
+
const decimals = context?.options?.decimals ?? 0;
|
|
42
|
+
// If decimals is 0, use standard Math.round for integers
|
|
43
|
+
if (decimals === 0) {
|
|
44
|
+
return Math.round(Number(value));
|
|
45
|
+
}
|
|
46
|
+
// Otherwise use reinforcements round helper for precision
|
|
47
|
+
return round(Number(value), decimals);
|
|
48
|
+
};
|
|
49
|
+
/** To fixed mutator */
|
|
50
|
+
const toFixedMutator = async (value, context) => {
|
|
51
|
+
const decimals = context?.options?.decimals ?? 2;
|
|
52
|
+
return Number(value).toFixed(decimals);
|
|
53
|
+
};export{absMutator,booleanMutator,ceilMutator,floorMutator,numberMutator,numericMutator,roundMutator,roundNumberMutator,toFixedMutator};//# sourceMappingURL=number-mutators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-mutators.js","sources":["../../src/mutators/number-mutators.ts"],"sourcesContent":[null],"names":[],"mappings":"yFAIA;MACa,aAAa,GAAY,OAAO,KAAK,KAAI;AACpD,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,KAAK,CAAC;AACzB,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,EAAE;AAEF;AACa,MAAA,kBAAkB,GAAY,OAAO,KAAK,EAAE,OAAO,KAAI;AAClE,IAAA,OAAO,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;AACvD,EAAE;AAEF;MACa,cAAc,GAAY,OAAO,KAAK,KAAI;IACrD,IAAI,KAAK,KAAK,MAAM;AAAE,QAAA,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;AAAE,QAAA,OAAO,KAAK,CAAC;AACpC,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,EAAE;MAEW,cAAc,GAAY,OAAO,KAAK,KAAI;AACrD,IAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;AACpC,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,EAAE;AAEF;MACa,UAAU,GAAY,OAAO,KAAK,KAAI;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,EAAE;AAEF;MACa,WAAW,GAAY,OAAO,KAAK,KAAI;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,EAAE;AAEF;MACa,YAAY,GAAY,OAAO,KAAK,KAAI;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,EAAE;AAEF;;;AAGG;AACU,MAAA,YAAY,GAAY,OAAO,KAAK,EAAE,OAAO,KAAI;IAC5D,MAAM,QAAQ,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC;;IAEjD,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,KAAA;;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxC,EAAE;AAEF;AACa,MAAA,cAAc,GAAY,OAAO,KAAK,EAAE,OAAO,KAAI;IAC9D,MAAM,QAAQ,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzC"}
|