@warlock.js/notifications 5.20.0 → 5.22.0
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 +12 -1
- package/cjs/index.cjs +1 -1
- package/cjs/rabbitmq-driver-DsJYFQr3.cjs +3 -0
- package/cjs/{esm-BxeBV3ce.cjs → src-DDFfLj-d.cjs} +435 -343
- package/cjs/src-DDFfLj-d.cjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/communicators/broker-registry.mjs +5 -5
- package/esm/herald/src/communicators/broker-registry.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/communicators/broker.mjs +7 -1
- package/esm/herald/src/communicators/broker.mjs.map +1 -0
- package/esm/herald/src/communicators/index.mjs +4 -0
- package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/decorators/consumable.mjs +1 -1
- 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/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/drivers/rabbitmq/rabbitmq-channel.mjs +13 -6
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-channel.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/drivers/rabbitmq/rabbitmq-driver.mjs +11 -10
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-driver.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/message-managers/event-consumer.mjs +22 -10
- package/esm/herald/src/message-managers/event-consumer.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/message-managers/event-message.mjs +20 -3
- package/esm/herald/src/message-managers/event-message.mjs.map +1 -0
- package/esm/herald/src/message-managers/index.mjs +4 -0
- package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/message-managers/prepare-consumer-subscription.mjs +1 -1
- package/esm/herald/src/message-managers/prepare-consumer-subscription.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/use-case-broadcast.mjs +1 -1
- package/esm/herald/src/use-case-broadcast.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/utils/connect-to-broker.mjs +1 -1
- package/esm/herald/src/utils/connect-to-broker.mjs.map +1 -0
- package/esm/herald/src/utils/index.mjs +3 -0
- package/esm/index.d.mts +0 -4
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/number/round.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/number/round.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/except.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/except.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/get.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/get.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/omit.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/omit.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/unset.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/unset.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/trim.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/trim.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/words.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/words.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/tap.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/tap.mjs.map +1 -1
- package/esm/node_modules/.pnpm/{@mongez_supportive-is@2.1.4 → @mongez_supportive-is@2.1.5}/node_modules/@mongez/supportive-is/esm/index.mjs +1 -1
- package/esm/node_modules/.pnpm/{@mongez_supportive-is@2.1.4 → @mongez_supportive-is@2.1.5}/node_modules/@mongez/supportive-is/esm/index.mjs.map +1 -1
- package/esm/queue/load-herald.d.mts.map +1 -1
- package/esm/queue/load-herald.mjs +1 -1
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/config.mjs +1 -1
- package/esm/seal/src/config.mjs.map +1 -0
- package/esm/seal/src/factory/index.mjs +4 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/factory/validate.mjs +1 -1
- package/esm/seal/src/factory/validate.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/factory/validators.mjs +1 -1
- package/esm/seal/src/factory/validators.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/helpers/date-helpers.mjs +1 -1
- package/esm/seal/src/helpers/date-helpers.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/helpers/get-field-value.mjs +3 -3
- 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/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/helpers/path-helpers.mjs +1 -1
- package/esm/seal/src/helpers/path-helpers.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/helpers/validation-helpers.mjs +1 -1
- package/esm/seal/src/helpers/validation-helpers.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/index.mjs +0 -7
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/array-mutators.mjs +3 -3
- package/esm/seal/src/mutators/array-mutators.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/boolean-mutators.mjs +1 -1
- package/esm/seal/src/mutators/boolean-mutators.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/date-mutators.mjs +3 -3
- package/esm/seal/src/mutators/date-mutators.mjs.map +1 -0
- package/esm/seal/src/mutators/index.mjs +9 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/number-mutators.mjs +4 -4
- package/esm/seal/src/mutators/number-mutators.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/object-mutators.mjs +4 -4
- 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/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/string-mutators.mjs +11 -11
- package/esm/seal/src/mutators/string-mutators.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/object.mjs +1 -1
- package/esm/seal/src/object.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/array/array-rules.mjs +1 -1
- package/esm/seal/src/rules/array/array-rules.mjs.map +1 -0
- package/esm/seal/src/rules/array/index.mjs +3 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/color/color-rules.mjs +1 -1
- package/esm/seal/src/rules/color/color-rules.mjs.map +1 -0
- package/esm/seal/src/rules/color/index.mjs +3 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/enum.mjs +1 -1
- package/esm/seal/src/rules/common/enum.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/equals-field-rules.mjs +1 -1
- 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/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/instanceof.mjs +1 -1
- package/esm/seal/src/rules/common/instanceof.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/literal.mjs +1 -1
- package/esm/seal/src/rules/common/literal.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/type-rules.mjs +2 -2
- package/esm/seal/src/rules/common/type-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/unknown-key.mjs +1 -1
- package/esm/seal/src/rules/common/unknown-key.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/forbidden-if-rules.mjs +2 -2
- 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/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/present-if-rules.mjs +2 -2
- package/esm/seal/src/rules/conditional/present-if-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/present-unless-rules.mjs +1 -1
- package/esm/seal/src/rules/conditional/present-unless-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/present-with-rules.mjs +3 -3
- package/esm/seal/src/rules/conditional/present-with-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/present-without-rules.mjs +3 -3
- package/esm/seal/src/rules/conditional/present-without-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-if-rules.mjs +4 -4
- package/esm/seal/src/rules/conditional/required-if-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-unless-rules.mjs +2 -2
- package/esm/seal/src/rules/conditional/required-unless-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-when-rule.mjs +2 -2
- package/esm/seal/src/rules/conditional/required-when-rule.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-with-rules.mjs +4 -4
- package/esm/seal/src/rules/conditional/required-with-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-without-rules.mjs +4 -4
- package/esm/seal/src/rules/conditional/required-without-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/equal.mjs +1 -1
- package/esm/seal/src/rules/core/equal.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/forbidden.mjs +2 -2
- package/esm/seal/src/rules/core/forbidden.mjs.map +1 -0
- package/esm/seal/src/rules/core/index.mjs +7 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/required.mjs +2 -2
- package/esm/seal/src/rules/core/required.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/union.mjs +1 -1
- package/esm/seal/src/rules/core/union.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/when.mjs +3 -3
- package/esm/seal/src/rules/core/when.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-comparison-rules.mjs +1 -1
- package/esm/seal/src/rules/date/date-comparison-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-day-rules.mjs +1 -1
- package/esm/seal/src/rules/date/date-day-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-field-comparison-rules.mjs +3 -3
- package/esm/seal/src/rules/date/date-field-comparison-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-period-rules.mjs +3 -3
- package/esm/seal/src/rules/date/date-period-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-relative-rules.mjs +1 -1
- package/esm/seal/src/rules/date/date-relative-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-special-rules.mjs +1 -1
- package/esm/seal/src/rules/date/date-special-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date.mjs +3 -3
- 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/index.mjs +54 -0
- package/esm/seal/src/rules/length/index.mjs +3 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/length/length-rules.mjs +1 -1
- package/esm/seal/src/rules/length/length-rules.mjs.map +1 -0
- package/esm/seal/src/rules/number/index.mjs +3 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/number/number-rules.mjs +3 -3
- package/esm/seal/src/rules/number/number-rules.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/scalar/accepted-rule.mjs +2 -2
- package/esm/seal/src/rules/scalar/accepted-rule.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/scalar/declined-rule.mjs +2 -2
- package/esm/seal/src/rules/scalar/declined-rule.mjs.map +1 -0
- package/esm/seal/src/rules/scalar/index.mjs +4 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/alpha.mjs +1 -1
- package/esm/seal/src/rules/string/alpha.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/credit-card.mjs +1 -1
- package/esm/seal/src/rules/string/credit-card.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/email.mjs +2 -2
- package/esm/seal/src/rules/string/email.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/id-formats.mjs +1 -1
- package/esm/seal/src/rules/string/id-formats.mjs.map +1 -0
- package/esm/seal/src/rules/string/index.mjs +13 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/ip.mjs +1 -1
- package/esm/seal/src/rules/string/ip.mjs.map +1 -0
- package/esm/seal/src/rules/string/matches.mjs +4 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/pattern.mjs +1 -1
- package/esm/seal/src/rules/string/pattern.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/string-comparison.mjs +1 -1
- package/esm/seal/src/rules/string/string-comparison.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/strong-password-rule.mjs +1 -1
- package/esm/seal/src/rules/string/strong-password-rule.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/url.mjs +1 -1
- package/esm/seal/src/rules/string/url.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/without-whitespace.mjs +1 -1
- package/esm/seal/src/rules/string/without-whitespace.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/standard-schema/json-schema.mjs +1 -1
- package/esm/seal/src/standard-schema/json-schema.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/standard-schema/map-result.mjs +1 -1
- package/esm/seal/src/standard-schema/map-result.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/string.mjs +1 -1
- package/esm/seal/src/string.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/types/date-types.mjs +1 -1
- package/esm/seal/src/types/date-types.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/any-validator.mjs +9 -6
- package/esm/seal/src/validators/any-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/array-validator.mjs +2 -1
- package/esm/seal/src/validators/array-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/base-validator.mjs +49 -16
- package/esm/seal/src/validators/base-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/boolean-validator.mjs +1 -1
- package/esm/seal/src/validators/boolean-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/computed-validator.mjs +3 -1
- package/esm/seal/src/validators/computed-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/date-validator.mjs +3 -3
- package/esm/seal/src/validators/date-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/discriminated-union-validator.mjs +6 -2
- package/esm/seal/src/validators/discriminated-union-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/float-validator.mjs +1 -1
- package/esm/seal/src/validators/float-validator.mjs.map +1 -0
- package/esm/seal/src/validators/index.mjs +28 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/instanceof-validator.mjs +2 -1
- package/esm/seal/src/validators/instanceof-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/int-validator.mjs +1 -1
- package/esm/seal/src/validators/int-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/lazy-validator.mjs +3 -1
- package/esm/seal/src/validators/lazy-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/literal-validator.mjs +2 -1
- package/esm/seal/src/validators/literal-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/managed-validator.mjs +1 -1
- package/esm/seal/src/validators/managed-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/methods/equality-conditional-methods.mjs +1 -1
- package/esm/seal/src/validators/methods/equality-conditional-methods.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/methods/forbidden-methods.mjs +1 -1
- package/esm/seal/src/validators/methods/forbidden-methods.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/methods/present-methods.mjs +1 -1
- package/esm/seal/src/validators/methods/present-methods.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/methods/required-methods.mjs +1 -1
- package/esm/seal/src/validators/methods/required-methods.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/number-validator.mjs +1 -1
- package/esm/seal/src/validators/number-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/numeric-validator.mjs +2 -2
- package/esm/seal/src/validators/numeric-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/object-validator.mjs +8 -7
- package/esm/seal/src/validators/object-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/primitive-validator.mjs +1 -1
- package/esm/seal/src/validators/primitive-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/record-validator.mjs +3 -2
- package/esm/seal/src/validators/record-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/scalar-validator.mjs +1 -1
- package/esm/seal/src/validators/scalar-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/string-validator.mjs +3 -3
- package/esm/seal/src/validators/string-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/tuple-validator.mjs +2 -1
- package/esm/seal/src/validators/tuple-validator.mjs.map +1 -0
- package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/union-validator.mjs +1 -1
- package/esm/seal/src/validators/union-validator.mjs.map +1 -0
- package/package.json +7 -7
- package/cjs/esm-BxeBV3ce.cjs.map +0 -1
- package/cjs/rabbitmq-driver-ii7OCEmF.cjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/broker-registry.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/broker-registry.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/broker.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/broker.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/contracts/broker-driver.contract.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/contracts/channel.contract.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/decorators/consumable.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/decorators/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/index.mjs +0 -5
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/index.mjs +0 -4
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-channel.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-channel.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-driver.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-driver.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/index.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/event-consumer.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/event-consumer.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/event-message.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/event-message.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/prepare-consumer-subscription.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/types/channel.types.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/types/registry.types.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/use-case-broadcast.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/utils/connect-to-broker.d.mts +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/utils/connect-to-broker.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/utils/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/config.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/factory/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/factory/validate.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/factory/validators.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/date-helpers.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/get-field-value.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/is-empty-value.mjs +0 -10
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/is-empty-value.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/path-helpers.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/validation-helpers.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/index.d.mts +0 -10
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/array-mutators.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/boolean-mutators.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/date-mutators.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/index.mjs +0 -8
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/number-mutators.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/object-mutators.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs +0 -9
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/string-mutators.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/object.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/array/array-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/array/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/color/color-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/color/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/enum.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/equals-field-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/index.mjs +0 -8
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/instanceof.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/literal.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/type-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/unknown-key.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/forbidden-if-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/index.mjs +0 -12
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/present-if-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/present-unless-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/present-with-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/present-without-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-if-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-unless-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-when-rule.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-with-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-without-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/equal.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/forbidden.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/index.mjs +0 -7
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/required.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/union.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/when.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-comparison-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-day-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-field-comparison-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-period-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-relative-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-special-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/index.mjs +0 -9
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/index.mjs +0 -57
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/length/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/length/length-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/number/index.mjs +0 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/number/number-rules.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/scalar/accepted-rule.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/scalar/declined-rule.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/scalar/index.mjs +0 -4
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/alpha.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/credit-card.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/email.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/id-formats.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/index.mjs +0 -13
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/ip.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/matches.mjs +0 -4
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/pattern.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/string-comparison.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/strong-password-rule.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/url.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/without-whitespace.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/json-schema.d.mts +0 -32
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/json-schema.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/json-schema.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/map-result.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/types.d.mts +0 -97
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/types.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/string.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/conditional-types.d.mts +0 -16
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/conditional-types.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/context-types.d.mts +0 -43
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/context-types.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/data-transformer-types.d.mts +0 -30
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/data-transformer-types.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/date-types.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/mutator-types.d.mts +0 -28
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/mutator-types.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/result-types.d.mts +0 -17
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/result-types.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/rule-types.d.mts +0 -53
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/rule-types.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/schema-types.d.mts +0 -11
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/schema-types.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/any-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/array-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/base-validator.d.mts +0 -492
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/base-validator.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/base-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/boolean-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/computed-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/date-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/discriminated-union-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/float-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/index.mjs +0 -28
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/instanceof-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/int-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/lazy-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/literal-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/managed-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/equality-conditional-methods.d.mts +0 -91
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/equality-conditional-methods.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/equality-conditional-methods.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/forbidden-methods.d.mts +0 -59
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/forbidden-methods.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/forbidden-methods.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/present-methods.d.mts +0 -103
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/present-methods.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/present-methods.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/required-methods.d.mts +0 -194
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/required-methods.d.mts.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/required-methods.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/number-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/numeric-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/object-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/primitive-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/record-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/scalar-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/string-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/tuple-validator.mjs.map +0 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/union-validator.mjs.map +0 -1
- /package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/index.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/bool.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/color.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/date.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/float.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/id.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/int.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/nanoid.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/pick.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/random.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/sample.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/string.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/token.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/uuid.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/weighted.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/async/retry.mjs +0 -0
- /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/index.mjs +0 -0
- /package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/file/dimensions.mjs +0 -0
- /package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/file/file-size.mjs +0 -0
- /package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/file/index.mjs +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-helpers.mjs","names":[],"sources":["../../../../../../../../../seal/src/helpers/date-helpers.ts"],"sourcesContent":["/**\r\n * Detect if value is a date value or field name\r\n *\r\n * Date values:\r\n * - Date instance\r\n * - Number (timestamp)\r\n * - String with date separators (- or /)\r\n *\r\n * Field names:\r\n * - Strings without - or /\r\n *\r\n * @param value - Value to check\r\n * @returns true if it's a date value, false if it's a field name\r\n */\r\nexport function isDateValue(value: any): boolean {\r\n if (value instanceof Date) return true;\r\n\r\n const date = new Date(value);\r\n\r\n return !isNaN(date.getTime());\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;AAcA,SAAgB,YAAY,OAAqB;CAC/C,IAAI,iBAAiB,MAAM,OAAO;CAElC,MAAM,OAAO,IAAI,KAAK,KAAK;CAE3B,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC9B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { get } from "
|
|
2
|
-
import "
|
|
1
|
+
import { get } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/get.mjs";
|
|
2
|
+
import "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/index.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/helpers/get-field-value.ts
|
|
5
5
|
/**
|
|
6
6
|
* Get field value based on scope from rule options
|
|
7
7
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-field-value.mjs","names":[],"sources":["../../../../../../../../../seal/src/helpers/get-field-value.ts"],"sourcesContent":["import { get } from \"@mongez/reinforcements\";\r\nimport type { ContextualSchemaRule, SchemaContext } from \"../types\";\r\n\r\n/**\r\n * Get field value based on scope from rule options\r\n *\r\n * This utility extracts a field value from either the global context or sibling context\r\n * based on the `scope` option in the rule's context.\r\n *\r\n * @param rule - The contextual schema rule containing options with:\r\n * - `field` (or custom fieldKey): The field name to extract\r\n * - `scope` (optional): Either \"global\" (default) or \"sibling\"\r\n * @param context - The schema validation context containing allValues and parent\r\n * @param fieldKey - The key in rule.context.options that contains the field name (defaults to \"field\")\r\n *\r\n * @returns The value of the specified field from the appropriate source\r\n *\r\n * @example\r\n * // In a validation rule with scope support:\r\n * async validate(value: any, context) {\r\n * const otherFieldValue = getFieldValue(this, context);\r\n * // Extracts from context.allValues if scope is \"global\"\r\n * // Extracts from context.parent if scope is \"sibling\"\r\n * }\r\n *\r\n * @example\r\n * // Using a custom field key:\r\n * async validate(value: any, context) {\r\n * const compareValue = getFieldValue(this, context, \"compareField\");\r\n * // Looks for rule.context.options.compareField instead of .field\r\n * }\r\n *\r\n * @remarks\r\n * - **Global scope** (`scope: \"global\"`): Searches the entire input data (context.allValues)\r\n * - **Sibling scope** (`scope: \"sibling\"`): Searches only within the parent object (context.parent)\r\n * - Uses `@mongez/reinforcements.get()` to support nested paths (e.g., \"user.email\")\r\n */\r\nexport function getFieldValue(\r\n rule: ContextualSchemaRule,\r\n context: SchemaContext,\r\n fieldKey = \"field\",\r\n) {\r\n const field = rule.context.options[fieldKey];\r\n const scope = rule.context.options.scope || \"global\";\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n return get(source, field);\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,SAAgB,cACd,MACA,SACA,WAAW,SACX;CACA,MAAM,QAAQ,KAAK,QAAQ,QAAQ;CAGnC,OAAO,KAFO,KAAK,QAAQ,QAAQ,SAAS,cACnB,YAAY,QAAQ,SAAS,QAAQ,WAC3C,KAAK;AAC1B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { isEmpty, isObject } from "../../../node_modules/.pnpm/@mongez_supportive-is@2.1.5/node_modules/@mongez/supportive-is/esm/index.mjs";
|
|
2
|
+
|
|
3
|
+
//#region ../seal/src/helpers/is-empty-value.ts
|
|
4
|
+
function isEmptyValue(value) {
|
|
5
|
+
return isEmpty(value) && !isObject(value);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { isEmptyValue };
|
|
10
|
+
//# sourceMappingURL=is-empty-value.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-empty-value.mjs","names":[],"sources":["../../../../../../../../../seal/src/helpers/is-empty-value.ts"],"sourcesContent":["import { isEmpty, isObject } from \"@mongez/supportive-is\";\n\nexport function isEmptyValue(value: any) {\n return isEmpty(value) && !isObject(value);\n}\n"],"mappings":";;;AAEA,SAAgB,aAAa,OAAY;CACvC,OAAO,QAAQ,KAAK,KAAK,CAAC,SAAS,KAAK;AAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-helpers.mjs","names":[],"sources":["../../../../../../../../../seal/src/helpers/path-helpers.ts"],"sourcesContent":["/**\r\n * Set the key path for nested validation\r\n */\r\nexport const setKeyPath = (path: string, key: string): string => {\r\n if (!path) return key;\r\n return `${path}.${key}`;\r\n};\r\n"],"mappings":";;;;AAGA,MAAa,cAAc,MAAc,QAAwB;CAC/D,IAAI,CAAC,MAAM,OAAO;CAClB,OAAO,GAAG,KAAK,GAAG;AACpB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getSealConfig } from "../config.mjs";
|
|
2
2
|
|
|
3
|
-
//#region ../
|
|
3
|
+
//#region ../seal/src/helpers/validation-helpers.ts
|
|
4
4
|
const VALID_RULE = { isValid: true };
|
|
5
5
|
/**
|
|
6
6
|
* Resolve a single attribute value through the full translation priority chain:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-helpers.mjs","names":[],"sources":["../../../../../../../../../seal/src/helpers/validation-helpers.ts"],"sourcesContent":["import { getSealConfig } from \"../config\";\nimport type { ContextualSchemaRule, RuleResult, RuleTranslation, SchemaContext } from \"../types\";\n\nexport const VALID_RULE: RuleResult = {\n isValid: true,\n};\n/**\n * Resolve a single attribute value through the full translation priority chain:\n * 1. attributesList[key] — developer direct text override (highest priority)\n * 2. translatedAttributes[key] — developer explicit translation key\n * 3. translator(rawValue) — auto-translate the raw value (fallback)\n *\n * Use this in rule bodies when you need per-item translation\n * (e.g. translating each enum value before joining them).\n *\n * @example\n * // Translate each enum value individually then join\n * const enumList = enumValues\n * .map(v => resolveTranslation(String(v), String(v), this, context))\n * .join(\", \");\n * this.context.translationParams.enumList = enumList;\n */\nexport const resolveTranslation = ({\n key,\n rawValue,\n rule,\n context,\n}: {\n key: string;\n rawValue: any;\n rule: ContextualSchemaRule;\n context: SchemaContext;\n}): string => {\n const translator = getSealConfig().translateAttribute;\n\n // 1. Direct text override wins\n const direct = rule.context.attributesList?.[key];\n if (direct && typeof direct === \"string\") return direct;\n\n if (!translator) return String(rawValue ?? key);\n\n // 2. Explicit translation key\n const transKey = rule.context.translatedAttributes?.[key];\n if (transKey) return translator({ attribute: transKey, context, rule });\n\n // 3. Auto-translate the raw value (fallback)\n return translator({ attribute: String(rawValue ?? key), context, rule });\n};\n\n// Internal alias — invalidRule uses the same function without re-importing config\nconst resolveAttribute = resolveTranslation;\n\nexport const invalidRule = (rule: ContextualSchemaRule, context: SchemaContext): RuleResult => {\n // `input` is always translatable — rules may add more (e.g., field references in sameAs)\n // Rule-defined translatableParams override the default input if the key matches\n const translatableWithInput: Record<string, string> = {\n // Fall back to \"schema\" when validating at the root level (no key)\n input: context.key || \"schema\",\n ...rule.context.translatableParams,\n };\n\n // Resolve all translatable params through the full priority chain\n const resolvedParams = Object.fromEntries(\n Object.entries(translatableWithInput).map(([key, rawValue]) => [\n key,\n resolveAttribute({ key, rawValue, rule, context }),\n ]),\n );\n const input = resolveAttribute({\n key: \"input\",\n rawValue: translatableWithInput.input ?? \"schema\",\n rule,\n context,\n });\n\n const attributes: RuleTranslation[\"attributes\"] = {\n path: context.path,\n key: context.key,\n // A per-call `redactValue` stands in for the submitted input, so neither a\n // translation nor a custom message can echo it through `:value`\n value: context.configurations?.redactValue ?? context.value,\n // Raw placeholders (:enumList, :min, :max, etc.) — no translation\n ...rule.context.translationParams,\n // Translated placeholders (:input, :field, etc.) — override raws if key collides\n ...resolvedParams,\n // Satisfy TypeScript's required field (always present via resolvedParams)\n input,\n };\n\n const rawError =\n rule.context.errorMessage ||\n rule.errorMessage ||\n context.translateRule?.({ rule, context, attributes }) ||\n rule.defaultErrorMessage!;\n\n // Fallback interpolation: replace :placeholder patterns from attributes\n // This kicks in when translateRule is absent or returns \"\" (not configured)\n const error = rawError.replace(/:([a-zA-Z_]+)/g, (match, key) =>\n key in attributes ? String(attributes[key as keyof typeof attributes]) : match,\n );\n\n return {\n isValid: false,\n error,\n input: attributes.input, // use resolved input, not raw context.key (may be \"\")\n path: context.path,\n };\n};\n"],"mappings":";;;AAGA,MAAa,aAAyB,EACpC,SAAS,KACX;;;;;;;;;;;;;;;;;AAiBA,MAAa,sBAAsB,EACjC,KACA,UACA,MACA,cAMY;CACZ,MAAM,aAAa,cAAc,CAAC,CAAC;CAGnC,MAAM,SAAS,KAAK,QAAQ,iBAAiB;CAC7C,IAAI,UAAU,OAAO,WAAW,UAAU,OAAO;CAEjD,IAAI,CAAC,YAAY,OAAO,OAAO,YAAY,GAAG;CAG9C,MAAM,WAAW,KAAK,QAAQ,uBAAuB;CACrD,IAAI,UAAU,OAAO,WAAW;EAAE,WAAW;EAAU;EAAS;CAAK,CAAC;CAGtE,OAAO,WAAW;EAAE,WAAW,OAAO,YAAY,GAAG;EAAG;EAAS;CAAK,CAAC;AACzE;AAGA,MAAM,mBAAmB;AAEzB,MAAa,eAAe,MAA4B,YAAuC;CAG7F,MAAM,wBAAgD;EAEpD,OAAO,QAAQ,OAAO;EACtB,GAAG,KAAK,QAAQ;CAClB;CAGA,MAAM,iBAAiB,OAAO,YAC5B,OAAO,QAAQ,qBAAqB,CAAC,CAAC,KAAK,CAAC,KAAK,cAAc,CAC7D,KACA,iBAAiB;EAAE;EAAK;EAAU;EAAM;CAAQ,CAAC,CACnD,CAAC,CACH;CACA,MAAM,QAAQ,iBAAiB;EAC7B,KAAK;EACL,UAAU,sBAAsB,SAAS;EACzC;EACA;CACF,CAAC;CAED,MAAM,aAA4C;EAChD,MAAM,QAAQ;EACd,KAAK,QAAQ;EAGb,OAAO,QAAQ,gBAAgB,eAAe,QAAQ;EAEtD,GAAG,KAAK,QAAQ;EAEhB,GAAG;EAEH;CACF;CAcA,OAAO;EACL,SAAS;EACT,QAbA,KAAK,QAAQ,gBACb,KAAK,gBACL,QAAQ,gBAAgB;GAAE;GAAM;GAAS;EAAW,CAAC,KACrD,KAAK,oBAIe,CAAC,QAAQ,mBAAmB,OAAO,QACvD,OAAO,aAAa,OAAO,WAAW,IAA+B,IAAI,KAKrE;EACJ,OAAO,WAAW;EAClB,MAAM,QAAQ;CAChB;AACF"}
|
|
@@ -27,7 +27,6 @@ import { isCreditCardRule } from "./rules/string/credit-card.mjs";
|
|
|
27
27
|
import { emailRule } from "./rules/string/email.mjs";
|
|
28
28
|
import { cuidRule, nanoidRule, ulidRule, uuidRule } from "./rules/string/id-formats.mjs";
|
|
29
29
|
import { ip4Rule, ip6Rule, ipRule, isIP, isIPv4, isIPv6 } from "./rules/string/ip.mjs";
|
|
30
|
-
import "./rules/string/matches.mjs";
|
|
31
30
|
import { patternRule } from "./rules/string/pattern.mjs";
|
|
32
31
|
import { containsRule, endsWithRule, notContainsRule, startsWithRule } from "./rules/string/string-comparison.mjs";
|
|
33
32
|
import { strongPasswordRule } from "./rules/string/strong-password-rule.mjs";
|
|
@@ -44,8 +43,6 @@ import { afterFieldRule, beforeFieldRule, sameAsFieldDateRule } from "./rules/da
|
|
|
44
43
|
import { betweenDaysRule, betweenMonthsRule, betweenTimesRule, betweenYearsRule, maxDayRule, maxMonthRule, maxYearRule, minDayRule, minMonthRule, minYearRule, monthRule, quarterRule, yearRule } from "./rules/date/date-period-rules.mjs";
|
|
45
44
|
import { withinDaysRule, withinFutureDaysRule, withinPastDaysRule } from "./rules/date/date-relative-rules.mjs";
|
|
46
45
|
import { betweenAgeRule, birthdayRule, leapYearRule } from "./rules/date/date-special-rules.mjs";
|
|
47
|
-
import "./rules/file/dimensions.mjs";
|
|
48
|
-
import "./rules/file/file-size.mjs";
|
|
49
46
|
import { colorRule, darkColorRule, hexColorRule, hslColorRule, lightColorRule, rgbColorRule, rgbaColorRule } from "./rules/color/color-rules.mjs";
|
|
50
47
|
import { requiredIfAllEmptyRule, requiredIfAllNotEmptyRule, requiredIfAnyEmptyRule, requiredIfAnyNotEmptyRule, requiredIfEmptyRule, requiredIfInRule, requiredIfNotEmptyRule, requiredIfNotInRule, requiredIfRule } from "./rules/conditional/required-if-rules.mjs";
|
|
51
48
|
import { requiredUnlessRule } from "./rules/conditional/required-unless-rules.mjs";
|
|
@@ -65,10 +62,6 @@ import { arrayRule, booleanRule, floatRule, intRule, numberRule, objectRule, pla
|
|
|
65
62
|
import { unknownKeyRule } from "./rules/common/unknown-key.mjs";
|
|
66
63
|
import "./rules/index.mjs";
|
|
67
64
|
import { ArrayValidator } from "./validators/array-validator.mjs";
|
|
68
|
-
import "./validators/methods/equality-conditional-methods.mjs";
|
|
69
|
-
import "./validators/methods/forbidden-methods.mjs";
|
|
70
|
-
import "./validators/methods/present-methods.mjs";
|
|
71
|
-
import "./validators/methods/required-methods.mjs";
|
|
72
65
|
import { PrimitiveValidator } from "./validators/primitive-validator.mjs";
|
|
73
66
|
import { BooleanValidator } from "./validators/boolean-validator.mjs";
|
|
74
67
|
import { ComputedValidator } from "./validators/computed-validator.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { get } from "
|
|
2
|
-
import "
|
|
1
|
+
import { get } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/get.mjs";
|
|
2
|
+
import "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/index.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/mutators/array-mutators.ts
|
|
5
5
|
/** Reverse array order */
|
|
6
6
|
const flipArrayMutator = async (value) => {
|
|
7
7
|
return value.reverse();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-mutators.mjs","names":[],"sources":["../../../../../../../../../seal/src/mutators/array-mutators.ts"],"sourcesContent":["import { get } from \"@mongez/reinforcements\";\r\nimport { isEmptyValue } from \"../helpers/is-empty-value\";\r\nimport type { Mutator } from \"../types\";\r\n\r\n/** Reverse array order */\r\nexport const flipArrayMutator: Mutator = async (value) => {\r\n return value.reverse();\r\n};\r\n\r\n/** Reverse array order (alias) */\r\nexport const reverseArrayMutator: Mutator = async (value) => {\r\n return value.reverse();\r\n};\r\n\r\n/** Sort array */\r\nexport const sortArrayMutator: Mutator = async (value, context) => {\r\n if (!Array.isArray(value)) return value;\r\n\r\n const sortDirection = context?.options.direction ?? \"asc\";\r\n const sortByKey = context?.options.key ?? null;\r\n\r\n return value.sort((a: any, b: any) => {\r\n if (sortByKey) {\r\n const aValue = get(a, sortByKey);\r\n const bValue = get(b, sortByKey);\r\n\r\n if (sortDirection === \"asc\") {\r\n return aValue - bValue;\r\n }\r\n return bValue - aValue;\r\n }\r\n\r\n if (sortDirection === \"asc\") {\r\n return a - b;\r\n }\r\n return b - a;\r\n });\r\n};\r\n\r\n/** Make array have only unique values */\r\nexport const uniqueArrayMutator: Mutator = async (value) => {\r\n return [...new Set(value)];\r\n};\r\n\r\n/** Remove empty elements from array */\r\nexport const removeEmptyArrayElementsMutator: Mutator = async (value) => {\r\n return value.filter((item: any) => !isEmptyValue(item));\r\n};\r\n"],"mappings":";;;;;AAKA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,MAAM,QAAQ;AACvB;;AAQA,MAAa,mBAA4B,OAAO,OAAO,YAAY;CACjE,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG,OAAO;CAElC,MAAM,gBAAgB,SAAS,QAAQ,aAAa;CACpD,MAAM,YAAY,SAAS,QAAQ,OAAO;CAE1C,OAAO,MAAM,MAAM,GAAQ,MAAW;EACpC,IAAI,WAAW;GACb,MAAM,SAAS,IAAI,GAAG,SAAS;GAC/B,MAAM,SAAS,IAAI,GAAG,SAAS;GAE/B,IAAI,kBAAkB,OACpB,OAAO,SAAS;GAElB,OAAO,SAAS;EAClB;EAEA,IAAI,kBAAkB,OACpB,OAAO,IAAI;EAEb,OAAO,IAAI;CACb,CAAC;AACH;;AAGA,MAAa,qBAA8B,OAAO,UAAU;CAC1D,OAAO,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC;AAC3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ACCEPTED_VALUES } from "../rules/scalar/accepted-rule.mjs";
|
|
2
2
|
import { DECLINED_VALUES } from "../rules/scalar/declined-rule.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/mutators/boolean-mutators.ts
|
|
5
5
|
/**
|
|
6
6
|
* Coerce a query-string-shaped boolean into a real boolean.
|
|
7
7
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean-mutators.mjs","names":[],"sources":["../../../../../../../../../seal/src/mutators/boolean-mutators.ts"],"sourcesContent":["import { ACCEPTED_VALUES } from \"../rules/scalar/accepted-rule\";\nimport { DECLINED_VALUES } from \"../rules/scalar/declined-rule\";\nimport type { Mutator } from \"../types\";\n\n/**\n * Coerce a query-string-shaped boolean into a real boolean.\n *\n * Converts exactly: `\"true\"` / `\"1\"` / `1` → `true`, `\"false\"` / `\"0\"` / `0` → `false`.\n * Case-sensitive, no trimming. Any other value (`\"yes\"`, `\"on\"`, `\"TRUE\"`, `\"\"`,\n * `2`, `null`, etc.) passes through unchanged so the boolean type rule rejects it.\n */\nexport const booleanCoerceMutator: Mutator = async (value) => {\n if (value === \"true\" || value === \"1\" || value === 1) {\n return true;\n }\n\n if (value === \"false\" || value === \"0\" || value === 0) {\n return false;\n }\n\n return value;\n};\n\n/**\n * Parse form-shaped boolean values into a real boolean, ahead of the type\n * rule.\n *\n * Opted into by calling any `accepted*`/`declined*` method on\n * `v.boolean()` (see `BooleanValidator`'s `withFormBooleanMutator`). Converts\n * every value in `ACCEPTED_VALUES` (`1`, `\"1\"`, `true`, `\"true\"`, `\"yes\"`,\n * `\"y\"`, `\"on\"`, `\"Yes\"`, `\"Y\"`, `\"On\"`) to `true`, and every value in\n * `DECLINED_VALUES` (`0`, `\"0\"`, `false`, `\"false\"`, `\"no\"`, `\"n\"`, `\"off\"`,\n * `\"No\"`, `\"N\"`, `\"Off\"`) to `false`. Any other value passes through\n * unchanged so the boolean type rule still rejects it.\n *\n * Named (not anonymous) so callers can detect whether it has already been\n * added — see the idempotence check in `BooleanValidator`.\n */\nexport const formBooleanMutator: Mutator = async (value) => {\n if (ACCEPTED_VALUES.includes(value)) {\n return true;\n }\n\n if (DECLINED_VALUES.includes(value)) {\n return false;\n }\n\n return value;\n};\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,uBAAgC,OAAO,UAAU;CAC5D,IAAI,UAAU,UAAU,UAAU,OAAO,UAAU,GACjD,OAAO;CAGT,IAAI,UAAU,WAAW,UAAU,OAAO,UAAU,GAClD,OAAO;CAGT,OAAO;AACT;;;;;;;;;;;;;;;;AAiBA,MAAa,qBAA8B,OAAO,UAAU;CAC1D,IAAI,gBAAgB,SAAS,KAAK,GAChC,OAAO;CAGT,IAAI,gBAAgB,SAAS,KAAK,GAChC,OAAO;CAGT,OAAO;AACT"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { __toESM } from "
|
|
2
|
-
import { require_dayjs_min } from "
|
|
1
|
+
import { __toESM } from "../../../_virtual/_rolldown/runtime.mjs";
|
|
2
|
+
import { require_dayjs_min } from "../../../node_modules/.pnpm/dayjs@1.11.23/node_modules/dayjs/dayjs.min.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/mutators/date-mutators.ts
|
|
5
5
|
var import_dayjs_min = /* @__PURE__ */ __toESM(require_dayjs_min(), 1);
|
|
6
6
|
/**
|
|
7
7
|
* Convert value to Date object
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-mutators.mjs","names":[],"sources":["../../../../../../../../../seal/src/mutators/date-mutators.ts"],"sourcesContent":["import dayjs from \"dayjs\";\r\nimport type { Mutator } from \"../types\";\r\n\r\n/**\r\n * Convert value to Date object\r\n * Returns Invalid Date if value cannot be converted\r\n */\r\nexport const dateMutator: Mutator = async (value) => {\r\n // Handle null/undefined\r\n if (!value) {\r\n return;\r\n }\r\n\r\n // Already a Date object\r\n if (value instanceof Date) {\r\n return value;\r\n }\r\n\r\n // Try to convert to Date\r\n const date = new Date(value);\r\n\r\n // Return the date (valid or Invalid Date)\r\n // dateRule will validate and fail if invalid\r\n return date;\r\n};\r\n\r\n/** Convert date to ISO string format */\r\nexport const toISOStringMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n return date.toISOString();\r\n};\r\n\r\n/** Convert date to Unix timestamp (milliseconds) */\r\nexport const toTimestampMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n return date.getTime();\r\n};\r\n\r\n/** Convert date to start of day (00:00:00) */\r\nexport const toStartOfDayMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n date.setHours(0, 0, 0, 0);\r\n return date;\r\n};\r\n\r\n/** Convert date to end of day (23:59:59.999) */\r\nexport const toEndOfDayMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n date.setHours(23, 59, 59, 999);\r\n return date;\r\n};\r\n\r\n/** Add or subtract days from date */\r\nexport const addDaysMutator: Mutator = async (value, context) => {\r\n const date = new Date(value);\r\n const days = context?.options.days ?? 0;\r\n date.setDate(date.getDate() + days);\r\n return date;\r\n};\r\n\r\n/** Add or subtract months from date */\r\nexport const addMonthsMutator: Mutator = async (value, context) => {\r\n const date = new Date(value);\r\n const months = context?.options.months ?? 0;\r\n date.setMonth(date.getMonth() + months);\r\n return date;\r\n};\r\n\r\n/** Add or subtract years from date */\r\nexport const addYearsMutator: Mutator = async (value, context) => {\r\n const date = new Date(value);\r\n const years = context?.options.years ?? 0;\r\n date.setFullYear(date.getFullYear() + years);\r\n return date;\r\n};\r\n\r\n/** Add or subtract hours from date */\r\nexport const addHoursMutator: Mutator = async (value, context) => {\r\n const date = new Date(value);\r\n const hours = context?.options.hours ?? 0;\r\n date.setHours(date.getHours() + hours);\r\n return date;\r\n};\r\n\r\n/** Convert date to UTC */\r\nexport const toUTCMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n return new Date(date.toUTCString());\r\n};\r\n\r\n/** Convert date to specific format using dayjs */\r\nexport const toFormatMutator: Mutator = async (value, context) => {\r\n const format = context?.options.format ?? \"YYYY-MM-DD\";\r\n return dayjs(value).format(format);\r\n};\r\n\r\n/** Convert to date only (remove time) */\r\nexport const toDateOnlyMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n return date.toISOString().split(\"T\")[0];\r\n};\r\n\r\n/** Convert to time only (HH:MM:SS) */\r\nexport const toTimeOnlyMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n return date.toTimeString().split(\" \")[0];\r\n};\r\n\r\n/** Set to start of month */\r\nexport const toStartOfMonthMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n return date;\r\n};\r\n\r\n/** Set to end of month */\r\nexport const toEndOfMonthMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n date.setMonth(date.getMonth() + 1);\r\n date.setDate(0);\r\n date.setHours(23, 59, 59, 999);\r\n return date;\r\n};\r\n\r\n/** Set to start of year */\r\nexport const toStartOfYearMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n date.setMonth(0);\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n return date;\r\n};\r\n\r\n/** Set to end of year */\r\nexport const toEndOfYearMutator: Mutator = async (value) => {\r\n const date = new Date(value);\r\n date.setMonth(11);\r\n date.setDate(31);\r\n date.setHours(23, 59, 59, 999);\r\n return date;\r\n};\r\n"],"mappings":";;;;;;;;;AAOA,MAAa,cAAuB,OAAO,UAAU;CAEnD,IAAI,CAAC,OACH;CAIF,IAAI,iBAAiB,MACnB,OAAO;CAQT,OAAO,IAJU,KAAK,KAIZ;AACZ;;AAeA,MAAa,sBAA+B,OAAO,UAAU;CAC3D,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,GAAG,GAAG,GAAG,CAAC;CACxB,OAAO;AACT;;AAGA,MAAa,oBAA6B,OAAO,UAAU;CACzD,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,IAAI,IAAI,IAAI,GAAG;CAC7B,OAAO;AACT;;AAGA,MAAa,iBAA0B,OAAO,OAAO,YAAY;CAC/D,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,MAAM,OAAO,SAAS,QAAQ,QAAQ;CACtC,KAAK,QAAQ,KAAK,QAAQ,IAAI,IAAI;CAClC,OAAO;AACT;;AAGA,MAAa,mBAA4B,OAAO,OAAO,YAAY;CACjE,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,MAAM,SAAS,SAAS,QAAQ,UAAU;CAC1C,KAAK,SAAS,KAAK,SAAS,IAAI,MAAM;CACtC,OAAO;AACT;;AAGA,MAAa,kBAA2B,OAAO,OAAO,YAAY;CAChE,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,MAAM,QAAQ,SAAS,QAAQ,SAAS;CACxC,KAAK,YAAY,KAAK,YAAY,IAAI,KAAK;CAC3C,OAAO;AACT;;AAGA,MAAa,kBAA2B,OAAO,OAAO,YAAY;CAChE,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,MAAM,QAAQ,SAAS,QAAQ,SAAS;CACxC,KAAK,SAAS,KAAK,SAAS,IAAI,KAAK;CACrC,OAAO;AACT;;AAGA,MAAa,eAAwB,OAAO,UAAU;CACpD,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,OAAO,IAAI,KAAK,KAAK,YAAY,CAAC;AACpC;;AAqBA,MAAa,wBAAiC,OAAO,UAAU;CAC7D,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,QAAQ,CAAC;CACd,KAAK,SAAS,GAAG,GAAG,GAAG,CAAC;CACxB,OAAO;AACT;;AAGA,MAAa,sBAA+B,OAAO,UAAU;CAC3D,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,KAAK,SAAS,IAAI,CAAC;CACjC,KAAK,QAAQ,CAAC;CACd,KAAK,SAAS,IAAI,IAAI,IAAI,GAAG;CAC7B,OAAO;AACT;;AAGA,MAAa,uBAAgC,OAAO,UAAU;CAC5D,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,CAAC;CACf,KAAK,QAAQ,CAAC;CACd,KAAK,SAAS,GAAG,GAAG,GAAG,CAAC;CACxB,OAAO;AACT;;AAGA,MAAa,qBAA8B,OAAO,UAAU;CAC1D,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,EAAE;CAChB,KAAK,QAAQ,EAAE;CACf,KAAK,SAAS,IAAI,IAAI,IAAI,GAAG;CAC7B,OAAO;AACT"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { flipArrayMutator, sortArrayMutator, uniqueArrayMutator } from "./array-mutators.mjs";
|
|
2
|
+
import { booleanCoerceMutator, formBooleanMutator } from "./boolean-mutators.mjs";
|
|
3
|
+
import { addDaysMutator, addHoursMutator, addMonthsMutator, addYearsMutator, dateMutator, toEndOfDayMutator, toEndOfMonthMutator, toEndOfYearMutator, toStartOfDayMutator, toStartOfMonthMutator, toStartOfYearMutator, toUTCMutator } from "./date-mutators.mjs";
|
|
4
|
+
import { absMutator, ceilMutator, floorMutator, numberMutator, numericMutator, roundMutator, toFixedMutator } from "./number-mutators.mjs";
|
|
5
|
+
import { objectTrimMutator, stripUnknownMutator } from "./object-mutators.mjs";
|
|
6
|
+
import { stringMutator } from "./scalar-mutators.mjs";
|
|
7
|
+
import { alphaOnlyMutator, alphanumericOnlyMutator, appendMutator, base64DecodeMutator, base64EncodeMutator, camelCaseMutator, capitalizeMutator, htmlEscapeMutator, kebabCaseMutator, lowercaseMutator, ltrimMutator, maskMutator, padEndMutator, padStartMutator, pascalCaseMutator, prependMutator, removeNumbersMutator, removeSpecialCharactersMutator, repeatMutator, replaceAllMutator, replaceMutator, reverseMutator, rtrimMutator, slugMutator, snakeCaseMutator, stringifyMutator, stripTagsMutator, titleCaseMutator, trimMultipleWhitespaceMutator, trimMutator, truncateMutator, unescapeHtmlMutator, uppercaseMutator, urlDecodeMutator, urlEncodeMutator } from "./string-mutators.mjs";
|
|
8
|
+
|
|
9
|
+
export { };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { round } from "
|
|
2
|
-
import "
|
|
3
|
-
import { isNumeric } from "
|
|
1
|
+
import { round } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/number/round.mjs";
|
|
2
|
+
import "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/index.mjs";
|
|
3
|
+
import { isNumeric } from "../../../node_modules/.pnpm/@mongez_supportive-is@2.1.5/node_modules/@mongez/supportive-is/esm/index.mjs";
|
|
4
4
|
|
|
5
|
-
//#region ../
|
|
5
|
+
//#region ../seal/src/mutators/number-mutators.ts
|
|
6
6
|
/** Convert value to number */
|
|
7
7
|
const numberMutator = async (value) => {
|
|
8
8
|
if (!value) return value;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-mutators.mjs","names":[],"sources":["../../../../../../../../../seal/src/mutators/number-mutators.ts"],"sourcesContent":["import { round } from \"@mongez/reinforcements\";\r\nimport { isNumeric } from \"@mongez/supportive-is\";\r\nimport type { Mutator } from \"../types\";\r\n\r\n/** Convert value to number */\r\nexport const numberMutator: Mutator = async (value) => {\r\n if (!value) return value;\r\n return Number(value);\r\n};\r\n\r\n/** Round number to specified decimals */\r\nexport const roundNumberMutator: Mutator = async (value, context) => {\r\n return round(value, context?.options?.decimals ?? 2);\r\n};\r\n\r\n/** Convert to boolean */\r\nexport const booleanMutator: Mutator = async (value) => {\r\n if (value === \"true\") return true;\r\n if (value === \"false\") return false;\r\n return Boolean(value);\r\n};\r\n\r\nexport const numericMutator: Mutator = async (value) => {\r\n if (!isNumeric(value)) return value;\r\n return Number(value);\r\n};\r\n\r\n/** Absolute value mutator */\r\nexport const absMutator: Mutator = async (value) => {\r\n return Math.abs(Number(value));\r\n};\r\n\r\n/** Ceil mutator */\r\nexport const ceilMutator: Mutator = async (value) => {\r\n return Math.ceil(Number(value));\r\n};\r\n\r\n/** Floor mutator */\r\nexport const floorMutator: Mutator = async (value) => {\r\n return Math.floor(Number(value));\r\n};\r\n\r\n/**\r\n * Round mutator\r\n * Supports decimal precision via options.decimals\r\n */\r\nexport const roundMutator: Mutator = async (value, context) => {\r\n const decimals = context?.options?.decimals ?? 0;\r\n // If decimals is 0, use standard Math.round for integers\r\n if (decimals === 0) {\r\n return Math.round(Number(value));\r\n }\r\n // Otherwise use reinforcements round helper for precision\r\n return round(Number(value), decimals);\r\n};\r\n\r\n/**\r\n * To fixed mutator — rounds to a fixed number of decimal places, as a number.\r\n *\r\n * `Number.prototype.toFixed` returns a *string*, which the number validator's\r\n * own type rule then rejected: `v.number().toFixed(2)` could never produce a\r\n * valid result. Coercing back to a number keeps the method usable where it\r\n * lives. For the fixed-point string form, format at the edge instead of asking\r\n * a number schema to output a string.\r\n */\r\nexport const toFixedMutator: Mutator = async (value, context) => {\r\n const decimals = context?.options?.decimals ?? 2;\r\n return Number(Number(value).toFixed(decimals));\r\n};\r\n"],"mappings":";;;;;;AAKA,MAAa,gBAAyB,OAAO,UAAU;CACrD,IAAI,CAAC,OAAO,OAAO;CACnB,OAAO,OAAO,KAAK;AACrB;AAcA,MAAa,iBAA0B,OAAO,UAAU;CACtD,IAAI,CAAC,UAAU,KAAK,GAAG,OAAO;CAC9B,OAAO,OAAO,KAAK;AACrB;;AAGA,MAAa,aAAsB,OAAO,UAAU;CAClD,OAAO,KAAK,IAAI,OAAO,KAAK,CAAC;AAC/B;;AAGA,MAAa,cAAuB,OAAO,UAAU;CACnD,OAAO,KAAK,KAAK,OAAO,KAAK,CAAC;AAChC;;AAGA,MAAa,eAAwB,OAAO,UAAU;CACpD,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC;AACjC;;;;;AAMA,MAAa,eAAwB,OAAO,OAAO,YAAY;CAC7D,MAAM,WAAW,SAAS,SAAS,YAAY;CAE/C,IAAI,aAAa,GACf,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC;CAGjC,OAAO,MAAM,OAAO,KAAK,GAAG,QAAQ;AACtC;;;;;;;;;;AAWA,MAAa,iBAA0B,OAAO,OAAO,YAAY;CAC/D,MAAM,WAAW,SAAS,SAAS,YAAY;CAC/C,OAAO,OAAO,OAAO,KAAK,CAAC,CAAC,QAAQ,QAAQ,CAAC;AAC/C"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { trim } from "
|
|
2
|
-
import "
|
|
3
|
-
import { isPlainObject } from "
|
|
1
|
+
import { trim } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/trim.mjs";
|
|
2
|
+
import "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/index.mjs";
|
|
3
|
+
import { isPlainObject } from "../../../node_modules/.pnpm/@mongez_supportive-is@2.1.5/node_modules/@mongez/supportive-is/esm/index.mjs";
|
|
4
4
|
|
|
5
|
-
//#region ../
|
|
5
|
+
//#region ../seal/src/mutators/object-mutators.ts
|
|
6
6
|
/** Strip unknown keys from object */
|
|
7
7
|
const stripUnknownMutator = async (value, context) => {
|
|
8
8
|
const allowedKeys = [...context?.ctx.schema ? Object.keys(context.ctx.schema) : [], ...context?.options.allowedKeys ?? []];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-mutators.mjs","names":[],"sources":["../../../../../../../../../seal/src/mutators/object-mutators.ts"],"sourcesContent":["import { trim } from \"@mongez/reinforcements\";\r\nimport { isPlainObject } from \"@mongez/supportive-is\";\r\nimport type { Mutator } from \"../types\";\r\n\r\n/** Strip unknown keys from object */\r\nexport const stripUnknownMutator: Mutator = async (value, context) => {\r\n const allowedKeys = [\r\n ...(context?.ctx.schema ? Object.keys(context.ctx.schema) : []),\r\n ...(context?.options.allowedKeys ?? []),\r\n ];\r\n\r\n const result: Record<string, any> = {};\r\n\r\n for (const key in value) {\r\n if (allowedKeys.includes(key)) {\r\n result[key] = value[key];\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\n/** Trim all string values in object */\r\nexport const objectTrimMutator: Mutator = async (value, context) => {\r\n if (!isPlainObject(value)) return value;\r\n\r\n const result: Record<string, any> = {};\r\n const recursive = context?.options.recursive ?? false;\r\n\r\n for (const key in value) {\r\n const item = value[key];\r\n\r\n if (recursive) {\r\n if (Array.isArray(item)) {\r\n result[key] = await Promise.all(\r\n item.map(async (i: any) =>\r\n typeof i === \"string\" ? trim(i) : await objectTrimMutator(i, context),\r\n ),\r\n );\r\n } else if (isPlainObject(item)) {\r\n result[key] = await objectTrimMutator(item, context);\r\n } else {\r\n result[key] = typeof item === \"string\" ? trim(item) : item;\r\n }\r\n } else {\r\n result[key] = typeof item === \"string\" ? trim(item) : item;\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\n/** Parse JSON string */\r\nexport const jsonMutator: Mutator = async (value) => {\r\n try {\r\n return JSON.parse(value);\r\n } catch {\r\n return value;\r\n }\r\n};\r\n"],"mappings":";;;;;;AAKA,MAAa,sBAA+B,OAAO,OAAO,YAAY;CACpE,MAAM,cAAc,CAClB,GAAI,SAAS,IAAI,SAAS,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,GAC7D,GAAI,SAAS,QAAQ,eAAe,CAAC,CACvC;CAEA,MAAM,SAA8B,CAAC;CAErC,KAAK,MAAM,OAAO,OAChB,IAAI,YAAY,SAAS,GAAG,GAC1B,OAAO,OAAO,MAAM;CAIxB,OAAO;AACT;;AAGA,MAAa,oBAA6B,OAAO,OAAO,YAAY;CAClE,IAAI,CAAC,cAAc,KAAK,GAAG,OAAO;CAElC,MAAM,SAA8B,CAAC;CACrC,MAAM,YAAY,SAAS,QAAQ,aAAa;CAEhD,KAAK,MAAM,OAAO,OAAO;EACvB,MAAM,OAAO,MAAM;EAEnB,IAAI,WACF,IAAI,MAAM,QAAQ,IAAI,GACpB,OAAO,OAAO,MAAM,QAAQ,IAC1B,KAAK,IAAI,OAAO,MACd,OAAO,MAAM,WAAW,KAAK,CAAC,IAAI,MAAM,kBAAkB,GAAG,OAAO,CACtE,CACF;OACK,IAAI,cAAc,IAAI,GAC3B,OAAO,OAAO,MAAM,kBAAkB,MAAM,OAAO;OAEnD,OAAO,OAAO,OAAO,SAAS,WAAW,KAAK,IAAI,IAAI;OAGxD,OAAO,OAAO,OAAO,SAAS,WAAW,KAAK,IAAI,IAAI;CAE1D;CAEA,OAAO;AACT"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region ../seal/src/mutators/scalar-mutators.ts
|
|
2
|
+
const stringMutator = async (value) => {
|
|
3
|
+
if ([void 0, null].includes(value)) return value;
|
|
4
|
+
return String(value);
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { stringMutator };
|
|
9
|
+
//# sourceMappingURL=scalar-mutators.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-mutators.mjs","names":[],"sources":["../../../../../../../../../seal/src/mutators/scalar-mutators.ts"],"sourcesContent":["import type { Mutator } from \"../types\";\r\n\r\nexport const stringMutator: Mutator = async (value) => {\r\n if ([undefined, null].includes(value)) {\r\n return value;\r\n }\r\n\r\n return String(value);\r\n};\r\n"],"mappings":";AAEA,MAAa,gBAAyB,OAAO,UAAU;CACrD,IAAI,CAAC,QAAW,IAAI,CAAC,CAAC,SAAS,KAAK,GAClC,OAAO;CAGT,OAAO,OAAO,KAAK;AACrB"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { capitalize } from "
|
|
2
|
-
import { trim } from "
|
|
3
|
-
import { ltrim } from "
|
|
4
|
-
import { readMoreChars } from "
|
|
5
|
-
import { rtrim } from "
|
|
6
|
-
import { toCamelCase } from "
|
|
7
|
-
import { toSnakeCase } from "
|
|
8
|
-
import { toKebabCase } from "
|
|
9
|
-
import { toStudlyCase } from "
|
|
10
|
-
import "
|
|
1
|
+
import { capitalize } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs";
|
|
2
|
+
import { trim } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/trim.mjs";
|
|
3
|
+
import { ltrim } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs";
|
|
4
|
+
import { readMoreChars } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs";
|
|
5
|
+
import { rtrim } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs";
|
|
6
|
+
import { toCamelCase } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs";
|
|
7
|
+
import { toSnakeCase } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs";
|
|
8
|
+
import { toKebabCase } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs";
|
|
9
|
+
import { toStudlyCase } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs";
|
|
10
|
+
import "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/index.mjs";
|
|
11
11
|
|
|
12
|
-
//#region ../
|
|
12
|
+
//#region ../seal/src/mutators/string-mutators.ts
|
|
13
13
|
/** Convert string to lowercase */
|
|
14
14
|
const lowercaseMutator = async (value) => {
|
|
15
15
|
return value?.toString().toLowerCase();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-mutators.mjs","names":[],"sources":["../../../../../../../../../seal/src/mutators/string-mutators.ts"],"sourcesContent":["import {\r\n capitalize,\r\n ltrim,\r\n readMoreChars,\r\n rtrim,\r\n toCamelCase,\r\n toKebabCase,\r\n toSnakeCase,\r\n toStudlyCase,\r\n trim,\r\n} from \"@mongez/reinforcements\";\r\nimport type { Mutator } from \"../types\";\r\n\r\n/** Convert string to lowercase */\r\nexport const lowercaseMutator: Mutator = async (value) => {\r\n return value?.toString().toLowerCase();\r\n};\r\n\r\n/** Convert string to uppercase */\r\nexport const uppercaseMutator: Mutator = async (value) => {\r\n return value?.toString().toUpperCase();\r\n};\r\n\r\n/** Capitalize only the first letter of the string */\r\nexport const capitalizeMutator: Mutator = async (value) => {\r\n const str = value?.toString();\r\n return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\r\n};\r\n\r\n/** Capitalize the first letter of each word (Title Case) */\r\nexport const titleCaseMutator: Mutator = async (value) => {\r\n return capitalize(value?.toString());\r\n};\r\n\r\n/** Convert value to string */\r\nexport const stringifyMutator: Mutator = async (value) => {\r\n if (!value && value !== 0) return \"\";\r\n // only convert numbers, boolean and strings\r\n\r\n // Handle strings (pass through)\r\n if (typeof value === \"string\") return value;\r\n\r\n // Handle scalar types (number, boolean)\r\n if (typeof value === \"number\" || typeof value === \"boolean\") {\r\n return String(value);\r\n }\r\n};\r\n\r\n/** Trim whitespace */\r\nexport const trimMutator: Mutator = async (value, context) => {\r\n return trim(value?.toString(), context?.options?.needle ?? \" \");\r\n};\r\n\r\n/**\r\n * Strip HTML tags with a naive `<...>` regex.\r\n *\r\n * This is a **tag stripper, not an XSS sanitizer**: it is not a parser, so\r\n * malformed/nested markup, attribute payloads, or content re-introduced\r\n * later in a pipeline can defeat it. Do not rely on this alone to make\r\n * untrusted rich text safe to render — use a real parser-based sanitizer\r\n * (e.g. DOMPurify / sanitize-html) for that.\r\n */\r\nexport const stripTagsMutator: Mutator = async (value) => {\r\n return value?.toString().replace(/<[^>]*>?/gm, \"\");\r\n};\r\n\r\n/**\r\n * @deprecated Renamed to {@link stripTagsMutator} — the old name implied\r\n * XSS safety this tag-stripping regex does not provide. Kept as an alias\r\n * for backward compatibility; switch to `stripTagsMutator`.\r\n */\r\nexport const safeHtmlMutator: Mutator = stripTagsMutator;\r\n\r\n/** HTML escape */\r\nexport const htmlEscapeMutator: Mutator = async (value) => {\r\n return value\r\n ?.toString()\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")\r\n .replace(/\"/g, \""\")\r\n .replace(/'/g, \"'\");\r\n};\r\n\r\n/** Remove special characters */\r\nexport const removeSpecialCharactersMutator: Mutator = async (value) => {\r\n return value?.toString().replace(/[^a-zA-Z0-9]/g, \"\");\r\n};\r\n\r\n/** URL decode */\r\nexport const urlDecodeMutator: Mutator = async (value) => {\r\n return decodeURIComponent(value);\r\n};\r\n\r\n/** URL encode */\r\nexport const urlEncodeMutator: Mutator = async (value) => {\r\n return encodeURIComponent(value);\r\n};\r\n\r\n/** Convert to camelCase */\r\nexport const camelCaseMutator: Mutator = async (value) => {\r\n return toCamelCase(value?.toString());\r\n};\r\n\r\n/** Convert to PascalCase */\r\nexport const pascalCaseMutator: Mutator = async (value) => {\r\n return toStudlyCase(value?.toString());\r\n};\r\n\r\n/** Convert to snake_case */\r\nexport const snakeCaseMutator: Mutator = async (value) => {\r\n return toSnakeCase(value?.toString());\r\n};\r\n\r\n/** Convert to kebab-case */\r\nexport const kebabCaseMutator: Mutator = async (value) => {\r\n return toKebabCase(value?.toString());\r\n};\r\n\r\n/** Convert to URL-friendly slug */\r\nexport const slugMutator: Mutator = async (value) => {\r\n return value\r\n ?.toString()\r\n .toLowerCase()\r\n .trim()\r\n .replace(/[^\\w\\s-]/g, \"\")\r\n .replace(/[\\s_]+/g, \"-\")\r\n .replace(/--+/g, \"-\")\r\n .replace(/^-+|-+$/g, \"\");\r\n};\r\n\r\n/** Trim from the left/start */\r\nexport const ltrimMutator: Mutator = async (value, context) => {\r\n return ltrim(value?.toString(), context?.options?.needle ?? \" \");\r\n};\r\n\r\n/** Trim from the right/end */\r\nexport const rtrimMutator: Mutator = async (value, context) => {\r\n return rtrim(value?.toString(), context?.options?.needle ?? \" \");\r\n};\r\n\r\n/** Base64 encode */\r\nexport const base64EncodeMutator: Mutator = async (value) => {\r\n return Buffer.from(value?.toString()).toString(\"base64\");\r\n};\r\n\r\n/** Base64 decode */\r\nexport const base64DecodeMutator: Mutator = async (value) => {\r\n return Buffer.from(value?.toString(), \"base64\").toString(\"utf-8\");\r\n};\r\n\r\n/** Replace substring or pattern */\r\nexport const replaceMutator: Mutator = async (value, context) => {\r\n const { search, replace } = context?.options;\r\n if (!search) return value?.toString();\r\n return value?.toString().replace(search, replace ?? \"\");\r\n};\r\n\r\n/** Replace all occurrences of substring or pattern */\r\nexport const replaceAllMutator: Mutator = async (value, context) => {\r\n const { search, replace } = context?.options;\r\n if (!search) return value?.toString();\r\n const searchValue = typeof search === \"string\" ? new RegExp(search, \"g\") : search;\r\n return value?.toString().replace(searchValue, replace ?? \"\");\r\n};\r\n\r\n/** Append/suffix text to the end */\r\nexport const appendMutator: Mutator = async (value, context) => {\r\n const suffix = context?.options?.suffix ?? \"\";\r\n return value?.toString() + suffix;\r\n};\r\n\r\n/** Prepend/prefix text to the beginning */\r\nexport const prependMutator: Mutator = async (value, context) => {\r\n const prefix = context?.options?.prefix ?? \"\";\r\n return prefix + value?.toString();\r\n};\r\n\r\n/** Reverse the string */\r\nexport const reverseMutator: Mutator = async (value) => {\r\n return value?.toString().split(\"\").reverse().join(\"\");\r\n};\r\n\r\n/** Truncate to a maximum length */\r\nexport const truncateMutator: Mutator = async (value, context) => {\r\n const str = value?.toString();\r\n const maxLength = context?.options?.maxLength ?? 100;\r\n const suffix = context?.options?.suffix ?? \"...\";\r\n return readMoreChars(str, maxLength, suffix);\r\n};\r\n\r\n/** Trim multiple whitespace into single space */\r\nexport const trimMultipleWhitespaceMutator: Mutator = async (value) => {\r\n return value?.toString().replace(/\\s+/g, \" \");\r\n};\r\n\r\n/** Pad string from the start to reach target length */\r\nexport const padStartMutator: Mutator = async (value, context) => {\r\n const length = context?.options?.length ?? 0;\r\n const char = context?.options?.char ?? \" \";\r\n return value?.toString().padStart(length, char);\r\n};\r\n\r\n/** Pad string from the end to reach target length */\r\nexport const padEndMutator: Mutator = async (value, context) => {\r\n const length = context?.options?.length ?? 0;\r\n const char = context?.options?.char ?? \" \";\r\n return value?.toString().padEnd(length, char);\r\n};\r\n\r\n/** Repeat string N times */\r\nexport const repeatMutator: Mutator = async (value, context) => {\r\n const count = context?.options?.count ?? 1;\r\n return value?.toString()?.repeat(count);\r\n};\r\n\r\n/** Mask part of string */\r\nexport const maskMutator: Mutator = async (value, context) => {\r\n const str = value?.toString();\r\n const maskChar = context?.options?.char ?? \"*\";\r\n const start = context?.options?.start ?? 0;\r\n const end = context?.options?.end ?? str?.length;\r\n const visibleStart = str?.substring(0, start);\r\n const visibleEnd = str?.substring(end);\r\n const maskedLength = end - start;\r\n return visibleStart + maskChar.repeat(maskedLength) + visibleEnd;\r\n};\r\n\r\n/** Unescape HTML entities */\r\nexport const unescapeHtmlMutator: Mutator = async (value) => {\r\n return value\r\n ?.toString()\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")\r\n .replace(/"/g, '\"')\r\n .replace(/'/g, \"'\");\r\n};\r\n\r\n/** Keep only alphabetic characters */\r\nexport const alphaOnlyMutator: Mutator = async (value) => {\r\n return value.toString().replace(/[^a-zA-Z]/g, \"\");\r\n};\r\n\r\n/** Keep only alphanumeric characters */\r\nexport const alphanumericOnlyMutator: Mutator = async (value) => {\r\n return value.toString().replace(/[^a-zA-Z0-9]/g, \"\");\r\n};\r\n\r\n/** Remove all numeric characters */\r\nexport const removeNumbersMutator: Mutator = async (value) => {\r\n return value.toString().replace(/[0-9]/g, \"\");\r\n};\r\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,OAAO,SAAS,CAAC,CAAC,YAAY;AACvC;;AAGA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,OAAO,SAAS,CAAC,CAAC,YAAY;AACvC;;AAGA,MAAa,oBAA6B,OAAO,UAAU;CACzD,MAAM,MAAM,OAAO,SAAS;CAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY;AAChE;;AAGA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,WAAW,OAAO,SAAS,CAAC;AACrC;;AAGA,MAAa,mBAA4B,OAAO,UAAU;CACxD,IAAI,CAAC,SAAS,UAAU,GAAG,OAAO;CAIlC,IAAI,OAAO,UAAU,UAAU,OAAO;CAGtC,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU,WAChD,OAAO,OAAO,KAAK;AAEvB;;AAGA,MAAa,cAAuB,OAAO,OAAO,YAAY;CAC5D,OAAO,KAAK,OAAO,SAAS,GAAG,SAAS,SAAS,UAAU,GAAG;AAChE;;;;;;;;;;AAWA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,cAAc,EAAE;AACnD;;AAUA,MAAa,oBAA6B,OAAO,UAAU;CACzD,OAAO,OACH,SAAS,CAAC,CACX,QAAQ,MAAM,OAAO,CAAC,CACtB,QAAQ,MAAM,MAAM,CAAC,CACrB,QAAQ,MAAM,MAAM,CAAC,CACrB,QAAQ,MAAM,QAAQ,CAAC,CACvB,QAAQ,MAAM,QAAQ;AAC3B;;AAGA,MAAa,iCAA0C,OAAO,UAAU;CACtE,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,iBAAiB,EAAE;AACtD;;AAGA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,mBAAmB,KAAK;AACjC;;AAGA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,mBAAmB,KAAK;AACjC;;AAGA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,YAAY,OAAO,SAAS,CAAC;AACtC;;AAGA,MAAa,oBAA6B,OAAO,UAAU;CACzD,OAAO,aAAa,OAAO,SAAS,CAAC;AACvC;;AAGA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,YAAY,OAAO,SAAS,CAAC;AACtC;;AAGA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,YAAY,OAAO,SAAS,CAAC;AACtC;;AAGA,MAAa,cAAuB,OAAO,UAAU;CACnD,OAAO,OACH,SAAS,CAAC,CACX,YAAY,CAAC,CACb,KAAK,CAAC,CACN,QAAQ,aAAa,EAAE,CAAC,CACxB,QAAQ,WAAW,GAAG,CAAC,CACvB,QAAQ,QAAQ,GAAG,CAAC,CACpB,QAAQ,YAAY,EAAE;AAC3B;;AAGA,MAAa,eAAwB,OAAO,OAAO,YAAY;CAC7D,OAAO,MAAM,OAAO,SAAS,GAAG,SAAS,SAAS,UAAU,GAAG;AACjE;;AAGA,MAAa,eAAwB,OAAO,OAAO,YAAY;CAC7D,OAAO,MAAM,OAAO,SAAS,GAAG,SAAS,SAAS,UAAU,GAAG;AACjE;;AAGA,MAAa,sBAA+B,OAAO,UAAU;CAC3D,OAAO,OAAO,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,QAAQ;AACzD;;AAGA,MAAa,sBAA+B,OAAO,UAAU;CAC3D,OAAO,OAAO,KAAK,OAAO,SAAS,GAAG,QAAQ,CAAC,CAAC,SAAS,OAAO;AAClE;;AAGA,MAAa,iBAA0B,OAAO,OAAO,YAAY;CAC/D,MAAM,EAAE,QAAQ,YAAY,SAAS;CACrC,IAAI,CAAC,QAAQ,OAAO,OAAO,SAAS;CACpC,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,QAAQ,WAAW,EAAE;AACxD;;AAGA,MAAa,oBAA6B,OAAO,OAAO,YAAY;CAClE,MAAM,EAAE,QAAQ,YAAY,SAAS;CACrC,IAAI,CAAC,QAAQ,OAAO,OAAO,SAAS;CACpC,MAAM,cAAc,OAAO,WAAW,WAAW,IAAI,OAAO,QAAQ,GAAG,IAAI;CAC3E,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,aAAa,WAAW,EAAE;AAC7D;;AAGA,MAAa,gBAAyB,OAAO,OAAO,YAAY;CAC9D,MAAM,SAAS,SAAS,SAAS,UAAU;CAC3C,OAAO,OAAO,SAAS,IAAI;AAC7B;;AAGA,MAAa,iBAA0B,OAAO,OAAO,YAAY;CAE/D,QADe,SAAS,SAAS,UAAU,MAC3B,OAAO,SAAS;AAClC;;AAGA,MAAa,iBAA0B,OAAO,UAAU;CACtD,OAAO,OAAO,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE;AACtD;;AAGA,MAAa,kBAA2B,OAAO,OAAO,YAAY;CAChE,MAAM,MAAM,OAAO,SAAS;CAG5B,OAAO,cAAc,KAFH,SAAS,SAAS,aAAa,KAClC,SAAS,SAAS,UAAU,KACA;AAC7C;;AAGA,MAAa,gCAAyC,OAAO,UAAU;CACrE,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,QAAQ,GAAG;AAC9C;;AAGA,MAAa,kBAA2B,OAAO,OAAO,YAAY;CAChE,MAAM,SAAS,SAAS,SAAS,UAAU;CAC3C,MAAM,OAAO,SAAS,SAAS,QAAQ;CACvC,OAAO,OAAO,SAAS,CAAC,CAAC,SAAS,QAAQ,IAAI;AAChD;;AAGA,MAAa,gBAAyB,OAAO,OAAO,YAAY;CAC9D,MAAM,SAAS,SAAS,SAAS,UAAU;CAC3C,MAAM,OAAO,SAAS,SAAS,QAAQ;CACvC,OAAO,OAAO,SAAS,CAAC,CAAC,OAAO,QAAQ,IAAI;AAC9C;;AAGA,MAAa,gBAAyB,OAAO,OAAO,YAAY;CAC9D,MAAM,QAAQ,SAAS,SAAS,SAAS;CACzC,OAAO,OAAO,SAAS,CAAC,EAAE,OAAO,KAAK;AACxC;;AAGA,MAAa,cAAuB,OAAO,OAAO,YAAY;CAC5D,MAAM,MAAM,OAAO,SAAS;CAC5B,MAAM,WAAW,SAAS,SAAS,QAAQ;CAC3C,MAAM,QAAQ,SAAS,SAAS,SAAS;CACzC,MAAM,MAAM,SAAS,SAAS,OAAO,KAAK;CAC1C,MAAM,eAAe,KAAK,UAAU,GAAG,KAAK;CAC5C,MAAM,aAAa,KAAK,UAAU,GAAG;CACrC,MAAM,eAAe,MAAM;CAC3B,OAAO,eAAe,SAAS,OAAO,YAAY,IAAI;AACxD;;AAGA,MAAa,sBAA+B,OAAO,UAAU;CAC3D,OAAO,OACH,SAAS,CAAC,CACX,QAAQ,UAAU,GAAG,CAAC,CACtB,QAAQ,SAAS,GAAG,CAAC,CACrB,QAAQ,SAAS,GAAG,CAAC,CACrB,QAAQ,WAAW,IAAG,CAAC,CACvB,QAAQ,WAAW,GAAG;AAC3B;;AAGA,MAAa,mBAA4B,OAAO,UAAU;CACxD,OAAO,MAAM,SAAS,CAAC,CAAC,QAAQ,cAAc,EAAE;AAClD;;AAGA,MAAa,0BAAmC,OAAO,UAAU;CAC/D,OAAO,MAAM,SAAS,CAAC,CAAC,QAAQ,iBAAiB,EAAE;AACrD;;AAGA,MAAa,uBAAgC,OAAO,UAAU;CAC5D,OAAO,MAAM,SAAS,CAAC,CAAC,QAAQ,UAAU,EAAE;AAC9C"}
|
|
@@ -4,7 +4,7 @@ import "./validators/methods/present-methods.mjs";
|
|
|
4
4
|
import "./validators/methods/required-methods.mjs";
|
|
5
5
|
import { ObjectValidator } from "./validators/object-validator.mjs";
|
|
6
6
|
|
|
7
|
-
//#region ../
|
|
7
|
+
//#region ../seal/src/object.ts
|
|
8
8
|
/** Create an object schema without importing the complete `v` factory. */
|
|
9
9
|
const object = (schema, errorMessage) => new ObjectValidator(schema, errorMessage);
|
|
10
10
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.mjs","names":[],"sources":["../../../../../../../../seal/src/object.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"./standard-schema/types\";\nimport type { Schema } from \"./types\";\nimport type { Infer } from \"./types/inference-types\";\nimport { ObjectValidator } from \"./validators/object-validator\";\n\n// Keep both runtime chain methods and their declaration augmentations in\n// this standalone entry, without loading the complete validator factory.\nexport { equalityConditionalMethodsApplied } from \"./validators/methods/equality-conditional-methods\";\nexport { forbiddenMethodsApplied } from \"./validators/methods/forbidden-methods\";\nexport { presentMethodsApplied } from \"./validators/methods/present-methods\";\nexport { requiredMethodsApplied } from \"./validators/methods/required-methods\";\nexport { ObjectValidator };\n\n/** Create an object schema without importing the complete `v` factory. */\nexport const object = <T extends Schema>(schema: T, errorMessage?: string) =>\n new ObjectValidator<T>(schema, errorMessage) as ObjectValidator<T> &\n StandardSchemaV1<Infer<ObjectValidator<T>>>;\n"],"mappings":";;;;;;;;AAcA,MAAa,UAA4B,QAAW,iBAClD,IAAI,gBAAmB,QAAQ,YAAY"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
2
2
|
import "../../helpers/index.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/rules/array/array-rules.ts
|
|
5
5
|
/**
|
|
6
6
|
* Unique array rule - array must contain unique values
|
|
7
7
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-rules.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/array/array-rules.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Unique array rule - array must contain unique values\r\n */\r\nexport const uniqueArrayRule: SchemaRule = {\r\n name: \"uniqueArray\",\r\n description: \"The array must contain unique values\",\r\n defaultErrorMessage: \"The :input must contain unique values\",\r\n async validate(value: any, context) {\r\n const uniqueValues = new Set(value);\r\n\r\n if (uniqueValues.size === value.length) {\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 * Sorted array rule - array must be sorted\r\n */\r\nexport const sortedArrayRule: SchemaRule<{\r\n direction?: \"asc\" | \"desc\";\r\n}> = {\r\n name: \"sortedArray\",\r\n description: \"The array must be sorted\",\r\n defaultErrorMessage: \"The :input must be sorted\",\r\n async validate(value: any[], context) {\r\n if (!Array.isArray(value) || value.length <= 1) {\r\n return VALID_RULE;\r\n }\r\n\r\n const direction = this.context.options.direction ?? \"asc\";\r\n this.context.translatableParams.direction = direction;\r\n\r\n for (let i = 0; i < value.length - 1; i++) {\r\n const current = value[i];\r\n const next = value[i + 1];\r\n\r\n if (direction === \"asc\") {\r\n if (current > next) {\r\n return invalidRule(this, context);\r\n }\r\n } else {\r\n if (current < next) {\r\n return invalidRule(this, context);\r\n }\r\n }\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n"],"mappings":";;;;;;;AAMA,MAAa,kBAA8B;CACzC,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAGlC,IAAI,IAFqB,IAAI,KAEd,CAAC,CAAC,SAAS,MAAM,QAC9B,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,kBAER;CACH,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAc,SAAS;EACpC,IAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,UAAU,GAC3C,OAAO;EAGT,MAAM,YAAY,KAAK,QAAQ,QAAQ,aAAa;EACpD,KAAK,QAAQ,mBAAmB,YAAY;EAE5C,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;GACzC,MAAM,UAAU,MAAM;GACtB,MAAM,OAAO,MAAM,IAAI;GAEvB,IAAI,cAAc,OAChB;QAAI,UAAU,MACZ,OAAO,YAAY,MAAM,OAAO;GAClC,OAEA,IAAI,UAAU,MACZ,OAAO,YAAY,MAAM,OAAO;EAGtC;EAEA,OAAO;CACT;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
2
2
|
import "../../helpers/index.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/rules/color/color-rules.ts
|
|
5
5
|
/**
|
|
6
6
|
* Color validation regex patterns
|
|
7
7
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-rules.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/color/color-rules.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Color validation regex patterns\r\n */\r\nconst colorValidationRegex = {\r\n hex: /^#([0-9a-f]{3}){1,2}$/i,\r\n rgb: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n rgba: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*(0?\\.\\d+|1)\\)$/,\r\n hsl: /^hsl\\((\\d{1,3}),\\s*(\\d{1,3})%?,\\s*(\\d{1,3})%?\\)$/,\r\n};\r\n\r\n/**\r\n * Generic color rule - validates any color format\r\n */\r\nexport const colorRule: SchemaRule = {\r\n name: \"color\",\r\n defaultErrorMessage: \"The :input must be a valid color\",\r\n async validate(value: any, context) {\r\n const isValidColor =\r\n colorValidationRegex.hex.test(value) ||\r\n colorValidationRegex.rgb.test(value) ||\r\n colorValidationRegex.rgba.test(value) ||\r\n colorValidationRegex.hsl.test(value);\r\n\r\n if (isValidColor) {\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 * Hex color rule\r\n */\r\nexport const hexColorRule: SchemaRule = {\r\n name: \"hexColor\",\r\n defaultErrorMessage: \"The :input must be a valid hex color\",\r\n async validate(value: any, context) {\r\n if (colorValidationRegex.hex.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 * RGB color rule\r\n */\r\nexport const rgbColorRule: SchemaRule = {\r\n name: \"rgbColor\",\r\n defaultErrorMessage: \"The :input must be a valid RGB color\",\r\n async validate(value: any, context) {\r\n if (colorValidationRegex.rgb.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 * RGBA color rule\r\n */\r\nexport const rgbaColorRule: SchemaRule = {\r\n name: \"rgbaColor\",\r\n defaultErrorMessage: \"The :input must be a valid RGBA color\",\r\n async validate(value: any, context) {\r\n if (colorValidationRegex.rgba.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 * HSL color rule\r\n */\r\nexport const hslColorRule: SchemaRule = {\r\n name: \"hslColor\",\r\n defaultErrorMessage: \"The :input must be a valid HSL color\",\r\n async validate(value: any, context) {\r\n if (colorValidationRegex.hsl.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 * Light color rule\r\n */\r\nexport const lightColorRule: SchemaRule = {\r\n name: \"lightColor\",\r\n defaultErrorMessage: \"The :input must be a light color\",\r\n async validate(value: any, context) {\r\n if (!colorValidationRegex.hex.test(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n const hex = value.replace(\"#\", \"\");\r\n const r = parseInt(hex.substring(0, 2), 16);\r\n const g = parseInt(hex.substring(2, 4), 16);\r\n const b = parseInt(hex.substring(4, 6), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n if (brightness > 155) {\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 * Dark color rule\r\n */\r\nexport const darkColorRule: SchemaRule = {\r\n name: \"darkColor\",\r\n defaultErrorMessage: \"The :input must be a dark color\",\r\n async validate(value: any, context) {\r\n if (!colorValidationRegex.hex.test(value)) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n const hex = value.replace(\"#\", \"\");\r\n const r = parseInt(hex.substring(0, 2), 16);\r\n const g = parseInt(hex.substring(2, 4), 16);\r\n const b = parseInt(hex.substring(4, 6), 16);\r\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\r\n\r\n if (brightness <= 155) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":";;;;;;;AAMA,MAAM,uBAAuB;CAC3B,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;AACP;;;;AAKA,MAAa,YAAwB;CACnC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAOlC,IALE,qBAAqB,IAAI,KAAK,KAAK,KACnC,qBAAqB,IAAI,KAAK,KAAK,KACnC,qBAAqB,KAAK,KAAK,KAAK,KACpC,qBAAqB,IAAI,KAAK,KAAK,GAGnC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,eAA2B;CACtC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,qBAAqB,IAAI,KAAK,KAAK,GACrC,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,eAA2B;CACtC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,qBAAqB,IAAI,KAAK,KAAK,GACrC,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,gBAA4B;CACvC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,qBAAqB,KAAK,KAAK,KAAK,GACtC,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,eAA2B;CACtC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,qBAAqB,IAAI,KAAK,KAAK,GACrC,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,iBAA6B;CACxC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,CAAC,qBAAqB,IAAI,KAAK,KAAK,GACtC,OAAO,YAAY,MAAM,OAAO;EAGlC,MAAM,MAAM,MAAM,QAAQ,KAAK,EAAE;EACjC,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAG1C,KAFoB,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,MAElC,KACf,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,gBAA4B;CACvC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,CAAC,qBAAqB,IAAI,KAAK,KAAK,GACtC,OAAO,YAAY,MAAM,OAAO;EAGlC,MAAM,MAAM,MAAM,QAAQ,KAAK,EAAE;EACjC,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAG1C,KAFoB,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,OAEjC,KAChB,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VALID_RULE, invalidRule, resolveTranslation } from "../../helpers/validation-helpers.mjs";
|
|
2
2
|
import "../../helpers/index.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/rules/common/enum.ts
|
|
5
5
|
/**
|
|
6
6
|
* Enum rule - value must be one of the enum values
|
|
7
7
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/common/enum.ts"],"sourcesContent":["import { invalidRule, resolveTranslation, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Enum rule - value must be one of the enum values\r\n */\r\nexport const enumRule: SchemaRule<{ enum: any }> = {\r\n name: \"enum\",\r\n defaultErrorMessage: \"The :input must be one of the following values: :enum\",\r\n async validate(value: any, context) {\r\n const enumValues = this.context.options.enum;\r\n\r\n if (enumValues.includes(value)) {\r\n return VALID_RULE;\r\n }\r\n\r\n // Translate each enum value individually, then join into a display string\r\n this.context.translationParams.enum = enumValues\r\n .map((v: any) =>\r\n resolveTranslation({ key: String(v), rawValue: String(v), rule: this, context }),\r\n )\r\n .join(\", \");\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * In rule - value must be in the given array\r\n */\r\nexport const inRule: SchemaRule<{ values: any[] }> = {\r\n name: \"in\",\r\n defaultErrorMessage: \"The :input must be one of the following values: :values\",\r\n async validate(value: any, context) {\r\n if (this.context.options.values.includes(value)) {\r\n return VALID_RULE;\r\n }\r\n\r\n // Translate each value individually, then join\r\n this.context.translationParams.values = this.context.options.values\r\n .map((v: any) =>\r\n resolveTranslation({ key: String(v), rawValue: String(v), rule: this, context }),\r\n )\r\n .join(\", \");\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Allowed values rule - value must be one of allowed values\r\n */\r\nexport const allowedValuesRule: SchemaRule<{ allowedValues: any[] }> = {\r\n name: \"allowedValues\",\r\n defaultErrorMessage: \"The :input must be one of the allowed values\",\r\n async validate(value: any, context) {\r\n if (this.context.options.allowedValues.includes(value)) {\r\n return VALID_RULE;\r\n }\r\n\r\n // Translate each value individually, then join\r\n this.context.translationParams.allowedValues = this.context.options.allowedValues\r\n .map((v: any) =>\r\n resolveTranslation({ key: String(v), rawValue: String(v), rule: this, context }),\r\n )\r\n .join(\", \");\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Not allowed values rule - value must not be in forbidden list\r\n */\r\nexport const notAllowedValuesRule: SchemaRule<{ notAllowedValues: any[] }> = {\r\n name: \"notAllowedValues\",\r\n defaultErrorMessage: \"The :input contains a forbidden value\",\r\n async validate(value: any, context) {\r\n if (!this.context.options.notAllowedValues.includes(value)) {\r\n return VALID_RULE;\r\n }\r\n\r\n // Translate each value individually, then join\r\n this.context.translationParams.notAllowedValues = this.context.options.notAllowedValues\r\n .map((v: any) =>\r\n resolveTranslation({ key: String(v), rawValue: String(v), rule: this, context }),\r\n )\r\n .join(\", \");\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":";;;;;;;AAMA,MAAa,WAAsC;CACjD,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,aAAa,KAAK,QAAQ,QAAQ;EAExC,IAAI,WAAW,SAAS,KAAK,GAC3B,OAAO;EAIT,KAAK,QAAQ,kBAAkB,OAAO,WACnC,KAAK,MACJ,mBAAmB;GAAE,KAAK,OAAO,CAAC;GAAG,UAAU,OAAO,CAAC;GAAG,MAAM;GAAM;EAAQ,CAAC,CACjF,CAAC,CACA,KAAK,IAAI;EAEZ,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,SAAwC;CACnD,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,KAAK,QAAQ,QAAQ,OAAO,SAAS,KAAK,GAC5C,OAAO;EAIT,KAAK,QAAQ,kBAAkB,SAAS,KAAK,QAAQ,QAAQ,OAC1D,KAAK,MACJ,mBAAmB;GAAE,KAAK,OAAO,CAAC;GAAG,UAAU,OAAO,CAAC;GAAG,MAAM;GAAM;EAAQ,CAAC,CACjF,CAAC,CACA,KAAK,IAAI;EAEZ,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,oBAA0D;CACrE,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,KAAK,QAAQ,QAAQ,cAAc,SAAS,KAAK,GACnD,OAAO;EAIT,KAAK,QAAQ,kBAAkB,gBAAgB,KAAK,QAAQ,QAAQ,cACjE,KAAK,MACJ,mBAAmB;GAAE,KAAK,OAAO,CAAC;GAAG,UAAU,OAAO,CAAC;GAAG,MAAM;GAAM;EAAQ,CAAC,CACjF,CAAC,CACA,KAAK,IAAI;EAEZ,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,uBAAgE;CAC3E,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,CAAC,KAAK,QAAQ,QAAQ,iBAAiB,SAAS,KAAK,GACvD,OAAO;EAIT,KAAK,QAAQ,kBAAkB,mBAAmB,KAAK,QAAQ,QAAQ,iBACpE,KAAK,MACJ,mBAAmB;GAAE,KAAK,OAAO,CAAC;GAAG,UAAU,OAAO,CAAC;GAAG,MAAM;GAAM;EAAQ,CAAC,CACjF,CAAC,CACA,KAAK,IAAI;EAEZ,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
|
|
@@ -2,7 +2,7 @@ import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
|
2
2
|
import { getFieldValue } from "../../helpers/get-field-value.mjs";
|
|
3
3
|
import "../../helpers/index.mjs";
|
|
4
4
|
|
|
5
|
-
//#region ../
|
|
5
|
+
//#region ../seal/src/rules/common/equals-field-rules.ts
|
|
6
6
|
/**
|
|
7
7
|
* Equals field rule - value must equal another field's value
|
|
8
8
|
* Supports both global and sibling scope
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equals-field-rules.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/common/equals-field-rules.ts"],"sourcesContent":["import { getFieldValue, invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Equals field rule - value must equal another field's value\r\n * Supports both global and sibling scope\r\n */\r\nexport const equalsFieldRule: SchemaRule<{\r\n field: string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"equalsField\",\r\n description: \"The value must equal another field's value\",\r\n sortOrder: -1,\r\n requiresValue: true,\r\n defaultErrorMessage: \"The :input must match the :field field\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n\r\n // Value must equal the other field's value\r\n if (value !== fieldValue) {\r\n this.context.translatableParams.field = this.context.options.field;\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 * Not equals field rule - value must NOT equal another field's value\r\n * Supports both global and sibling scope\r\n */\r\nexport const notEqualsFieldRule: SchemaRule<{\r\n field: string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"notEqualsField\",\r\n description: \"The value must NOT equal another field's value\",\r\n sortOrder: -1,\r\n requiresValue: true,\r\n defaultErrorMessage: \"The :input must not match the :field field\",\r\n async validate(value: any, context) {\r\n const fieldValue = getFieldValue(this, context);\r\n\r\n // Value must NOT equal the other field's value\r\n if (value === fieldValue) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n"],"mappings":";;;;;;;;;AAOA,MAAa,kBAGR;CACH,MAAM;CACN,aAAa;CACb,WAAW;CACX,eAAe;CACf,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAIlC,IAAI,UAHe,cAAc,MAAM,OAGhB,GAAG;GACxB,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;GAC7D,OAAO,YAAY,MAAM,OAAO;EAClC;EAEA,OAAO;CACT;AACF;;;;;AAMA,MAAa,qBAGR;CACH,MAAM;CACN,aAAa;CACb,WAAW;CACX,eAAe;CACf,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAIlC,IAAI,UAHe,cAAc,MAAM,OAGhB,GACrB,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { allowedValuesRule, enumRule, inRule, notAllowedValuesRule } from "./enum.mjs";
|
|
2
|
+
import { equalsFieldRule, notEqualsFieldRule } from "./equals-field-rules.mjs";
|
|
3
|
+
import { instanceofRule } from "./instanceof.mjs";
|
|
4
|
+
import { literalRule } from "./literal.mjs";
|
|
5
|
+
import { arrayRule, booleanRule, floatRule, intRule, numberRule, objectRule, plainObjectRule, stringRule } from "./type-rules.mjs";
|
|
6
|
+
import { unknownKeyRule } from "./unknown-key.mjs";
|
|
7
|
+
|
|
8
|
+
export { };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
2
2
|
import "../../helpers/index.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/rules/common/instanceof.ts
|
|
5
5
|
/**
|
|
6
6
|
* InstanceOf rule - value must be an instance of the given constructor.
|
|
7
7
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instanceof.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/common/instanceof.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\nimport type { SchemaRule } from \"../../types\";\n\n/**\n * InstanceOf rule - value must be an instance of the given constructor.\n *\n * Uses the `instanceof` operator at runtime. Useful for class instances\n * not representable in JSON Schema (File, Buffer, custom domain classes).\n */\nexport const instanceofRule: SchemaRule<{ ctor: new (...args: any[]) => any; name: string }> = {\n name: \"instanceof\",\n defaultErrorMessage: \"The :input must be an instance of :name\",\n async validate(value: any, context) {\n if (value instanceof this.context.options.ctor) {\n return VALID_RULE;\n }\n\n this.context.translationParams.name = this.context.options.name;\n\n return invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;;;AASA,MAAa,iBAAkF;CAC7F,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,KAAK,QAAQ,QAAQ,MACxC,OAAO;EAGT,KAAK,QAAQ,kBAAkB,OAAO,KAAK,QAAQ,QAAQ;EAE3D,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VALID_RULE, invalidRule, resolveTranslation } from "../../helpers/validation-helpers.mjs";
|
|
2
2
|
import "../../helpers/index.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/rules/common/literal.ts
|
|
5
5
|
/**
|
|
6
6
|
* Literal rule - value must be strictly equal to one of the literal values.
|
|
7
7
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"literal.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/common/literal.ts"],"sourcesContent":["import { invalidRule, resolveTranslation, VALID_RULE } from \"../../helpers\";\nimport type { SchemaRule } from \"../../types\";\n\n/**\n * Literal rule - value must be strictly equal to one of the literal values.\n *\n * Uses === (referential / strict equality), so distinguishes 1 from \"1\",\n * true from \"true\", etc. Mirrors `v.string().oneOf([...])` but at the\n * literal type level (TypeScript narrows to the union of literals).\n */\nexport const literalRule: SchemaRule<{ values: readonly (string | number | boolean)[] }> = {\n name: \"literal\",\n // Runs even on \"empty\" values. A literal set is an exact-match whitelist, so\n // there is no value it cannot safely be asked about — and `\"\"` is one of the\n // values callers most want to pin (`alt=\"\"` for a decorative image). Left at\n // the default, the empty string would skip this check entirely, which made\n // `v.literal(\"\").optional()` accept `\"\"`, `null` AND a missing key alike.\n requiresValue: false,\n defaultErrorMessage: \"The :input must be one of the following values: :values\",\n async validate(value: any, context) {\n // Absence is the required/present rule's question, not this one. Without\n // this, `requiresValue: false` above would make the literal check fire on a\n // missing key and defeat `.optional()`, which works by removing that rule.\n if (value === undefined) {\n return VALID_RULE;\n }\n\n if (this.context.options.values.includes(value)) {\n return VALID_RULE;\n }\n\n this.context.translationParams.values = this.context.options.values\n .map(v =>\n resolveTranslation({ key: String(v), rawValue: String(v), rule: this, context }),\n )\n .join(\", \");\n\n return invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;;;;AAUA,MAAa,cAA8E;CACzF,MAAM;CAMN,eAAe;CACf,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAIlC,IAAI,UAAU,QACZ,OAAO;EAGT,IAAI,KAAK,QAAQ,QAAQ,OAAO,SAAS,KAAK,GAC5C,OAAO;EAGT,KAAK,QAAQ,kBAAkB,SAAS,KAAK,QAAQ,QAAQ,OAC1D,KAAI,MACH,mBAAmB;GAAE,KAAK,OAAO,CAAC;GAAG,UAAU,OAAO,CAAC;GAAG,MAAM;GAAM;EAAQ,CAAC,CACjF,CAAC,CACA,KAAK,IAAI;EAEZ,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
2
|
+
import { isObject, isPlainObject } from "../../../../node_modules/.pnpm/@mongez_supportive-is@2.1.5/node_modules/@mongez/supportive-is/esm/index.mjs";
|
|
2
3
|
import "../../helpers/index.mjs";
|
|
3
|
-
import { isObject, isPlainObject } from "../../../../../../../@mongez_supportive-is@2.1.4/node_modules/@mongez/supportive-is/esm/index.mjs";
|
|
4
4
|
|
|
5
|
-
//#region ../
|
|
5
|
+
//#region ../seal/src/rules/common/type-rules.ts
|
|
6
6
|
/**
|
|
7
7
|
* String rule - validates string type
|
|
8
8
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-rules.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/common/type-rules.ts"],"sourcesContent":["import { isObject, isPlainObject } from \"@mongez/supportive-is\";\r\nimport { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * String rule - validates string type\r\n */\r\nexport const stringRule: SchemaRule = {\r\n name: \"string\",\r\n defaultErrorMessage: \"The :input must be a string\",\r\n async validate(value: any, context) {\r\n if (typeof value === \"string\") {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Number rule - validates number type\r\n */\r\nexport const numberRule: SchemaRule = {\r\n name: \"number\",\r\n defaultErrorMessage: \"The :input must be a number\",\r\n async validate(value: any, context) {\r\n if (typeof value === \"number\") {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Boolean rule - validates boolean type\r\n */\r\nexport const booleanRule: SchemaRule = {\r\n name: \"boolean\",\r\n defaultErrorMessage: \"The :input must be a boolean\",\r\n async validate(value: any, context) {\r\n if (typeof value === \"boolean\") {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Int rule - validates integer type\r\n */\r\nexport const intRule: SchemaRule = {\r\n name: \"int\",\r\n defaultErrorMessage: \"The :input must be an integer\",\r\n async validate(value: any, context) {\r\n if (Number.isInteger(value)) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Float rule - validates float type\r\n */\r\nexport const floatRule: SchemaRule = {\r\n name: \"float\",\r\n defaultErrorMessage: \"The :input must be a float\",\r\n async validate(value: any, context) {\r\n if (Number.isFinite(value) && !Number.isInteger(value)) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Scalar rule - validates scalar value (string, number, or boolean)\r\n */\r\nexport const scalarRule: SchemaRule = {\r\n name: \"scalar\",\r\n defaultErrorMessage: \"The :input must be a scalar value\",\r\n async validate(value: any, context) {\r\n if ([\"string\", \"number\", \"boolean\"].includes(typeof value)) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Object rule - validates object type\r\n */\r\nexport const objectRule: SchemaRule = {\r\n name: \"object\",\r\n defaultErrorMessage: \"The :input must be an object\",\r\n async validate(value: any, context) {\r\n if (!!isObject(value) && value !== null) {\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 * Object rule - validates object type\r\n */\r\nexport const plainObjectRule: SchemaRule = {\r\n name: \"plainObject\",\r\n defaultErrorMessage: \"The :input must be an object\",\r\n async validate(value: any, context) {\r\n if (!!isPlainObject(value) && value !== null) {\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 * Array rule - validates array type\r\n */\r\nexport const arrayRule: SchemaRule = {\r\n name: \"array\",\r\n defaultErrorMessage: \"The :input must be an array\",\r\n async validate(value: any, context) {\r\n if (Array.isArray(value)) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":";;;;;;;;AAOA,MAAa,aAAyB;CACpC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,OAAO,UAAU,UACnB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,aAAyB;CACpC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,OAAO,UAAU,UACnB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,cAA0B;CACrC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,OAAO,UAAU,WACnB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,UAAsB;CACjC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,OAAO,UAAU,KAAK,GACxB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,YAAwB;CACnC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,UAAU,KAAK,GACnD,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAmBA,MAAa,aAAyB;CACpC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,UAAU,MACjC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,kBAA8B;CACzC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,CAAC,CAAC,cAAc,KAAK,KAAK,UAAU,MACtC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,YAAwB;CACnC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,MAAM,QAAQ,KAAK,GACrB,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
2
2
|
import "../../helpers/index.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../
|
|
4
|
+
//#region ../seal/src/rules/common/unknown-key.ts
|
|
5
5
|
/**
|
|
6
6
|
* Unknown key rule - validates that object doesn't have unknown keys
|
|
7
7
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unknown-key.mjs","names":[],"sources":["../../../../../../../../../../seal/src/rules/common/unknown-key.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\nimport type { Schema, SchemaRule } from \"../../types\";\n\n/**\n * Unknown key rule - validates that object doesn't have unknown keys\n */\nexport const unknownKeyRule: SchemaRule<{\n schema: Schema;\n allowedKeys: string[];\n}> = {\n name: \"unknownKeys\",\n defaultErrorMessage: \"The :input contains unknown keys: :unknownKeys\",\n async validate(value: any, context) {\n const schema = this.context.options.schema;\n const allowedKeys = [...Object.keys(schema), ...(this.context.options.allowedKeys || [])];\n\n const unknownKeys = Object.keys(value).filter((key) => !allowedKeys.includes(key));\n\n if (unknownKeys.length > 0) {\n this.context.translationParams.unknownKeys = unknownKeys.join(\", \");\n\n return invalidRule(this, context);\n }\n\n return VALID_RULE;\n },\n};\n"],"mappings":";;;;;;;AAMA,MAAa,iBAGR;CACH,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,SAAS,KAAK,QAAQ,QAAQ;EACpC,MAAM,cAAc,CAAC,GAAG,OAAO,KAAK,MAAM,GAAG,GAAI,KAAK,QAAQ,QAAQ,eAAe,CAAC,CAAE;EAExF,MAAM,cAAc,OAAO,KAAK,KAAK,CAAC,CAAC,QAAQ,QAAQ,CAAC,YAAY,SAAS,GAAG,CAAC;EAEjF,IAAI,YAAY,SAAS,GAAG;GAC1B,KAAK,QAAQ,kBAAkB,cAAc,YAAY,KAAK,IAAI;GAElE,OAAO,YAAY,MAAM,OAAO;EAClC;EAEA,OAAO;CACT;AACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
|
|
2
|
+
import { isEmptyValue } from "../../helpers/is-empty-value.mjs";
|
|
2
3
|
import { getFieldValue } from "../../helpers/get-field-value.mjs";
|
|
3
4
|
import "../../helpers/index.mjs";
|
|
4
|
-
import { isEmptyValue } from "../../helpers/is-empty-value.mjs";
|
|
5
5
|
|
|
6
|
-
//#region ../
|
|
6
|
+
//#region ../seal/src/rules/conditional/forbidden-if-rules.ts
|
|
7
7
|
/**
|
|
8
8
|
* Forbidden if rule - field is forbidden if another field equals a specific value
|
|
9
9
|
* Supports both global and sibling scope
|