@warlock.js/notifications 4.16.0 → 5.0.1
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/CHANGELOG.md +6 -0
- package/cjs/channel_api-CH3DxhRU.cjs +7463 -0
- package/cjs/channel_api-CH3DxhRU.cjs.map +1 -0
- package/cjs/chunk-fl3r8ClO.cjs +41 -0
- package/cjs/index.cjs +1 -1
- package/cjs/index.cjs.map +1 -1
- package/cjs/rabbitmq-driver-CJtyxjUQ.cjs +3 -0
- package/cjs/src-Cus6pYPC.cjs +10981 -0
- package/cjs/src-Cus6pYPC.cjs.map +1 -0
- package/esm/_virtual/_rolldown/runtime.mjs +32 -0
- package/esm/herald/src/communicators/broker-registry.mjs +204 -0
- package/esm/herald/src/communicators/broker-registry.mjs.map +1 -0
- package/esm/herald/src/communicators/broker.mjs +110 -0
- package/esm/herald/src/communicators/broker.mjs.map +1 -0
- package/esm/herald/src/communicators/index.mjs +4 -0
- package/esm/herald/src/decorators/consumable.mjs +36 -0
- package/esm/herald/src/decorators/consumable.mjs.map +1 -0
- package/esm/herald/src/decorators/index.mjs +3 -0
- package/esm/herald/src/drivers/index.mjs +5 -0
- package/esm/herald/src/drivers/rabbitmq/index.mjs +4 -0
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-channel.mjs +403 -0
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-channel.mjs.map +1 -0
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-driver.mjs +303 -0
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-driver.mjs.map +1 -0
- package/esm/herald/src/index.mjs +16 -0
- package/esm/herald/src/message-managers/event-consumer.mjs +76 -0
- package/esm/herald/src/message-managers/event-consumer.mjs.map +1 -0
- package/esm/herald/src/message-managers/event-message.mjs +85 -0
- package/esm/herald/src/message-managers/event-message.mjs.map +1 -0
- package/esm/herald/src/message-managers/index.mjs +4 -0
- package/esm/herald/src/message-managers/prepare-consumer-subscription.mjs +42 -0
- package/esm/herald/src/message-managers/prepare-consumer-subscription.mjs.map +1 -0
- package/esm/herald/src/use-case-broadcast.mjs +30 -0
- package/esm/herald/src/use-case-broadcast.mjs.map +1 -0
- package/esm/herald/src/utils/connect-to-broker.mjs +168 -0
- package/esm/herald/src/utils/connect-to-broker.mjs.map +1 -0
- package/esm/herald/src/utils/index.mjs +3 -0
- package/esm/in-app/in-app.d.mts +3 -3
- package/esm/in-app/in-app.d.mts.map +1 -1
- package/esm/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs +6 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/bool.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/color.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/date.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/float.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/id.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/int.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/nanoid.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/pick.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/random.mjs +16 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/sample.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/string.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/token.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/uuid.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/Random/weighted.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/async/retry.mjs +3 -0
- package/esm/node_modules/@mongez/reinforcements/esm/index.mjs +24 -0
- package/esm/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs +82 -0
- package/esm/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/number/round.mjs +17 -0
- package/esm/node_modules/@mongez/reinforcements/esm/number/round.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/object/except.mjs +13 -0
- package/esm/node_modules/@mongez/reinforcements/esm/object/except.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/object/get.mjs +18 -0
- package/esm/node_modules/@mongez/reinforcements/esm/object/get.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/object/omit.mjs +17 -0
- package/esm/node_modules/@mongez/reinforcements/esm/object/omit.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/object/unset.mjs +30 -0
- package/esm/node_modules/@mongez/reinforcements/esm/object/unset.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs +19 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs +18 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs +14 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs +18 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs +22 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs +17 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs +21 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs +21 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/trim.mjs +20 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/trim.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs +15 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/words.mjs +25 -0
- package/esm/node_modules/@mongez/reinforcements/esm/string/words.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs +11 -0
- package/esm/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs +100 -0
- package/esm/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs.map +1 -0
- package/esm/node_modules/@mongez/reinforcements/esm/utils/tap.mjs +27 -0
- package/esm/node_modules/@mongez/reinforcements/esm/utils/tap.mjs.map +1 -0
- package/esm/node_modules/@mongez/supportive-is/esm/index.mjs +353 -0
- package/esm/node_modules/@mongez/supportive-is/esm/index.mjs.map +1 -0
- package/esm/node_modules/amqplib/channel_api.mjs +28 -0
- package/esm/node_modules/amqplib/channel_api.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/api_args.mjs +241 -0
- package/esm/node_modules/amqplib/lib/api_args.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/bitset.mjs +130 -0
- package/esm/node_modules/amqplib/lib/bitset.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/channel.mjs +302 -0
- package/esm/node_modules/amqplib/lib/channel.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/channel_model.mjs +206 -0
- package/esm/node_modules/amqplib/lib/channel_model.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/codec.mjs +273 -0
- package/esm/node_modules/amqplib/lib/codec.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/connect.mjs +143 -0
- package/esm/node_modules/amqplib/lib/connect.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/connection.mjs +416 -0
- package/esm/node_modules/amqplib/lib/connection.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/credentials.mjs +50 -0
- package/esm/node_modules/amqplib/lib/credentials.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/defs.mjs +4600 -0
- package/esm/node_modules/amqplib/lib/defs.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/error.mjs +29 -0
- package/esm/node_modules/amqplib/lib/error.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/format.mjs +28 -0
- package/esm/node_modules/amqplib/lib/format.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/frame.mjs +130 -0
- package/esm/node_modules/amqplib/lib/frame.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/heartbeat.mjs +40 -0
- package/esm/node_modules/amqplib/lib/heartbeat.mjs.map +1 -0
- package/esm/node_modules/amqplib/lib/mux.mjs +86 -0
- package/esm/node_modules/amqplib/lib/mux.mjs.map +1 -0
- package/esm/node_modules/amqplib/package.mjs +41 -0
- package/esm/node_modules/amqplib/package.mjs.map +1 -0
- package/esm/node_modules/buffer-more-ints/buffer-more-ints.mjs +360 -0
- package/esm/node_modules/buffer-more-ints/buffer-more-ints.mjs.map +1 -0
- package/esm/node_modules/dayjs/dayjs.min.mjs +305 -0
- package/esm/node_modules/dayjs/dayjs.min.mjs.map +1 -0
- package/esm/node_modules/querystringify/index.mjs +80 -0
- package/esm/node_modules/querystringify/index.mjs.map +1 -0
- package/esm/node_modules/requires-port/index.mjs +35 -0
- package/esm/node_modules/requires-port/index.mjs.map +1 -0
- package/esm/node_modules/url-parse/index.mjs +388 -0
- package/esm/node_modules/url-parse/index.mjs.map +1 -0
- package/esm/queue/load-herald.mjs +1 -1
- package/esm/seal/src/config.mjs +15 -0
- package/esm/seal/src/config.mjs.map +1 -0
- package/esm/seal/src/factory/index.mjs +4 -0
- package/esm/seal/src/factory/validate.mjs +34 -0
- package/esm/seal/src/factory/validate.mjs.map +1 -0
- package/esm/seal/src/factory/validators.mjs +132 -0
- package/esm/seal/src/factory/validators.mjs.map +1 -0
- package/esm/seal/src/helpers/date-helpers.mjs +24 -0
- package/esm/seal/src/helpers/date-helpers.mjs.map +1 -0
- package/esm/seal/src/helpers/get-field-value.mjs +46 -0
- package/esm/seal/src/helpers/get-field-value.mjs.map +1 -0
- package/esm/seal/src/helpers/index.mjs +6 -0
- package/esm/seal/src/helpers/is-empty-value.mjs +10 -0
- package/esm/seal/src/helpers/is-empty-value.mjs.map +1 -0
- package/esm/seal/src/helpers/path-helpers.mjs +12 -0
- package/esm/seal/src/helpers/path-helpers.mjs.map +1 -0
- package/esm/seal/src/helpers/validation-helpers.mjs +72 -0
- package/esm/seal/src/helpers/validation-helpers.mjs.map +1 -0
- package/esm/seal/src/index.mjs +87 -0
- package/esm/seal/src/mutators/array-mutators.mjs +32 -0
- package/esm/seal/src/mutators/array-mutators.mjs.map +1 -0
- package/esm/seal/src/mutators/date-mutators.mjs +94 -0
- package/esm/seal/src/mutators/date-mutators.mjs.map +1 -0
- package/esm/seal/src/mutators/index.mjs +8 -0
- package/esm/seal/src/mutators/number-mutators.mjs +52 -0
- package/esm/seal/src/mutators/number-mutators.mjs.map +1 -0
- package/esm/seal/src/mutators/object-mutators.mjs +30 -0
- package/esm/seal/src/mutators/object-mutators.mjs.map +1 -0
- package/esm/seal/src/mutators/scalar-mutators.mjs +9 -0
- package/esm/seal/src/mutators/scalar-mutators.mjs.map +1 -0
- package/esm/seal/src/mutators/string-mutators.mjs +186 -0
- package/esm/seal/src/mutators/string-mutators.mjs.map +1 -0
- package/esm/seal/src/rules/array/array-rules.mjs +41 -0
- package/esm/seal/src/rules/array/array-rules.mjs.map +1 -0
- package/esm/seal/src/rules/array/index.mjs +3 -0
- package/esm/seal/src/rules/color/color-rules.mjs +104 -0
- package/esm/seal/src/rules/color/color-rules.mjs.map +1 -0
- package/esm/seal/src/rules/color/index.mjs +3 -0
- package/esm/seal/src/rules/common/enum.mjs +77 -0
- package/esm/seal/src/rules/common/enum.mjs.map +1 -0
- package/esm/seal/src/rules/common/equals-field-rules.mjs +42 -0
- package/esm/seal/src/rules/common/equals-field-rules.mjs.map +1 -0
- package/esm/seal/src/rules/common/index.mjs +8 -0
- package/esm/seal/src/rules/common/instanceof.mjs +23 -0
- package/esm/seal/src/rules/common/instanceof.mjs.map +1 -0
- package/esm/seal/src/rules/common/literal.mjs +31 -0
- package/esm/seal/src/rules/common/literal.mjs.map +1 -0
- package/esm/seal/src/rules/common/type-rules.mjs +97 -0
- package/esm/seal/src/rules/common/type-rules.mjs.map +1 -0
- package/esm/seal/src/rules/common/unknown-key.mjs +25 -0
- package/esm/seal/src/rules/common/unknown-key.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/forbidden-if-rules.mjs +116 -0
- package/esm/seal/src/rules/conditional/forbidden-if-rules.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/index.mjs +12 -0
- package/esm/seal/src/rules/conditional/present-if-rules.mjs +97 -0
- package/esm/seal/src/rules/conditional/present-if-rules.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/present-unless-rules.mjs +30 -0
- package/esm/seal/src/rules/conditional/present-unless-rules.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/present-with-rules.mjs +76 -0
- package/esm/seal/src/rules/conditional/present-with-rules.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/present-without-rules.mjs +76 -0
- package/esm/seal/src/rules/conditional/present-without-rules.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/required-if-rules.mjs +204 -0
- package/esm/seal/src/rules/conditional/required-if-rules.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/required-unless-rules.mjs +31 -0
- package/esm/seal/src/rules/conditional/required-unless-rules.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/required-when-rule.mjs +32 -0
- package/esm/seal/src/rules/conditional/required-when-rule.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/required-with-rules.mjs +67 -0
- package/esm/seal/src/rules/conditional/required-with-rules.mjs.map +1 -0
- package/esm/seal/src/rules/conditional/required-without-rules.mjs +67 -0
- package/esm/seal/src/rules/conditional/required-without-rules.mjs.map +1 -0
- package/esm/seal/src/rules/core/equal.mjs +22 -0
- package/esm/seal/src/rules/core/equal.mjs.map +1 -0
- package/esm/seal/src/rules/core/forbidden.mjs +20 -0
- package/esm/seal/src/rules/core/forbidden.mjs.map +1 -0
- package/esm/seal/src/rules/core/index.mjs +7 -0
- package/esm/seal/src/rules/core/required.mjs +36 -0
- package/esm/seal/src/rules/core/required.mjs.map +1 -0
- package/esm/seal/src/rules/core/union.mjs +30 -0
- package/esm/seal/src/rules/core/union.mjs.map +1 -0
- package/esm/seal/src/rules/core/when.mjs +37 -0
- package/esm/seal/src/rules/core/when.mjs.map +1 -0
- package/esm/seal/src/rules/date/date-comparison-rules.mjs +78 -0
- package/esm/seal/src/rules/date/date-comparison-rules.mjs.map +1 -0
- package/esm/seal/src/rules/date/date-day-rules.mjs +49 -0
- package/esm/seal/src/rules/date/date-day-rules.mjs.map +1 -0
- package/esm/seal/src/rules/date/date-field-comparison-rules.mjs +82 -0
- package/esm/seal/src/rules/date/date-field-comparison-rules.mjs.map +1 -0
- package/esm/seal/src/rules/date/date-period-rules.mjs +399 -0
- package/esm/seal/src/rules/date/date-period-rules.mjs.map +1 -0
- package/esm/seal/src/rules/date/date-relative-rules.mjs +55 -0
- package/esm/seal/src/rules/date/date-relative-rules.mjs.map +1 -0
- package/esm/seal/src/rules/date/date-special-rules.mjs +58 -0
- package/esm/seal/src/rules/date/date-special-rules.mjs.map +1 -0
- package/esm/seal/src/rules/date/date.mjs +235 -0
- package/esm/seal/src/rules/date/date.mjs.map +1 -0
- package/esm/seal/src/rules/date/index.mjs +9 -0
- package/esm/seal/src/rules/file/dimensions.mjs +3 -0
- package/esm/seal/src/rules/file/file-size.mjs +3 -0
- package/esm/seal/src/rules/file/index.mjs +4 -0
- package/esm/seal/src/rules/index.mjs +54 -0
- package/esm/seal/src/rules/length/index.mjs +3 -0
- package/esm/seal/src/rules/length/length-rules.mjs +98 -0
- package/esm/seal/src/rules/length/length-rules.mjs.map +1 -0
- package/esm/seal/src/rules/number/index.mjs +3 -0
- package/esm/seal/src/rules/number/number-rules.mjs +197 -0
- package/esm/seal/src/rules/number/number-rules.mjs.map +1 -0
- package/esm/seal/src/rules/scalar/accepted-rule.mjs +116 -0
- package/esm/seal/src/rules/scalar/accepted-rule.mjs.map +1 -0
- package/esm/seal/src/rules/scalar/declined-rule.mjs +116 -0
- package/esm/seal/src/rules/scalar/declined-rule.mjs.map +1 -0
- package/esm/seal/src/rules/scalar/index.mjs +4 -0
- package/esm/seal/src/rules/string/alpha.mjs +41 -0
- package/esm/seal/src/rules/string/alpha.mjs.map +1 -0
- package/esm/seal/src/rules/string/credit-card.mjs +32 -0
- package/esm/seal/src/rules/string/credit-card.mjs.map +1 -0
- package/esm/seal/src/rules/string/email.mjs +20 -0
- package/esm/seal/src/rules/string/email.mjs.map +1 -0
- package/esm/seal/src/rules/string/id-formats.mjs +104 -0
- package/esm/seal/src/rules/string/id-formats.mjs.map +1 -0
- package/esm/seal/src/rules/string/index.mjs +13 -0
- package/esm/seal/src/rules/string/ip.mjs +66 -0
- package/esm/seal/src/rules/string/ip.mjs.map +1 -0
- package/esm/seal/src/rules/string/matches.mjs +4 -0
- package/esm/seal/src/rules/string/pattern.mjs +20 -0
- package/esm/seal/src/rules/string/pattern.mjs.map +1 -0
- package/esm/seal/src/rules/string/string-comparison.mjs +56 -0
- package/esm/seal/src/rules/string/string-comparison.mjs.map +1 -0
- package/esm/seal/src/rules/string/strong-password-rule.mjs +31 -0
- package/esm/seal/src/rules/string/strong-password-rule.mjs.map +1 -0
- package/esm/seal/src/rules/string/url.mjs +23 -0
- package/esm/seal/src/rules/string/url.mjs.map +1 -0
- package/esm/seal/src/rules/string/without-whitespace.mjs +19 -0
- package/esm/seal/src/rules/string/without-whitespace.mjs.map +1 -0
- package/esm/seal/src/standard-schema/json-schema.mjs +81 -0
- package/esm/seal/src/standard-schema/json-schema.mjs.map +1 -0
- package/esm/seal/src/standard-schema/map-result.mjs +26 -0
- package/esm/seal/src/standard-schema/map-result.mjs.map +1 -0
- package/esm/seal/src/types/date-types.mjs +17 -0
- package/esm/seal/src/types/date-types.mjs.map +1 -0
- package/esm/seal/src/validators/any-validator.mjs +38 -0
- package/esm/seal/src/validators/any-validator.mjs.map +1 -0
- package/esm/seal/src/validators/array-validator.mjs +177 -0
- package/esm/seal/src/validators/array-validator.mjs.map +1 -0
- package/esm/seal/src/validators/base-validator.mjs +691 -0
- package/esm/seal/src/validators/base-validator.mjs.map +1 -0
- package/esm/seal/src/validators/boolean-validator.mjs +126 -0
- package/esm/seal/src/validators/boolean-validator.mjs.map +1 -0
- package/esm/seal/src/validators/computed-validator.mjs +118 -0
- package/esm/seal/src/validators/computed-validator.mjs.map +1 -0
- package/esm/seal/src/validators/date-validator.mjs +639 -0
- package/esm/seal/src/validators/date-validator.mjs.map +1 -0
- package/esm/seal/src/validators/discriminated-union-validator.mjs +129 -0
- package/esm/seal/src/validators/discriminated-union-validator.mjs.map +1 -0
- package/esm/seal/src/validators/float-validator.mjs +18 -0
- package/esm/seal/src/validators/float-validator.mjs.map +1 -0
- package/esm/seal/src/validators/index.mjs +28 -0
- package/esm/seal/src/validators/instanceof-validator.mjs +64 -0
- package/esm/seal/src/validators/instanceof-validator.mjs.map +1 -0
- package/esm/seal/src/validators/int-validator.mjs +30 -0
- package/esm/seal/src/validators/int-validator.mjs.map +1 -0
- package/esm/seal/src/validators/lazy-validator.mjs +87 -0
- package/esm/seal/src/validators/lazy-validator.mjs.map +1 -0
- package/esm/seal/src/validators/literal-validator.mjs +71 -0
- package/esm/seal/src/validators/literal-validator.mjs.map +1 -0
- package/esm/seal/src/validators/managed-validator.mjs +39 -0
- package/esm/seal/src/validators/managed-validator.mjs.map +1 -0
- package/esm/seal/src/validators/methods/equality-conditional-methods.mjs +129 -0
- package/esm/seal/src/validators/methods/equality-conditional-methods.mjs.map +1 -0
- package/esm/seal/src/validators/methods/forbidden-methods.mjs +131 -0
- package/esm/seal/src/validators/methods/forbidden-methods.mjs.map +1 -0
- package/esm/seal/src/validators/methods/present-methods.mjs +235 -0
- package/esm/seal/src/validators/methods/present-methods.mjs.map +1 -0
- package/esm/seal/src/validators/methods/required-methods.mjs +347 -0
- package/esm/seal/src/validators/methods/required-methods.mjs.map +1 -0
- package/esm/seal/src/validators/number-validator.mjs +310 -0
- package/esm/seal/src/validators/number-validator.mjs.map +1 -0
- package/esm/seal/src/validators/numeric-validator.mjs +27 -0
- package/esm/seal/src/validators/numeric-validator.mjs.map +1 -0
- package/esm/seal/src/validators/object-validator.mjs +442 -0
- package/esm/seal/src/validators/object-validator.mjs.map +1 -0
- package/esm/seal/src/validators/primitive-validator.mjs +89 -0
- package/esm/seal/src/validators/primitive-validator.mjs.map +1 -0
- package/esm/seal/src/validators/record-validator.mjs +112 -0
- package/esm/seal/src/validators/record-validator.mjs.map +1 -0
- package/esm/seal/src/validators/scalar-validator.mjs +172 -0
- package/esm/seal/src/validators/scalar-validator.mjs.map +1 -0
- package/esm/seal/src/validators/string-validator.mjs +459 -0
- package/esm/seal/src/validators/string-validator.mjs.map +1 -0
- package/esm/seal/src/validators/tuple-validator.mjs +134 -0
- package/esm/seal/src/validators/tuple-validator.mjs.map +1 -0
- package/esm/seal/src/validators/union-validator.mjs +66 -0
- package/esm/seal/src/validators/union-validator.mjs.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { get } from "../../../../node_modules/@mongez/reinforcements/esm/object/get.mjs";
|
|
2
|
+
import "../../../../node_modules/@mongez/reinforcements/esm/index.mjs";
|
|
3
|
+
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
4
|
+
import "../../helpers/index.mjs";
|
|
5
|
+
|
|
6
|
+
//#region ../seal/src/rules/number/number-rules.ts
|
|
7
|
+
/**
|
|
8
|
+
* Min rule - value must be equal or greater than minimum
|
|
9
|
+
* Supports field names with sibling scope
|
|
10
|
+
*/
|
|
11
|
+
const minRule = {
|
|
12
|
+
name: "min",
|
|
13
|
+
defaultErrorMessage: "The :input must be at least :min",
|
|
14
|
+
async validate(value, context) {
|
|
15
|
+
const { min, scope = "global" } = this.context.options;
|
|
16
|
+
let compareMin;
|
|
17
|
+
if (typeof min === "number") {
|
|
18
|
+
compareMin = min;
|
|
19
|
+
this.context.translationParams.min = min;
|
|
20
|
+
} else {
|
|
21
|
+
const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, min);
|
|
22
|
+
if (fieldValue === void 0) return VALID_RULE;
|
|
23
|
+
this.context.translatableParams.min = min;
|
|
24
|
+
compareMin = Number(fieldValue);
|
|
25
|
+
if (isNaN(compareMin)) return VALID_RULE;
|
|
26
|
+
}
|
|
27
|
+
if (value >= compareMin) return VALID_RULE;
|
|
28
|
+
return invalidRule(this, context);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Max rule - value must be equal or less than maximum
|
|
33
|
+
* Supports field names with sibling scope
|
|
34
|
+
*/
|
|
35
|
+
const maxRule = {
|
|
36
|
+
name: "max",
|
|
37
|
+
defaultErrorMessage: "The :input must equal to or less than :max",
|
|
38
|
+
async validate(value, context) {
|
|
39
|
+
const { max, scope = "global" } = this.context.options;
|
|
40
|
+
let compareMax;
|
|
41
|
+
if (typeof max === "number") {
|
|
42
|
+
compareMax = max;
|
|
43
|
+
this.context.translationParams.max = max;
|
|
44
|
+
} else {
|
|
45
|
+
const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, max);
|
|
46
|
+
if (fieldValue === void 0) return VALID_RULE;
|
|
47
|
+
this.context.translatableParams.max = max;
|
|
48
|
+
compareMax = Number(fieldValue);
|
|
49
|
+
if (isNaN(compareMax)) return VALID_RULE;
|
|
50
|
+
}
|
|
51
|
+
if (value <= compareMax) return VALID_RULE;
|
|
52
|
+
return invalidRule(this, context);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Greater than rule - value must be strictly greater than minimum
|
|
57
|
+
* Supports field names with sibling scope
|
|
58
|
+
*/
|
|
59
|
+
const greaterThanRule = {
|
|
60
|
+
name: "greaterThan",
|
|
61
|
+
defaultErrorMessage: "The :input must be greater than :value",
|
|
62
|
+
async validate(value, context) {
|
|
63
|
+
const { value: compareValue, scope = "global" } = this.context.options;
|
|
64
|
+
let compareNumber;
|
|
65
|
+
if (typeof compareValue === "number") {
|
|
66
|
+
compareNumber = compareValue;
|
|
67
|
+
this.context.translationParams.value = compareValue;
|
|
68
|
+
} else {
|
|
69
|
+
const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, compareValue);
|
|
70
|
+
if (fieldValue === void 0) return VALID_RULE;
|
|
71
|
+
this.context.translatableParams.value = compareValue;
|
|
72
|
+
compareNumber = Number(fieldValue);
|
|
73
|
+
if (isNaN(compareNumber)) return VALID_RULE;
|
|
74
|
+
}
|
|
75
|
+
if (value > compareNumber) return VALID_RULE;
|
|
76
|
+
return invalidRule(this, context);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Less than rule - value must be strictly less than maximum
|
|
81
|
+
* Supports field names with sibling scope
|
|
82
|
+
*/
|
|
83
|
+
const lessThanRule = {
|
|
84
|
+
name: "lessThan",
|
|
85
|
+
defaultErrorMessage: "The :input must be less than :value",
|
|
86
|
+
async validate(value, context) {
|
|
87
|
+
const { value: compareValue, scope = "global" } = this.context.options;
|
|
88
|
+
let compareNumber;
|
|
89
|
+
if (typeof compareValue === "number") {
|
|
90
|
+
compareNumber = compareValue;
|
|
91
|
+
this.context.translationParams.value = compareValue;
|
|
92
|
+
} else {
|
|
93
|
+
const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, compareValue);
|
|
94
|
+
if (fieldValue === void 0) return VALID_RULE;
|
|
95
|
+
this.context.translatableParams.value = compareValue;
|
|
96
|
+
compareNumber = Number(fieldValue);
|
|
97
|
+
if (isNaN(compareNumber)) return VALID_RULE;
|
|
98
|
+
}
|
|
99
|
+
if (value < compareNumber) return VALID_RULE;
|
|
100
|
+
return invalidRule(this, context);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Positive rule - value must be greater than 0
|
|
105
|
+
*/
|
|
106
|
+
const positiveRule = {
|
|
107
|
+
name: "positive",
|
|
108
|
+
defaultErrorMessage: "The :input must be a positive number",
|
|
109
|
+
async validate(value, context) {
|
|
110
|
+
if (value > 0) return VALID_RULE;
|
|
111
|
+
return invalidRule(this, context);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Negative rule - value must be less than 0
|
|
116
|
+
*/
|
|
117
|
+
const negativeRule = {
|
|
118
|
+
name: "negative",
|
|
119
|
+
defaultErrorMessage: "The :input must be a negative number",
|
|
120
|
+
async validate(value, context) {
|
|
121
|
+
if (value < 0) return VALID_RULE;
|
|
122
|
+
return invalidRule(this, context);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Odd rule - value must be an odd number
|
|
127
|
+
*/
|
|
128
|
+
const oddRule = {
|
|
129
|
+
name: "odd",
|
|
130
|
+
defaultErrorMessage: "The :input must be an odd number",
|
|
131
|
+
async validate(value, context) {
|
|
132
|
+
if (value % 2 !== 0) return VALID_RULE;
|
|
133
|
+
return invalidRule(this, context);
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Even rule - value must be an even number
|
|
138
|
+
*/
|
|
139
|
+
const evenRule = {
|
|
140
|
+
name: "even",
|
|
141
|
+
defaultErrorMessage: "The :input must be an even number",
|
|
142
|
+
async validate(value, context) {
|
|
143
|
+
if (value % 2 === 0) return VALID_RULE;
|
|
144
|
+
return invalidRule(this, context);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Modulo rule - value must be divisible by given number
|
|
149
|
+
*/
|
|
150
|
+
const moduloRule = {
|
|
151
|
+
name: "modulo",
|
|
152
|
+
defaultErrorMessage: "The :input must be divisible by :value",
|
|
153
|
+
async validate(value, context) {
|
|
154
|
+
if (value % this.context.options.value === 0) return VALID_RULE;
|
|
155
|
+
this.context.translationParams.value = this.context.options.value;
|
|
156
|
+
return invalidRule(this, context);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Between rule - value must be between the given two numbers (Inclusive)
|
|
161
|
+
* Supports field names with sibling scope
|
|
162
|
+
*/
|
|
163
|
+
const betweenNumbersRule = {
|
|
164
|
+
name: "betweenNumbers",
|
|
165
|
+
defaultErrorMessage: "The :input must be between :min and :max",
|
|
166
|
+
async validate(value, context) {
|
|
167
|
+
const { min, max, scope = "global" } = this.context.options;
|
|
168
|
+
let compareMin;
|
|
169
|
+
if (typeof min === "number") {
|
|
170
|
+
compareMin = min;
|
|
171
|
+
this.context.translationParams.min = min;
|
|
172
|
+
} else {
|
|
173
|
+
const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, min);
|
|
174
|
+
if (fieldValue === void 0) return VALID_RULE;
|
|
175
|
+
this.context.translatableParams.min = min;
|
|
176
|
+
compareMin = Number(fieldValue);
|
|
177
|
+
if (isNaN(compareMin)) return VALID_RULE;
|
|
178
|
+
}
|
|
179
|
+
let compareMax;
|
|
180
|
+
if (typeof max === "number") {
|
|
181
|
+
compareMax = max;
|
|
182
|
+
this.context.translationParams.max = max;
|
|
183
|
+
} else {
|
|
184
|
+
const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, max);
|
|
185
|
+
if (fieldValue === void 0) return VALID_RULE;
|
|
186
|
+
this.context.translatableParams.max = max;
|
|
187
|
+
compareMax = Number(fieldValue);
|
|
188
|
+
if (isNaN(compareMax)) return VALID_RULE;
|
|
189
|
+
}
|
|
190
|
+
if (value >= compareMin && value <= compareMax) return VALID_RULE;
|
|
191
|
+
return invalidRule(this, context);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
//#endregion
|
|
196
|
+
export { betweenNumbersRule, evenRule, greaterThanRule, lessThanRule, maxRule, minRule, moduloRule, negativeRule, oddRule, positiveRule };
|
|
197
|
+
//# sourceMappingURL=number-rules.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-rules.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/number/number-rules.ts"],"sourcesContent":["import { get } from \"@mongez/reinforcements\";\r\nimport { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Min rule - value must be equal or greater than minimum\r\n * Supports field names with sibling scope\r\n */\r\nexport const minRule: SchemaRule<{\r\n min: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"min\",\r\n defaultErrorMessage: \"The :input must be at least :min\",\r\n async validate(value: any, context) {\r\n const { min, scope = \"global\" } = this.context.options;\r\n let compareMin: number;\r\n\r\n if (typeof min === \"number\") {\r\n compareMin = min;\r\n this.context.translationParams.min = min;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, min);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.min = min;\r\n\r\n compareMin = Number(fieldValue);\r\n\r\n if (isNaN(compareMin)) {\r\n return VALID_RULE;\r\n }\r\n }\r\n\r\n if (value >= compareMin) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Max rule - value must be equal or less than maximum\r\n * Supports field names with sibling scope\r\n */\r\nexport const maxRule: SchemaRule<{\r\n max: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"max\",\r\n defaultErrorMessage: \"The :input must equal to or less than :max\",\r\n async validate(value: any, context) {\r\n const { max, scope = \"global\" } = this.context.options;\r\n let compareMax: number;\r\n\r\n if (typeof max === \"number\") {\r\n compareMax = max;\r\n this.context.translationParams.max = max;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, max);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.max = max;\r\n\r\n compareMax = Number(fieldValue);\r\n\r\n if (isNaN(compareMax)) {\r\n return VALID_RULE;\r\n }\r\n }\r\n\r\n if (value <= compareMax) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Greater than rule - value must be strictly greater than minimum\r\n * Supports field names with sibling scope\r\n */\r\nexport const greaterThanRule: SchemaRule<{\r\n value: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"greaterThan\",\r\n defaultErrorMessage: \"The :input must be greater than :value\",\r\n async validate(value: any, context) {\r\n const { value: compareValue, scope = \"global\" } = this.context.options;\r\n let compareNumber: number;\r\n\r\n if (typeof compareValue === \"number\") {\r\n compareNumber = compareValue;\r\n this.context.translationParams.value = compareValue;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, compareValue);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.value = compareValue;\r\n\r\n compareNumber = Number(fieldValue);\r\n\r\n if (isNaN(compareNumber)) {\r\n return VALID_RULE;\r\n }\r\n }\r\n\r\n if (value > compareNumber) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Less than rule - value must be strictly less than maximum\r\n * Supports field names with sibling scope\r\n */\r\nexport const lessThanRule: SchemaRule<{\r\n value: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"lessThan\",\r\n defaultErrorMessage: \"The :input must be less than :value\",\r\n async validate(value: any, context) {\r\n const { value: compareValue, scope = \"global\" } = this.context.options;\r\n let compareNumber: number;\r\n\r\n if (typeof compareValue === \"number\") {\r\n compareNumber = compareValue;\r\n this.context.translationParams.value = compareValue;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, compareValue);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.value = compareValue;\r\n\r\n compareNumber = Number(fieldValue);\r\n\r\n if (isNaN(compareNumber)) {\r\n return VALID_RULE;\r\n }\r\n }\r\n\r\n if (value < compareNumber) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Positive rule - value must be greater than 0\r\n */\r\nexport const positiveRule: SchemaRule = {\r\n name: \"positive\",\r\n defaultErrorMessage: \"The :input must be a positive number\",\r\n async validate(value: any, context) {\r\n if (value > 0) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Negative rule - value must be less than 0\r\n */\r\nexport const negativeRule: SchemaRule = {\r\n name: \"negative\",\r\n defaultErrorMessage: \"The :input must be a negative number\",\r\n async validate(value: any, context) {\r\n if (value < 0) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Odd rule - value must be an odd number\r\n */\r\nexport const oddRule: SchemaRule = {\r\n name: \"odd\",\r\n defaultErrorMessage: \"The :input must be an odd number\",\r\n async validate(value: any, context) {\r\n if (value % 2 !== 0) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Even rule - value must be an even number\r\n */\r\nexport const evenRule: SchemaRule = {\r\n name: \"even\",\r\n defaultErrorMessage: \"The :input must be an even number\",\r\n async validate(value: any, context) {\r\n if (value % 2 === 0) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Modulo rule - value must be divisible by given number\r\n */\r\nexport const moduloRule: SchemaRule<{ value: number }> = {\r\n name: \"modulo\",\r\n defaultErrorMessage: \"The :input must be divisible by :value\",\r\n async validate(value: any, context) {\r\n if (value % this.context.options.value === 0) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.value = this.context.options.value;\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Between rule - value must be between the given two numbers (Inclusive)\r\n * Supports field names with sibling scope\r\n */\r\nexport const betweenNumbersRule: SchemaRule<{\r\n min: number | string;\r\n max: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"betweenNumbers\",\r\n defaultErrorMessage: \"The :input must be between :min and :max\",\r\n async validate(value: any, context) {\r\n const { min, max, scope = \"global\" } = this.context.options;\r\n\r\n // Extract min value\r\n let compareMin: number;\r\n if (typeof min === \"number\") {\r\n compareMin = min;\r\n this.context.translationParams.min = min;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, min);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.min = min;\r\n\r\n compareMin = Number(fieldValue);\r\n if (isNaN(compareMin)) {\r\n return VALID_RULE;\r\n }\r\n }\r\n\r\n // Extract max value\r\n let compareMax: number;\r\n if (typeof max === \"number\") {\r\n compareMax = max;\r\n this.context.translationParams.max = max;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, max);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.max = max;\r\n\r\n compareMax = Number(fieldValue);\r\n if (isNaN(compareMax)) {\r\n return VALID_RULE;\r\n }\r\n }\r\n\r\n if (value >= compareMin && value <= compareMax) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { getFieldValue } from "../../helpers/get-field-value.mjs";
|
|
2
|
+
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
3
|
+
import "../../helpers/index.mjs";
|
|
4
|
+
import { isEmptyValue } from "../../helpers/is-empty-value.mjs";
|
|
5
|
+
|
|
6
|
+
//#region ../seal/src/rules/scalar/accepted-rule.ts
|
|
7
|
+
const isAcceptedValue = (value) => {
|
|
8
|
+
return [
|
|
9
|
+
"1",
|
|
10
|
+
"true",
|
|
11
|
+
"yes",
|
|
12
|
+
"y",
|
|
13
|
+
"on",
|
|
14
|
+
1,
|
|
15
|
+
true,
|
|
16
|
+
"Yes",
|
|
17
|
+
"Y",
|
|
18
|
+
"On"
|
|
19
|
+
].includes(value);
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Validate value as accepted if it equals:
|
|
23
|
+
* 1 | "1" | true | "true" | "yes" | "y" | "on"
|
|
24
|
+
*/
|
|
25
|
+
const acceptedRule = {
|
|
26
|
+
name: "accepted",
|
|
27
|
+
defaultErrorMessage: "The :input must be accepted",
|
|
28
|
+
description: "The value must be accepted if it equals: 1 | '1' | true | 'true' | 'yes' | 'y' | 'on' | 1 | true | 'Yes' | 'Y' | 'On'",
|
|
29
|
+
async validate(value, context) {
|
|
30
|
+
if (isAcceptedValue(value)) return VALID_RULE;
|
|
31
|
+
return invalidRule(this, context);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Accepted value if another field's value equals to a specific value
|
|
36
|
+
*/
|
|
37
|
+
const acceptedIfRule = {
|
|
38
|
+
name: "acceptedIf",
|
|
39
|
+
description: "The field must be accepted if :field's value equals to :value",
|
|
40
|
+
defaultErrorMessage: "The :input must be accepted",
|
|
41
|
+
async validate(value, context) {
|
|
42
|
+
const fieldValue = getFieldValue(this, context);
|
|
43
|
+
const { value: expectedValue } = this.context.options;
|
|
44
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
45
|
+
this.context.translatableParams.value = this.context.options.value;
|
|
46
|
+
if (fieldValue !== expectedValue) return invalidRule(this, context);
|
|
47
|
+
if (!isAcceptedValue(value)) return invalidRule(this, context);
|
|
48
|
+
return VALID_RULE;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Accepted if another field is not equal to the given value
|
|
53
|
+
*/
|
|
54
|
+
const acceptedUnlessRule = {
|
|
55
|
+
name: "acceptedUnless",
|
|
56
|
+
description: "The field must be accepted if :field's value is not equal to :value",
|
|
57
|
+
defaultErrorMessage: "The :input must be accepted",
|
|
58
|
+
async validate(value, context) {
|
|
59
|
+
const fieldValue = getFieldValue(this, context);
|
|
60
|
+
const { value: expectedValue } = this.context.options;
|
|
61
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
62
|
+
this.context.translatableParams.value = this.context.options.value;
|
|
63
|
+
if (fieldValue === expectedValue) return invalidRule(this, context);
|
|
64
|
+
if (!isAcceptedValue(value)) return invalidRule(this, context);
|
|
65
|
+
return VALID_RULE;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Accepted if another field is required
|
|
70
|
+
*/
|
|
71
|
+
const acceptedIfRequiredRule = {
|
|
72
|
+
name: "acceptedIfRequired",
|
|
73
|
+
description: "The field must be accepted if :field is required",
|
|
74
|
+
defaultErrorMessage: "The :input must be accepted",
|
|
75
|
+
async validate(value, context) {
|
|
76
|
+
const fieldValue = getFieldValue(this, context);
|
|
77
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
78
|
+
if (isEmptyValue(fieldValue)) return invalidRule(this, context);
|
|
79
|
+
if (!isAcceptedValue(value)) return invalidRule(this, context);
|
|
80
|
+
return VALID_RULE;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Accepted if another field is present
|
|
85
|
+
*/
|
|
86
|
+
const acceptedIfPresentRule = {
|
|
87
|
+
name: "acceptedIfPresent",
|
|
88
|
+
description: "The field must be accepted if :field is present",
|
|
89
|
+
defaultErrorMessage: "The :input must be accepted",
|
|
90
|
+
async validate(value, context) {
|
|
91
|
+
const fieldValue = getFieldValue(this, context);
|
|
92
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
93
|
+
if (fieldValue === void 0) return invalidRule(this, context);
|
|
94
|
+
if (!isAcceptedValue(value)) return invalidRule(this, context);
|
|
95
|
+
return VALID_RULE;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Accepted if another field is missing
|
|
100
|
+
*/
|
|
101
|
+
const acceptedWithoutRule = {
|
|
102
|
+
name: "acceptedWithout",
|
|
103
|
+
description: "The field must be accepted if :field is missing",
|
|
104
|
+
defaultErrorMessage: "The :input must be accepted",
|
|
105
|
+
async validate(value, context) {
|
|
106
|
+
const fieldValue = getFieldValue(this, context);
|
|
107
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
108
|
+
if (fieldValue !== void 0) return invalidRule(this, context);
|
|
109
|
+
if (!isAcceptedValue(value)) return invalidRule(this, context);
|
|
110
|
+
return VALID_RULE;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
//#endregion
|
|
115
|
+
export { acceptedIfPresentRule, acceptedIfRequiredRule, acceptedIfRule, acceptedRule, acceptedUnlessRule, acceptedWithoutRule };
|
|
116
|
+
//# sourceMappingURL=accepted-rule.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accepted-rule.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/scalar/accepted-rule.ts"],"sourcesContent":["import { getFieldValue, invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport { isEmptyValue } from \"../../helpers/is-empty-value\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\nconst isAcceptedValue = (value: any) => {\r\n return [\"1\", \"true\", \"yes\", \"y\", \"on\", 1, true, \"Yes\", \"Y\", \"On\"].includes(value);\r\n};\r\n\r\n/**\r\n * Validate value as accepted if it equals:\r\n * 1 | \"1\" | true | \"true\" | \"yes\" | \"y\" | \"on\"\r\n */\r\nexport const acceptedRule: SchemaRule = {\r\n name: \"accepted\",\r\n defaultErrorMessage: \"The :input must be accepted\",\r\n description:\r\n \"The value must be accepted if it equals: 1 | '1' | true | 'true' | 'yes' | 'y' | 'on' | 1 | true | 'Yes' | 'Y' | 'On'\",\r\n async validate(value: any, context) {\r\n if (isAcceptedValue(value)) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Accepted value if another field's value equals to a specific value\r\n */\r\nexport const acceptedIfRule: SchemaRule<{ field: string; value: any }> = {\r\n name: \"acceptedIf\",\r\n description: \"The field must be accepted if :field's value equals to :value\",\r\n defaultErrorMessage: \"The :input must be accepted\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n const { value: expectedValue } = this.context.options;\r\n\r\n this.context.translatableParams.field = this.context.options.field;\r\n this.context.translatableParams.value = this.context.options.value;\r\n if (fieldValue !== expectedValue) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isAcceptedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n\r\n/**\r\n * Accepted if another field is not equal to the given value\r\n */\r\nexport const acceptedUnlessRule: SchemaRule<{ field: string; value: any }> = {\r\n name: \"acceptedUnless\",\r\n description: \"The field must be accepted if :field's value is not equal to :value\",\r\n defaultErrorMessage: \"The :input must be accepted\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n const { value: expectedValue } = this.context.options;\r\n\r\n this.context.translatableParams.field = this.context.options.field;\r\n this.context.translatableParams.value = this.context.options.value;\r\n\r\n if (fieldValue === expectedValue) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isAcceptedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n\r\n/**\r\n * Accepted if another field is required\r\n */\r\nexport const acceptedIfRequiredRule: SchemaRule<{ field: string }> = {\r\n name: \"acceptedIfRequired\",\r\n description: \"The field must be accepted if :field is required\",\r\n defaultErrorMessage: \"The :input must be accepted\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n this.context.translatableParams.field = this.context.options.field;\r\n\r\n if (isEmptyValue(fieldValue)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isAcceptedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n\r\n/**\r\n * Accepted if another field is present\r\n */\r\nexport const acceptedIfPresentRule: SchemaRule<{ field: string }> = {\r\n name: \"acceptedIfPresent\",\r\n description: \"The field must be accepted if :field is present\",\r\n defaultErrorMessage: \"The :input must be accepted\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n this.context.translatableParams.field = this.context.options.field;\r\n\r\n if (fieldValue === undefined) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isAcceptedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n\r\n/**\r\n * Accepted if another field is missing\r\n */\r\nexport const acceptedWithoutRule: SchemaRule<{ field: string }> = {\r\n name: \"acceptedWithout\",\r\n description: \"The field must be accepted if :field is missing\",\r\n defaultErrorMessage: \"The :input must be accepted\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n this.context.translatableParams.field = this.context.options.field;\r\n\r\n if (fieldValue !== undefined) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isAcceptedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n"],"mappings":";;;;;;AAIA,MAAM,mBAAmB,UAAe;CACtC,OAAO;EAAC;EAAK;EAAQ;EAAO;EAAK;EAAM;EAAG;EAAM;EAAO;EAAK;CAAI,CAAC,CAAC,SAAS,KAAK;AAClF;;;;;AAMA,MAAa,eAA2B;CACtC,MAAM;CACN,qBAAqB;CACrB,aACE;CACF,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,gBAAgB,KAAK,GACvB,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,iBAA4D;CACvE,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,MAAM,EAAE,OAAO,kBAAkB,KAAK,QAAQ;EAE9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAC7D,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAC7D,IAAI,eAAe,eACjB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF;;;;AAKA,MAAa,qBAAgE;CAC3E,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,MAAM,EAAE,OAAO,kBAAkB,KAAK,QAAQ;EAE9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAC7D,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAE7D,IAAI,eAAe,eACjB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF;;;;AAKA,MAAa,yBAAwD;CACnE,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAE7D,IAAI,aAAa,UAAU,GACzB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF;;;;AAKA,MAAa,wBAAuD;CAClE,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAE7D,IAAI,eAAe,QACjB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF;;;;AAKA,MAAa,sBAAqD;CAChE,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAE7D,IAAI,eAAe,QACjB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { getFieldValue } from "../../helpers/get-field-value.mjs";
|
|
2
|
+
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
3
|
+
import "../../helpers/index.mjs";
|
|
4
|
+
import { isEmptyValue } from "../../helpers/is-empty-value.mjs";
|
|
5
|
+
|
|
6
|
+
//#region ../seal/src/rules/scalar/declined-rule.ts
|
|
7
|
+
const isDeclinedValue = (value) => {
|
|
8
|
+
return [
|
|
9
|
+
"0",
|
|
10
|
+
"false",
|
|
11
|
+
"no",
|
|
12
|
+
"n",
|
|
13
|
+
"off",
|
|
14
|
+
0,
|
|
15
|
+
false,
|
|
16
|
+
"No",
|
|
17
|
+
"N",
|
|
18
|
+
"Off"
|
|
19
|
+
].includes(value);
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Validate value as declined if it equals:
|
|
23
|
+
* 0 | "0" | false | "false" | "no" | "n" | "off" | 0 | false | "No" | "N" | "Off"
|
|
24
|
+
*/
|
|
25
|
+
const declinedRule = {
|
|
26
|
+
name: "declined",
|
|
27
|
+
defaultErrorMessage: "The :input must be declined",
|
|
28
|
+
description: "The value must be declined if it equals: 0 | '0' | false | 'false' | 'no' | 'n' | 'off' | 0 | false | 'No' | 'N' | 'Off'",
|
|
29
|
+
async validate(value, context) {
|
|
30
|
+
if (isDeclinedValue(value)) return VALID_RULE;
|
|
31
|
+
return invalidRule(this, context);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Declined value if another field's value equals to a specific value
|
|
36
|
+
*/
|
|
37
|
+
const declinedIfRule = {
|
|
38
|
+
name: "declinedIf",
|
|
39
|
+
description: "The field must be declined if :field's value equals to :value",
|
|
40
|
+
defaultErrorMessage: "The :input must be declined",
|
|
41
|
+
async validate(value, context) {
|
|
42
|
+
const fieldValue = getFieldValue(this, context);
|
|
43
|
+
const { value: expectedValue } = this.context.options;
|
|
44
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
45
|
+
this.context.translatableParams.value = this.context.options.value;
|
|
46
|
+
if (fieldValue !== expectedValue) return invalidRule(this, context);
|
|
47
|
+
if (!isDeclinedValue(value)) return invalidRule(this, context);
|
|
48
|
+
return VALID_RULE;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Declined if another field is not equal to the given value
|
|
53
|
+
*/
|
|
54
|
+
const declinedUnlessRule = {
|
|
55
|
+
name: "declinedUnless",
|
|
56
|
+
description: "The field must be declined if :field's value is not equal to :value",
|
|
57
|
+
defaultErrorMessage: "The :input must be declined",
|
|
58
|
+
async validate(value, context) {
|
|
59
|
+
const fieldValue = getFieldValue(this, context);
|
|
60
|
+
const { value: expectedValue } = this.context.options;
|
|
61
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
62
|
+
this.context.translatableParams.value = this.context.options.value;
|
|
63
|
+
if (fieldValue === expectedValue) return invalidRule(this, context);
|
|
64
|
+
if (!isDeclinedValue(value)) return invalidRule(this, context);
|
|
65
|
+
return VALID_RULE;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Declined if another field is required
|
|
70
|
+
*/
|
|
71
|
+
const declinedIfRequiredRule = {
|
|
72
|
+
name: "declinedIfRequired",
|
|
73
|
+
description: "The field must be declined if :field is required",
|
|
74
|
+
defaultErrorMessage: "The :input must be declined",
|
|
75
|
+
async validate(value, context) {
|
|
76
|
+
const fieldValue = getFieldValue(this, context);
|
|
77
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
78
|
+
if (isEmptyValue(fieldValue)) return invalidRule(this, context);
|
|
79
|
+
if (!isDeclinedValue(value)) return invalidRule(this, context);
|
|
80
|
+
return VALID_RULE;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Declined if another field is present
|
|
85
|
+
*/
|
|
86
|
+
const declinedIfPresentRule = {
|
|
87
|
+
name: "declinedIfPresent",
|
|
88
|
+
description: "The field must be declined if :field is present",
|
|
89
|
+
defaultErrorMessage: "The :input must be declined",
|
|
90
|
+
async validate(value, context) {
|
|
91
|
+
const fieldValue = getFieldValue(this, context);
|
|
92
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
93
|
+
if (fieldValue === void 0) return invalidRule(this, context);
|
|
94
|
+
if (!isDeclinedValue(value)) return invalidRule(this, context);
|
|
95
|
+
return VALID_RULE;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Declined if another field is missing
|
|
100
|
+
*/
|
|
101
|
+
const declinedWithoutRule = {
|
|
102
|
+
name: "declinedWithout",
|
|
103
|
+
description: "The field must be declined if :field is missing",
|
|
104
|
+
defaultErrorMessage: "The :input must be declined",
|
|
105
|
+
async validate(value, context) {
|
|
106
|
+
const fieldValue = getFieldValue(this, context);
|
|
107
|
+
this.context.translatableParams.field = this.context.options.field;
|
|
108
|
+
if (fieldValue !== void 0) return invalidRule(this, context);
|
|
109
|
+
if (!isDeclinedValue(value)) return invalidRule(this, context);
|
|
110
|
+
return VALID_RULE;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
//#endregion
|
|
115
|
+
export { declinedIfPresentRule, declinedIfRequiredRule, declinedIfRule, declinedRule, declinedUnlessRule, declinedWithoutRule };
|
|
116
|
+
//# sourceMappingURL=declined-rule.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declined-rule.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/scalar/declined-rule.ts"],"sourcesContent":["import { getFieldValue, invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport { isEmptyValue } from \"../../helpers/is-empty-value\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\nconst isDeclinedValue = (value: any) => {\r\n return [\"0\", \"false\", \"no\", \"n\", \"off\", 0, false, \"No\", \"N\", \"Off\"].includes(value);\r\n};\r\n\r\n/**\r\n * Validate value as declined if it equals:\r\n * 0 | \"0\" | false | \"false\" | \"no\" | \"n\" | \"off\" | 0 | false | \"No\" | \"N\" | \"Off\"\r\n */\r\nexport const declinedRule: SchemaRule = {\r\n name: \"declined\",\r\n defaultErrorMessage: \"The :input must be declined\",\r\n description:\r\n \"The value must be declined if it equals: 0 | '0' | false | 'false' | 'no' | 'n' | 'off' | 0 | false | 'No' | 'N' | 'Off'\",\r\n async validate(value: any, context) {\r\n if (isDeclinedValue(value)) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Declined value if another field's value equals to a specific value\r\n */\r\nexport const declinedIfRule: SchemaRule<{ field: string; value: any }> = {\r\n name: \"declinedIf\",\r\n description: \"The field must be declined if :field's value equals to :value\",\r\n defaultErrorMessage: \"The :input must be declined\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n const { value: expectedValue } = this.context.options;\r\n\r\n this.context.translatableParams.field = this.context.options.field;\r\n this.context.translatableParams.value = this.context.options.value;\r\n\r\n if (fieldValue !== expectedValue) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isDeclinedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n\r\n/**\r\n * Declined if another field is not equal to the given value\r\n */\r\nexport const declinedUnlessRule: SchemaRule<{ field: string; value: any }> = {\r\n name: \"declinedUnless\",\r\n description: \"The field must be declined if :field's value is not equal to :value\",\r\n defaultErrorMessage: \"The :input must be declined\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n const { value: expectedValue } = this.context.options;\r\n\r\n this.context.translatableParams.field = this.context.options.field;\r\n this.context.translatableParams.value = this.context.options.value;\r\n if (fieldValue === expectedValue) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isDeclinedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n\r\n/**\r\n * Declined if another field is required\r\n */\r\nexport const declinedIfRequiredRule: SchemaRule<{ field: string }> = {\r\n name: \"declinedIfRequired\",\r\n description: \"The field must be declined if :field is required\",\r\n defaultErrorMessage: \"The :input must be declined\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n this.context.translatableParams.field = this.context.options.field;\r\n\r\n if (isEmptyValue(fieldValue)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isDeclinedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n\r\n/**\r\n * Declined if another field is present\r\n */\r\nexport const declinedIfPresentRule: SchemaRule<{ field: string }> = {\r\n name: \"declinedIfPresent\",\r\n description: \"The field must be declined if :field is present\",\r\n defaultErrorMessage: \"The :input must be declined\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n this.context.translatableParams.field = this.context.options.field;\r\n\r\n if (fieldValue === undefined) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isDeclinedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n\r\n/**\r\n * Declined if another field is missing\r\n */\r\nexport const declinedWithoutRule: SchemaRule<{ field: string }> = {\r\n name: \"declinedWithout\",\r\n description: \"The field must be declined if :field is missing\",\r\n defaultErrorMessage: \"The :input must be declined\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n this.context.translatableParams.field = this.context.options.field;\r\n\r\n if (fieldValue !== undefined) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n if (!isDeclinedValue(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n"],"mappings":";;;;;;AAIA,MAAM,mBAAmB,UAAe;CACtC,OAAO;EAAC;EAAK;EAAS;EAAM;EAAK;EAAO;EAAG;EAAO;EAAM;EAAK;CAAK,CAAC,CAAC,SAAS,KAAK;AACpF;;;;;AAMA,MAAa,eAA2B;CACtC,MAAM;CACN,qBAAqB;CACrB,aACE;CACF,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,gBAAgB,KAAK,GACvB,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,iBAA4D;CACvE,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,MAAM,EAAE,OAAO,kBAAkB,KAAK,QAAQ;EAE9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAC7D,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAE7D,IAAI,eAAe,eACjB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF;;;;AAKA,MAAa,qBAAgE;CAC3E,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,MAAM,EAAE,OAAO,kBAAkB,KAAK,QAAQ;EAE9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAC7D,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAC7D,IAAI,eAAe,eACjB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF;;;;AAKA,MAAa,yBAAwD;CACnE,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAE7D,IAAI,aAAa,UAAU,GACzB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF;;;;AAKA,MAAa,wBAAuD;CAClE,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAE7D,IAAI,eAAe,QACjB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF;;;;AAKA,MAAa,sBAAqD;CAChE,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,cAAc,MAAM,OAAO;EAC9C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;EAE7D,IAAI,eAAe,QACjB,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,CAAC,gBAAgB,KAAK,GACxB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { acceptedIfPresentRule, acceptedIfRequiredRule, acceptedIfRule, acceptedRule, acceptedUnlessRule, acceptedWithoutRule } from "./accepted-rule.mjs";
|
|
2
|
+
import { declinedIfPresentRule, declinedIfRequiredRule, declinedIfRule, declinedRule, declinedUnlessRule, declinedWithoutRule } from "./declined-rule.mjs";
|
|
3
|
+
|
|
4
|
+
export { };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
2
|
+
import "../../helpers/index.mjs";
|
|
3
|
+
|
|
4
|
+
//#region ../seal/src/rules/string/alpha.ts
|
|
5
|
+
/**
|
|
6
|
+
* Alpha rule - allows only alphabetic characters
|
|
7
|
+
*/
|
|
8
|
+
const alphaRule = {
|
|
9
|
+
name: "alpha",
|
|
10
|
+
defaultErrorMessage: "The :input must contain only alphabetic characters",
|
|
11
|
+
async validate(value, context) {
|
|
12
|
+
if (/^[a-zA-Z]+$/.test(value)) return VALID_RULE;
|
|
13
|
+
return invalidRule(this, context);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* AlphaNumeric rule - allows only alphanumeric characters
|
|
18
|
+
*/
|
|
19
|
+
const alphaNumericRule = {
|
|
20
|
+
name: "alphaNumeric",
|
|
21
|
+
defaultErrorMessage: "The :input must contain only alphanumeric characters",
|
|
22
|
+
async validate(value, context) {
|
|
23
|
+
if (/^[a-zA-Z0-9]+$/.test(value)) return VALID_RULE;
|
|
24
|
+
return invalidRule(this, context);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Numeric string rule - allows only numeric characters
|
|
29
|
+
*/
|
|
30
|
+
const isNumericRule = {
|
|
31
|
+
name: "numeric",
|
|
32
|
+
defaultErrorMessage: "The :input must contain only numeric characters",
|
|
33
|
+
async validate(value, context) {
|
|
34
|
+
if (/^[0-9]+$/.test(String(value))) return VALID_RULE;
|
|
35
|
+
return invalidRule(this, context);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { alphaNumericRule, alphaRule, isNumericRule };
|
|
41
|
+
//# sourceMappingURL=alpha.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alpha.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/string/alpha.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Alpha rule - allows only alphabetic characters\r\n */\r\nexport const alphaRule: SchemaRule = {\r\n name: \"alpha\",\r\n defaultErrorMessage: \"The :input must contain only alphabetic characters\",\r\n async validate(value: any, context) {\r\n if (/^[a-zA-Z]+$/.test(value)) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * AlphaNumeric rule - allows only alphanumeric characters\r\n */\r\nexport const alphaNumericRule: SchemaRule = {\r\n name: \"alphaNumeric\",\r\n defaultErrorMessage: \"The :input must contain only alphanumeric characters\",\r\n async validate(value: any, context) {\r\n if (/^[a-zA-Z0-9]+$/.test(value)) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Numeric string rule - allows only numeric characters\r\n */\r\nexport const isNumericRule: SchemaRule = {\r\n name: \"numeric\",\r\n defaultErrorMessage: \"The :input must contain only numeric characters\",\r\n async validate(value: any, context) {\r\n if (/^[0-9]+$/.test(String(value))) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":";;;;;;;AAMA,MAAa,YAAwB;CACnC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,cAAc,KAAK,KAAK,GAC1B,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,mBAA+B;CAC1C,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,KAAK,KAAK,GAC7B,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,gBAA4B;CACvC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,WAAW,KAAK,OAAO,KAAK,CAAC,GAC/B,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
2
|
+
import "../../helpers/index.mjs";
|
|
3
|
+
|
|
4
|
+
//#region ../seal/src/rules/string/credit-card.ts
|
|
5
|
+
/**
|
|
6
|
+
* Credit card rule - validates credit card number
|
|
7
|
+
*/
|
|
8
|
+
const isCreditCardRule = {
|
|
9
|
+
name: "creditCard",
|
|
10
|
+
defaultErrorMessage: "The :input must be a valid credit card number",
|
|
11
|
+
async validate(value, context) {
|
|
12
|
+
const cardNumber = String(value).replace(/\s/g, "");
|
|
13
|
+
if (!/^\d+$/.test(cardNumber)) return invalidRule(this, context);
|
|
14
|
+
let sum = 0;
|
|
15
|
+
let isEven = false;
|
|
16
|
+
for (let i = cardNumber.length - 1; i >= 0; i--) {
|
|
17
|
+
let digit = parseInt(cardNumber[i], 10);
|
|
18
|
+
if (isEven) {
|
|
19
|
+
digit *= 2;
|
|
20
|
+
if (digit > 9) digit -= 9;
|
|
21
|
+
}
|
|
22
|
+
sum += digit;
|
|
23
|
+
isEven = !isEven;
|
|
24
|
+
}
|
|
25
|
+
if (sum % 10 === 0) return VALID_RULE;
|
|
26
|
+
return invalidRule(this, context);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { isCreditCardRule };
|
|
32
|
+
//# sourceMappingURL=credit-card.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credit-card.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/string/credit-card.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Credit card rule - validates credit card number\r\n */\r\nexport const isCreditCardRule: SchemaRule = {\r\n name: \"creditCard\",\r\n defaultErrorMessage: \"The :input must be a valid credit card number\",\r\n async validate(value: any, context) {\r\n // Luhn algorithm for credit card validation\r\n const cardNumber = String(value).replace(/\\s/g, \"\");\r\n\r\n if (!/^\\d+$/.test(cardNumber)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n let sum = 0;\r\n let isEven = false;\r\n\r\n for (let i = cardNumber.length - 1; i >= 0; i--) {\r\n let digit = parseInt(cardNumber[i], 10);\r\n\r\n if (isEven) {\r\n digit *= 2;\r\n if (digit > 9) {\r\n digit -= 9;\r\n }\r\n }\r\n\r\n sum += digit;\r\n isEven = !isEven;\r\n }\r\n\r\n if (sum % 10 === 0) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":";;;;;;;AAMA,MAAa,mBAA+B;CAC1C,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAElC,MAAM,aAAa,OAAO,KAAK,CAAC,CAAC,QAAQ,OAAO,EAAE;EAElD,IAAI,CAAC,QAAQ,KAAK,UAAU,GAC1B,OAAO,YAAY,MAAM,OAAO;EAGlC,IAAI,MAAM;EACV,IAAI,SAAS;EAEb,KAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;GAC/C,IAAI,QAAQ,SAAS,WAAW,IAAI,EAAE;GAEtC,IAAI,QAAQ;IACV,SAAS;IACT,IAAI,QAAQ,GACV,SAAS;GAEb;GAEA,OAAO;GACP,SAAS,CAAC;EACZ;EAEA,IAAI,MAAM,OAAO,GACf,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
2
|
+
import "../../helpers/index.mjs";
|
|
3
|
+
import { isEmail } from "../../../../node_modules/@mongez/supportive-is/esm/index.mjs";
|
|
4
|
+
|
|
5
|
+
//#region ../seal/src/rules/string/email.ts
|
|
6
|
+
/**
|
|
7
|
+
* Email rule - validates email format
|
|
8
|
+
*/
|
|
9
|
+
const emailRule = {
|
|
10
|
+
name: "email",
|
|
11
|
+
defaultErrorMessage: "The :input must be a valid email address",
|
|
12
|
+
async validate(value, context) {
|
|
13
|
+
if (isEmail(value)) return VALID_RULE;
|
|
14
|
+
return invalidRule(this, context);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { emailRule };
|
|
20
|
+
//# sourceMappingURL=email.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/string/email.ts"],"sourcesContent":["import { isEmail } from \"@mongez/supportive-is\";\r\nimport { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Email rule - validates email format\r\n */\r\nexport const emailRule: SchemaRule = {\r\n name: \"email\",\r\n defaultErrorMessage: \"The :input must be a valid email address\",\r\n async validate(value: any, context) {\r\n if (isEmail(value)) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":";;;;;;;;AAOA,MAAa,YAAwB;CACnC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,QAAQ,KAAK,GACf,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
|