@warlock.js/notifications 5.2.3 → 5.3.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/cjs/{channel_api-ChOeNKM1.cjs → channel_api-CBB_XoIl.cjs} +22 -22
- package/cjs/{channel_api-ChOeNKM1.cjs.map → channel_api-CBB_XoIl.cjs.map} +1 -1
- package/cjs/chunk-fl3r8ClO.cjs +41 -0
- package/cjs/{src-Dy5nwVcs.cjs → esm-FB2hc0-o.cjs} +210 -330
- package/cjs/esm-FB2hc0-o.cjs.map +1 -0
- package/cjs/index.cjs +1 -1
- package/cjs/index.cjs.map +1 -1
- package/cjs/rabbitmq-driver-CIvkulXX.cjs +3 -0
- package/esm/channels/database-channel.d.mts.map +1 -1
- package/esm/config.d.mts.map +1 -1
- package/esm/dispatch/define-channel.d.mts.map +1 -1
- package/esm/dispatch/define-notification.d.mts.map +1 -1
- package/esm/dispatch/define-notification.mjs.map +1 -1
- package/esm/dispatch/notifications-event-bus.mjs.map +1 -1
- package/esm/dispatch/notify.mjs.map +1 -1
- package/esm/errors.d.mts.map +1 -1
- package/esm/in-app/base-notifications-repository.d.mts.map +1 -1
- package/esm/in-app/database-notification.d.mts.map +1 -1
- package/esm/in-app/in-app.d.mts.map +1 -1
- package/esm/index.d.mts +4 -0
- package/esm/migration/notification-columns.mjs.map +1 -1
- package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs.map +1 -1
- package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs.map +1 -1
- package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs.map +1 -1
- package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs.map +1 -1
- package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs.map +1 -1
- package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/words.mjs.map +1 -1
- package/esm/node_modules/.pnpm/@mongez_supportive-is@2.1.4/node_modules/@mongez/supportive-is/esm/index.mjs.map +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/broker-registry.d.mts +1 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/communicators/broker-registry.mjs +5 -5
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/broker-registry.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/broker.d.mts +1 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/communicators/broker.mjs +1 -7
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/broker.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/index.mjs +3 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/contracts/broker-driver.contract.d.mts +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/contracts/channel.contract.d.mts +1 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/decorators/consumable.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/decorators/consumable.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/decorators/index.mjs +3 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/index.mjs +5 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/index.mjs +4 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-channel.d.mts +1 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/drivers/rabbitmq/rabbitmq-channel.mjs +6 -13
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-channel.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-driver.d.mts +1 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/drivers/rabbitmq/rabbitmq-driver.mjs +10 -11
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-driver.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/index.d.mts +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/message-managers/event-consumer.d.mts +1 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/message-managers/event-consumer.mjs +10 -22
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/message-managers/event-consumer.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/message-managers/event-message.d.mts +1 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/message-managers/event-message.mjs +3 -20
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/message-managers/event-message.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/message-managers/index.mjs +3 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/message-managers/prepare-consumer-subscription.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/message-managers/prepare-consumer-subscription.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/types/channel.types.d.mts +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/types/registry.types.d.mts +1 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/use-case-broadcast.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/use-case-broadcast.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/utils/connect-to-broker.d.mts +1 -0
- package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/utils/connect-to-broker.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/utils/connect-to-broker.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/utils/index.mjs +3 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/config.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/config.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/factory/index.mjs +3 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/factory/validate.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/factory/validate.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/factory/validators.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/factory/validators.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/helpers/date-helpers.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/date-helpers.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/helpers/get-field-value.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/get-field-value.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/index.mjs +3 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/is-empty-value.mjs +10 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/is-empty-value.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/helpers/path-helpers.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/path-helpers.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/helpers/validation-helpers.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/validation-helpers.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/index.d.mts +10 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/index.mjs +7 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/mutators/array-mutators.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/array-mutators.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/mutators/date-mutators.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/date-mutators.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/index.mjs +7 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/mutators/number-mutators.mjs +4 -4
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/number-mutators.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/mutators/object-mutators.mjs +4 -4
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/object-mutators.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs +9 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/mutators/string-mutators.mjs +11 -11
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/string-mutators.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/array/array-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/array/array-rules.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/array/index.mjs +3 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/color/color-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/color/color-rules.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/color/index.mjs +3 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/common/enum.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/enum.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/common/equals-field-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/equals-field-rules.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/index.mjs +8 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/common/instanceof.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/instanceof.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/common/literal.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/literal.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/common/type-rules.mjs +2 -2
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/type-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/common/unknown-key.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/unknown-key.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/forbidden-if-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/forbidden-if-rules.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/index.mjs +12 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/present-if-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/present-if-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/present-unless-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/present-unless-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/present-with-rules.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/present-with-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/present-without-rules.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/present-without-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/required-if-rules.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/required-if-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/required-unless-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/required-unless-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/required-when-rule.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/required-when-rule.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/required-with-rules.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/required-with-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/conditional/required-without-rules.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/required-without-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/core/equal.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/equal.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/core/forbidden.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/forbidden.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/index.mjs +7 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/core/required.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/required.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/core/union.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/union.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/core/when.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/when.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/date/date-comparison-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/date-comparison-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/date/date-day-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/date-day-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/date/date-field-comparison-rules.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/date-field-comparison-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/date/date-period-rules.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/date-period-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/date/date-relative-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/date-relative-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/date/date-special-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/date-special-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/date/date.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/date.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/index.mjs +9 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/index.mjs +57 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/length/index.mjs +3 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/length/length-rules.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/length/length-rules.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/number/index.mjs +3 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/number/number-rules.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/number/number-rules.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/scalar/accepted-rule.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/scalar/accepted-rule.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/scalar/declined-rule.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/scalar/declined-rule.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/scalar/index.mjs +4 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/alpha.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/alpha.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/credit-card.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/credit-card.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/email.mjs +2 -2
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/email.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/id-formats.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/id-formats.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/index.mjs +13 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/ip.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/ip.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/matches.mjs +4 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/pattern.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/pattern.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/string-comparison.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/string-comparison.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/strong-password-rule.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/strong-password-rule.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/url.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/url.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/string/without-whitespace.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/without-whitespace.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/standard-schema/json-schema.d.mts +32 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/standard-schema/json-schema.d.mts.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/standard-schema/json-schema.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/standard-schema/json-schema.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/standard-schema/map-result.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/standard-schema/map-result.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/standard-schema/types.d.mts +97 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/standard-schema/types.d.mts.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/conditional-types.d.mts +16 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/conditional-types.d.mts.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/context-types.d.mts +42 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/context-types.d.mts.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/data-transformer-types.d.mts +30 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/data-transformer-types.d.mts.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/types/date-types.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/date-types.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/mutator-types.d.mts +28 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/mutator-types.d.mts.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/result-types.d.mts +17 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/result-types.d.mts.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/rule-types.d.mts +53 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/rule-types.d.mts.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/schema-types.d.mts +11 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/schema-types.d.mts.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/any-validator.mjs +6 -9
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/any-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/array-validator.mjs +1 -2
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/array-validator.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/base-validator.d.mts +492 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/base-validator.d.mts.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/base-validator.mjs +16 -49
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/base-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/boolean-validator.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/boolean-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/computed-validator.mjs +1 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/computed-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/date-validator.mjs +3 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/date-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/discriminated-union-validator.mjs +2 -6
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/discriminated-union-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/float-validator.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/float-validator.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/index.mjs +28 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/instanceof-validator.mjs +1 -2
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/instanceof-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/int-validator.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/int-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/lazy-validator.mjs +1 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/lazy-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/literal-validator.mjs +1 -2
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/literal-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/managed-validator.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/managed-validator.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/equality-conditional-methods.d.mts +91 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/equality-conditional-methods.d.mts.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/methods/equality-conditional-methods.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/equality-conditional-methods.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/forbidden-methods.d.mts +59 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/forbidden-methods.d.mts.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/methods/forbidden-methods.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/forbidden-methods.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/present-methods.d.mts +103 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/present-methods.d.mts.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/methods/present-methods.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/present-methods.mjs.map +1 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/required-methods.d.mts +194 -0
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/required-methods.d.mts.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/methods/required-methods.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/methods/required-methods.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/number-validator.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/number-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/numeric-validator.mjs +2 -2
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/numeric-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/object-validator.mjs +7 -8
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/object-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/primitive-validator.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/primitive-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/record-validator.mjs +2 -3
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/record-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/scalar-validator.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/scalar-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/string-validator.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/string-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/tuple-validator.mjs +1 -2
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/tuple-validator.mjs.map +1 -0
- package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/validators/union-validator.mjs +1 -1
- package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/union-validator.mjs.map +1 -0
- package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/channel_api.mjs.map +1 -1
- package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel.mjs.map +1 -1
- package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel_model.mjs.map +1 -1
- package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connect.mjs.map +1 -1
- package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connection.mjs.map +1 -1
- package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/credentials.mjs.map +1 -1
- package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/error.mjs.map +1 -1
- package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/format.mjs.map +1 -1
- package/esm/node_modules/.pnpm/buffer-more-ints@1.0.0/node_modules/buffer-more-ints/buffer-more-ints.mjs.map +1 -1
- package/esm/node_modules/.pnpm/dayjs@1.11.23/node_modules/dayjs/dayjs.min.mjs.map +1 -1
- package/esm/node_modules/.pnpm/requires-port@1.0.0/node_modules/requires-port/index.mjs.map +1 -1
- package/esm/node_modules/.pnpm/url-parse@1.5.10/node_modules/url-parse/index.mjs.map +1 -1
- package/esm/queue/herald-queue.mjs.map +1 -1
- package/esm/queue/load-herald.d.mts.map +1 -1
- package/esm/queue/load-herald.mjs +1 -1
- package/esm/queue/notifications-worker.mjs.map +1 -1
- package/package.json +6 -6
- package/cjs/rabbitmq-driver-Drn1T40o.cjs +0 -3
- package/cjs/src-Dy5nwVcs.cjs.map +0 -1
- package/esm/herald/src/communicators/broker-registry.mjs.map +0 -1
- package/esm/herald/src/communicators/broker.mjs.map +0 -1
- package/esm/herald/src/communicators/index.mjs +0 -4
- package/esm/herald/src/decorators/consumable.mjs.map +0 -1
- package/esm/herald/src/decorators/index.mjs +0 -3
- package/esm/herald/src/drivers/index.mjs +0 -5
- package/esm/herald/src/drivers/rabbitmq/index.mjs +0 -4
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-channel.mjs.map +0 -1
- package/esm/herald/src/drivers/rabbitmq/rabbitmq-driver.mjs.map +0 -1
- package/esm/herald/src/message-managers/event-consumer.mjs.map +0 -1
- package/esm/herald/src/message-managers/event-message.mjs.map +0 -1
- package/esm/herald/src/message-managers/index.mjs +0 -4
- package/esm/herald/src/message-managers/prepare-consumer-subscription.mjs.map +0 -1
- package/esm/herald/src/use-case-broadcast.mjs.map +0 -1
- package/esm/herald/src/utils/connect-to-broker.mjs.map +0 -1
- package/esm/herald/src/utils/index.mjs +0 -3
- package/esm/seal/src/config.mjs.map +0 -1
- package/esm/seal/src/factory/index.mjs +0 -4
- package/esm/seal/src/factory/validate.mjs.map +0 -1
- package/esm/seal/src/factory/validators.mjs.map +0 -1
- package/esm/seal/src/helpers/date-helpers.mjs.map +0 -1
- package/esm/seal/src/helpers/get-field-value.mjs.map +0 -1
- package/esm/seal/src/helpers/index.mjs +0 -6
- package/esm/seal/src/helpers/is-empty-value.mjs +0 -10
- package/esm/seal/src/helpers/is-empty-value.mjs.map +0 -1
- package/esm/seal/src/helpers/path-helpers.mjs.map +0 -1
- package/esm/seal/src/helpers/validation-helpers.mjs.map +0 -1
- package/esm/seal/src/mutators/array-mutators.mjs.map +0 -1
- package/esm/seal/src/mutators/date-mutators.mjs.map +0 -1
- package/esm/seal/src/mutators/index.mjs +0 -8
- package/esm/seal/src/mutators/number-mutators.mjs.map +0 -1
- package/esm/seal/src/mutators/object-mutators.mjs.map +0 -1
- package/esm/seal/src/mutators/scalar-mutators.mjs +0 -9
- package/esm/seal/src/mutators/scalar-mutators.mjs.map +0 -1
- package/esm/seal/src/mutators/string-mutators.mjs.map +0 -1
- package/esm/seal/src/rules/array/array-rules.mjs.map +0 -1
- package/esm/seal/src/rules/array/index.mjs +0 -3
- package/esm/seal/src/rules/color/color-rules.mjs.map +0 -1
- package/esm/seal/src/rules/color/index.mjs +0 -3
- package/esm/seal/src/rules/common/enum.mjs.map +0 -1
- package/esm/seal/src/rules/common/equals-field-rules.mjs.map +0 -1
- package/esm/seal/src/rules/common/index.mjs +0 -8
- package/esm/seal/src/rules/common/instanceof.mjs.map +0 -1
- package/esm/seal/src/rules/common/literal.mjs.map +0 -1
- package/esm/seal/src/rules/common/type-rules.mjs.map +0 -1
- package/esm/seal/src/rules/common/unknown-key.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/forbidden-if-rules.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/index.mjs +0 -12
- package/esm/seal/src/rules/conditional/present-if-rules.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/present-unless-rules.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/present-with-rules.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/present-without-rules.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/required-if-rules.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/required-unless-rules.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/required-when-rule.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/required-with-rules.mjs.map +0 -1
- package/esm/seal/src/rules/conditional/required-without-rules.mjs.map +0 -1
- package/esm/seal/src/rules/core/equal.mjs.map +0 -1
- package/esm/seal/src/rules/core/forbidden.mjs.map +0 -1
- package/esm/seal/src/rules/core/index.mjs +0 -7
- package/esm/seal/src/rules/core/required.mjs.map +0 -1
- package/esm/seal/src/rules/core/union.mjs.map +0 -1
- package/esm/seal/src/rules/core/when.mjs.map +0 -1
- package/esm/seal/src/rules/date/date-comparison-rules.mjs.map +0 -1
- package/esm/seal/src/rules/date/date-day-rules.mjs.map +0 -1
- package/esm/seal/src/rules/date/date-field-comparison-rules.mjs.map +0 -1
- package/esm/seal/src/rules/date/date-period-rules.mjs.map +0 -1
- package/esm/seal/src/rules/date/date-relative-rules.mjs.map +0 -1
- package/esm/seal/src/rules/date/date-special-rules.mjs.map +0 -1
- package/esm/seal/src/rules/date/date.mjs.map +0 -1
- package/esm/seal/src/rules/date/index.mjs +0 -9
- package/esm/seal/src/rules/index.mjs +0 -54
- package/esm/seal/src/rules/length/index.mjs +0 -3
- package/esm/seal/src/rules/length/length-rules.mjs.map +0 -1
- package/esm/seal/src/rules/number/index.mjs +0 -3
- package/esm/seal/src/rules/number/number-rules.mjs.map +0 -1
- package/esm/seal/src/rules/scalar/accepted-rule.mjs.map +0 -1
- package/esm/seal/src/rules/scalar/declined-rule.mjs.map +0 -1
- package/esm/seal/src/rules/scalar/index.mjs +0 -4
- package/esm/seal/src/rules/string/alpha.mjs.map +0 -1
- package/esm/seal/src/rules/string/credit-card.mjs.map +0 -1
- package/esm/seal/src/rules/string/email.mjs.map +0 -1
- package/esm/seal/src/rules/string/id-formats.mjs.map +0 -1
- package/esm/seal/src/rules/string/index.mjs +0 -13
- package/esm/seal/src/rules/string/ip.mjs.map +0 -1
- package/esm/seal/src/rules/string/matches.mjs +0 -4
- package/esm/seal/src/rules/string/pattern.mjs.map +0 -1
- package/esm/seal/src/rules/string/string-comparison.mjs.map +0 -1
- package/esm/seal/src/rules/string/strong-password-rule.mjs.map +0 -1
- package/esm/seal/src/rules/string/url.mjs.map +0 -1
- package/esm/seal/src/rules/string/without-whitespace.mjs.map +0 -1
- package/esm/seal/src/standard-schema/json-schema.mjs.map +0 -1
- package/esm/seal/src/standard-schema/map-result.mjs.map +0 -1
- package/esm/seal/src/types/date-types.mjs.map +0 -1
- package/esm/seal/src/validators/any-validator.mjs.map +0 -1
- package/esm/seal/src/validators/array-validator.mjs.map +0 -1
- package/esm/seal/src/validators/base-validator.mjs.map +0 -1
- package/esm/seal/src/validators/boolean-validator.mjs.map +0 -1
- package/esm/seal/src/validators/computed-validator.mjs.map +0 -1
- package/esm/seal/src/validators/date-validator.mjs.map +0 -1
- package/esm/seal/src/validators/discriminated-union-validator.mjs.map +0 -1
- package/esm/seal/src/validators/float-validator.mjs.map +0 -1
- package/esm/seal/src/validators/index.mjs +0 -28
- package/esm/seal/src/validators/instanceof-validator.mjs.map +0 -1
- package/esm/seal/src/validators/int-validator.mjs.map +0 -1
- package/esm/seal/src/validators/lazy-validator.mjs.map +0 -1
- package/esm/seal/src/validators/literal-validator.mjs.map +0 -1
- package/esm/seal/src/validators/managed-validator.mjs.map +0 -1
- package/esm/seal/src/validators/methods/equality-conditional-methods.mjs.map +0 -1
- package/esm/seal/src/validators/methods/forbidden-methods.mjs.map +0 -1
- package/esm/seal/src/validators/methods/present-methods.mjs.map +0 -1
- package/esm/seal/src/validators/methods/required-methods.mjs.map +0 -1
- package/esm/seal/src/validators/number-validator.mjs.map +0 -1
- package/esm/seal/src/validators/numeric-validator.mjs.map +0 -1
- package/esm/seal/src/validators/object-validator.mjs.map +0 -1
- package/esm/seal/src/validators/primitive-validator.mjs.map +0 -1
- package/esm/seal/src/validators/record-validator.mjs.map +0 -1
- package/esm/seal/src/validators/scalar-validator.mjs.map +0 -1
- package/esm/seal/src/validators/string-validator.mjs.map +0 -1
- package/esm/seal/src/validators/tuple-validator.mjs.map +0 -1
- package/esm/seal/src/validators/union-validator.mjs.map +0 -1
- /package/esm/{herald/src → node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm}/index.mjs +0 -0
- /package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/file/dimensions.mjs +0 -0
- /package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/file/file-size.mjs +0 -0
- /package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/rules/file/index.mjs +0 -0
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
import { StandardJSONSchemaV1 } from "../standard-schema/types.mjs";
|
|
2
|
+
import { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema.mjs";
|
|
3
|
+
import { SchemaContext } from "../types/context-types.mjs";
|
|
4
|
+
import { ContextualSchemaRule, SchemaRule, SchemaRuleOptions, ValidationAttributesList } from "../types/rule-types.mjs";
|
|
5
|
+
import { ValidationResult } from "../types/result-types.mjs";
|
|
6
|
+
import { ContextualizedMutator, Mutator } from "../types/mutator-types.mjs";
|
|
7
|
+
import { ContextualizedTransformer, SimpleTransformerCallback, TransformerCallback } from "../types/data-transformer-types.mjs";
|
|
8
|
+
|
|
9
|
+
//#region ../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/base-validator.d.mts
|
|
10
|
+
//#region ../seal/src/validators/base-validator.d.ts
|
|
11
|
+
/**
|
|
12
|
+
* Base validator class - foundation for all validators
|
|
13
|
+
*/
|
|
14
|
+
declare class BaseValidator<TInput = unknown, TOutput = TInput> {
|
|
15
|
+
rules: ContextualSchemaRule[];
|
|
16
|
+
mutators: ContextualizedMutator[];
|
|
17
|
+
protected defaultValue: any | (() => any);
|
|
18
|
+
protected description?: string;
|
|
19
|
+
protected shouldOmit: boolean;
|
|
20
|
+
protected isNullable: boolean;
|
|
21
|
+
protected isMutable: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Catch state — when `hasCatch` is true and validation fails, `catchValue`
|
|
24
|
+
* (or its callback result) substitutes for the failed value, and the public
|
|
25
|
+
* result reports `isValid: true` with no errors.
|
|
26
|
+
*
|
|
27
|
+
* See `.catch()` for semantics and the v1 scope (leaf-only).
|
|
28
|
+
*/
|
|
29
|
+
protected catchValue: any | ((errors: ValidationResult["errors"], originalInput: any) => any | Promise<any>);
|
|
30
|
+
protected hasCatch: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Whether the field is optional.
|
|
33
|
+
* - false (default): field is required unless a requiredRule governs the condition.
|
|
34
|
+
* - true: field can be absent or empty — set by calling .optional().
|
|
35
|
+
*
|
|
36
|
+
* Also used as a TypeScript literal brand via the optional() return type.
|
|
37
|
+
*/
|
|
38
|
+
isOptional: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* The single required-condition rule for this field.
|
|
41
|
+
* - null: field uses strict default (always required when not optional).
|
|
42
|
+
* - set: the rule governs when the field is required (e.g., requiredIf).
|
|
43
|
+
*
|
|
44
|
+
* Stored separately from rules[] and prepended at validate() time.
|
|
45
|
+
*/
|
|
46
|
+
requiredRule: ContextualSchemaRule | null;
|
|
47
|
+
/**
|
|
48
|
+
* Pipeline to transform the mutated/original data before returning it
|
|
49
|
+
*/
|
|
50
|
+
protected dataTransformers: ContextualizedTransformer[];
|
|
51
|
+
/**
|
|
52
|
+
* Attributes text to be replaced on translations
|
|
53
|
+
* If the value is an object, it will be used as the attributes list for the rule
|
|
54
|
+
* If the value is a string, it will be used as the attributes list for the rule
|
|
55
|
+
*/
|
|
56
|
+
protected attributesText: ValidationAttributesList;
|
|
57
|
+
/**
|
|
58
|
+
* Attributed that will be always using the attribute translator
|
|
59
|
+
*/
|
|
60
|
+
protected translatedAttributes: Record<string, string>;
|
|
61
|
+
/**
|
|
62
|
+
* Mark the validator as mutable
|
|
63
|
+
*/
|
|
64
|
+
get mutable(): this;
|
|
65
|
+
/**
|
|
66
|
+
* Mark the validator as immutable
|
|
67
|
+
*/
|
|
68
|
+
get immutable(): this;
|
|
69
|
+
/**
|
|
70
|
+
* Get the instance to apply changes to.
|
|
71
|
+
* By default (immutable), returns a clone so the original is unchanged.
|
|
72
|
+
* When `.mutable` is set, returns `this` to mutate in place.
|
|
73
|
+
*/
|
|
74
|
+
protected get instance(): this;
|
|
75
|
+
/**
|
|
76
|
+
* Get the default value
|
|
77
|
+
* Supports lazy evaluation via callbacks
|
|
78
|
+
*/
|
|
79
|
+
getDefaultValue(): any;
|
|
80
|
+
/**
|
|
81
|
+
* Allow null as a valid value.
|
|
82
|
+
*
|
|
83
|
+
* Brands the return type with `{ isNullable: true }` so `Infer<>` widens
|
|
84
|
+
* the inferred output to include `| null`.
|
|
85
|
+
*/
|
|
86
|
+
nullable(): this & {
|
|
87
|
+
isNullable: true;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Explicitly disallow null values after calling nullable.
|
|
91
|
+
*
|
|
92
|
+
* Brands the return type with `{ isNullable: false }` to cancel any prior
|
|
93
|
+
* `.nullable()` at the type level.
|
|
94
|
+
*/
|
|
95
|
+
notNullable(): this & {
|
|
96
|
+
isNullable: false;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Add transformer with optional options
|
|
100
|
+
*
|
|
101
|
+
* @param transform - The transformer callback function
|
|
102
|
+
* @param options - Optional options to pass to the transformer
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* // Without options
|
|
107
|
+
* v.date().addTransformer(data => data.toISOString())
|
|
108
|
+
*
|
|
109
|
+
* // With options
|
|
110
|
+
* v.date().addTransformer(
|
|
111
|
+
* (data, { options }) => dayjs(data).format(options.format),
|
|
112
|
+
* { format: 'YYYY-MM-DD' }
|
|
113
|
+
* )
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
addTransformer(transform: TransformerCallback, options?: any): this;
|
|
117
|
+
/**
|
|
118
|
+
* Add transformer with optional options
|
|
119
|
+
*
|
|
120
|
+
* @param transform - The transformer callback function
|
|
121
|
+
* @param options - Optional options to pass to the transformer
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```ts
|
|
125
|
+
* // Without options
|
|
126
|
+
* v.date().addTransformer(data => data.toISOString())
|
|
127
|
+
*
|
|
128
|
+
* // With options
|
|
129
|
+
* v.date().addTransformer(
|
|
130
|
+
* (data, { options }) => dayjs(data).format(options.format),
|
|
131
|
+
* { format: 'YYYY-MM-DD' }
|
|
132
|
+
* )
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
addMutableTransformer(transform: TransformerCallback, options?: any): void;
|
|
136
|
+
/**
|
|
137
|
+
* Transform the output value - simple one-time transformation
|
|
138
|
+
*
|
|
139
|
+
* @param callback - Simple callback receiving data and context
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts
|
|
143
|
+
* // Simple transformation
|
|
144
|
+
* v.string().outputAs(data => data.toUpperCase())
|
|
145
|
+
*
|
|
146
|
+
* // With context
|
|
147
|
+
* v.string().outputAs((data, context) => {
|
|
148
|
+
* console.log(`Transforming ${context.path}`);
|
|
149
|
+
* return data.toLowerCase();
|
|
150
|
+
* })
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
outputAs(callback: SimpleTransformerCallback): this;
|
|
154
|
+
/**
|
|
155
|
+
* Transform output to JSON string
|
|
156
|
+
*
|
|
157
|
+
* Works with any validator type (string, number, date, object, array, etc.)
|
|
158
|
+
*
|
|
159
|
+
* @param indent - Optional indentation for pretty printing (default: 0 for compact)
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```ts
|
|
163
|
+
* // Compact JSON
|
|
164
|
+
* v.object({ name: v.string() }).toJSON()
|
|
165
|
+
* // Output: '{"name":"John"}'
|
|
166
|
+
*
|
|
167
|
+
* // Pretty-printed JSON
|
|
168
|
+
* v.array(v.object({...})).toJSON(2)
|
|
169
|
+
* // Output:
|
|
170
|
+
* // [
|
|
171
|
+
* // {
|
|
172
|
+
* // "name": "John"
|
|
173
|
+
* // }
|
|
174
|
+
* // ]
|
|
175
|
+
*
|
|
176
|
+
* // Works with any type
|
|
177
|
+
* v.string().toJSON() // '"hello"'
|
|
178
|
+
* v.number().toJSON() // '42'
|
|
179
|
+
* v.date().toJSON() // '"2024-10-26T00:00:00.000Z"'
|
|
180
|
+
* ```
|
|
181
|
+
*
|
|
182
|
+
* @category Transformer
|
|
183
|
+
*/
|
|
184
|
+
toJSON(indent?: number): this;
|
|
185
|
+
/**
|
|
186
|
+
* Start data transformation pipeline
|
|
187
|
+
* Context is passed at runtime, not stored
|
|
188
|
+
*/
|
|
189
|
+
startTransformationPipeline(data: any, context: SchemaContext): Promise<any>;
|
|
190
|
+
/**
|
|
191
|
+
* Set attributes text to be replaced on translations
|
|
192
|
+
* If the value is an object, it will be used as the attributes list for the rule
|
|
193
|
+
* If the value is a string, it will be used as the attributes list for the rule
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* v.string().attributes({
|
|
197
|
+
* name: "Name",
|
|
198
|
+
* email: "Email",
|
|
199
|
+
* });
|
|
200
|
+
* // Example 2: Add custom attributes for matches
|
|
201
|
+
* v.string().matches("confirmPassword").attributes({
|
|
202
|
+
* matches: {
|
|
203
|
+
* confirmPassword: "Confirm Password",
|
|
204
|
+
* },
|
|
205
|
+
* });
|
|
206
|
+
*/
|
|
207
|
+
attributes(attributes: Record<string, string | Record<string, string>>): this;
|
|
208
|
+
/**
|
|
209
|
+
* Define a lazy getter property for each attribute in the given object and use the config attribute translator
|
|
210
|
+
*/
|
|
211
|
+
transAttributes(attributes: Record<string, string>): this;
|
|
212
|
+
/**
|
|
213
|
+
* Add description to the validator
|
|
214
|
+
*/
|
|
215
|
+
describe(description: string): this;
|
|
216
|
+
/**
|
|
217
|
+
* Check if this validator can handle the given value's type
|
|
218
|
+
* Override this in specific validators to enable type-based routing in union validators
|
|
219
|
+
*
|
|
220
|
+
* Default: returns true (validator will attempt to validate any type)
|
|
221
|
+
*
|
|
222
|
+
* @param value - The value to check
|
|
223
|
+
* @returns True if this validator can handle this type
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```ts
|
|
227
|
+
* // StringValidator
|
|
228
|
+
* public matchesType(value: any): boolean {
|
|
229
|
+
* return typeof value === 'string';
|
|
230
|
+
* }
|
|
231
|
+
*
|
|
232
|
+
* // Custom FileValidator
|
|
233
|
+
* public matchesType(value: any): boolean {
|
|
234
|
+
* return value instanceof UploadedFile;
|
|
235
|
+
* }
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
matchesType(_value: any): boolean;
|
|
239
|
+
/**
|
|
240
|
+
* Create a copy of this validator with the same configuration
|
|
241
|
+
* Copies all rules, mutators, transformers, default values, and settings
|
|
242
|
+
*
|
|
243
|
+
* @returns A new validator instance with copied configuration
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```ts
|
|
247
|
+
* // Create reusable validator templates
|
|
248
|
+
* const baseString = v.string().required().trim().min(3);
|
|
249
|
+
* const emailField = baseString.clone().email();
|
|
250
|
+
* const usernameField = baseString.clone().alphanumeric().max(20);
|
|
251
|
+
*
|
|
252
|
+
* // Works with all validators
|
|
253
|
+
* const positiveInt = v.int().positive().required();
|
|
254
|
+
* const ageField = positiveInt.clone().min(18).max(120);
|
|
255
|
+
* ```
|
|
256
|
+
*/
|
|
257
|
+
clone(): this;
|
|
258
|
+
/**
|
|
259
|
+
* @deprecated This method is no longer needed and does nothing.
|
|
260
|
+
* Empty values are now automatically skipped for validation rules by default.
|
|
261
|
+
* Only presence validators (required, present, etc.) will check empty values.
|
|
262
|
+
* You can safely remove this call from your code.
|
|
263
|
+
*/
|
|
264
|
+
ignoreEmptyValue(_ignoreEmptyValue?: boolean): this;
|
|
265
|
+
/**
|
|
266
|
+
* Omit this field from the validated data output
|
|
267
|
+
*
|
|
268
|
+
* Field will still be validated but not included in the final result.
|
|
269
|
+
* Useful for confirmation fields, captcha, terms acceptance, etc.
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```ts
|
|
273
|
+
* v.object({
|
|
274
|
+
* password: v.string().required(),
|
|
275
|
+
* confirmPassword: v.string().required().sameAs("password").omit(),
|
|
276
|
+
* acceptTerms: v.boolean().required().omit(),
|
|
277
|
+
* });
|
|
278
|
+
* // Output: { password: "..." }
|
|
279
|
+
* // confirmPassword and acceptTerms validated but omitted
|
|
280
|
+
* ```
|
|
281
|
+
*/
|
|
282
|
+
omit(): this;
|
|
283
|
+
/**
|
|
284
|
+
* @alias omit
|
|
285
|
+
*/
|
|
286
|
+
exclude(): this;
|
|
287
|
+
/**
|
|
288
|
+
* Check if this field should be omitted from the output
|
|
289
|
+
*/
|
|
290
|
+
isOmitted(): boolean;
|
|
291
|
+
/**
|
|
292
|
+
* Add rule to the validator
|
|
293
|
+
*/
|
|
294
|
+
addRule<T extends SchemaRuleOptions = SchemaRuleOptions>(rule: SchemaRule<T>, errorMessage?: string, options?: T): this;
|
|
295
|
+
/**
|
|
296
|
+
* Set the required-condition rule for this field.
|
|
297
|
+
*
|
|
298
|
+
* Unlike addRule(), this does NOT push to rules[]. The rule is stored in the
|
|
299
|
+
* dedicated `requiredRule` slot and is prepended to the validation pipeline
|
|
300
|
+
* at runtime. Only one required rule can be active per field — this replaces
|
|
301
|
+
* any previously set required rule.
|
|
302
|
+
*
|
|
303
|
+
* Also marks the field as not optional (isOptional = false).
|
|
304
|
+
*
|
|
305
|
+
* @example
|
|
306
|
+
* ```ts
|
|
307
|
+
* // Used internally by required(), requiredIf(), requiredWith(), etc.
|
|
308
|
+
* BaseValidator.prototype.required = function(msg) {
|
|
309
|
+
* return this.setRequiredRule(requiredRule, msg);
|
|
310
|
+
* };
|
|
311
|
+
* ```
|
|
312
|
+
*/
|
|
313
|
+
setRequiredRule<T extends SchemaRuleOptions = SchemaRuleOptions>(rule: SchemaRule<T>, errorMessage?: string, options?: T): this;
|
|
314
|
+
/**
|
|
315
|
+
* Add mutable rule
|
|
316
|
+
*/
|
|
317
|
+
addMutableRule<T extends SchemaRuleOptions = SchemaRuleOptions>(rule: SchemaRule<T>, errorMessage?: string, options?: T): ContextualSchemaRule<T>;
|
|
318
|
+
/**
|
|
319
|
+
* Create new rule
|
|
320
|
+
*/
|
|
321
|
+
protected createRule<T extends SchemaRuleOptions = SchemaRuleOptions>(rule: SchemaRule<T>, errorMessage?: string, options?: T): ContextualSchemaRule<T>;
|
|
322
|
+
/**
|
|
323
|
+
* Use a custom or pre-built validation rule
|
|
324
|
+
*
|
|
325
|
+
* @param rule - The validation rule to apply
|
|
326
|
+
* @param options - Rule options including errorMessage and any rule-specific options
|
|
327
|
+
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```ts
|
|
330
|
+
* import { hexColorRule } from "@warlock.js/seal";
|
|
331
|
+
*
|
|
332
|
+
* v.string().useRule(hexColorRule, { errorMessage: "Invalid color" });
|
|
333
|
+
* ```
|
|
334
|
+
*
|
|
335
|
+
* @example
|
|
336
|
+
* ```ts
|
|
337
|
+
* // With rule options
|
|
338
|
+
* v.string().useRule(myCustomRule, {
|
|
339
|
+
* customOption: true,
|
|
340
|
+
* errorMessage: "Custom validation failed"
|
|
341
|
+
* });
|
|
342
|
+
* ```
|
|
343
|
+
*/
|
|
344
|
+
useRule<T extends SchemaRuleOptions = SchemaRuleOptions>(rule: SchemaRule<T>, options?: T & {
|
|
345
|
+
errorMessage?: string;
|
|
346
|
+
}): this;
|
|
347
|
+
/**
|
|
348
|
+
* Define custom rule
|
|
349
|
+
*/
|
|
350
|
+
refine(callback: (value: any, context: SchemaContext) => Promise<string | undefined> | string | undefined): this;
|
|
351
|
+
/**
|
|
352
|
+
* Add mutator to the validator
|
|
353
|
+
*/
|
|
354
|
+
addMutator(mutator: Mutator, options?: any): this;
|
|
355
|
+
/**
|
|
356
|
+
* Add mutable mutator
|
|
357
|
+
*/
|
|
358
|
+
addMutableMutator(mutator: Mutator, options?: any): void;
|
|
359
|
+
/**
|
|
360
|
+
* Set default value for the field. The default is used when the input is
|
|
361
|
+
* absent (`undefined`); it then flows through the rule pipeline.
|
|
362
|
+
*
|
|
363
|
+
* Brands the return type with `{ hasDefault: true }` so `Infer<>` treats
|
|
364
|
+
* the field as guaranteed-present even when chained with `.optional()`.
|
|
365
|
+
*/
|
|
366
|
+
default(value: any): this & {
|
|
367
|
+
hasDefault: true;
|
|
368
|
+
};
|
|
369
|
+
/**
|
|
370
|
+
* Fallback to a value when validation fails.
|
|
371
|
+
*
|
|
372
|
+
* Complementary to `.default()`: `.default(x)` fires when input is **absent**,
|
|
373
|
+
* `.catch(y)` fires when input is **present but invalid**. Combine them when
|
|
374
|
+
* you want both behaviours: `.optional().default(x).catch(y)`.
|
|
375
|
+
*
|
|
376
|
+
* The fallback can be a value or a callback `(errors, originalInput) => fallback`.
|
|
377
|
+
* The callback variant is the only side-channel for the swallowed errors —
|
|
378
|
+
* use it to log/alert before the fallback substitutes.
|
|
379
|
+
*
|
|
380
|
+
* Brands the return type with `{ hasCatch: true }` so `Infer<>` treats the
|
|
381
|
+
* field as guaranteed-present (the catch ensures a value will always exist).
|
|
382
|
+
*
|
|
383
|
+
* **Scope (v1).** Catch is honoured for **leaf validators** (string, number,
|
|
384
|
+
* boolean, date, …) and for fields inside containers. It is a **no-op on
|
|
385
|
+
* container validators themselves** (`v.object`, `v.array`, `v.record`,
|
|
386
|
+
* `v.tuple`, `v.discriminatedUnion`) — those use their own iteration logic
|
|
387
|
+
* that bypasses the catch hook in `BaseValidator.validate()`.
|
|
388
|
+
*
|
|
389
|
+
* @example
|
|
390
|
+
* ```ts
|
|
391
|
+
* v.int().min(0).catch(3) // bad number → 3
|
|
392
|
+
* v.string().in(["us", "eu"]).catch("us") // unknown enum → "us"
|
|
393
|
+
* v.string().catch((errors, input) => {
|
|
394
|
+
* console.warn(`bad user value: ${JSON.stringify(input)}`, errors);
|
|
395
|
+
* return "anonymous";
|
|
396
|
+
* })
|
|
397
|
+
* ```
|
|
398
|
+
*/
|
|
399
|
+
catch(fallback: any | ((errors: ValidationResult["errors"], originalInput: any) => any | Promise<any>)): this & {
|
|
400
|
+
hasCatch: true;
|
|
401
|
+
};
|
|
402
|
+
/**
|
|
403
|
+
* Mutate the data
|
|
404
|
+
*/
|
|
405
|
+
mutate(data: any, context: SchemaContext): Promise<any>;
|
|
406
|
+
/**
|
|
407
|
+
* Set the label for the validator that will be matching the :input attribute
|
|
408
|
+
*/
|
|
409
|
+
label(label: string): this;
|
|
410
|
+
/**
|
|
411
|
+
* Validate the data
|
|
412
|
+
*/
|
|
413
|
+
validate(data: any, context: SchemaContext): Promise<ValidationResult>;
|
|
414
|
+
/**
|
|
415
|
+
* Set rule attributes list
|
|
416
|
+
*/
|
|
417
|
+
protected setRuleAttributesList(rule: ContextualSchemaRule): void;
|
|
418
|
+
/**
|
|
419
|
+
* Standard Schema V1 compliance.
|
|
420
|
+
*
|
|
421
|
+
* Allows this validator to be used with any Standard Schema-aware library
|
|
422
|
+
* (OpenAI structured outputs, LangGraph, TanStack Form, Conform, Valibot adapters, etc.)
|
|
423
|
+
* without extra adapters.
|
|
424
|
+
*
|
|
425
|
+
* Delegates to the `validate()` factory so all `configureSeal()` options
|
|
426
|
+
* (translations, firstErrorOnly) are picked up automatically at call time.
|
|
427
|
+
*
|
|
428
|
+
* Includes Standard JSON Schema support via `jsonSchema.input()` / `jsonSchema.output()`.
|
|
429
|
+
*
|
|
430
|
+
* ## How Standard Schema libraries consume this
|
|
431
|
+
*
|
|
432
|
+
* You pass the **schema object itself** to the library — they internally read
|
|
433
|
+
* `schema["~standard"]`. Do NOT pass `schema["~standard"]` directly.
|
|
434
|
+
*
|
|
435
|
+
* @example
|
|
436
|
+
* ```ts
|
|
437
|
+
* const schema = v.object({ name: v.string().required() });
|
|
438
|
+
*
|
|
439
|
+
* // TanStack Form — pass schema, library reads ["~standard"] internally
|
|
440
|
+
* const form = useForm({ validators: { onChange: schema } });
|
|
441
|
+
*
|
|
442
|
+
* // Conform (Remix) — same pattern
|
|
443
|
+
* const [form] = useForm({ onValidate({ formData }) {
|
|
444
|
+
* return parseWithStandardSchema(formData, { schema });
|
|
445
|
+
* }});
|
|
446
|
+
*
|
|
447
|
+
* // Direct validation (lower level — most apps don't need this)
|
|
448
|
+
* const result = await schema["~standard"].validate({ name: "Hasan" });
|
|
449
|
+
* // → { value: { name: "Hasan" } } on success
|
|
450
|
+
* // → { issues: [{ message: "...", path: [{ key: "name" }] }] } on failure
|
|
451
|
+
*
|
|
452
|
+
* // JSON Schema for OpenAI / LangChain tool calling
|
|
453
|
+
* const parameters = schema["~standard"].jsonSchema.input({ target: "openai-strict" });
|
|
454
|
+
* // → { type: "object", properties: {...}, required: [...], additionalProperties: false }
|
|
455
|
+
* ```
|
|
456
|
+
*
|
|
457
|
+
* @note Cross-field rules (sameAs, requiredIf, requiredWith) rely on sibling values
|
|
458
|
+
* available in the full validation context. When called on a standalone scalar validator,
|
|
459
|
+
* sibling data is absent and those rules will not evaluate correctly.
|
|
460
|
+
* Always call on the parent ObjectValidator for full-payload validation.
|
|
461
|
+
*/
|
|
462
|
+
get ["~standard"](): StandardJSONSchemaV1.Props<TInput, TOutput>;
|
|
463
|
+
/**
|
|
464
|
+
* Generate a JSON Schema representation of this validator.
|
|
465
|
+
*
|
|
466
|
+
* Supports targets: `"draft-2020-12"` (default), `"draft-07"`, `"openapi-3.0"`.
|
|
467
|
+
*
|
|
468
|
+
* Subclasses override this to describe their specific constraints.
|
|
469
|
+
* The base implementation returns `{}` (permissive — accepts anything),
|
|
470
|
+
* which is correct for validators with no representable JSON Schema constraints.
|
|
471
|
+
*
|
|
472
|
+
* @note Rules that cannot be expressed in JSON Schema are silently omitted:
|
|
473
|
+
* - Cross-field rules: sameAs, requiredIf, requiredWith, requiredWithout
|
|
474
|
+
* - Custom callbacks: refine()
|
|
475
|
+
* - Framework-specific runtime rules (core/cascade plugins)
|
|
476
|
+
* These rules still run normally at validation time — only absent from JSON Schema.
|
|
477
|
+
*
|
|
478
|
+
* @example
|
|
479
|
+
* ```ts
|
|
480
|
+
* v.string().min(3).max(50).toJsonSchema("draft-2020-12")
|
|
481
|
+
* // → { type: "string", minLength: 3, maxLength: 50 }
|
|
482
|
+
*
|
|
483
|
+
* v.object({ name: v.string().required(), age: v.int().optional() })
|
|
484
|
+
* .toJsonSchema("draft-07")
|
|
485
|
+
* // → { type: "object", properties: { name: { type: "string" }, age: { type: "integer" } }, required: ["name"] }
|
|
486
|
+
* ```
|
|
487
|
+
*/
|
|
488
|
+
toJsonSchema(_target?: JsonSchemaTarget): JsonSchemaResult;
|
|
489
|
+
} //#endregion
|
|
490
|
+
//#endregion
|
|
491
|
+
export { BaseValidator };
|
|
492
|
+
//# sourceMappingURL=base-validator.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-validator.d.mts","names":["TInput","TOutput","rules","ContextualSchemaRule","mutators","ContextualizedMutator","defaultValue","description","shouldOmit","isNullable","isMutable","catchValue","ValidationResult","errors","originalInput","Promise","hasCatch","isOptional","requiredRule","dataTransformers","ContextualizedTransformer","attributesText","ValidationAttributesList","translatedAttributes","Record","mutable","immutable","instance","getDefaultValue","nullable","notNullable","addTransformer","TransformerCallback","transform","options","addMutableTransformer","outputAs","SimpleTransformerCallback","callback","toJSON","indent","startTransformationPipeline","data","SchemaContext","context","attributes","transAttributes","describe","matchesType","_value","clone","ignoreEmptyValue","_ignoreEmptyValue","omit","exclude","isOmitted","addRule","T","SchemaRuleOptions","SchemaRule","rule","errorMessage","setRequiredRule","addMutableRule","createRule","useRule","refine","value","addMutator","Mutator","mutator","addMutableMutator","default","hasDefault","catch","fallback","mutate","label","validate","setRuleAttributesList","StandardJSONSchemaV1","Props","toJsonSchema","JsonSchemaTarget","_target","JsonSchemaResult"],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/base-validator.d.mts"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1,63 +1,30 @@
|
|
|
1
|
-
import { clone } from "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs";
|
|
2
|
-
import "../../../node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/index.mjs";
|
|
3
1
|
import { validate } from "../factory/validate.mjs";
|
|
2
|
+
import { clone } from "../../../../../../@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs";
|
|
3
|
+
import "../../../../../../@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/index.mjs";
|
|
4
4
|
import { VALID_RULE, invalidRule } from "../helpers/validation-helpers.mjs";
|
|
5
5
|
import "../helpers/index.mjs";
|
|
6
6
|
import { isEmptyValue } from "../helpers/is-empty-value.mjs";
|
|
7
7
|
import { requiredRule } from "../rules/core/required.mjs";
|
|
8
8
|
import { mapToStandardResult } from "../standard-schema/map-result.mjs";
|
|
9
9
|
|
|
10
|
-
//#region ../seal/
|
|
10
|
+
//#region ../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/base-validator.mjs
|
|
11
11
|
/**
|
|
12
12
|
* Base validator class - foundation for all validators
|
|
13
13
|
*/
|
|
14
14
|
var BaseValidator = class {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
*/
|
|
29
|
-
catchValue;
|
|
30
|
-
hasCatch = false;
|
|
31
|
-
/**
|
|
32
|
-
* Whether the field is optional.
|
|
33
|
-
* - false (default): field is required unless a requiredRule governs the condition.
|
|
34
|
-
* - true: field can be absent or empty — set by calling .optional().
|
|
35
|
-
*
|
|
36
|
-
* Also used as a TypeScript literal brand via the optional() return type.
|
|
37
|
-
*/
|
|
38
|
-
isOptional = false;
|
|
39
|
-
/**
|
|
40
|
-
* The single required-condition rule for this field.
|
|
41
|
-
* - null: field uses strict default (always required when not optional).
|
|
42
|
-
* - set: the rule governs when the field is required (e.g., requiredIf).
|
|
43
|
-
*
|
|
44
|
-
* Stored separately from rules[] and prepended at validate() time.
|
|
45
|
-
*/
|
|
46
|
-
requiredRule = this.createRule(requiredRule);
|
|
47
|
-
/**
|
|
48
|
-
* Pipeline to transform the mutated/original data before returning it
|
|
49
|
-
*/
|
|
50
|
-
dataTransformers = [];
|
|
51
|
-
/**
|
|
52
|
-
* Attributes text to be replaced on translations
|
|
53
|
-
* If the value is an object, it will be used as the attributes list for the rule
|
|
54
|
-
* If the value is a string, it will be used as the attributes list for the rule
|
|
55
|
-
*/
|
|
56
|
-
attributesText = {};
|
|
57
|
-
/**
|
|
58
|
-
* Attributed that will be always using the attribute translator
|
|
59
|
-
*/
|
|
60
|
-
translatedAttributes = {};
|
|
15
|
+
constructor() {
|
|
16
|
+
this.rules = [];
|
|
17
|
+
this.mutators = [];
|
|
18
|
+
this.shouldOmit = false;
|
|
19
|
+
this.isNullable = false;
|
|
20
|
+
this.isMutable = false;
|
|
21
|
+
this.hasCatch = false;
|
|
22
|
+
this.isOptional = false;
|
|
23
|
+
this.requiredRule = this.createRule(requiredRule);
|
|
24
|
+
this.dataTransformers = [];
|
|
25
|
+
this.attributesText = {};
|
|
26
|
+
this.translatedAttributes = {};
|
|
27
|
+
}
|
|
61
28
|
/**
|
|
62
29
|
* Mark the validator as mutable
|
|
63
30
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-validator.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/base-validator.mjs"],"sourcesContent":["import { validate } from \"../factory/validate.mjs\";\nimport { VALID_RULE, invalidRule } from \"../helpers/validation-helpers.mjs\";\nimport \"../helpers/index.mjs\";\nimport { isEmptyValue } from \"../helpers/is-empty-value.mjs\";\nimport { requiredRule } from \"../rules/core/required.mjs\";\nimport { mapToStandardResult } from \"../standard-schema/map-result.mjs\";\nimport { clone } from \"@mongez/reinforcements\";\n\n//#region ../seal/src/validators/base-validator.ts\n/**\n* Base validator class - foundation for all validators\n*/\nvar BaseValidator = class {\n\tconstructor() {\n\t\tthis.rules = [];\n\t\tthis.mutators = [];\n\t\tthis.shouldOmit = false;\n\t\tthis.isNullable = false;\n\t\tthis.isMutable = false;\n\t\tthis.hasCatch = false;\n\t\tthis.isOptional = false;\n\t\tthis.requiredRule = this.createRule(requiredRule);\n\t\tthis.dataTransformers = [];\n\t\tthis.attributesText = {};\n\t\tthis.translatedAttributes = {};\n\t}\n\t/**\n\t* Mark the validator as mutable\n\t*/\n\tget mutable() {\n\t\tthis.isMutable = true;\n\t\treturn this;\n\t}\n\t/**\n\t* Mark the validator as immutable\n\t*/\n\tget immutable() {\n\t\tthis.isMutable = false;\n\t\treturn this;\n\t}\n\t/**\n\t* Get the instance to apply changes to.\n\t* By default (immutable), returns a clone so the original is unchanged.\n\t* When `.mutable` is set, returns `this` to mutate in place.\n\t*/\n\tget instance() {\n\t\treturn this.isMutable ? this : this.clone();\n\t}\n\t/**\n\t* Get the default value\n\t* Supports lazy evaluation via callbacks\n\t*/\n\tgetDefaultValue() {\n\t\treturn typeof this.defaultValue === \"function\" ? this.defaultValue() : this.defaultValue;\n\t}\n\t/**\n\t* Allow null as a valid value.\n\t*\n\t* Brands the return type with `{ isNullable: true }` so `Infer<>` widens\n\t* the inferred output to include `| null`.\n\t*/\n\tnullable() {\n\t\tconst instance = this.instance;\n\t\tinstance.isNullable = true;\n\t\treturn instance;\n\t}\n\t/**\n\t* Explicitly disallow null values after calling nullable.\n\t*\n\t* Brands the return type with `{ isNullable: false }` to cancel any prior\n\t* `.nullable()` at the type level.\n\t*/\n\tnotNullable() {\n\t\tconst instance = this.instance;\n\t\tinstance.isNullable = false;\n\t\treturn instance;\n\t}\n\t/**\n\t* Add transformer with optional options\n\t*\n\t* @param transform - The transformer callback function\n\t* @param options - Optional options to pass to the transformer\n\t*\n\t* @example\n\t* ```ts\n\t* // Without options\n\t* v.date().addTransformer(data => data.toISOString())\n\t*\n\t* // With options\n\t* v.date().addTransformer(\n\t* (data, { options }) => dayjs(data).format(options.format),\n\t* { format: 'YYYY-MM-DD' }\n\t* )\n\t* ```\n\t*/\n\taddTransformer(transform, options = {}) {\n\t\tconst instance = this.instance;\n\t\tinstance.addMutableTransformer(transform, options);\n\t\treturn instance;\n\t}\n\t/**\n\t* Add transformer with optional options\n\t*\n\t* @param transform - The transformer callback function\n\t* @param options - Optional options to pass to the transformer\n\t*\n\t* @example\n\t* ```ts\n\t* // Without options\n\t* v.date().addTransformer(data => data.toISOString())\n\t*\n\t* // With options\n\t* v.date().addTransformer(\n\t* (data, { options }) => dayjs(data).format(options.format),\n\t* { format: 'YYYY-MM-DD' }\n\t* )\n\t* ```\n\t*/\n\taddMutableTransformer(transform, options = {}) {\n\t\tthis.dataTransformers.push({\n\t\t\ttransform,\n\t\t\toptions\n\t\t});\n\t}\n\t/**\n\t* Transform the output value - simple one-time transformation\n\t*\n\t* @param callback - Simple callback receiving data and context\n\t*\n\t* @example\n\t* ```ts\n\t* // Simple transformation\n\t* v.string().outputAs(data => data.toUpperCase())\n\t*\n\t* // With context\n\t* v.string().outputAs((data, context) => {\n\t* console.log(`Transforming ${context.path}`);\n\t* return data.toLowerCase();\n\t* })\n\t* ```\n\t*/\n\toutputAs(callback) {\n\t\treturn this.addTransformer((data, { context }) => callback(data, context));\n\t}\n\t/**\n\t* Transform output to JSON string\n\t*\n\t* Works with any validator type (string, number, date, object, array, etc.)\n\t*\n\t* @param indent - Optional indentation for pretty printing (default: 0 for compact)\n\t*\n\t* @example\n\t* ```ts\n\t* // Compact JSON\n\t* v.object({ name: v.string() }).toJSON()\n\t* // Output: '{\"name\":\"John\"}'\n\t*\n\t* // Pretty-printed JSON\n\t* v.array(v.object({...})).toJSON(2)\n\t* // Output:\n\t* // [\n\t* // {\n\t* // \"name\": \"John\"\n\t* // }\n\t* // ]\n\t*\n\t* // Works with any type\n\t* v.string().toJSON() // '\"hello\"'\n\t* v.number().toJSON() // '42'\n\t* v.date().toJSON() // '\"2024-10-26T00:00:00.000Z\"'\n\t* ```\n\t*\n\t* @category Transformer\n\t*/\n\ttoJSON(indent) {\n\t\treturn this.addTransformer((data, { options }) => JSON.stringify(data, null, options.indent), { indent: indent ?? 0 });\n\t}\n\t/**\n\t* Start data transformation pipeline\n\t* Context is passed at runtime, not stored\n\t*/\n\tasync startTransformationPipeline(data, context) {\n\t\tfor (const transformer of this.dataTransformers) data = await transformer.transform(data, {\n\t\t\toptions: transformer.options,\n\t\t\tcontext\n\t\t});\n\t\treturn data;\n\t}\n\t/**\n\t* Set attributes text to be replaced on translations\n\t* If the value is an object, it will be used as the attributes list for the rule\n\t* If the value is a string, it will be used as the attributes list for the rule\n\t*\n\t* @example\n\t* v.string().attributes({\n\t* name: \"Name\",\n\t* email: \"Email\",\n\t* });\n\t* // Example 2: Add custom attributes for matches\n\t* v.string().matches(\"confirmPassword\").attributes({\n\t* matches: {\n\t* confirmPassword: \"Confirm Password\",\n\t* },\n\t* });\n\t*/\n\tattributes(attributes) {\n\t\tconst instance = this.instance;\n\t\tfor (const key in attributes) instance.attributesText[key] = attributes[key];\n\t\treturn instance;\n\t}\n\t/**\n\t* Define a lazy getter property for each attribute in the given object and use the config attribute translator\n\t*/\n\ttransAttributes(attributes) {\n\t\tconst instance = this.instance;\n\t\tfor (const key in attributes) instance.translatedAttributes[key] = attributes[key];\n\t\treturn instance;\n\t}\n\t/**\n\t* Add description to the validator\n\t*/\n\tdescribe(description) {\n\t\tconst instance = this.instance;\n\t\tinstance.description = description;\n\t\treturn instance;\n\t}\n\t/**\n\t* Check if this validator can handle the given value's type\n\t* Override this in specific validators to enable type-based routing in union validators\n\t*\n\t* Default: returns true (validator will attempt to validate any type)\n\t*\n\t* @param value - The value to check\n\t* @returns True if this validator can handle this type\n\t*\n\t* @example\n\t* ```ts\n\t* // StringValidator\n\t* public matchesType(value: any): boolean {\n\t* return typeof value === 'string';\n\t* }\n\t*\n\t* // Custom FileValidator\n\t* public matchesType(value: any): boolean {\n\t* return value instanceof UploadedFile;\n\t* }\n\t* ```\n\t*/\n\tmatchesType(_value) {\n\t\treturn true;\n\t}\n\t/**\n\t* Create a copy of this validator with the same configuration\n\t* Copies all rules, mutators, transformers, default values, and settings\n\t*\n\t* @returns A new validator instance with copied configuration\n\t*\n\t* @example\n\t* ```ts\n\t* // Create reusable validator templates\n\t* const baseString = v.string().required().trim().min(3);\n\t* const emailField = baseString.clone().email();\n\t* const usernameField = baseString.clone().alphanumeric().max(20);\n\t*\n\t* // Works with all validators\n\t* const positiveInt = v.int().positive().required();\n\t* const ageField = positiveInt.clone().min(18).max(120);\n\t* ```\n\t*/\n\tclone() {\n\t\tconst Constructor = this.constructor;\n\t\tconst cloned = Object.create(Constructor.prototype);\n\t\tcloned.rules = [...this.rules];\n\t\tcloned.mutators = [...this.mutators];\n\t\tcloned.dataTransformers = [...this.dataTransformers];\n\t\tcloned.defaultValue = this.defaultValue;\n\t\tcloned.shouldOmit = this.shouldOmit;\n\t\tcloned.description = this.description;\n\t\tcloned.attributesText = { ...this.attributesText };\n\t\tcloned.isNullable = this.isNullable;\n\t\tcloned.isOptional = this.isOptional;\n\t\tcloned.requiredRule = this.requiredRule;\n\t\tcloned.catchValue = this.catchValue;\n\t\tcloned.hasCatch = this.hasCatch;\n\t\treturn cloned;\n\t}\n\t/**\n\t* @deprecated This method is no longer needed and does nothing.\n\t* Empty values are now automatically skipped for validation rules by default.\n\t* Only presence validators (required, present, etc.) will check empty values.\n\t* You can safely remove this call from your code.\n\t*/\n\tignoreEmptyValue(_ignoreEmptyValue = true) {\n\t\treturn this;\n\t}\n\t/**\n\t* Omit this field from the validated data output\n\t*\n\t* Field will still be validated but not included in the final result.\n\t* Useful for confirmation fields, captcha, terms acceptance, etc.\n\t*\n\t* @example\n\t* ```ts\n\t* v.object({\n\t* password: v.string().required(),\n\t* confirmPassword: v.string().required().sameAs(\"password\").omit(),\n\t* acceptTerms: v.boolean().required().omit(),\n\t* });\n\t* // Output: { password: \"...\" }\n\t* // confirmPassword and acceptTerms validated but omitted\n\t* ```\n\t*/\n\tomit() {\n\t\tconst instance = this.instance;\n\t\tinstance.shouldOmit = true;\n\t\treturn instance;\n\t}\n\t/**\n\t* @alias omit\n\t*/\n\texclude() {\n\t\treturn this.omit();\n\t}\n\t/**\n\t* Check if this field should be omitted from the output\n\t*/\n\tisOmitted() {\n\t\treturn this.shouldOmit;\n\t}\n\t/**\n\t* Add rule to the validator\n\t*/\n\taddRule(rule, errorMessage, options = {}) {\n\t\tconst instance = this.instance;\n\t\tinstance.addMutableRule(rule, errorMessage, options);\n\t\treturn instance;\n\t}\n\t/**\n\t* Set the required-condition rule for this field.\n\t*\n\t* Unlike addRule(), this does NOT push to rules[]. The rule is stored in the\n\t* dedicated `requiredRule` slot and is prepended to the validation pipeline\n\t* at runtime. Only one required rule can be active per field — this replaces\n\t* any previously set required rule.\n\t*\n\t* Also marks the field as not optional (isOptional = false).\n\t*\n\t* @example\n\t* ```ts\n\t* // Used internally by required(), requiredIf(), requiredWith(), etc.\n\t* BaseValidator.prototype.required = function(msg) {\n\t* return this.setRequiredRule(requiredRule, msg);\n\t* };\n\t* ```\n\t*/\n\tsetRequiredRule(rule, errorMessage, options = {}) {\n\t\tconst instance = this.instance;\n\t\tinstance.isOptional = false;\n\t\tinstance.requiredRule = instance.createRule(rule, errorMessage, options);\n\t\treturn instance;\n\t}\n\t/**\n\t* Add mutable rule\n\t*/\n\taddMutableRule(rule, errorMessage, options = {}) {\n\t\tconst newRule = this.createRule(rule, errorMessage, options);\n\t\tthis.rules.push(newRule);\n\t\treturn newRule;\n\t}\n\t/**\n\t* Create new rule\n\t*/\n\tcreateRule(rule, errorMessage, options = {}) {\n\t\tconst newRule = {\n\t\t\t...clone(rule),\n\t\t\tcontext: {\n\t\t\t\terrorMessage,\n\t\t\t\toptions,\n\t\t\t\tattributesList: this.attributesText,\n\t\t\t\ttranslatedAttributes: this.translatedAttributes,\n\t\t\t\ttranslationParams: {},\n\t\t\t\ttranslatableParams: {}\n\t\t\t}\n\t\t};\n\t\tif (errorMessage) newRule.errorMessage = errorMessage;\n\t\tif (rule.sortOrder === void 0) newRule.sortOrder = this.rules.length + 1;\n\t\treturn newRule;\n\t}\n\t/**\n\t* Use a custom or pre-built validation rule\n\t*\n\t* @param rule - The validation rule to apply\n\t* @param options - Rule options including errorMessage and any rule-specific options\n\t*\n\t* @example\n\t* ```ts\n\t* import { hexColorRule } from \"@warlock.js/seal\";\n\t*\n\t* v.string().useRule(hexColorRule, { errorMessage: \"Invalid color\" });\n\t* ```\n\t*\n\t* @example\n\t* ```ts\n\t* // With rule options\n\t* v.string().useRule(myCustomRule, {\n\t* customOption: true,\n\t* errorMessage: \"Custom validation failed\"\n\t* });\n\t* ```\n\t*/\n\tuseRule(rule, options) {\n\t\tconst { errorMessage, ...ruleOptions } = options || {};\n\t\treturn this.addRule(rule, errorMessage, ruleOptions);\n\t}\n\t/**\n\t* Define custom rule\n\t*/\n\trefine(callback) {\n\t\treturn this.addRule({\n\t\t\tname: \"custom\",\n\t\t\tasync validate(value, context) {\n\t\t\t\tconst result = await callback(value, context);\n\t\t\t\tif (result) {\n\t\t\t\t\tthis.context.errorMessage = result;\n\t\t\t\t\treturn invalidRule(this, context);\n\t\t\t\t}\n\t\t\t\treturn VALID_RULE;\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Add mutator to the validator\n\t*/\n\taddMutator(mutator, options = {}) {\n\t\tconst instance = this.instance;\n\t\tinstance.addMutableMutator(mutator, options);\n\t\treturn instance;\n\t}\n\t/**\n\t* Add mutable mutator\n\t*/\n\taddMutableMutator(mutator, options = {}) {\n\t\tthis.mutators.push({\n\t\t\tmutate: mutator,\n\t\t\tcontext: {\n\t\t\t\toptions,\n\t\t\t\tctx: {}\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Set default value for the field. The default is used when the input is\n\t* absent (`undefined`); it then flows through the rule pipeline.\n\t*\n\t* Brands the return type with `{ hasDefault: true }` so `Infer<>` treats\n\t* the field as guaranteed-present even when chained with `.optional()`.\n\t*/\n\tdefault(value) {\n\t\tconst instance = this.instance;\n\t\tinstance.defaultValue = value;\n\t\treturn instance;\n\t}\n\t/**\n\t* Fallback to a value when validation fails.\n\t*\n\t* Complementary to `.default()`: `.default(x)` fires when input is **absent**,\n\t* `.catch(y)` fires when input is **present but invalid**. Combine them when\n\t* you want both behaviours: `.optional().default(x).catch(y)`.\n\t*\n\t* The fallback can be a value or a callback `(errors, originalInput) => fallback`.\n\t* The callback variant is the only side-channel for the swallowed errors —\n\t* use it to log/alert before the fallback substitutes.\n\t*\n\t* Brands the return type with `{ hasCatch: true }` so `Infer<>` treats the\n\t* field as guaranteed-present (the catch ensures a value will always exist).\n\t*\n\t* **Scope (v1).** Catch is honoured for **leaf validators** (string, number,\n\t* boolean, date, …) and for fields inside containers. It is a **no-op on\n\t* container validators themselves** (`v.object`, `v.array`, `v.record`,\n\t* `v.tuple`, `v.discriminatedUnion`) — those use their own iteration logic\n\t* that bypasses the catch hook in `BaseValidator.validate()`.\n\t*\n\t* @example\n\t* ```ts\n\t* v.int().min(0).catch(3) // bad number → 3\n\t* v.string().in([\"us\", \"eu\"]).catch(\"us\") // unknown enum → \"us\"\n\t* v.string().catch((errors, input) => {\n\t* console.warn(`bad user value: ${JSON.stringify(input)}`, errors);\n\t* return \"anonymous\";\n\t* })\n\t* ```\n\t*/\n\tcatch(fallback) {\n\t\tconst instance = this.instance;\n\t\tinstance.catchValue = fallback;\n\t\tinstance.hasCatch = true;\n\t\treturn instance;\n\t}\n\t/**\n\t* Mutate the data\n\t*/\n\tasync mutate(data, context) {\n\t\tlet mutatedData = data;\n\t\tfor (const mutator of this.mutators) {\n\t\t\tmutator.context.ctx = context;\n\t\t\tmutatedData = await mutator.mutate(mutatedData, mutator.context);\n\t\t}\n\t\treturn mutatedData;\n\t}\n\t/**\n\t* Set the label for the validator that will be matching the :input attribute\n\t*/\n\tlabel(label) {\n\t\tconst instance = this.instance;\n\t\tinstance.attributesText.input = label;\n\t\treturn instance;\n\t}\n\t/**\n\t* Validate the data\n\t*/\n\tasync validate(data, context) {\n\t\tif (data === null && this.isNullable) return {\n\t\t\tisValid: true,\n\t\t\terrors: [],\n\t\t\tdata: null\n\t\t};\n\t\tconst valueForRules = data ?? this.getDefaultValue();\n\t\tconst mutatedData = await this.mutate(valueForRules, context);\n\t\tconst errors = [];\n\t\tlet isValid = true;\n\t\tconst isFirstErrorOnly = context.configurations?.firstErrorOnly ?? true;\n\t\tconst isEmpty = isEmptyValue(valueForRules);\n\t\tconst skipEmptyRules = this.isOptional ? valueForRules === void 0 : isEmpty;\n\t\tconst rulesToRun = this.requiredRule ? [this.requiredRule, ...this.rules] : this.rules;\n\t\tfor (const rule of rulesToRun) {\n\t\t\tif ((rule.requiresValue ?? true) && skipEmptyRules) continue;\n\t\t\tthis.setRuleAttributesList(rule);\n\t\t\tconst result = await rule.validate(mutatedData, context);\n\t\t\tif (result.isValid === false) {\n\t\t\t\tisValid = false;\n\t\t\t\terrors.push({\n\t\t\t\t\ttype: rule.name,\n\t\t\t\t\terror: result.error,\n\t\t\t\t\tinput: result.path ?? context.path\n\t\t\t\t});\n\t\t\t\tif (isFirstErrorOnly) break;\n\t\t\t}\n\t\t}\n\t\tconst result = {\n\t\t\tisValid,\n\t\t\terrors,\n\t\t\tdata: mutatedData !== void 0 ? await this.startTransformationPipeline(mutatedData, context) : void 0\n\t\t};\n\t\tif (result.isValid === false && this.hasCatch) return {\n\t\t\tisValid: true,\n\t\t\terrors: [],\n\t\t\tdata: typeof this.catchValue === \"function\" ? await this.catchValue(result.errors, data) : this.catchValue\n\t\t};\n\t\treturn result;\n\t}\n\t/**\n\t* Set rule attributes list\n\t*/\n\tsetRuleAttributesList(rule) {\n\t\trule.context.attributesList = typeof this.attributesText[rule.name] === \"object\" ? this.attributesText[rule.name] : this.attributesText;\n\t}\n\t/**\n\t* Standard Schema V1 compliance.\n\t*\n\t* Allows this validator to be used with any Standard Schema-aware library\n\t* (OpenAI structured outputs, LangGraph, TanStack Form, Conform, Valibot adapters, etc.)\n\t* without extra adapters.\n\t*\n\t* Delegates to the `validate()` factory so all `configureSeal()` options\n\t* (translations, firstErrorOnly) are picked up automatically at call time.\n\t*\n\t* Includes Standard JSON Schema support via `jsonSchema.input()` / `jsonSchema.output()`.\n\t*\n\t* ## How Standard Schema libraries consume this\n\t*\n\t* You pass the **schema object itself** to the library — they internally read\n\t* `schema[\"~standard\"]`. Do NOT pass `schema[\"~standard\"]` directly.\n\t*\n\t* @example\n\t* ```ts\n\t* const schema = v.object({ name: v.string().required() });\n\t*\n\t* // TanStack Form — pass schema, library reads [\"~standard\"] internally\n\t* const form = useForm({ validators: { onChange: schema } });\n\t*\n\t* // Conform (Remix) — same pattern\n\t* const [form] = useForm({ onValidate({ formData }) {\n\t* return parseWithStandardSchema(formData, { schema });\n\t* }});\n\t*\n\t* // Direct validation (lower level — most apps don't need this)\n\t* const result = await schema[\"~standard\"].validate({ name: \"Hasan\" });\n\t* // → { value: { name: \"Hasan\" } } on success\n\t* // → { issues: [{ message: \"...\", path: [{ key: \"name\" }] }] } on failure\n\t*\n\t* // JSON Schema for OpenAI / LangChain tool calling\n\t* const parameters = schema[\"~standard\"].jsonSchema.input({ target: \"openai-strict\" });\n\t* // → { type: \"object\", properties: {...}, required: [...], additionalProperties: false }\n\t* ```\n\t*\n\t* @note Cross-field rules (sameAs, requiredIf, requiredWith) rely on sibling values\n\t* available in the full validation context. When called on a standalone scalar validator,\n\t* sibling data is absent and those rules will not evaluate correctly.\n\t* Always call on the parent ObjectValidator for full-payload validation.\n\t*/\n\tget [\"~standard\"]() {\n\t\treturn {\n\t\t\tversion: 1,\n\t\t\tvendor: \"seal\",\n\t\t\ttypes: void 0,\n\t\t\tvalidate: async (value) => {\n\t\t\t\treturn mapToStandardResult(await validate(this, value));\n\t\t\t},\n\t\t\tjsonSchema: {\n\t\t\t\tinput: (options) => this.toJsonSchema(options.target),\n\t\t\t\toutput: (options) => this.toJsonSchema(options.target)\n\t\t\t}\n\t\t};\n\t}\n\t/**\n\t* Generate a JSON Schema representation of this validator.\n\t*\n\t* Supports targets: `\"draft-2020-12\"` (default), `\"draft-07\"`, `\"openapi-3.0\"`.\n\t*\n\t* Subclasses override this to describe their specific constraints.\n\t* The base implementation returns `{}` (permissive — accepts anything),\n\t* which is correct for validators with no representable JSON Schema constraints.\n\t*\n\t* @note Rules that cannot be expressed in JSON Schema are silently omitted:\n\t* - Cross-field rules: sameAs, requiredIf, requiredWith, requiredWithout\n\t* - Custom callbacks: refine()\n\t* - Framework-specific runtime rules (core/cascade plugins)\n\t* These rules still run normally at validation time — only absent from JSON Schema.\n\t*\n\t* @example\n\t* ```ts\n\t* v.string().min(3).max(50).toJsonSchema(\"draft-2020-12\")\n\t* // → { type: \"string\", minLength: 3, maxLength: 50 }\n\t*\n\t* v.object({ name: v.string().required(), age: v.int().optional() })\n\t* .toJsonSchema(\"draft-07\")\n\t* // → { type: \"object\", properties: { name: { type: \"string\" }, age: { type: \"integer\" } }, required: [\"name\"] }\n\t* ```\n\t*/\n\ttoJsonSchema(_target = \"draft-2020-12\") {\n\t\treturn {};\n\t}\n};\n\n//#endregion\nexport { BaseValidator };\n//# sourceMappingURL=base-validator.mjs.map"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { acceptedIfPresentRule, acceptedIfRequiredRule, acceptedIfRule, accepted
|
|
|
6
6
|
import { declinedIfPresentRule, declinedIfRequiredRule, declinedIfRule, declinedRule, declinedUnlessRule, declinedWithoutRule } from "../rules/scalar/declined-rule.mjs";
|
|
7
7
|
import "../rules/scalar/index.mjs";
|
|
8
8
|
|
|
9
|
-
//#region ../seal/
|
|
9
|
+
//#region ../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/boolean-validator.mjs
|
|
10
10
|
/**
|
|
11
11
|
* Boolean validator class
|
|
12
12
|
*
|