@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
|
@@ -9,7 +9,7 @@ import { acceptedIfPresentRule, acceptedIfRequiredRule, acceptedIfRule, accepted
|
|
|
9
9
|
import { declinedIfPresentRule, declinedIfRequiredRule, declinedIfRule, declinedRule, declinedUnlessRule, declinedWithoutRule } from "../rules/scalar/declined-rule.mjs";
|
|
10
10
|
import "../rules/scalar/index.mjs";
|
|
11
11
|
|
|
12
|
-
//#region ../seal/
|
|
12
|
+
//#region ../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/scalar-validator.mjs
|
|
13
13
|
/**
|
|
14
14
|
* Scalar validator class
|
|
15
15
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-validator.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/scalar-validator.mjs"],"sourcesContent":["import { getRuleOptions } from \"../standard-schema/json-schema.mjs\";\nimport { VALID_RULE, invalidRule } from \"../helpers/validation-helpers.mjs\";\nimport \"../helpers/index.mjs\";\nimport { numberMutator } from \"../mutators/number-mutators.mjs\";\nimport { stringMutator } from \"../mutators/scalar-mutators.mjs\";\nimport \"../mutators/index.mjs\";\nimport { PrimitiveValidator } from \"./primitive-validator.mjs\";\nimport { acceptedIfPresentRule, acceptedIfRequiredRule, acceptedIfRule, acceptedRule, acceptedUnlessRule, acceptedWithoutRule } from \"../rules/scalar/accepted-rule.mjs\";\nimport { declinedIfPresentRule, declinedIfRequiredRule, declinedIfRule, declinedRule, declinedUnlessRule, declinedWithoutRule } from \"../rules/scalar/declined-rule.mjs\";\nimport \"../rules/scalar/index.mjs\";\n\n//#region ../seal/src/validators/scalar-validator.ts\n/**\n* Scalar validator class\n*\n* Core validator for scalar values (string, number, boolean).\n* Extends PrimitiveValidator (inherits enum/in/oneOf/allowsOnly/forbids/notIn)\n* and additionally provides type-coercion mutators and accepted/declined rules.\n*\n* Database methods (unique, exists, etc.) are injected by the framework\n*/\nvar ScalarValidator = class extends PrimitiveValidator {\n\tconstructor(errorMessage) {\n\t\tsuper();\n\t\tthis.addMutableRule({\n\t\t\tname: \"scalar\",\n\t\t\tdefaultErrorMessage: \"The :input must be a scalar value\",\n\t\t\tasync validate(value, context) {\n\t\t\t\tif ([\n\t\t\t\t\t\"string\",\n\t\t\t\t\t\"number\",\n\t\t\t\t\t\"boolean\"\n\t\t\t\t].includes(typeof value)) return VALID_RULE;\n\t\t\t\treturn invalidRule(this, context);\n\t\t\t}\n\t\t}, errorMessage);\n\t}\n\t/**\n\t* Add matches type\n\t*/\n\tmatchesType(value) {\n\t\treturn typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\";\n\t}\n\t/**\n\t* Mutate the scalar value to be number\n\t*/\n\tasNumber() {\n\t\treturn this.addMutator(numberMutator);\n\t}\n\t/**\n\t* Mutate the scalar value to be string\n\t*/\n\tasString() {\n\t\treturn this.addMutator(stringMutator);\n\t}\n\t/**\n\t* Accepted value\n\t* The value will be valid if it equals 1 | \"1\" | true | \"true\" | \"yes\" | \"y\" | \"on\"\n\t*/\n\taccepted(errorMessage) {\n\t\treturn this.addRule(acceptedRule, errorMessage);\n\t}\n\t/**\n\t* Accepted value if another field's value equals to a specific value\n\t*/\n\tacceptedIf(field, value, errorMessage) {\n\t\treturn this.addRule(acceptedIfRule, errorMessage, {\n\t\t\tfield,\n\t\t\tvalue\n\t\t});\n\t}\n\t/**\n\t* Accepted value if another field's value is not equal to the given value\n\t*/\n\tacceptedUnless(field, value, errorMessage) {\n\t\treturn this.addRule(acceptedUnlessRule, errorMessage, {\n\t\t\tfield,\n\t\t\tvalue\n\t\t});\n\t}\n\t/**\n\t* Accepted value if another field is required\n\t*/\n\tacceptedIfRequired(field, errorMessage) {\n\t\treturn this.addRule(acceptedIfRequiredRule, errorMessage, { field });\n\t}\n\t/**\n\t* Accepted value if another field is present\n\t*/\n\tacceptedIfPresent(field, errorMessage) {\n\t\treturn this.addRule(acceptedIfPresentRule, errorMessage, { field });\n\t}\n\t/**\n\t* Accepted value if another field is missing\n\t*/\n\tacceptedWithout(field, errorMessage) {\n\t\treturn this.addRule(acceptedWithoutRule, errorMessage, { field });\n\t}\n\t/**\n\t* Declined value\n\t* The value will be valid if it equals 0 | \"0\" | false | \"false\" | \"no\" | \"n\" | \"off\"\n\t*/\n\tdeclined(errorMessage) {\n\t\treturn this.addRule(declinedRule, errorMessage);\n\t}\n\t/**\n\t* Declined value if another field's value equals to a specific value\n\t*/\n\tdeclinedIf(field, value, errorMessage) {\n\t\treturn this.addRule(declinedIfRule, errorMessage, {\n\t\t\tfield,\n\t\t\tvalue\n\t\t});\n\t}\n\t/**\n\t* Declined value if another field's value is not equal to the given value\n\t*/\n\tdeclinedUnless(field, value, errorMessage) {\n\t\treturn this.addRule(declinedUnlessRule, errorMessage, {\n\t\t\tfield,\n\t\t\tvalue\n\t\t});\n\t}\n\t/**\n\t* Declined value if another field is required\n\t*/\n\tdeclinedIfRequired(field, errorMessage) {\n\t\treturn this.addRule(declinedIfRequiredRule, errorMessage, { field });\n\t}\n\t/**\n\t* Declined value if another field is present\n\t*/\n\tdeclinedIfPresent(field, errorMessage) {\n\t\treturn this.addRule(declinedIfPresentRule, errorMessage, { field });\n\t}\n\t/**\n\t* Declined value if another field is missing\n\t*/\n\tdeclinedWithout(field, errorMessage) {\n\t\treturn this.addRule(declinedWithoutRule, errorMessage, { field });\n\t}\n\t/**\n\t* @inheritdoc\n\t*\n\t* A scalar accepts string | number | boolean. If `.in()` / `.enum()` is used,\n\t* output collapses to a simple `enum` list instead.\n\t*\n\t* @example\n\t* ```ts\n\t* v.scalar().toJsonSchema(\"draft-2020-12\")\n\t* // → { oneOf: [{ type: \"string\" }, { type: \"number\" }, { type: \"boolean\" }] }\n\t*\n\t* v.scalar().in([\"active\", \"inactive\"]).toJsonSchema(\"draft-2020-12\")\n\t* // → { enum: [\"active\", \"inactive\"] }\n\t* ```\n\t*/\n\ttoJsonSchema(_target = \"draft-2020-12\") {\n\t\tconst inOpts = getRuleOptions(this.rules, \"in\");\n\t\tif (inOpts?.values && Array.isArray(inOpts.values)) return { enum: inOpts.values };\n\t\tconst enumOpts = getRuleOptions(this.rules, \"enum\");\n\t\tif (enumOpts?.enum && Array.isArray(enumOpts.enum)) return { enum: enumOpts.enum };\n\t\treturn { oneOf: [\n\t\t\t{ type: \"string\" },\n\t\t\t{ type: \"number\" },\n\t\t\t{ type: \"boolean\" }\n\t\t] };\n\t}\n};\n\n//#endregion\nexport { ScalarValidator };\n//# sourceMappingURL=scalar-validator.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,IAAI,kBAAkB,cAAc,mBAAmB;CACtD,YAAY,cAAc;EACzB,MAAM;EACN,KAAK,eAAe;GACnB,MAAM;GACN,qBAAqB;GACrB,MAAM,SAAS,OAAO,SAAS;IAC9B,IAAI;KACH;KACA;KACA;IACD,CAAC,CAAC,SAAS,OAAO,KAAK,GAAG,OAAO;IACjC,OAAO,YAAY,MAAM,OAAO;GACjC;EACD,GAAG,YAAY;CAChB;;;;CAIA,YAAY,OAAO;EAClB,OAAO,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU;CACnF;;;;CAIA,WAAW;EACV,OAAO,KAAK,WAAW,aAAa;CACrC;;;;CAIA,WAAW;EACV,OAAO,KAAK,WAAW,aAAa;CACrC;;;;;CAKA,SAAS,cAAc;EACtB,OAAO,KAAK,QAAQ,cAAc,YAAY;CAC/C;;;;CAIA,WAAW,OAAO,OAAO,cAAc;EACtC,OAAO,KAAK,QAAQ,gBAAgB,cAAc;GACjD;GACA;EACD,CAAC;CACF;;;;CAIA,eAAe,OAAO,OAAO,cAAc;EAC1C,OAAO,KAAK,QAAQ,oBAAoB,cAAc;GACrD;GACA;EACD,CAAC;CACF;;;;CAIA,mBAAmB,OAAO,cAAc;EACvC,OAAO,KAAK,QAAQ,wBAAwB,cAAc,EAAE,MAAM,CAAC;CACpE;;;;CAIA,kBAAkB,OAAO,cAAc;EACtC,OAAO,KAAK,QAAQ,uBAAuB,cAAc,EAAE,MAAM,CAAC;CACnE;;;;CAIA,gBAAgB,OAAO,cAAc;EACpC,OAAO,KAAK,QAAQ,qBAAqB,cAAc,EAAE,MAAM,CAAC;CACjE;;;;;CAKA,SAAS,cAAc;EACtB,OAAO,KAAK,QAAQ,cAAc,YAAY;CAC/C;;;;CAIA,WAAW,OAAO,OAAO,cAAc;EACtC,OAAO,KAAK,QAAQ,gBAAgB,cAAc;GACjD;GACA;EACD,CAAC;CACF;;;;CAIA,eAAe,OAAO,OAAO,cAAc;EAC1C,OAAO,KAAK,QAAQ,oBAAoB,cAAc;GACrD;GACA;EACD,CAAC;CACF;;;;CAIA,mBAAmB,OAAO,cAAc;EACvC,OAAO,KAAK,QAAQ,wBAAwB,cAAc,EAAE,MAAM,CAAC;CACpE;;;;CAIA,kBAAkB,OAAO,cAAc;EACtC,OAAO,KAAK,QAAQ,uBAAuB,cAAc,EAAE,MAAM,CAAC;CACnE;;;;CAIA,gBAAgB,OAAO,cAAc;EACpC,OAAO,KAAK,QAAQ,qBAAqB,cAAc,EAAE,MAAM,CAAC;CACjE;;;;;;;;;;;;;;;;CAgBA,aAAa,UAAU,iBAAiB;EACvC,MAAM,SAAS,eAAe,KAAK,OAAO,IAAI;EAC9C,IAAI,QAAQ,UAAU,MAAM,QAAQ,OAAO,MAAM,GAAG,OAAO,EAAE,MAAM,OAAO,OAAO;EACjF,MAAM,WAAW,eAAe,KAAK,OAAO,MAAM;EAClD,IAAI,UAAU,QAAQ,MAAM,QAAQ,SAAS,IAAI,GAAG,OAAO,EAAE,MAAM,SAAS,KAAK;EACjF,OAAO,EAAE,OAAO;GACf,EAAE,MAAM,SAAS;GACjB,EAAE,MAAM,SAAS;GACjB,EAAE,MAAM,UAAU;EACnB,EAAE;CACH;AACD"}
|
|
@@ -17,7 +17,7 @@ import { stringRule } from "../rules/common/type-rules.mjs";
|
|
|
17
17
|
import "../rules/index.mjs";
|
|
18
18
|
import { PrimitiveValidator } from "./primitive-validator.mjs";
|
|
19
19
|
|
|
20
|
-
//#region ../seal/
|
|
20
|
+
//#region ../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/string-validator.mjs
|
|
21
21
|
/**
|
|
22
22
|
* String validator class
|
|
23
23
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-validator.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/string-validator.mjs"],"sourcesContent":["import { applyNullable, getRuleOptions } from \"../standard-schema/json-schema.mjs\";\nimport { alphaOnlyMutator, alphanumericOnlyMutator, appendMutator, base64DecodeMutator, base64EncodeMutator, camelCaseMutator, capitalizeMutator, htmlEscapeMutator, kebabCaseMutator, lowercaseMutator, ltrimMutator, maskMutator, padEndMutator, padStartMutator, pascalCaseMutator, prependMutator, removeNumbersMutator, removeSpecialCharactersMutator, repeatMutator, replaceAllMutator, replaceMutator, reverseMutator, rtrimMutator, slugMutator, snakeCaseMutator, stringifyMutator, stripTagsMutator, titleCaseMutator, trimMultipleWhitespaceMutator, trimMutator, truncateMutator, unescapeHtmlMutator, uppercaseMutator, urlDecodeMutator, urlEncodeMutator } from \"../mutators/string-mutators.mjs\";\nimport \"../mutators/index.mjs\";\nimport { alphaNumericRule, alphaRule, isNumericRule } from \"../rules/string/alpha.mjs\";\nimport { isCreditCardRule } from \"../rules/string/credit-card.mjs\";\nimport { emailRule } from \"../rules/string/email.mjs\";\nimport { cuidRule, nanoidRule, ulidRule, uuidRule } from \"../rules/string/id-formats.mjs\";\nimport { ip4Rule, ip6Rule, ipRule } from \"../rules/string/ip.mjs\";\nimport { patternRule } from \"../rules/string/pattern.mjs\";\nimport { containsRule, endsWithRule, notContainsRule, startsWithRule } from \"../rules/string/string-comparison.mjs\";\nimport { strongPasswordRule } from \"../rules/string/strong-password-rule.mjs\";\nimport { urlRule } from \"../rules/string/url.mjs\";\nimport { withoutWhitespaceRule } from \"../rules/string/without-whitespace.mjs\";\nimport { betweenLengthRule, lengthRule, maxLengthRule, maxWordsRule, minLengthRule, minWordsRule, wordsRule } from \"../rules/length/length-rules.mjs\";\nimport { colorRule, darkColorRule, hexColorRule, hslColorRule, lightColorRule, rgbColorRule, rgbaColorRule } from \"../rules/color/color-rules.mjs\";\nimport { stringRule } from \"../rules/common/type-rules.mjs\";\nimport \"../rules/index.mjs\";\nimport { PrimitiveValidator } from \"./primitive-validator.mjs\";\n\n//#region ../seal/src/validators/string-validator.ts\n/**\n* String validator class\n*/\nvar StringValidator = class extends PrimitiveValidator {\n\tconstructor(errorMessage) {\n\t\tsuper();\n\t\tthis.addMutableRule(stringRule, errorMessage);\n\t}\n\t/**\n\t* Check if value is a string type\n\t*/\n\tmatchesType(value) {\n\t\treturn typeof value === \"string\";\n\t}\n\t/**\n\t* Stringify the value if not a string\n\t*/\n\ttoString() {\n\t\treturn this.addMutator(stringifyMutator);\n\t}\n\t/** Convert string to uppercase */\n\tuppercase() {\n\t\treturn this.addMutator(uppercaseMutator);\n\t}\n\t/** Convert string to lowercase */\n\tlowercase() {\n\t\treturn this.addMutator(lowercaseMutator);\n\t}\n\t/** Capitalize only the first letter of the string */\n\tcapitalize() {\n\t\treturn this.addMutator(capitalizeMutator);\n\t}\n\t/** Capitalize the first letter of each word (Title Case) */\n\ttitleCase() {\n\t\treturn this.addMutator(titleCaseMutator);\n\t}\n\t/** Convert to camelCase */\n\tcamelCase() {\n\t\treturn this.addMutator(camelCaseMutator);\n\t}\n\t/** Convert to PascalCase */\n\tpascalCase() {\n\t\treturn this.addMutator(pascalCaseMutator);\n\t}\n\t/** Convert to snake_case */\n\tsnakeCase() {\n\t\treturn this.addMutator(snakeCaseMutator);\n\t}\n\t/** Convert to kebab-case */\n\tkebabCase() {\n\t\treturn this.addMutator(kebabCaseMutator);\n\t}\n\t/**\n\t* Trim the given needle from the string\n\t* If no needle is provided, the default is a single space\n\t*/\n\ttrim(needle) {\n\t\treturn this.addMutator(trimMutator, { needle });\n\t}\n\t/** Trim from the left/start */\n\tltrim(needle) {\n\t\treturn this.addMutator(ltrimMutator, { needle });\n\t}\n\t/** Trim from the right/end */\n\trtrim(needle) {\n\t\treturn this.addMutator(rtrimMutator, { needle });\n\t}\n\t/** Trim multiple whitespace into single space */\n\ttrimMultipleWhitespace() {\n\t\treturn this.addMutator(trimMultipleWhitespaceMutator);\n\t}\n\t/** Pad string from the start to reach target length */\n\tpadStart(length, char = \" \") {\n\t\treturn this.addMutator(padStartMutator, {\n\t\t\tlength,\n\t\t\tchar\n\t\t});\n\t}\n\t/** Pad string from the end to reach target length */\n\tpadEnd(length, char = \" \") {\n\t\treturn this.addMutator(padEndMutator, {\n\t\t\tlength,\n\t\t\tchar\n\t\t});\n\t}\n\t/**\n\t* Strip HTML tags with a naive `<...>` regex.\n\t*\n\t* This is a **tag stripper, not an XSS sanitizer**: it is not a parser,\n\t* so malformed/nested markup or content re-introduced later in a\n\t* pipeline can defeat it. Do not rely on this alone to make untrusted\n\t* rich text safe to render — use a real parser-based sanitizer (e.g.\n\t* DOMPurify / sanitize-html) for that.\n\t*/\n\tstripTags() {\n\t\treturn this.addMutator(stripTagsMutator);\n\t}\n\t/**\n\t* @deprecated Renamed to {@link StringValidator.stripTags} — the old\n\t* name implied XSS safety this tag-stripping regex does not provide.\n\t* Kept as an alias for backward compatibility; switch to `.stripTags()`.\n\t*/\n\tsafeHtml() {\n\t\treturn this.stripTags();\n\t}\n\t/** HTML escape special characters */\n\thtmlEscape() {\n\t\treturn this.addMutator(htmlEscapeMutator);\n\t}\n\t/** Unescape HTML entities */\n\tunescapeHtml() {\n\t\treturn this.addMutator(unescapeHtmlMutator);\n\t}\n\t/**\n\t* Remove special characters\n\t* This will remove all characters that are not alphanumeric or whitespace\n\t*/\n\tremoveSpecialCharacters() {\n\t\treturn this.addMutator(removeSpecialCharactersMutator);\n\t}\n\t/** Convert to only alphabetic characters */\n\ttoAlpha() {\n\t\treturn this.addMutator(alphaOnlyMutator);\n\t}\n\t/** Convert to only alphanumeric characters */\n\ttoAlphanumeric() {\n\t\treturn this.addMutator(alphanumericOnlyMutator);\n\t}\n\t/** Remove all numeric characters */\n\tremoveNumbers() {\n\t\treturn this.addMutator(removeNumbersMutator);\n\t}\n\t/** URL decode */\n\turlDecode() {\n\t\treturn this.addMutator(urlDecodeMutator);\n\t}\n\t/** URL encode */\n\turlEncode() {\n\t\treturn this.addMutator(urlEncodeMutator);\n\t}\n\t/** Convert to URL-friendly slug */\n\tslug() {\n\t\treturn this.addMutator(slugMutator);\n\t}\n\t/** Base64 encode */\n\tbase64Encode() {\n\t\treturn this.addMutator(base64EncodeMutator);\n\t}\n\t/** Base64 decode */\n\tbase64Decode() {\n\t\treturn this.addMutator(base64DecodeMutator);\n\t}\n\t/** Replace substring or pattern */\n\treplace(search, replace) {\n\t\treturn this.addMutator(replaceMutator, {\n\t\t\tsearch,\n\t\t\treplace\n\t\t});\n\t}\n\t/** Replace all occurrences of substring or pattern */\n\treplaceAll(search, replace) {\n\t\treturn this.addMutator(replaceAllMutator, {\n\t\t\tsearch,\n\t\t\treplace\n\t\t});\n\t}\n\t/** Append/suffix text to the end */\n\tappend(suffix) {\n\t\treturn this.addMutator(appendMutator, { suffix });\n\t}\n\t/** Prepend/prefix text to the beginning */\n\tprepend(prefix) {\n\t\treturn this.addMutator(prependMutator, { prefix });\n\t}\n\t/** Reverse the string */\n\treverse() {\n\t\treturn this.addMutator(reverseMutator);\n\t}\n\t/** Truncate to a maximum length */\n\ttruncate(maxLength, suffix = \"...\") {\n\t\treturn this.addMutator(truncateMutator, {\n\t\t\tmaxLength,\n\t\t\tsuffix\n\t\t});\n\t}\n\t/** Repeat string N times */\n\trepeat(count) {\n\t\treturn this.addMutator(repeatMutator, { count });\n\t}\n\t/** Mask part of string */\n\tmask(start, end, char = \"*\") {\n\t\treturn this.addMutator(maskMutator, {\n\t\t\tstart,\n\t\t\tend,\n\t\t\tchar\n\t\t});\n\t}\n\t/** Value must be a valid email */\n\temail(errorMessage) {\n\t\treturn this.addRule(emailRule, errorMessage);\n\t}\n\t/** Value must be a valid URL */\n\turl(errorMessage) {\n\t\treturn this.addRule(urlRule, errorMessage);\n\t}\n\t/** Value can not have whitespace */\n\twithoutWhitespace(errorMessage) {\n\t\treturn this.addRule(withoutWhitespaceRule, errorMessage);\n\t}\n\t/** Value must match the given pattern */\n\tpattern(pattern, errorMessage) {\n\t\treturn this.addRule(patternRule, errorMessage, { pattern });\n\t}\n\t/**\n\t* Value must be a strong password\n\t* Requirements:\n\t* - At least 8 characters\n\t* - At least 1 uppercase letter\n\t* - At least 1 lowercase letter\n\t* - At least 1 number\n\t* - At least 1 special character\n\t*/\n\tstrongPassword(minLength, errorMessage) {\n\t\treturn this.addRule(strongPasswordRule, errorMessage, { minLength });\n\t}\n\t/** Value must be exactly the given number of words */\n\twords(words, errorMessage) {\n\t\treturn this.addRule(wordsRule, errorMessage, { words });\n\t}\n\t/** Value must be at least the given number of words */\n\tminWords(words, errorMessage) {\n\t\treturn this.addRule(minWordsRule, errorMessage, { minWords: words });\n\t}\n\t/** Value must be at most the given number of words */\n\tmaxWords(words, errorMessage) {\n\t\treturn this.addRule(maxWordsRule, errorMessage, { maxWords: words });\n\t}\n\t/** Value length must be greater than the given length */\n\tminLength(length, errorMessage) {\n\t\treturn this.addRule(minLengthRule, errorMessage, { minLength: length });\n\t}\n\t/** @alias minLength */\n\tmin(min, errorMessage) {\n\t\treturn this.minLength(min, errorMessage);\n\t}\n\t/** Value length must be less than the given length */\n\tmaxLength(length, errorMessage) {\n\t\treturn this.addRule(maxLengthRule, errorMessage, { maxLength: length });\n\t}\n\t/** @alias maxLength */\n\tmax(max, errorMessage) {\n\t\treturn this.maxLength(max, errorMessage);\n\t}\n\t/** Value must be of the given length */\n\tlength(length, errorMessage) {\n\t\treturn this.addRule(lengthRule, errorMessage, { length });\n\t}\n\t/**\n\t* String length must be between min and max (inclusive)\n\t*\n\t* @param min - Minimum length (inclusive)\n\t* @param max - Maximum length (inclusive)\n\t*\n\t* @example\n\t* ```ts\n\t* v.string().between(5, 10) // Length: 5 to 10 characters\n\t* v.string().lengthBetween(8, 20) // Same using alias\n\t* ```\n\t*\n\t* @category Validation Rule\n\t*/\n\tlengthBetween(min, max, errorMessage) {\n\t\treturn this.addRule(betweenLengthRule, errorMessage, {\n\t\t\tminLength: min,\n\t\t\tmaxLength: max\n\t\t});\n\t}\n\t/** Allow only alphabetic characters */\n\talpha(errorMessage) {\n\t\treturn this.addRule(alphaRule, errorMessage);\n\t}\n\t/** Allow only alphanumeric characters */\n\talphanumeric(errorMessage) {\n\t\treturn this.addRule(alphaNumericRule, errorMessage);\n\t}\n\t/** Allow only numeric characters */\n\tnumeric(errorMessage) {\n\t\treturn this.addRule(isNumericRule, errorMessage);\n\t}\n\t/** Value must starts with the given string */\n\tstartsWith(value, errorMessage) {\n\t\treturn this.addRule(startsWithRule, errorMessage, { value });\n\t}\n\t/** Value must ends with the given string */\n\tendsWith(value, errorMessage) {\n\t\treturn this.addRule(endsWithRule, errorMessage, { value });\n\t}\n\t/** Value must contain the given string */\n\tcontains(value, errorMessage) {\n\t\treturn this.addRule(containsRule, errorMessage, { value });\n\t}\n\t/** Value must not contain the given string */\n\tnotContains(value, errorMessage) {\n\t\treturn this.addRule(notContainsRule, errorMessage, { value });\n\t}\n\t/** Value must be a valid IP address */\n\tip(errorMessage) {\n\t\treturn this.addRule(ipRule, errorMessage);\n\t}\n\t/** Value must be a valid IPv4 address */\n\tip4(errorMessage) {\n\t\treturn this.addRule(ip4Rule, errorMessage);\n\t}\n\t/** Value must be a valid IPv6 address */\n\tip6(errorMessage) {\n\t\treturn this.addRule(ip6Rule, errorMessage);\n\t}\n\t/** Check if the string matches a credit card number */\n\tcreditCard(errorMessage) {\n\t\treturn this.addRule(isCreditCardRule, errorMessage);\n\t}\n\t/** Determine if the value is a valid color */\n\tcolor(errorMessage) {\n\t\treturn this.addRule(colorRule, errorMessage);\n\t}\n\t/** Determine if the value is a valid hex color */\n\thexColor(errorMessage) {\n\t\treturn this.addRule(hexColorRule, errorMessage);\n\t}\n\t/** Determine if the value is a valid HSL color */\n\thslColor(errorMessage) {\n\t\treturn this.addRule(hslColorRule, errorMessage);\n\t}\n\t/** Determine if the value is a valid RGB color */\n\trgbColor(errorMessage) {\n\t\treturn this.addRule(rgbColorRule, errorMessage);\n\t}\n\t/** Determine if the value is a valid RGBA color */\n\trgbaColor(errorMessage) {\n\t\treturn this.addRule(rgbaColorRule, errorMessage);\n\t}\n\t/** Determine if the value is a valid light color */\n\tlightColor(errorMessage) {\n\t\treturn this.addRule(lightColorRule, errorMessage);\n\t}\n\t/** Determine if the value is a valid dark color */\n\tdarkColor(errorMessage) {\n\t\treturn this.addRule(darkColorRule, errorMessage);\n\t}\n\t/**\n\t* Value must be a valid UUID. Optionally restrict to a specific version.\n\t*\n\t* @example\n\t* v.string().uuid() // any RFC 4122 UUID\n\t* v.string().uuid(4) // only v4 (random)\n\t* v.string().uuid(7) // only v7 (timestamp-ordered)\n\t*/\n\tuuid(version, errorMessage) {\n\t\treturn this.addRule(uuidRule, errorMessage, { version });\n\t}\n\t/**\n\t* Value must be a valid CUID. Defaults to CUID2; pass `{ version: 1 }` for legacy.\n\t*\n\t* @example\n\t* v.string().cuid() // CUID2\n\t* v.string().cuid({ version: 1 }) // legacy CUID1\n\t*/\n\tcuid(options) {\n\t\tconst { errorMessage, version } = options ?? {};\n\t\treturn this.addRule(cuidRule, errorMessage, { version });\n\t}\n\t/** Value must be a valid ULID (26 chars, Crockford base32). */\n\tulid(errorMessage) {\n\t\treturn this.addRule(ulidRule, errorMessage);\n\t}\n\t/**\n\t* Value must be a valid nanoid string. Default length is 21.\n\t*\n\t* @example\n\t* v.string().nanoid() // 21 chars (default)\n\t* v.string().nanoid(10) // 10 chars\n\t*/\n\tnanoid(length, errorMessage) {\n\t\treturn this.addRule(nanoidRule, errorMessage, { length });\n\t}\n\t/**\n\t* @inheritdoc\n\t*\n\t* Maps String-specific rule options to JSON Schema keywords.\n\t* Non-representable rules (cross-field, refine, color rules, etc.) are silently omitted.\n\t*\n\t* @example\n\t* ```ts\n\t* v.string().min(2).max(100).email().toJsonSchema(\"draft-2020-12\")\n\t* // → { type: \"string\", minLength: 2, maxLength: 100, format: \"email\" }\n\t* ```\n\t*/\n\ttoJsonSchema(target = \"draft-2020-12\") {\n\t\tconst schema = { type: \"string\" };\n\t\tconst minOpts = getRuleOptions(this.rules, \"minLength\");\n\t\tif (minOpts?.minLength !== void 0) schema.minLength = minOpts.minLength;\n\t\tconst maxOpts = getRuleOptions(this.rules, \"maxLength\");\n\t\tif (maxOpts?.maxLength !== void 0) schema.maxLength = maxOpts.maxLength;\n\t\tconst betweenOpts = getRuleOptions(this.rules, \"betweenLength\");\n\t\tif (betweenOpts) {\n\t\t\tif (betweenOpts.minLength !== void 0) schema.minLength = betweenOpts.minLength;\n\t\t\tif (betweenOpts.maxLength !== void 0) schema.maxLength = betweenOpts.maxLength;\n\t\t}\n\t\tconst lengthOpts = getRuleOptions(this.rules, \"length\");\n\t\tif (lengthOpts?.length !== void 0) {\n\t\t\tschema.minLength = lengthOpts.length;\n\t\t\tschema.maxLength = lengthOpts.length;\n\t\t}\n\t\tconst patternOpts = getRuleOptions(this.rules, \"pattern\");\n\t\tif (patternOpts?.pattern instanceof RegExp) schema.pattern = patternOpts.pattern.source;\n\t\tif (getRuleOptions(this.rules, \"email\") !== void 0 || this.rules.some((r) => r.name === \"email\")) schema.format = \"email\";\n\t\telse if (this.rules.some((r) => r.name === \"url\")) schema.format = \"uri\";\n\t\telse if (this.rules.some((r) => r.name === \"ip\")) schema.format = \"ipv4\";\n\t\telse if (this.rules.some((r) => r.name === \"ip4\")) schema.format = \"ipv4\";\n\t\telse if (this.rules.some((r) => r.name === \"ip6\")) schema.format = \"ipv6\";\n\t\telse if (this.rules.some((r) => r.name === \"uuid\")) schema.format = \"uuid\";\n\t\telse if (this.rules.some((r) => r.name === \"hexColor\")) schema.format = \"color\";\n\t\tif (!schema.format) {\n\t\t\tconst cuidOpts = getRuleOptions(this.rules, \"cuid\");\n\t\t\tif (cuidOpts) schema.pattern = cuidOpts.version === 1 ? \"^c[a-z0-9]{24,}$\" : \"^[a-z][a-z0-9]{23}$\";\n\t\t\tif (this.rules.some((r) => r.name === \"ulid\")) schema.pattern = \"^[0-9A-HJKMNP-TV-Z]{26}$\";\n\t\t\tconst nanoidOpts = getRuleOptions(this.rules, \"nanoid\");\n\t\t\tif (nanoidOpts) schema.pattern = `^[A-Za-z0-9_-]{${nanoidOpts.length ?? 21}}$`;\n\t\t}\n\t\tconst inOpts = getRuleOptions(this.rules, \"in\");\n\t\tif (inOpts?.values && Array.isArray(inOpts.values)) schema.enum = inOpts.values;\n\t\tif (this.isNullable) applyNullable(schema, target);\n\t\treturn schema;\n\t}\n};\n\n//#endregion\nexport { StringValidator };\n//# sourceMappingURL=string-validator.mjs.map"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { BaseValidator } from "./base-validator.mjs";
|
|
|
5
5
|
import { arrayRule } from "../rules/common/type-rules.mjs";
|
|
6
6
|
import "../rules/index.mjs";
|
|
7
7
|
|
|
8
|
-
//#region ../seal/
|
|
8
|
+
//#region ../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/tuple-validator.mjs
|
|
9
9
|
/**
|
|
10
10
|
* Tuple validator class - validates fixed-length arrays with position-specific types
|
|
11
11
|
*
|
|
@@ -22,7 +22,6 @@ import "../rules/index.mjs";
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
var TupleValidator = class extends BaseValidator {
|
|
25
|
-
validators;
|
|
26
25
|
constructor(validators, errorMessage) {
|
|
27
26
|
super();
|
|
28
27
|
this.validators = validators;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple-validator.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/tuple-validator.mjs"],"sourcesContent":["import { applyNullable } from \"../standard-schema/json-schema.mjs\";\nimport { setKeyPath } from \"../helpers/path-helpers.mjs\";\nimport \"../helpers/index.mjs\";\nimport { BaseValidator } from \"./base-validator.mjs\";\nimport { arrayRule } from \"../rules/common/type-rules.mjs\";\nimport \"../rules/index.mjs\";\n\n//#region ../seal/src/validators/tuple-validator.ts\n/**\n* Tuple validator class - validates fixed-length arrays with position-specific types\n*\n* @example\n* ```ts\n* // RGB color tuple\n* v.tuple([v.number(), v.number(), v.number()])\n* // Valid: [255, 128, 0]\n* // Invalid: [255, 128] (too short)\n*\n* // Mixed types\n* v.tuple([v.string(), v.int(), v.boolean()])\n* // Valid: [\"John\", 25, true]\n* ```\n*/\nvar TupleValidator = class extends BaseValidator {\n\tconstructor(validators, errorMessage) {\n\t\tsuper();\n\t\tthis.validators = validators;\n\t\tthis.addMutableRule(arrayRule, errorMessage);\n\t}\n\t/**\n\t* Check if value is an array type\n\t*/\n\tmatchesType(value) {\n\t\treturn Array.isArray(value);\n\t}\n\t/**\n\t* Clone the validator\n\t*/\n\tclone() {\n\t\tconst cloned = super.clone();\n\t\tcloned.validators = this.validators.map((v) => v.clone());\n\t\treturn cloned;\n\t}\n\t/**\n\t* Validate tuple - check length then validate each position\n\t*\n\t* Absent input (and absent without `.default()`) propagates as `data: undefined`\n\t* so the parent ObjectValidator can omit the key. Without this, optional tuple\n\t* fields would silently materialise as `[]` in the validated output and then\n\t* fail the length check.\n\t*/\n\tasync validate(data, context) {\n\t\tconst valueForRules = data ?? this.getDefaultValue();\n\t\tconst mutatedData = await this.mutate(valueForRules, context);\n\t\tconst result = await super.validate(data, context);\n\t\tif (result.isValid === false) return result;\n\t\tif (mutatedData === void 0 || mutatedData === null) return result;\n\t\tif (!Array.isArray(mutatedData)) return result;\n\t\tconst errors = [];\n\t\tif (mutatedData.length !== this.validators.length) {\n\t\t\terrors.push({\n\t\t\t\ttype: \"tuple\",\n\t\t\t\tinput: context.key || \"value\",\n\t\t\t\terror: `Expected exactly ${this.validators.length} items, but got ${mutatedData.length}`\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tisValid: false,\n\t\t\t\terrors,\n\t\t\t\tdata: mutatedData\n\t\t\t};\n\t\t}\n\t\tconst validationPromises = this.validators.map(async (validator, index) => {\n\t\t\tconst childContext = {\n\t\t\t\t...context,\n\t\t\t\tparent: mutatedData,\n\t\t\t\tvalue: mutatedData[index],\n\t\t\t\tkey: index.toString(),\n\t\t\t\tpath: setKeyPath(context.path, index.toString())\n\t\t\t};\n\t\t\tconst childResult = await validator.validate(mutatedData[index], childContext);\n\t\t\tmutatedData[index] = childResult.data;\n\t\t\tif (childResult.isValid === false) errors.push(...childResult.errors);\n\t\t});\n\t\tawait Promise.all(validationPromises);\n\t\treturn {\n\t\t\tisValid: errors.length === 0,\n\t\t\terrors,\n\t\t\tdata: await this.startTransformationPipeline(mutatedData, context)\n\t\t};\n\t}\n\t/**\n\t* @inheritdoc\n\t*\n\t* Tuple keyword diverges between targets:\n\t* - `draft-2020-12` → `prefixItems` + `items: false` (exact length enforced)\n\t* - `draft-07` → `items` as array + `additionalItems: false`\n\t* - `openapi-3.0` → same as draft-07 (OpenAPI 3.0 is based on draft-07)\n\t*\n\t* @example\n\t* ```ts\n\t* v.tuple([v.string(), v.int(), v.boolean()]).toJsonSchema(\"draft-2020-12\")\n\t* // → {\n\t* // type: \"array\",\n\t* // prefixItems: [{ type: \"string\" }, { type: \"integer\" }, { type: \"boolean\" }],\n\t* // items: false,\n\t* // minItems: 3,\n\t* // maxItems: 3\n\t* // }\n\t* ```\n\t*/\n\ttoJsonSchema(target = \"draft-2020-12\") {\n\t\tconst itemSchemas = this.validators.map((v) => v.toJsonSchema(target));\n\t\tconst length = this.validators.length;\n\t\tconst schema = {\n\t\t\ttype: \"array\",\n\t\t\tminItems: length,\n\t\t\tmaxItems: length\n\t\t};\n\t\tif (target === \"draft-2020-12\") {\n\t\t\tschema.prefixItems = itemSchemas;\n\t\t\tschema.items = false;\n\t\t} else {\n\t\t\tschema.items = itemSchemas;\n\t\t\tschema.additionalItems = false;\n\t\t}\n\t\tif (this.isNullable) applyNullable(schema, target);\n\t\treturn schema;\n\t}\n};\n\n//#endregion\nexport { TupleValidator };\n//# sourceMappingURL=tuple-validator.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAI,iBAAiB,cAAc,cAAc;CAChD,YAAY,YAAY,cAAc;EACrC,MAAM;EACN,KAAK,aAAa;EAClB,KAAK,eAAe,WAAW,YAAY;CAC5C;;;;CAIA,YAAY,OAAO;EAClB,OAAO,MAAM,QAAQ,KAAK;CAC3B;;;;CAIA,QAAQ;EACP,MAAM,SAAS,MAAM,MAAM;EAC3B,OAAO,aAAa,KAAK,WAAW,KAAK,MAAM,EAAE,MAAM,CAAC;EACxD,OAAO;CACR;;;;;;;;;CASA,MAAM,SAAS,MAAM,SAAS;EAC7B,MAAM,gBAAgB,QAAQ,KAAK,gBAAgB;EACnD,MAAM,cAAc,MAAM,KAAK,OAAO,eAAe,OAAO;EAC5D,MAAM,SAAS,MAAM,MAAM,SAAS,MAAM,OAAO;EACjD,IAAI,OAAO,YAAY,OAAO,OAAO;EACrC,IAAI,gBAAgB,KAAK,KAAK,gBAAgB,MAAM,OAAO;EAC3D,IAAI,CAAC,MAAM,QAAQ,WAAW,GAAG,OAAO;EACxC,MAAM,SAAS,CAAC;EAChB,IAAI,YAAY,WAAW,KAAK,WAAW,QAAQ;GAClD,OAAO,KAAK;IACX,MAAM;IACN,OAAO,QAAQ,OAAO;IACtB,OAAO,oBAAoB,KAAK,WAAW,OAAO,kBAAkB,YAAY;GACjF,CAAC;GACD,OAAO;IACN,SAAS;IACT;IACA,MAAM;GACP;EACD;EACA,MAAM,qBAAqB,KAAK,WAAW,IAAI,OAAO,WAAW,UAAU;GAC1E,MAAM,eAAe;IACpB,GAAG;IACH,QAAQ;IACR,OAAO,YAAY;IACnB,KAAK,MAAM,SAAS;IACpB,MAAM,WAAW,QAAQ,MAAM,MAAM,SAAS,CAAC;GAChD;GACA,MAAM,cAAc,MAAM,UAAU,SAAS,YAAY,QAAQ,YAAY;GAC7E,YAAY,SAAS,YAAY;GACjC,IAAI,YAAY,YAAY,OAAO,OAAO,KAAK,GAAG,YAAY,MAAM;EACrE,CAAC;EACD,MAAM,QAAQ,IAAI,kBAAkB;EACpC,OAAO;GACN,SAAS,OAAO,WAAW;GAC3B;GACA,MAAM,MAAM,KAAK,4BAA4B,aAAa,OAAO;EAClE;CACD;;;;;;;;;;;;;;;;;;;;;CAqBA,aAAa,SAAS,iBAAiB;EACtC,MAAM,cAAc,KAAK,WAAW,KAAK,MAAM,EAAE,aAAa,MAAM,CAAC;EACrE,MAAM,SAAS,KAAK,WAAW;EAC/B,MAAM,SAAS;GACd,MAAM;GACN,UAAU;GACV,UAAU;EACX;EACA,IAAI,WAAW,iBAAiB;GAC/B,OAAO,cAAc;GACrB,OAAO,QAAQ;EAChB,OAAO;GACN,OAAO,QAAQ;GACf,OAAO,kBAAkB;EAC1B;EACA,IAAI,KAAK,YAAY,cAAc,QAAQ,MAAM;EACjD,OAAO;CACR;AACD"}
|
|
@@ -3,7 +3,7 @@ import { BaseValidator } from "./base-validator.mjs";
|
|
|
3
3
|
import { unionRule } from "../rules/core/union.mjs";
|
|
4
4
|
import "../rules/index.mjs";
|
|
5
5
|
|
|
6
|
-
//#region ../seal/
|
|
6
|
+
//#region ../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/union-validator.mjs
|
|
7
7
|
/**
|
|
8
8
|
* Union validator class - validates value against multiple validator types
|
|
9
9
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union-validator.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/union-validator.mjs"],"sourcesContent":["import { getRuleOptions } from \"../standard-schema/json-schema.mjs\";\nimport { BaseValidator } from \"./base-validator.mjs\";\nimport { unionRule } from \"../rules/core/union.mjs\";\nimport \"../rules/index.mjs\";\n\n//#region ../seal/src/validators/union-validator.ts\n/**\n* Union validator class - validates value against multiple validator types\n*\n* Tries each validator in order until one passes. If a validator's matchesType()\n* returns false, it's skipped for optimization. First validator that both matches\n* the type and passes validation wins.\n*\n* @example\n* ```ts\n* // Accept email or username\n* const identifier = v.union([\n* v.string().email(),\n* v.string().alphanumeric().min(3).max(20)\n* ]);\n*\n* // Accept different types\n* const customValue = v.union([\n* v.string().required(),\n* v.number().required(),\n* v.boolean().required(),\n* v.file().required()\n* ]);\n* ```\n*/\nvar UnionValidator = class extends BaseValidator {\n\t/**\n\t* Set the validators to try for union validation\n\t*\n\t* @param validators - Array of validators to try\n\t* @param errorMessage - Optional custom error message if all validators fail\n\t* @returns This validator for chaining\n\t*\n\t* @example\n\t* ```ts\n\t* new UnionValidator()\n\t* .union([v.string(), v.number()], 'Must be string or number');\n\t* ```\n\t*/\n\tunion(validators, errorMessage) {\n\t\treturn this.addRule(unionRule, errorMessage, { validators });\n\t}\n\t/**\n\t* @inheritdoc\n\t*\n\t* Generates `{ oneOf: [...] }` by mapping each sub-validator to its JSON Schema.\n\t*\n\t* @example\n\t* ```ts\n\t* v.union([v.string(), v.number()]).toJsonSchema(\"draft-2020-12\")\n\t* // → { oneOf: [{ type: \"string\" }, { type: \"number\" }] }\n\t* ```\n\t*/\n\ttoJsonSchema(target = \"draft-2020-12\") {\n\t\treturn { oneOf: (getRuleOptions(this.rules, \"union\")?.validators ?? []).map((v) => v.toJsonSchema(target)) };\n\t}\n};\n\n//#endregion\nexport { UnionValidator };\n//# sourceMappingURL=union-validator.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAI,iBAAiB,cAAc,cAAc;;;;;;;;;;;;;;CAchD,MAAM,YAAY,cAAc;EAC/B,OAAO,KAAK,QAAQ,WAAW,cAAc,EAAE,WAAW,CAAC;CAC5D;;;;;;;;;;;;CAYA,aAAa,SAAS,iBAAiB;EACtC,OAAO,EAAE,QAAQ,eAAe,KAAK,OAAO,OAAO,CAAC,EAAE,cAAc,CAAC,EAAC,CAAE,KAAK,MAAM,EAAE,aAAa,MAAM,CAAC,EAAE;CAC5G;AACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel_api.mjs","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/channel_api.js"],"sourcesContent":["var raw_connect = require('./lib/connect').connect;\nvar ChannelModel = require('./lib/channel_model').ChannelModel;\nvar promisify = require('util').promisify;\n\nfunction connect(url, connOptions) {\n return promisify(function(cb) {\n return raw_connect(url, connOptions, cb);\n })()\n .then(function(conn) {\n return new ChannelModel(conn);\n });\n};\n\nmodule.exports.connect = connect;\nmodule.exports.credentials = require('./lib/credentials');\nmodule.exports.IllegalOperationError = require('./lib/error').IllegalOperationError;\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;CAAA,IAAI,gCAAuC;CAC3C,IAAI,uCAA8C;CAClD,IAAI,sBAAoB,MAAM,
|
|
1
|
+
{"version":3,"file":"channel_api.mjs","names":[],"sources":["../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/channel_api.js"],"sourcesContent":["var raw_connect = require('./lib/connect').connect;\nvar ChannelModel = require('./lib/channel_model').ChannelModel;\nvar promisify = require('util').promisify;\n\nfunction connect(url, connOptions) {\n return promisify(function(cb) {\n return raw_connect(url, connOptions, cb);\n })()\n .then(function(conn) {\n return new ChannelModel(conn);\n });\n};\n\nmodule.exports.connect = connect;\nmodule.exports.credentials = require('./lib/credentials');\nmodule.exports.IllegalOperationError = require('./lib/error').IllegalOperationError;\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;CAAA,IAAI,gCAAuC;CAC3C,IAAI,uCAA8C;CAClD,IAAI,sBAAoB,MAAM,CAAC,CAAC;CAEhC,SAAS,QAAQ,KAAK,aAAa;EACjC,OAAO,UAAU,SAAS,IAAI;GAC5B,OAAO,YAAY,KAAK,aAAa,EAAE;EACzC,CAAC,CAAC,CAAC,CAAC,CACH,KAAK,SAAS,MAAM;GACnB,OAAO,IAAI,aAAa,IAAI;EAC9B,CAAC;CACH;CAEA,OAAO,QAAQ,UAAU;CACzB,OAAO,QAAQ;CACf,OAAO,QAAQ,wCAA+C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel.js"],"sourcesContent":["//\n//\n//\n\n// Channel machinery.\n\n'use strict';\n\nvar defs = require('./defs');\nvar closeMsg = require('./format').closeMessage;\nvar inspect = require('./format').inspect;\nvar methodName = require('./format').methodName;\nvar assert = require('assert');\nvar EventEmitter = require('events');\nvar fmt = require('util').format;\nvar IllegalOperationError = require('./error').IllegalOperationError;\nvar stackCapture = require('./error').stackCapture;\n\nclass Channel extends EventEmitter {\n constructor (connection) {\n super();\n\n this.connection = connection;\n // for the presently outstanding RPC\n this.reply = null;\n // for the RPCs awaiting action\n this.pending = [];\n // for unconfirmed messages\n this.lwm = 1; // the least, unconfirmed deliveryTag\n this.unconfirmed = []; // rolling window of delivery callbacks\n this.on('ack', this.handleConfirm.bind(this, function (cb) {\n if (cb)\n cb(null);\n }));\n this.on('nack', this.handleConfirm.bind(this, function (cb) {\n if (cb)\n cb(new Error('message nacked'));\n }));\n this.on('close', function () {\n var cb;\n while (cb = this.unconfirmed.shift()) {\n if (cb)\n cb(new Error('channel closed'));\n }\n });\n // message frame state machine\n this.handleMessage = acceptDeliveryOrReturn;\n }\n\n setOptions(options) {\n this.options = options;\n }\n\n allocate () {\n this.ch = this.connection.freshChannel(this, this.options);\n return this;\n }\n\n // Incoming frames are either notifications of e.g., message delivery,\n // or replies to something we've sent. In general I deal with the\n // former by emitting an event, and with the latter by keeping a track\n // of what's expecting a reply.\n //\n // The AMQP specification implies that RPCs can't be pipelined; that\n // is, you can have only one outstanding RPC on a channel at a\n // time. Certainly that's what RabbitMQ and its clients assume. For\n // this reason, I buffer RPCs if the channel is already waiting for a\n // reply.\n // Just send the damn frame.\n sendImmediately (method, fields) {\n return this.connection.sendMethod(this.ch, method, fields);\n }\n\n // Invariant: !this.reply -> pending.length == 0. That is, whenever we\n // clear a reply, we must send another RPC (and thereby fill\n // this.reply) if there is one waiting. The invariant relevant here\n // and in `accept`.\n sendOrEnqueue (method, fields, reply) {\n if (!this.reply) { // if no reply waiting, we can go\n assert(this.pending.length === 0);\n this.reply = reply;\n this.sendImmediately(method, fields);\n }\n else {\n this.pending.push({\n method: method,\n fields: fields,\n reply: reply\n });\n }\n }\n\n sendMessage (fields, properties, content) {\n return this.connection.sendMessage(\n this.ch,\n defs.BasicPublish, fields,\n defs.BasicProperties, properties,\n content);\n }\n\n // Internal, synchronously resolved RPC; the return value is resolved\n // with the whole frame.\n _rpc (method, fields, expect, cb) {\n var self = this;\n\n function reply (err, f) {\n if (err === null) {\n if (f.id === expect) {\n return cb(null, f);\n }\n else {\n // We have detected a problem, so it's up to us to close the\n // channel\n var expectedName = methodName(expect);\n\n var e = new Error(fmt(\"Expected %s; got %s\",\n expectedName, inspect(f, false)));\n self.closeWithError(f.id, fmt('Expected %s; got %s',\n expectedName, methodName(f.id)),\n defs.constants.UNEXPECTED_FRAME, e);\n return cb(e);\n }\n }\n\n\n // An error will be given if, for example, this is waiting to be\n // sent and the connection closes\n else if (err instanceof Error)\n return cb(err);\n\n\n // A close frame will be given if this is the RPC awaiting reply\n // and the channel is closed by the server\n else {\n // otherwise, it's a close frame\n var closeReason = (err.fields.classId << 16) + err.fields.methodId;\n var e = (method === closeReason)\n ? fmt(\"Operation failed: %s; %s\",\n methodName(method), closeMsg(err))\n : fmt(\"Channel closed by server: %s\", closeMsg(err));\n var closeFrameError = new Error(e);\n closeFrameError.code = err.fields.replyCode;\n closeFrameError.classId = err.fields.classId;\n closeFrameError.methodId = err.fields.methodId;\n return cb(closeFrameError);\n }\n }\n\n this.sendOrEnqueue(method, fields, reply);\n }\n\n // Move to entirely closed state.\n toClosed (capturedStack) {\n this._rejectPending();\n invalidateSend(this, 'Channel closed', capturedStack);\n this.accept = invalidOp('Channel closed', capturedStack);\n this.connection.releaseChannel(this.ch);\n this.emit('close');\n }\n\n // Stop being able to send and receive methods and content. Used when\n // we close the channel. Invokes the continuation once the server has\n // acknowledged the close, but before the channel is moved to the\n // closed state.\n toClosing (capturedStack, k) {\n var send = this.sendImmediately.bind(this);\n invalidateSend(this, 'Channel closing', capturedStack);\n\n this.accept = function (f) {\n if (f.id === defs.ChannelCloseOk) {\n if (k)\n k();\n var s = stackCapture('ChannelCloseOk frame received');\n this.toClosed(s);\n }\n else if (f.id === defs.ChannelClose) {\n send(defs.ChannelCloseOk, {});\n }\n // else ignore frame\n };\n }\n\n _rejectPending () {\n function rej (r) {\n r(new Error(\"Channel ended, no reply will be forthcoming\"));\n }\n if (this.reply !== null)\n rej(this.reply);\n this.reply = null;\n\n var discard;\n while (discard = this.pending.shift())\n rej(discard.reply);\n this.pending = null; // so pushes will break\n }\n\n closeBecause (reason, code, k) {\n this.sendImmediately(defs.ChannelClose, {\n replyText: reason,\n replyCode: code,\n methodId: 0, classId: 0\n });\n var s = stackCapture('closeBecause called: ' + reason);\n this.toClosing(s, k);\n }\n\n // If we close because there's been an error, we need to distinguish\n // between what we tell the server (`reason`) and what we report as\n // the cause in the client (`error`).\n closeWithError (id, reason, code, error) {\n var self = this;\n this.closeBecause(reason, code, function () {\n error.code = code;\n // content frames and consumer errors do not provide a method a class/method ID\n if (id) {\n error.classId = defs.info(id).classId;\n error.methodId = defs.info(id).methodId;\n }\n self.emit('error', error);\n });\n }\n\n // A trampolining state machine for message frames on a channel. A\n // message arrives in at least two frames: first, a method announcing\n // the message (either a BasicDeliver or BasicGetOk); then, a message\n // header with the message properties; then, zero or more content\n // frames.\n // Keep the try/catch localised, in an attempt to avoid disabling\n // optimisation\n acceptMessageFrame (f) {\n try {\n this.handleMessage = this.handleMessage(f);\n }\n catch (msg) {\n if (typeof msg === 'string') {\n this.closeWithError(f.id, msg, defs.constants.UNEXPECTED_FRAME,\n new Error(msg));\n }\n else if (msg instanceof Error) {\n this.closeWithError(f.id, 'Error while processing message',\n defs.constants.INTERNAL_ERROR, msg);\n }\n else {\n this.closeWithError(f.id, 'Internal error while processing message',\n defs.constants.INTERNAL_ERROR,\n new Error(msg.toString()));\n }\n }\n }\n\n handleConfirm (handle, f) {\n var tag = f.deliveryTag;\n var multi = f.multiple;\n\n if (multi) {\n var confirmed = this.unconfirmed.splice(0, tag - this.lwm + 1);\n this.lwm = tag + 1;\n confirmed.forEach(handle);\n }\n else {\n var c;\n if (tag === this.lwm) {\n c = this.unconfirmed.shift();\n this.lwm++;\n // Advance the LWM and the window to the next non-gap, or\n // possibly to the end\n while (this.unconfirmed[0] === null) {\n this.unconfirmed.shift();\n this.lwm++;\n }\n }\n else {\n c = this.unconfirmed[tag - this.lwm];\n this.unconfirmed[tag - this.lwm] = null;\n }\n // Technically, in the single-deliveryTag case, I should report a\n // protocol breach if it's already been confirmed.\n handle(c);\n }\n }\n\n pushConfirmCallback (cb) {\n // `null` is used specifically for marking already confirmed slots,\n // so I coerce `undefined` and `null` to false; functions are never\n // falsey.\n this.unconfirmed.push(cb || false);\n }\n\n onBufferDrain () {\n this.emit('drain');\n }\n\n accept(f) {\n\n switch (f.id) {\n\n // Message frames\n case undefined: // content frame!\n case defs.BasicDeliver:\n case defs.BasicReturn:\n case defs.BasicProperties:\n return this.acceptMessageFrame(f);\n\n // confirmations, need to do confirm.select first\n case defs.BasicAck:\n return this.emit('ack', f.fields);\n case defs.BasicNack:\n return this.emit('nack', f.fields);\n case defs.BasicCancel:\n // The broker can send this if e.g., the queue is deleted.\n return this.emit('cancel', f.fields);\n\n case defs.ChannelClose:\n // Any remote closure is an error to us. Reject the pending reply\n // with the close frame, so it can see whether it was that\n // operation that caused it to close.\n if (this.reply) {\n var reply = this.reply; this.reply = null;\n reply(f);\n }\n var emsg = \"Channel closed by server: \" + closeMsg(f);\n this.sendImmediately(defs.ChannelCloseOk, {});\n\n var error = new Error(emsg);\n error.code = f.fields.replyCode;\n error.classId = f.fields.classId;\n error.methodId = f.fields.methodId;\n this.emit('error', error);\n\n var s = stackCapture(emsg);\n this.toClosed(s);\n return;\n\n case defs.BasicFlow:\n // RabbitMQ doesn't send this, it just blocks the TCP socket\n return this.closeWithError(f.id, \"Flow not implemented\",\n defs.constants.NOT_IMPLEMENTED,\n new Error('Flow not implemented'));\n\n default: // assume all other things are replies\n // Resolving the reply may lead to another RPC; to make sure we\n // don't hold that up, clear this.reply\n var reply = this.reply; this.reply = null;\n // however, maybe there's an RPC waiting to go? If so, that'll\n // fill this.reply again, restoring the invariant. This does rely\n // on any response being recv'ed after resolving the promise,\n // below; hence, I use synchronous defer.\n if (this.pending.length > 0) {\n var send = this.pending.shift();\n this.reply = send.reply;\n this.sendImmediately(send.method, send.fields);\n }\n return reply(null, f);\n }\n }\n}\n\n// Shutdown protocol. There's three scenarios:\n//\n// 1. The application decides to shut the channel\n// 2. The server decides to shut the channel, possibly because of\n// something the application did\n// 3. The connection is closing, so there won't be any more frames\n// going back and forth.\n//\n// 1 and 2 involve an exchange of method frames (Close and CloseOk),\n// while 3 doesn't; the connection simply says \"shutdown\" to the\n// channel, which then acts as if it's closing, without going through\n// the exchange.\n\nfunction invalidOp(msg, stack) {\n return function() {\n throw new IllegalOperationError(msg, stack);\n };\n}\n\nfunction invalidateSend(ch, msg, stack) {\n ch.sendImmediately = ch.sendOrEnqueue = ch.sendMessage =\n invalidOp(msg, stack);\n}\n\n// Kick off a message delivery given a BasicDeliver or BasicReturn\n// frame (BasicGet uses the RPC mechanism)\nfunction acceptDeliveryOrReturn(f) {\n var event;\n if (f.id === defs.BasicDeliver) event = 'delivery';\n else if (f.id === defs.BasicReturn) event = 'return';\n else throw fmt(\"Expected BasicDeliver or BasicReturn; got %s\",\n inspect(f));\n\n var self = this;\n var fields = f.fields;\n return acceptMessage(function(message) {\n message.fields = fields;\n self.emit(event, message);\n });\n}\n\n// Move to the state of waiting for message frames (headers, then\n// one or more content frames)\nfunction acceptMessage(continuation) {\n var totalSize = 0, remaining = 0;\n var buffers = null;\n\n var message = {\n fields: null,\n properties: null,\n content: null\n };\n\n return headers;\n\n // expect a headers frame\n function headers(f) {\n if (f.id === defs.BasicProperties) {\n message.properties = f.fields;\n totalSize = remaining = f.size;\n\n // for zero-length messages, content frames aren't required.\n if (totalSize === 0) {\n message.content = Buffer.alloc(0);\n continuation(message);\n return acceptDeliveryOrReturn;\n }\n else {\n return content;\n }\n }\n else {\n throw \"Expected headers frame after delivery\";\n }\n }\n\n // expect a content frame\n // %%% TODO cancelled messages (sent as zero-length content frame)\n function content(f) {\n if (f.content) {\n var size = f.content.length;\n remaining -= size;\n if (remaining === 0) {\n if (buffers !== null) {\n buffers.push(f.content);\n message.content = Buffer.concat(buffers);\n }\n else {\n message.content = f.content;\n }\n continuation(message);\n return acceptDeliveryOrReturn;\n }\n else if (remaining < 0) {\n throw fmt(\"Too much content sent! Expected %d bytes\",\n totalSize);\n }\n else {\n if (buffers !== null)\n buffers.push(f.content);\n else\n buffers = [f.content];\n return content;\n }\n }\n else throw \"Expected content frame after headers\"\n }\n}\n\n// This adds just a bit more stuff useful for the APIs, but not\n// low-level machinery.\nclass BaseChannel extends Channel {\n constructor (connection) {\n super(connection);\n this.consumers = new Map();\n }\n\n // Not sure I like the ff, it's going to be changing hidden classes\n // all over the place. On the other hand, whaddya do.\n registerConsumer (tag, callback) {\n this.consumers.set(tag, callback);\n }\n\n unregisterConsumer (tag) {\n this.consumers.delete(tag);\n }\n\n dispatchMessage (fields, message) {\n var consumerTag = fields.consumerTag;\n var consumer = this.consumers.get(consumerTag);\n if (consumer) {\n return consumer(message);\n }\n else {\n // %%% Surely a race here\n throw new Error(\"Unknown consumer: \" + consumerTag);\n }\n }\n\n handleDelivery (message) {\n return this.dispatchMessage(message.fields, message);\n }\n\n handleCancel (fields) {\n var result = this.dispatchMessage(fields, null);\n this.unregisterConsumer(fields.consumerTag);\n return result;\n }\n}\n\nmodule.exports.acceptMessage = acceptMessage;\nmodule.exports.BaseChannel = BaseChannel;\nmodule.exports.Channel = Channel;\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"channel.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel.js"],"sourcesContent":["//\n//\n//\n\n// Channel machinery.\n\n'use strict';\n\nvar defs = require('./defs');\nvar closeMsg = require('./format').closeMessage;\nvar inspect = require('./format').inspect;\nvar methodName = require('./format').methodName;\nvar assert = require('assert');\nvar EventEmitter = require('events');\nvar fmt = require('util').format;\nvar IllegalOperationError = require('./error').IllegalOperationError;\nvar stackCapture = require('./error').stackCapture;\n\nclass Channel extends EventEmitter {\n constructor (connection) {\n super();\n\n this.connection = connection;\n // for the presently outstanding RPC\n this.reply = null;\n // for the RPCs awaiting action\n this.pending = [];\n // for unconfirmed messages\n this.lwm = 1; // the least, unconfirmed deliveryTag\n this.unconfirmed = []; // rolling window of delivery callbacks\n this.on('ack', this.handleConfirm.bind(this, function (cb) {\n if (cb)\n cb(null);\n }));\n this.on('nack', this.handleConfirm.bind(this, function (cb) {\n if (cb)\n cb(new Error('message nacked'));\n }));\n this.on('close', function () {\n var cb;\n while (cb = this.unconfirmed.shift()) {\n if (cb)\n cb(new Error('channel closed'));\n }\n });\n // message frame state machine\n this.handleMessage = acceptDeliveryOrReturn;\n }\n\n setOptions(options) {\n this.options = options;\n }\n\n allocate () {\n this.ch = this.connection.freshChannel(this, this.options);\n return this;\n }\n\n // Incoming frames are either notifications of e.g., message delivery,\n // or replies to something we've sent. In general I deal with the\n // former by emitting an event, and with the latter by keeping a track\n // of what's expecting a reply.\n //\n // The AMQP specification implies that RPCs can't be pipelined; that\n // is, you can have only one outstanding RPC on a channel at a\n // time. Certainly that's what RabbitMQ and its clients assume. For\n // this reason, I buffer RPCs if the channel is already waiting for a\n // reply.\n // Just send the damn frame.\n sendImmediately (method, fields) {\n return this.connection.sendMethod(this.ch, method, fields);\n }\n\n // Invariant: !this.reply -> pending.length == 0. That is, whenever we\n // clear a reply, we must send another RPC (and thereby fill\n // this.reply) if there is one waiting. The invariant relevant here\n // and in `accept`.\n sendOrEnqueue (method, fields, reply) {\n if (!this.reply) { // if no reply waiting, we can go\n assert(this.pending.length === 0);\n this.reply = reply;\n this.sendImmediately(method, fields);\n }\n else {\n this.pending.push({\n method: method,\n fields: fields,\n reply: reply\n });\n }\n }\n\n sendMessage (fields, properties, content) {\n return this.connection.sendMessage(\n this.ch,\n defs.BasicPublish, fields,\n defs.BasicProperties, properties,\n content);\n }\n\n // Internal, synchronously resolved RPC; the return value is resolved\n // with the whole frame.\n _rpc (method, fields, expect, cb) {\n var self = this;\n\n function reply (err, f) {\n if (err === null) {\n if (f.id === expect) {\n return cb(null, f);\n }\n else {\n // We have detected a problem, so it's up to us to close the\n // channel\n var expectedName = methodName(expect);\n\n var e = new Error(fmt(\"Expected %s; got %s\",\n expectedName, inspect(f, false)));\n self.closeWithError(f.id, fmt('Expected %s; got %s',\n expectedName, methodName(f.id)),\n defs.constants.UNEXPECTED_FRAME, e);\n return cb(e);\n }\n }\n\n\n // An error will be given if, for example, this is waiting to be\n // sent and the connection closes\n else if (err instanceof Error)\n return cb(err);\n\n\n // A close frame will be given if this is the RPC awaiting reply\n // and the channel is closed by the server\n else {\n // otherwise, it's a close frame\n var closeReason = (err.fields.classId << 16) + err.fields.methodId;\n var e = (method === closeReason)\n ? fmt(\"Operation failed: %s; %s\",\n methodName(method), closeMsg(err))\n : fmt(\"Channel closed by server: %s\", closeMsg(err));\n var closeFrameError = new Error(e);\n closeFrameError.code = err.fields.replyCode;\n closeFrameError.classId = err.fields.classId;\n closeFrameError.methodId = err.fields.methodId;\n return cb(closeFrameError);\n }\n }\n\n this.sendOrEnqueue(method, fields, reply);\n }\n\n // Move to entirely closed state.\n toClosed (capturedStack) {\n this._rejectPending();\n invalidateSend(this, 'Channel closed', capturedStack);\n this.accept = invalidOp('Channel closed', capturedStack);\n this.connection.releaseChannel(this.ch);\n this.emit('close');\n }\n\n // Stop being able to send and receive methods and content. Used when\n // we close the channel. Invokes the continuation once the server has\n // acknowledged the close, but before the channel is moved to the\n // closed state.\n toClosing (capturedStack, k) {\n var send = this.sendImmediately.bind(this);\n invalidateSend(this, 'Channel closing', capturedStack);\n\n this.accept = function (f) {\n if (f.id === defs.ChannelCloseOk) {\n if (k)\n k();\n var s = stackCapture('ChannelCloseOk frame received');\n this.toClosed(s);\n }\n else if (f.id === defs.ChannelClose) {\n send(defs.ChannelCloseOk, {});\n }\n // else ignore frame\n };\n }\n\n _rejectPending () {\n function rej (r) {\n r(new Error(\"Channel ended, no reply will be forthcoming\"));\n }\n if (this.reply !== null)\n rej(this.reply);\n this.reply = null;\n\n var discard;\n while (discard = this.pending.shift())\n rej(discard.reply);\n this.pending = null; // so pushes will break\n }\n\n closeBecause (reason, code, k) {\n this.sendImmediately(defs.ChannelClose, {\n replyText: reason,\n replyCode: code,\n methodId: 0, classId: 0\n });\n var s = stackCapture('closeBecause called: ' + reason);\n this.toClosing(s, k);\n }\n\n // If we close because there's been an error, we need to distinguish\n // between what we tell the server (`reason`) and what we report as\n // the cause in the client (`error`).\n closeWithError (id, reason, code, error) {\n var self = this;\n this.closeBecause(reason, code, function () {\n error.code = code;\n // content frames and consumer errors do not provide a method a class/method ID\n if (id) {\n error.classId = defs.info(id).classId;\n error.methodId = defs.info(id).methodId;\n }\n self.emit('error', error);\n });\n }\n\n // A trampolining state machine for message frames on a channel. A\n // message arrives in at least two frames: first, a method announcing\n // the message (either a BasicDeliver or BasicGetOk); then, a message\n // header with the message properties; then, zero or more content\n // frames.\n // Keep the try/catch localised, in an attempt to avoid disabling\n // optimisation\n acceptMessageFrame (f) {\n try {\n this.handleMessage = this.handleMessage(f);\n }\n catch (msg) {\n if (typeof msg === 'string') {\n this.closeWithError(f.id, msg, defs.constants.UNEXPECTED_FRAME,\n new Error(msg));\n }\n else if (msg instanceof Error) {\n this.closeWithError(f.id, 'Error while processing message',\n defs.constants.INTERNAL_ERROR, msg);\n }\n else {\n this.closeWithError(f.id, 'Internal error while processing message',\n defs.constants.INTERNAL_ERROR,\n new Error(msg.toString()));\n }\n }\n }\n\n handleConfirm (handle, f) {\n var tag = f.deliveryTag;\n var multi = f.multiple;\n\n if (multi) {\n var confirmed = this.unconfirmed.splice(0, tag - this.lwm + 1);\n this.lwm = tag + 1;\n confirmed.forEach(handle);\n }\n else {\n var c;\n if (tag === this.lwm) {\n c = this.unconfirmed.shift();\n this.lwm++;\n // Advance the LWM and the window to the next non-gap, or\n // possibly to the end\n while (this.unconfirmed[0] === null) {\n this.unconfirmed.shift();\n this.lwm++;\n }\n }\n else {\n c = this.unconfirmed[tag - this.lwm];\n this.unconfirmed[tag - this.lwm] = null;\n }\n // Technically, in the single-deliveryTag case, I should report a\n // protocol breach if it's already been confirmed.\n handle(c);\n }\n }\n\n pushConfirmCallback (cb) {\n // `null` is used specifically for marking already confirmed slots,\n // so I coerce `undefined` and `null` to false; functions are never\n // falsey.\n this.unconfirmed.push(cb || false);\n }\n\n onBufferDrain () {\n this.emit('drain');\n }\n\n accept(f) {\n\n switch (f.id) {\n\n // Message frames\n case undefined: // content frame!\n case defs.BasicDeliver:\n case defs.BasicReturn:\n case defs.BasicProperties:\n return this.acceptMessageFrame(f);\n\n // confirmations, need to do confirm.select first\n case defs.BasicAck:\n return this.emit('ack', f.fields);\n case defs.BasicNack:\n return this.emit('nack', f.fields);\n case defs.BasicCancel:\n // The broker can send this if e.g., the queue is deleted.\n return this.emit('cancel', f.fields);\n\n case defs.ChannelClose:\n // Any remote closure is an error to us. Reject the pending reply\n // with the close frame, so it can see whether it was that\n // operation that caused it to close.\n if (this.reply) {\n var reply = this.reply; this.reply = null;\n reply(f);\n }\n var emsg = \"Channel closed by server: \" + closeMsg(f);\n this.sendImmediately(defs.ChannelCloseOk, {});\n\n var error = new Error(emsg);\n error.code = f.fields.replyCode;\n error.classId = f.fields.classId;\n error.methodId = f.fields.methodId;\n this.emit('error', error);\n\n var s = stackCapture(emsg);\n this.toClosed(s);\n return;\n\n case defs.BasicFlow:\n // RabbitMQ doesn't send this, it just blocks the TCP socket\n return this.closeWithError(f.id, \"Flow not implemented\",\n defs.constants.NOT_IMPLEMENTED,\n new Error('Flow not implemented'));\n\n default: // assume all other things are replies\n // Resolving the reply may lead to another RPC; to make sure we\n // don't hold that up, clear this.reply\n var reply = this.reply; this.reply = null;\n // however, maybe there's an RPC waiting to go? If so, that'll\n // fill this.reply again, restoring the invariant. This does rely\n // on any response being recv'ed after resolving the promise,\n // below; hence, I use synchronous defer.\n if (this.pending.length > 0) {\n var send = this.pending.shift();\n this.reply = send.reply;\n this.sendImmediately(send.method, send.fields);\n }\n return reply(null, f);\n }\n }\n}\n\n// Shutdown protocol. There's three scenarios:\n//\n// 1. The application decides to shut the channel\n// 2. The server decides to shut the channel, possibly because of\n// something the application did\n// 3. The connection is closing, so there won't be any more frames\n// going back and forth.\n//\n// 1 and 2 involve an exchange of method frames (Close and CloseOk),\n// while 3 doesn't; the connection simply says \"shutdown\" to the\n// channel, which then acts as if it's closing, without going through\n// the exchange.\n\nfunction invalidOp(msg, stack) {\n return function() {\n throw new IllegalOperationError(msg, stack);\n };\n}\n\nfunction invalidateSend(ch, msg, stack) {\n ch.sendImmediately = ch.sendOrEnqueue = ch.sendMessage =\n invalidOp(msg, stack);\n}\n\n// Kick off a message delivery given a BasicDeliver or BasicReturn\n// frame (BasicGet uses the RPC mechanism)\nfunction acceptDeliveryOrReturn(f) {\n var event;\n if (f.id === defs.BasicDeliver) event = 'delivery';\n else if (f.id === defs.BasicReturn) event = 'return';\n else throw fmt(\"Expected BasicDeliver or BasicReturn; got %s\",\n inspect(f));\n\n var self = this;\n var fields = f.fields;\n return acceptMessage(function(message) {\n message.fields = fields;\n self.emit(event, message);\n });\n}\n\n// Move to the state of waiting for message frames (headers, then\n// one or more content frames)\nfunction acceptMessage(continuation) {\n var totalSize = 0, remaining = 0;\n var buffers = null;\n\n var message = {\n fields: null,\n properties: null,\n content: null\n };\n\n return headers;\n\n // expect a headers frame\n function headers(f) {\n if (f.id === defs.BasicProperties) {\n message.properties = f.fields;\n totalSize = remaining = f.size;\n\n // for zero-length messages, content frames aren't required.\n if (totalSize === 0) {\n message.content = Buffer.alloc(0);\n continuation(message);\n return acceptDeliveryOrReturn;\n }\n else {\n return content;\n }\n }\n else {\n throw \"Expected headers frame after delivery\";\n }\n }\n\n // expect a content frame\n // %%% TODO cancelled messages (sent as zero-length content frame)\n function content(f) {\n if (f.content) {\n var size = f.content.length;\n remaining -= size;\n if (remaining === 0) {\n if (buffers !== null) {\n buffers.push(f.content);\n message.content = Buffer.concat(buffers);\n }\n else {\n message.content = f.content;\n }\n continuation(message);\n return acceptDeliveryOrReturn;\n }\n else if (remaining < 0) {\n throw fmt(\"Too much content sent! Expected %d bytes\",\n totalSize);\n }\n else {\n if (buffers !== null)\n buffers.push(f.content);\n else\n buffers = [f.content];\n return content;\n }\n }\n else throw \"Expected content frame after headers\"\n }\n}\n\n// This adds just a bit more stuff useful for the APIs, but not\n// low-level machinery.\nclass BaseChannel extends Channel {\n constructor (connection) {\n super(connection);\n this.consumers = new Map();\n }\n\n // Not sure I like the ff, it's going to be changing hidden classes\n // all over the place. On the other hand, whaddya do.\n registerConsumer (tag, callback) {\n this.consumers.set(tag, callback);\n }\n\n unregisterConsumer (tag) {\n this.consumers.delete(tag);\n }\n\n dispatchMessage (fields, message) {\n var consumerTag = fields.consumerTag;\n var consumer = this.consumers.get(consumerTag);\n if (consumer) {\n return consumer(message);\n }\n else {\n // %%% Surely a race here\n throw new Error(\"Unknown consumer: \" + consumerTag);\n }\n }\n\n handleDelivery (message) {\n return this.dispatchMessage(message.fields, message);\n }\n\n handleCancel (fields) {\n var result = this.dispatchMessage(fields, null);\n this.unregisterConsumer(fields.consumerTag);\n return result;\n }\n}\n\nmodule.exports.acceptMessage = acceptMessage;\nmodule.exports.BaseChannel = BaseChannel;\nmodule.exports.Channel = Channel;\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel_model.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel_model.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel_model.js"],"sourcesContent":["//\n//\n//\n\n'use strict';\n\nconst EventEmitter = require('events');\nconst promisify = require('util').promisify;\nconst defs = require('./defs');\nconst {BaseChannel} = require('./channel');\nconst {acceptMessage} = require('./channel');\nconst Args = require('./api_args');\nconst {inspect} = require('./format');\n\nclass ChannelModel extends EventEmitter {\n constructor(connection) {\n super();\n this.connection = connection;\n\n ['error', 'close', 'blocked', 'unblocked'].forEach(ev => {\n connection.on(ev, this.emit.bind(this, ev));\n });\n }\n\n close() {\n return promisify(this.connection.close.bind(this.connection))();\n }\n\n updateSecret(newSecret, reason) {\n return promisify(this.connection._updateSecret.bind(this.connection))(newSecret, reason);\n }\n\n async createChannel(options) {\n const channel = new Channel(this.connection);\n channel.setOptions(options);\n await channel.open();\n return channel;\n }\n\n async createConfirmChannel(options) {\n const channel = new ConfirmChannel(this.connection);\n channel.setOptions(options);\n await channel.open();\n await channel.rpc(defs.ConfirmSelect, {nowait: false}, defs.ConfirmSelectOk);\n return channel;\n }\n}\n\n// Channels\n\nclass Channel extends BaseChannel {\n constructor(connection) {\n super(connection);\n this.on('delivery', this.handleDelivery.bind(this));\n this.on('cancel', this.handleCancel.bind(this));\n }\n\n // An RPC that returns a 'proper' promise, which resolves to just the\n // response's fields; this is intended to be suitable for implementing\n // API procedures.\n async rpc(method, fields, expect) {\n const f = await promisify(cb => {\n return this._rpc(method, fields, expect, cb);\n })();\n\n return f.fields;\n }\n\n // Do the remarkably simple channel open handshake\n async open() {\n const ch = await this.allocate.bind(this)();\n return ch.rpc(defs.ChannelOpen, {outOfBand: \"\"},\n defs.ChannelOpenOk);\n }\n\n close() {\n return promisify(cb => {\n return this.closeBecause(\"Goodbye\", defs.constants.REPLY_SUCCESS,\n cb);\n })();\n }\n\n // === Public API, declaring queues and stuff ===\n\n assertQueue(queue, options) {\n return this.rpc(defs.QueueDeclare,\n Args.assertQueue(queue, options),\n defs.QueueDeclareOk);\n }\n\n checkQueue(queue) {\n return this.rpc(defs.QueueDeclare,\n Args.checkQueue(queue),\n defs.QueueDeclareOk);\n }\n\n deleteQueue(queue, options) {\n return this.rpc(defs.QueueDelete,\n Args.deleteQueue(queue, options),\n defs.QueueDeleteOk);\n }\n\n purgeQueue(queue) {\n return this.rpc(defs.QueuePurge,\n Args.purgeQueue(queue),\n defs.QueuePurgeOk);\n }\n\n bindQueue(queue, source, pattern, argt) {\n return this.rpc(defs.QueueBind,\n Args.bindQueue(queue, source, pattern, argt),\n defs.QueueBindOk);\n }\n\n unbindQueue(queue, source, pattern, argt) {\n return this.rpc(defs.QueueUnbind,\n Args.unbindQueue(queue, source, pattern, argt),\n defs.QueueUnbindOk);\n }\n\n assertExchange(exchange, type, options) {\n // The server reply is an empty set of fields, but it's convenient\n // to have the exchange name handed to the continuation.\n return this.rpc(defs.ExchangeDeclare,\n Args.assertExchange(exchange, type, options),\n defs.ExchangeDeclareOk)\n .then(_ok => { return { exchange }; });\n }\n\n checkExchange(exchange) {\n return this.rpc(defs.ExchangeDeclare,\n Args.checkExchange(exchange),\n defs.ExchangeDeclareOk);\n }\n\n deleteExchange(name, options) {\n return this.rpc(defs.ExchangeDelete,\n Args.deleteExchange(name, options),\n defs.ExchangeDeleteOk);\n }\n\n bindExchange(dest, source, pattern, argt) {\n return this.rpc(defs.ExchangeBind,\n Args.bindExchange(dest, source, pattern, argt),\n defs.ExchangeBindOk);\n }\n\n unbindExchange(dest, source, pattern, argt) {\n return this.rpc(defs.ExchangeUnbind,\n Args.unbindExchange(dest, source, pattern, argt),\n defs.ExchangeUnbindOk);\n }\n\n // Working with messages\n\n publish(exchange, routingKey, content, options) {\n const fieldsAndProps = Args.publish(exchange, routingKey, options);\n return this.sendMessage(fieldsAndProps, fieldsAndProps, content);\n }\n\n sendToQueue(queue, content, options) {\n return this.publish('', queue, content, options);\n }\n\n consume(queue, callback, options) {\n // NB we want the callback to be run synchronously, so that we've\n // registered the consumerTag before any messages can arrive.\n const fields = Args.consume(queue, options);\n return new Promise((resolve, reject) => {\n this._rpc(defs.BasicConsume, fields, defs.BasicConsumeOk, (err, ok) => {\n if (err) return reject(err);\n this.registerConsumer(ok.fields.consumerTag, callback);\n resolve(ok.fields);\n });\n });\n }\n\n async cancel(consumerTag) {\n const ok = await promisify(cb => {\n this._rpc(defs.BasicCancel, Args.cancel(consumerTag),\n defs.BasicCancelOk,\n cb);\n })()\n .then(ok => {\n this.unregisterConsumer(consumerTag);\n return ok.fields;\n });\n }\n\n get(queue, options) {\n const fields = Args.get(queue, options);\n return new Promise((resolve, reject) => {\n this.sendOrEnqueue(defs.BasicGet, fields, (err, f) => {\n if (err) return reject(err);\n if (f.id === defs.BasicGetEmpty) {\n return resolve(false);\n }\n else if (f.id === defs.BasicGetOk) {\n const fields = f.fields;\n this.handleMessage = acceptMessage(m => {\n m.fields = fields;\n resolve(m);\n });\n }\n else {\n reject(new Error(`Unexpected response to BasicGet: ${inspect(f)}`));\n }\n });\n });\n }\n\n ack(message, allUpTo) {\n this.sendImmediately(\n defs.BasicAck,\n Args.ack(message.fields.deliveryTag, allUpTo));\n }\n\n ackAll() {\n this.sendImmediately(defs.BasicAck, Args.ack(0, true));\n }\n\n nack(message, allUpTo, requeue) {\n this.sendImmediately(\n defs.BasicNack,\n Args.nack(message.fields.deliveryTag, allUpTo, requeue));\n }\n\n nackAll(requeue) {\n this.sendImmediately(defs.BasicNack,\n Args.nack(0, true, requeue));\n }\n\n // `Basic.Nack` is not available in older RabbitMQ versions (or in the\n // AMQP specification), so you have to use the one-at-a-time\n // `Basic.Reject`. This is otherwise synonymous with\n // `#nack(message, false, requeue)`.\n reject(message, requeue) {\n this.sendImmediately(\n defs.BasicReject,\n Args.reject(message.fields.deliveryTag, requeue));\n }\n\n recover() {\n return this.rpc(defs.BasicRecover,\n Args.recover(),\n defs.BasicRecoverOk);\n }\n\n qos(count, global) {\n return this.rpc(defs.BasicQos,\n Args.prefetch(count, global),\n defs.BasicQosOk);\n }\n}\n\n// There are more options in AMQP than exposed here; RabbitMQ only\n// implements prefetch based on message count, and only for individual\n// channels or consumers. RabbitMQ v3.3.0 and after treat prefetch\n// (without `global` set) as per-consumer (for consumers following),\n// and prefetch with `global` set as per-channel.\nChannel.prototype.prefetch = Channel.prototype.qos\n\n// Confirm channel. This is a channel with confirms 'switched on',\n// meaning sent messages will provoke a responding 'ack' or 'nack'\n// from the server. The upshot of this is that `publish` and\n// `sendToQueue` both take a callback, which will be called either\n// with `null` as its argument to signify 'ack', or an exception as\n// its argument to signify 'nack'.\n\nclass ConfirmChannel extends Channel {\n publish(exchange, routingKey, content, options, cb) {\n this.pushConfirmCallback(cb);\n return super.publish(exchange, routingKey, content, options);\n }\n\n sendToQueue(queue, content, options, cb) {\n return this.publish('', queue, content, options, cb);\n }\n\n waitForConfirms() {\n const awaiting = [];\n const unconfirmed = this.unconfirmed;\n unconfirmed.forEach((val, index) => {\n if (val !== null) {\n const confirmed = new Promise((resolve, reject) => {\n unconfirmed[index] = err => {\n if (val) val(err);\n if (err === null) resolve();\n else reject(err);\n };\n });\n awaiting.push(confirmed);\n }\n });\n // Channel closed\n if (!this.pending) {\n var cb;\n while (cb = this.unconfirmed.shift()) {\n if (cb) cb(new Error('channel closed'));\n }\n }\n return Promise.all(awaiting);\n }\n}\n\nmodule.exports.ConfirmChannel = ConfirmChannel;\nmodule.exports.Channel = Channel;\nmodule.exports.ChannelModel = ChannelModel;\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"channel_model.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel_model.js"],"sourcesContent":["//\n//\n//\n\n'use strict';\n\nconst EventEmitter = require('events');\nconst promisify = require('util').promisify;\nconst defs = require('./defs');\nconst {BaseChannel} = require('./channel');\nconst {acceptMessage} = require('./channel');\nconst Args = require('./api_args');\nconst {inspect} = require('./format');\n\nclass ChannelModel extends EventEmitter {\n constructor(connection) {\n super();\n this.connection = connection;\n\n ['error', 'close', 'blocked', 'unblocked'].forEach(ev => {\n connection.on(ev, this.emit.bind(this, ev));\n });\n }\n\n close() {\n return promisify(this.connection.close.bind(this.connection))();\n }\n\n updateSecret(newSecret, reason) {\n return promisify(this.connection._updateSecret.bind(this.connection))(newSecret, reason);\n }\n\n async createChannel(options) {\n const channel = new Channel(this.connection);\n channel.setOptions(options);\n await channel.open();\n return channel;\n }\n\n async createConfirmChannel(options) {\n const channel = new ConfirmChannel(this.connection);\n channel.setOptions(options);\n await channel.open();\n await channel.rpc(defs.ConfirmSelect, {nowait: false}, defs.ConfirmSelectOk);\n return channel;\n }\n}\n\n// Channels\n\nclass Channel extends BaseChannel {\n constructor(connection) {\n super(connection);\n this.on('delivery', this.handleDelivery.bind(this));\n this.on('cancel', this.handleCancel.bind(this));\n }\n\n // An RPC that returns a 'proper' promise, which resolves to just the\n // response's fields; this is intended to be suitable for implementing\n // API procedures.\n async rpc(method, fields, expect) {\n const f = await promisify(cb => {\n return this._rpc(method, fields, expect, cb);\n })();\n\n return f.fields;\n }\n\n // Do the remarkably simple channel open handshake\n async open() {\n const ch = await this.allocate.bind(this)();\n return ch.rpc(defs.ChannelOpen, {outOfBand: \"\"},\n defs.ChannelOpenOk);\n }\n\n close() {\n return promisify(cb => {\n return this.closeBecause(\"Goodbye\", defs.constants.REPLY_SUCCESS,\n cb);\n })();\n }\n\n // === Public API, declaring queues and stuff ===\n\n assertQueue(queue, options) {\n return this.rpc(defs.QueueDeclare,\n Args.assertQueue(queue, options),\n defs.QueueDeclareOk);\n }\n\n checkQueue(queue) {\n return this.rpc(defs.QueueDeclare,\n Args.checkQueue(queue),\n defs.QueueDeclareOk);\n }\n\n deleteQueue(queue, options) {\n return this.rpc(defs.QueueDelete,\n Args.deleteQueue(queue, options),\n defs.QueueDeleteOk);\n }\n\n purgeQueue(queue) {\n return this.rpc(defs.QueuePurge,\n Args.purgeQueue(queue),\n defs.QueuePurgeOk);\n }\n\n bindQueue(queue, source, pattern, argt) {\n return this.rpc(defs.QueueBind,\n Args.bindQueue(queue, source, pattern, argt),\n defs.QueueBindOk);\n }\n\n unbindQueue(queue, source, pattern, argt) {\n return this.rpc(defs.QueueUnbind,\n Args.unbindQueue(queue, source, pattern, argt),\n defs.QueueUnbindOk);\n }\n\n assertExchange(exchange, type, options) {\n // The server reply is an empty set of fields, but it's convenient\n // to have the exchange name handed to the continuation.\n return this.rpc(defs.ExchangeDeclare,\n Args.assertExchange(exchange, type, options),\n defs.ExchangeDeclareOk)\n .then(_ok => { return { exchange }; });\n }\n\n checkExchange(exchange) {\n return this.rpc(defs.ExchangeDeclare,\n Args.checkExchange(exchange),\n defs.ExchangeDeclareOk);\n }\n\n deleteExchange(name, options) {\n return this.rpc(defs.ExchangeDelete,\n Args.deleteExchange(name, options),\n defs.ExchangeDeleteOk);\n }\n\n bindExchange(dest, source, pattern, argt) {\n return this.rpc(defs.ExchangeBind,\n Args.bindExchange(dest, source, pattern, argt),\n defs.ExchangeBindOk);\n }\n\n unbindExchange(dest, source, pattern, argt) {\n return this.rpc(defs.ExchangeUnbind,\n Args.unbindExchange(dest, source, pattern, argt),\n defs.ExchangeUnbindOk);\n }\n\n // Working with messages\n\n publish(exchange, routingKey, content, options) {\n const fieldsAndProps = Args.publish(exchange, routingKey, options);\n return this.sendMessage(fieldsAndProps, fieldsAndProps, content);\n }\n\n sendToQueue(queue, content, options) {\n return this.publish('', queue, content, options);\n }\n\n consume(queue, callback, options) {\n // NB we want the callback to be run synchronously, so that we've\n // registered the consumerTag before any messages can arrive.\n const fields = Args.consume(queue, options);\n return new Promise((resolve, reject) => {\n this._rpc(defs.BasicConsume, fields, defs.BasicConsumeOk, (err, ok) => {\n if (err) return reject(err);\n this.registerConsumer(ok.fields.consumerTag, callback);\n resolve(ok.fields);\n });\n });\n }\n\n async cancel(consumerTag) {\n const ok = await promisify(cb => {\n this._rpc(defs.BasicCancel, Args.cancel(consumerTag),\n defs.BasicCancelOk,\n cb);\n })()\n .then(ok => {\n this.unregisterConsumer(consumerTag);\n return ok.fields;\n });\n }\n\n get(queue, options) {\n const fields = Args.get(queue, options);\n return new Promise((resolve, reject) => {\n this.sendOrEnqueue(defs.BasicGet, fields, (err, f) => {\n if (err) return reject(err);\n if (f.id === defs.BasicGetEmpty) {\n return resolve(false);\n }\n else if (f.id === defs.BasicGetOk) {\n const fields = f.fields;\n this.handleMessage = acceptMessage(m => {\n m.fields = fields;\n resolve(m);\n });\n }\n else {\n reject(new Error(`Unexpected response to BasicGet: ${inspect(f)}`));\n }\n });\n });\n }\n\n ack(message, allUpTo) {\n this.sendImmediately(\n defs.BasicAck,\n Args.ack(message.fields.deliveryTag, allUpTo));\n }\n\n ackAll() {\n this.sendImmediately(defs.BasicAck, Args.ack(0, true));\n }\n\n nack(message, allUpTo, requeue) {\n this.sendImmediately(\n defs.BasicNack,\n Args.nack(message.fields.deliveryTag, allUpTo, requeue));\n }\n\n nackAll(requeue) {\n this.sendImmediately(defs.BasicNack,\n Args.nack(0, true, requeue));\n }\n\n // `Basic.Nack` is not available in older RabbitMQ versions (or in the\n // AMQP specification), so you have to use the one-at-a-time\n // `Basic.Reject`. This is otherwise synonymous with\n // `#nack(message, false, requeue)`.\n reject(message, requeue) {\n this.sendImmediately(\n defs.BasicReject,\n Args.reject(message.fields.deliveryTag, requeue));\n }\n\n recover() {\n return this.rpc(defs.BasicRecover,\n Args.recover(),\n defs.BasicRecoverOk);\n }\n\n qos(count, global) {\n return this.rpc(defs.BasicQos,\n Args.prefetch(count, global),\n defs.BasicQosOk);\n }\n}\n\n// There are more options in AMQP than exposed here; RabbitMQ only\n// implements prefetch based on message count, and only for individual\n// channels or consumers. RabbitMQ v3.3.0 and after treat prefetch\n// (without `global` set) as per-consumer (for consumers following),\n// and prefetch with `global` set as per-channel.\nChannel.prototype.prefetch = Channel.prototype.qos\n\n// Confirm channel. This is a channel with confirms 'switched on',\n// meaning sent messages will provoke a responding 'ack' or 'nack'\n// from the server. The upshot of this is that `publish` and\n// `sendToQueue` both take a callback, which will be called either\n// with `null` as its argument to signify 'ack', or an exception as\n// its argument to signify 'nack'.\n\nclass ConfirmChannel extends Channel {\n publish(exchange, routingKey, content, options, cb) {\n this.pushConfirmCallback(cb);\n return super.publish(exchange, routingKey, content, options);\n }\n\n sendToQueue(queue, content, options, cb) {\n return this.publish('', queue, content, options, cb);\n }\n\n waitForConfirms() {\n const awaiting = [];\n const unconfirmed = this.unconfirmed;\n unconfirmed.forEach((val, index) => {\n if (val !== null) {\n const confirmed = new Promise((resolve, reject) => {\n unconfirmed[index] = err => {\n if (val) val(err);\n if (err === null) resolve();\n else reject(err);\n };\n });\n awaiting.push(confirmed);\n }\n });\n // Channel closed\n if (!this.pending) {\n var cb;\n while (cb = this.unconfirmed.shift()) {\n if (cb) cb(new Error('channel closed'));\n }\n }\n return Promise.all(awaiting);\n }\n}\n\nmodule.exports.ConfirmChannel = ConfirmChannel;\nmodule.exports.Channel = Channel;\nmodule.exports.ChannelModel = ChannelModel;\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connect.js"],"sourcesContent":["//\n//\n//\n\n// General-purpose API for glueing everything together.\n\n'use strict';\n\nvar URL = require('url-parse');\nvar QS = require('querystring');\nvar Connection = require('./connection').Connection;\nvar fmt = require('util').format;\nvar credentials = require('./credentials');\n\nfunction copyInto(obj, target) {\n var keys = Object.keys(obj);\n var i = keys.length;\n while (i--) {\n var k = keys[i];\n target[k] = obj[k];\n }\n return target;\n}\n\n// Adapted from util._extend, which is too fringe to use.\nfunction clone(obj) {\n return copyInto(obj, {});\n}\n\nvar CLIENT_PROPERTIES = {\n \"product\": \"amqplib\",\n \"version\": require('../package.json').version,\n \"platform\": fmt('Node.JS %s', process.version),\n \"information\": \"https://amqp-node.github.io/amqplib/\",\n \"capabilities\": {\n \"publisher_confirms\": true,\n \"exchange_exchange_bindings\": true,\n \"basic.nack\": true,\n \"consumer_cancel_notify\": true,\n \"connection.blocked\": true,\n \"authentication_failure_close\": true\n }\n};\n\n// Construct the main frames used in the opening handshake\nfunction openFrames(vhost, query, credentials, extraClientProperties) {\n if (!vhost)\n vhost = '/';\n else\n vhost = QS.unescape(vhost);\n\n var query = query || {};\n\n function intOrDefault(val, def) {\n return (val === undefined) ? def : parseInt(val);\n }\n\n var clientProperties = Object.create(CLIENT_PROPERTIES);\n\n return {\n // start-ok\n 'clientProperties': copyInto(extraClientProperties, clientProperties),\n 'mechanism': credentials.mechanism,\n 'response': credentials.response(),\n 'locale': query.locale || 'en_US',\n\n // tune-ok\n 'channelMax': intOrDefault(query.channelMax, 0),\n 'frameMax': intOrDefault(query.frameMax, 131072),\n 'heartbeat': intOrDefault(query.heartbeat, 0),\n\n // open\n 'virtualHost': vhost,\n 'capabilities': '',\n 'insist': 0\n };\n}\n\n// Decide on credentials based on what we're supplied.\nfunction credentialsFromUrl(parts) {\n var user = 'guest', passwd = 'guest';\n if (parts.username != '' || parts.password != '') {\n user = (parts.username) ? unescape(parts.username) : '';\n passwd = (parts.password) ? unescape(parts.password) : '';\n }\n return credentials.plain(user, passwd);\n}\n\nfunction connect(url, socketOptions, openCallback) {\n // tls.connect uses `util._extend()` on the options given it, which\n // copies only properties mentioned in `Object.keys()`, when\n // processing the options. So I have to make copies too, rather\n // than using `Object.create()`.\n var sockopts = clone(socketOptions || {});\n url = url || 'amqp://localhost';\n\n var noDelay = !!sockopts.noDelay;\n var timeout = sockopts.timeout;\n var keepAlive = !!sockopts.keepAlive;\n // 0 is default for node\n var keepAliveDelay = sockopts.keepAliveDelay || 0;\n\n var extraClientProperties = sockopts.clientProperties || {};\n\n var protocol, fields;\n if (typeof url === 'object') {\n protocol = (url.protocol || 'amqp') + ':';\n sockopts.host = url.hostname;\n sockopts.servername = sockopts.servername || url.hostname;\n sockopts.port = url.port || ((protocol === 'amqp:') ? 5672 : 5671);\n\n var user, pass;\n // Only default if both are missing, to have the same behaviour as\n // the stringly URL.\n if (url.username == undefined && url.password == undefined) {\n user = 'guest'; pass = 'guest';\n } else {\n user = url.username || '';\n pass = url.password || '';\n }\n\n var config = {\n locale: url.locale,\n channelMax: url.channelMax,\n frameMax: url.frameMax,\n heartbeat: url.heartbeat,\n };\n\n fields = openFrames(url.vhost, config, sockopts.credentials || credentials.plain(user, pass), extraClientProperties);\n } else {\n var parts = URL(url, true); // yes, parse the query string\n var host = parts.hostname.replace(/^\\[|\\]$/g, '');\n protocol = parts.protocol;\n sockopts.host = host;\n sockopts.servername = sockopts.servername || host;\n sockopts.port = parseInt(parts.port) || ((protocol === 'amqp:') ? 5672 : 5671);\n var vhost = parts.pathname ? parts.pathname.substr(1) : null;\n fields = openFrames(vhost, parts.query, sockopts.credentials || credentialsFromUrl(parts), extraClientProperties);\n }\n\n var sockok = false;\n var sock;\n\n function onConnect() {\n sockok = true;\n sock.setNoDelay(noDelay);\n if (keepAlive) sock.setKeepAlive(keepAlive, keepAliveDelay);\n\n var c = new Connection(sock);\n c.open(fields, function(err, ok) {\n // disable timeout once the connection is open, we don't want\n // it fouling things\n if (timeout) sock.setTimeout(0);\n if (err === null) {\n openCallback(null, c);\n } else {\n // The connection isn't closed by the server on e.g. wrong password\n sock.end();\n sock.destroy();\n openCallback(err);\n }\n });\n }\n\n if (protocol === 'amqp:') {\n sock = require('net').connect(sockopts, onConnect);\n }\n else if (protocol === 'amqps:') {\n sock = require('tls').connect(sockopts, onConnect);\n }\n else {\n throw new Error(\"Expected amqp: or amqps: as the protocol; got \" + protocol);\n }\n\n if (timeout) {\n sock.setTimeout(timeout, function() {\n sock.end();\n sock.destroy();\n openCallback(new Error('connect ETIMEDOUT'));\n });\n }\n\n sock.once('error', function(err) {\n if (!sockok) openCallback(err);\n });\n\n}\n\nmodule.exports.connect = connect;\nmodule.exports.credentialsFromUrl = credentialsFromUrl;\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;CAQA,IAAI;CACJ,IAAI,eAAa,aAAa;CAC9B,IAAI,kCAAqC;CACzC,IAAI,gBAAc,MAAM,
|
|
1
|
+
{"version":3,"file":"connect.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connect.js"],"sourcesContent":["//\n//\n//\n\n// General-purpose API for glueing everything together.\n\n'use strict';\n\nvar URL = require('url-parse');\nvar QS = require('querystring');\nvar Connection = require('./connection').Connection;\nvar fmt = require('util').format;\nvar credentials = require('./credentials');\n\nfunction copyInto(obj, target) {\n var keys = Object.keys(obj);\n var i = keys.length;\n while (i--) {\n var k = keys[i];\n target[k] = obj[k];\n }\n return target;\n}\n\n// Adapted from util._extend, which is too fringe to use.\nfunction clone(obj) {\n return copyInto(obj, {});\n}\n\nvar CLIENT_PROPERTIES = {\n \"product\": \"amqplib\",\n \"version\": require('../package.json').version,\n \"platform\": fmt('Node.JS %s', process.version),\n \"information\": \"https://amqp-node.github.io/amqplib/\",\n \"capabilities\": {\n \"publisher_confirms\": true,\n \"exchange_exchange_bindings\": true,\n \"basic.nack\": true,\n \"consumer_cancel_notify\": true,\n \"connection.blocked\": true,\n \"authentication_failure_close\": true\n }\n};\n\n// Construct the main frames used in the opening handshake\nfunction openFrames(vhost, query, credentials, extraClientProperties) {\n if (!vhost)\n vhost = '/';\n else\n vhost = QS.unescape(vhost);\n\n var query = query || {};\n\n function intOrDefault(val, def) {\n return (val === undefined) ? def : parseInt(val);\n }\n\n var clientProperties = Object.create(CLIENT_PROPERTIES);\n\n return {\n // start-ok\n 'clientProperties': copyInto(extraClientProperties, clientProperties),\n 'mechanism': credentials.mechanism,\n 'response': credentials.response(),\n 'locale': query.locale || 'en_US',\n\n // tune-ok\n 'channelMax': intOrDefault(query.channelMax, 0),\n 'frameMax': intOrDefault(query.frameMax, 131072),\n 'heartbeat': intOrDefault(query.heartbeat, 0),\n\n // open\n 'virtualHost': vhost,\n 'capabilities': '',\n 'insist': 0\n };\n}\n\n// Decide on credentials based on what we're supplied.\nfunction credentialsFromUrl(parts) {\n var user = 'guest', passwd = 'guest';\n if (parts.username != '' || parts.password != '') {\n user = (parts.username) ? unescape(parts.username) : '';\n passwd = (parts.password) ? unescape(parts.password) : '';\n }\n return credentials.plain(user, passwd);\n}\n\nfunction connect(url, socketOptions, openCallback) {\n // tls.connect uses `util._extend()` on the options given it, which\n // copies only properties mentioned in `Object.keys()`, when\n // processing the options. So I have to make copies too, rather\n // than using `Object.create()`.\n var sockopts = clone(socketOptions || {});\n url = url || 'amqp://localhost';\n\n var noDelay = !!sockopts.noDelay;\n var timeout = sockopts.timeout;\n var keepAlive = !!sockopts.keepAlive;\n // 0 is default for node\n var keepAliveDelay = sockopts.keepAliveDelay || 0;\n\n var extraClientProperties = sockopts.clientProperties || {};\n\n var protocol, fields;\n if (typeof url === 'object') {\n protocol = (url.protocol || 'amqp') + ':';\n sockopts.host = url.hostname;\n sockopts.servername = sockopts.servername || url.hostname;\n sockopts.port = url.port || ((protocol === 'amqp:') ? 5672 : 5671);\n\n var user, pass;\n // Only default if both are missing, to have the same behaviour as\n // the stringly URL.\n if (url.username == undefined && url.password == undefined) {\n user = 'guest'; pass = 'guest';\n } else {\n user = url.username || '';\n pass = url.password || '';\n }\n\n var config = {\n locale: url.locale,\n channelMax: url.channelMax,\n frameMax: url.frameMax,\n heartbeat: url.heartbeat,\n };\n\n fields = openFrames(url.vhost, config, sockopts.credentials || credentials.plain(user, pass), extraClientProperties);\n } else {\n var parts = URL(url, true); // yes, parse the query string\n var host = parts.hostname.replace(/^\\[|\\]$/g, '');\n protocol = parts.protocol;\n sockopts.host = host;\n sockopts.servername = sockopts.servername || host;\n sockopts.port = parseInt(parts.port) || ((protocol === 'amqp:') ? 5672 : 5671);\n var vhost = parts.pathname ? parts.pathname.substr(1) : null;\n fields = openFrames(vhost, parts.query, sockopts.credentials || credentialsFromUrl(parts), extraClientProperties);\n }\n\n var sockok = false;\n var sock;\n\n function onConnect() {\n sockok = true;\n sock.setNoDelay(noDelay);\n if (keepAlive) sock.setKeepAlive(keepAlive, keepAliveDelay);\n\n var c = new Connection(sock);\n c.open(fields, function(err, ok) {\n // disable timeout once the connection is open, we don't want\n // it fouling things\n if (timeout) sock.setTimeout(0);\n if (err === null) {\n openCallback(null, c);\n } else {\n // The connection isn't closed by the server on e.g. wrong password\n sock.end();\n sock.destroy();\n openCallback(err);\n }\n });\n }\n\n if (protocol === 'amqp:') {\n sock = require('net').connect(sockopts, onConnect);\n }\n else if (protocol === 'amqps:') {\n sock = require('tls').connect(sockopts, onConnect);\n }\n else {\n throw new Error(\"Expected amqp: or amqps: as the protocol; got \" + protocol);\n }\n\n if (timeout) {\n sock.setTimeout(timeout, function() {\n sock.end();\n sock.destroy();\n openCallback(new Error('connect ETIMEDOUT'));\n });\n }\n\n sock.once('error', function(err) {\n if (!sockok) openCallback(err);\n });\n\n}\n\nmodule.exports.connect = connect;\nmodule.exports.credentialsFromUrl = credentialsFromUrl;\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;CAQA,IAAI;CACJ,IAAI,eAAa,aAAa;CAC9B,IAAI,kCAAqC;CACzC,IAAI,gBAAc,MAAM,CAAC,CAAC;CAC1B,IAAI;CAEJ,SAAS,SAAS,KAAK,QAAQ;EAC7B,IAAI,OAAO,OAAO,KAAK,GAAG;EAC1B,IAAI,IAAI,KAAK;EACb,OAAO,KAAK;GACV,IAAI,IAAI,KAAK;GACb,OAAO,KAAK,IAAI;EAClB;EACA,OAAO;CACT;CAGA,SAAS,MAAM,KAAK;EAClB,OAAO,SAAS,KAAK,CAAC,CAAC;CACzB;CAEA,IAAI,oBAAoB;EACtB,WAAW;EACX,6BAAsC;EACtC,YAAY,IAAI,cAAc,QAAQ,OAAO;EAC7C,eAAe;EACf,gBAAgB;GACd,sBAAsB;GACtB,8BAA8B;GAC9B,cAAc;GACd,0BAA0B;GAC1B,sBAAsB;GACtB,gCAAgC;EAClC;CACF;CAGA,SAAS,WAAW,OAAO,OAAO,aAAa,uBAAuB;EACpE,IAAI,CAAC,OACH,QAAQ;OAER,QAAQ,GAAG,SAAS,KAAK;EAE3B,IAAI,QAAQ,SAAS,CAAC;EAEtB,SAAS,aAAa,KAAK,KAAK;GAC9B,OAAQ,QAAQ,SAAa,MAAM,SAAS,GAAG;EACjD;EAIA,OAAO;GAEL,oBAAoB,SAAS,uBAJR,OAAO,OAAO,iBAIgC,CAAC;GACpE,aAAa,YAAY;GACzB,YAAY,YAAY,SAAS;GACjC,UAAU,MAAM,UAAU;GAG1B,cAAc,aAAa,MAAM,YAAY,CAAC;GAC9C,YAAY,aAAa,MAAM,UAAU,MAAM;GAC/C,aAAa,aAAa,MAAM,WAAW,CAAC;GAG5C,eAAe;GACf,gBAAgB;GAChB,UAAU;EACZ;CACF;CAGA,SAAS,mBAAmB,OAAO;EACjC,IAAI,OAAO,SAAS,SAAS;EAC7B,IAAI,MAAM,YAAY,MAAM,MAAM,YAAY,IAAI;GAChD,OAAQ,MAAM,WAAY,SAAS,MAAM,QAAQ,IAAI;GACrD,SAAU,MAAM,WAAY,SAAS,MAAM,QAAQ,IAAI;EACzD;EACA,OAAO,YAAY,MAAM,MAAM,MAAM;CACvC;CAEA,SAAS,QAAQ,KAAK,eAAe,cAAc;EAKjD,IAAI,WAAW,MAAM,iBAAiB,CAAC,CAAC;EACxC,MAAM,OAAO;EAEb,IAAI,UAAU,CAAC,CAAC,SAAS;EACzB,IAAI,UAAU,SAAS;EACvB,IAAI,YAAY,CAAC,CAAC,SAAS;EAE3B,IAAI,iBAAiB,SAAS,kBAAkB;EAEhD,IAAI,wBAAwB,SAAS,oBAAoB,CAAC;EAE1D,IAAI,UAAU;EACd,IAAI,OAAO,QAAQ,UAAU;GAC3B,YAAY,IAAI,YAAY,UAAU;GACtC,SAAS,OAAO,IAAI;GACpB,SAAS,aAAa,SAAS,cAAc,IAAI;GACjD,SAAS,OAAO,IAAI,SAAU,aAAa,UAAW,OAAO;GAE7D,IAAI,MAAM;GAGV,IAAI,IAAI,YAAY,UAAa,IAAI,YAAY,QAAW;IAC1D,OAAO;IAAS,OAAO;GACzB,OAAO;IACL,OAAO,IAAI,YAAY;IACvB,OAAO,IAAI,YAAY;GACzB;GAEA,IAAI,SAAS;IACX,QAAQ,IAAI;IACZ,YAAY,IAAI;IAChB,UAAU,IAAI;IACd,WAAW,IAAI;GACjB;GAEA,SAAS,WAAW,IAAI,OAAO,QAAQ,SAAS,eAAe,YAAY,MAAM,MAAM,IAAI,GAAG,qBAAqB;EACrH,OAAO;GACL,IAAI,QAAQ,IAAI,KAAK,IAAI;GACzB,IAAI,OAAO,MAAM,SAAS,QAAQ,YAAY,EAAE;GAChD,WAAW,MAAM;GACjB,SAAS,OAAO;GAChB,SAAS,aAAa,SAAS,cAAc;GAC7C,SAAS,OAAO,SAAS,MAAM,IAAI,MAAO,aAAa,UAAW,OAAO;GAEzE,SAAS,WADG,MAAM,WAAW,MAAM,SAAS,OAAO,CAAC,IAAI,MAC7B,MAAM,OAAO,SAAS,eAAe,mBAAmB,KAAK,GAAG,qBAAqB;EAClH;EAEA,IAAI,SAAS;EACb,IAAI;EAEJ,SAAS,YAAY;GACnB,SAAS;GACT,KAAK,WAAW,OAAO;GACvB,IAAI,WAAW,KAAK,aAAa,WAAW,cAAc;GAE1D,IAAI,IAAI,IAAI,WAAW,IAAI;GAC3B,EAAE,KAAK,QAAQ,SAAS,KAAK,IAAI;IAG/B,IAAI,SAAS,KAAK,WAAW,CAAC;IAC9B,IAAI,QAAQ,MACV,aAAa,MAAM,CAAC;SACf;KAEL,KAAK,IAAI;KACT,KAAK,QAAQ;KACb,aAAa,GAAG;IAClB;GACF,CAAC;EACH;EAEA,IAAI,aAAa,SACf,iBAAe,KAAK,CAAC,CAAC,QAAQ,UAAU,SAAS;OAE9C,IAAI,aAAa,UACpB,iBAAe,KAAK,CAAC,CAAC,QAAQ,UAAU,SAAS;OAGjD,MAAM,IAAI,MAAM,mDAAmD,QAAQ;EAG7E,IAAI,SACF,KAAK,WAAW,SAAS,WAAW;GAClC,KAAK,IAAI;GACT,KAAK,QAAQ;GACb,6BAAa,IAAI,MAAM,mBAAmB,CAAC;EAC7C,CAAC;EAGH,KAAK,KAAK,SAAS,SAAS,KAAK;GAC/B,IAAI,CAAC,QAAQ,aAAa,GAAG;EAC/B,CAAC;CAEH;CAEA,OAAO,QAAQ,UAAU;CACzB,OAAO,QAAQ,qBAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connection.js"],"sourcesContent":["//\n//\n//\n\n'use strict';\n\nvar defs = require('./defs');\nvar constants = defs.constants;\nvar frame = require('./frame');\nvar HEARTBEAT = frame.HEARTBEAT;\nvar Mux = require('./mux').Mux;\n\nvar Duplex = require('stream').Duplex;\nvar EventEmitter = require('events');\nvar Heart = require('./heartbeat').Heart;\n\nvar methodName = require('./format').methodName;\nvar closeMsg = require('./format').closeMessage;\nvar inspect = require('./format').inspect;\n\nvar BitSet = require('./bitset').BitSet;\nvar fmt = require('util').format;\nvar PassThrough = require('stream').PassThrough;\nvar IllegalOperationError = require('./error').IllegalOperationError;\nvar stackCapture = require('./error').stackCapture;\n\n// High-water mark for channel write buffers, in 'objects' (which are\n// encoded frames as buffers).\nvar DEFAULT_WRITE_HWM = 1024;\n// If all the frames of a message (method, properties, content) total\n// to less than this, copy them into a single buffer and write it all\n// at once. Note that this is less than the minimum frame size: if it\n// was greater, we might have to fragment the content.\nvar SINGLE_CHUNK_THRESHOLD = 2048;\n\nclass Connection extends EventEmitter {\n constructor (underlying) {\n super();\n\n var stream = this.stream = wrapStream(underlying);\n this.muxer = new Mux(stream);\n\n // frames\n this.rest = Buffer.alloc(0);\n this.frameMax = constants.FRAME_MIN_SIZE;\n this.sentSinceLastCheck = false;\n this.recvSinceLastCheck = false;\n\n this.expectSocketClose = false;\n this.freeChannels = new BitSet();\n this.channels = [{\n channel: { accept: channel0(this) },\n buffer: underlying\n }];\n }\n\n // This changed between versions, as did the codec, methods, etc. AMQP\n // 0-9-1 is fairly similar to 0.8, but better, and nothing implements\n // 0.8 that doesn't implement 0-9-1. In other words, it doesn't make\n // much sense to generalise here.\n sendProtocolHeader () {\n this.sendBytes(frame.PROTOCOL_HEADER);\n }\n\n /*\n The frighteningly complicated opening protocol (spec section 2.2.4):\n\n Client -> Server\n\n protocol header ->\n <- start\n start-ok ->\n .. next two zero or more times ..\n <- secure\n secure-ok ->\n <- tune\n tune-ok ->\n open ->\n <- open-ok\n\n If I'm only supporting SASL's PLAIN mechanism (which I am for the time\n being), it gets a bit easier since the server won't in general send\n back a `secure`, it'll just send `tune` after the `start-ok`.\n (SASL PLAIN: http://tools.ietf.org/html/rfc4616)\n\n */\n open (allFields, openCallback0) {\n var self = this;\n var openCallback = openCallback0 || function () { };\n\n // This is where we'll put our negotiated values\n var tunedOptions = Object.create(allFields);\n\n function wait (k) {\n self.step(function (err, frame) {\n if (err !== null)\n bail(err);\n else if (frame.channel !== 0) {\n bail(new Error(\n fmt(\"Frame on channel != 0 during handshake: %s\",\n inspect(frame, false))));\n }\n else\n k(frame);\n });\n }\n\n function expect (Method, k) {\n wait(function (frame) {\n if (frame.id === Method)\n k(frame);\n else {\n bail(new Error(\n fmt(\"Expected %s; got %s\",\n methodName(Method), inspect(frame, false))));\n }\n });\n }\n\n function bail (err) {\n openCallback(err);\n }\n\n function send (Method) {\n // This can throw an exception if there's some problem with the\n // options; e.g., something is a string instead of a number.\n self.sendMethod(0, Method, tunedOptions);\n }\n\n function negotiate (server, desired) {\n // We get sent values for channelMax, frameMax and heartbeat,\n // which we may accept or lower (subject to a minimum for\n // frameMax, but we'll leave that to the server to enforce). In\n // all cases, `0` really means \"no limit\", or rather the highest\n // value in the encoding, e.g., unsigned short for channelMax.\n if (server === 0 || desired === 0) {\n // i.e., whichever places a limit, if either\n return Math.max(server, desired);\n }\n else {\n return Math.min(server, desired);\n }\n }\n\n function onStart (start) {\n var mechanisms = start.fields.mechanisms.toString().split(' ');\n if (mechanisms.indexOf(allFields.mechanism) < 0) {\n bail(new Error(fmt('SASL mechanism %s is not provided by the server',\n allFields.mechanism)));\n return;\n }\n self.serverProperties = start.fields.serverProperties;\n try {\n send(defs.ConnectionStartOk);\n } catch (err) {\n bail(err);\n return;\n }\n wait(afterStartOk);\n }\n\n function afterStartOk (reply) {\n switch (reply.id) {\n case defs.ConnectionSecure:\n bail(new Error(\n \"Wasn't expecting to have to go through secure\"));\n break;\n case defs.ConnectionClose:\n bail(new Error(fmt(\"Handshake terminated by server: %s\",\n closeMsg(reply))));\n break;\n case defs.ConnectionTune:\n var fields = reply.fields;\n tunedOptions.frameMax =\n negotiate(fields.frameMax, allFields.frameMax);\n tunedOptions.channelMax =\n negotiate(fields.channelMax, allFields.channelMax);\n tunedOptions.heartbeat =\n negotiate(fields.heartbeat, allFields.heartbeat);\n try {\n send(defs.ConnectionTuneOk);\n send(defs.ConnectionOpen);\n } catch (err) {\n bail(err);\n return;\n }\n expect(defs.ConnectionOpenOk, onOpenOk);\n break;\n default:\n bail(new Error(\n fmt(\"Expected connection.secure, connection.close, \" +\n \"or connection.tune during handshake; got %s\",\n inspect(reply, false))));\n break;\n }\n }\n\n function onOpenOk (openOk) {\n // Impose the maximum of the encoded value, if the negotiated\n // value is zero, meaning \"no, no limits\"\n self.channelMax = tunedOptions.channelMax || 0xffff;\n self.frameMax = tunedOptions.frameMax || 0xffffffff;\n // 0 means \"no heartbeat\", rather than \"maximum period of\n // heartbeating\"\n self.heartbeat = tunedOptions.heartbeat;\n self.heartbeater = self.startHeartbeater();\n self.accept = mainAccept;\n succeed(openOk);\n }\n\n // If the server closes the connection, it's probably because of\n // something we did\n function endWhileOpening (err) {\n bail(err || new Error('Socket closed abruptly ' +\n 'during opening handshake'));\n }\n\n this.stream.on('end', endWhileOpening);\n this.stream.on('error', endWhileOpening);\n\n function succeed (ok) {\n self.stream.removeListener('end', endWhileOpening);\n self.stream.removeListener('error', endWhileOpening);\n self.stream.on('error', self.onSocketError.bind(self));\n self.stream.on('end', self.onSocketError.bind(\n self, new Error('Unexpected close')));\n self.on('frameError', self.onSocketError.bind(self));\n self.acceptLoop();\n openCallback(null, ok);\n }\n\n // Now kick off the handshake by prompting the server\n this.sendProtocolHeader();\n expect(defs.ConnectionStart, onStart);\n }\n\n // Closing things: AMQP has a closing handshake that applies to\n // closing both connects and channels. As the initiating party, I send\n // Close, then ignore all frames until I see either CloseOK --\n // which signifies that the other party has seen the Close and shut\n // the connection or channel down, so it's fine to free resources; or\n // Close, which means the other party also wanted to close the\n // whatever, and I should send CloseOk so it can free resources,\n // then go back to waiting for the CloseOk. If I receive a Close\n // out of the blue, I should throw away any unsent frames (they will\n // be ignored anyway) and send CloseOk, then clean up resources. In\n // general, Close out of the blue signals an error (or a forced\n // closure, which may as well be an error).\n //\n // RUNNING [1] --- send Close ---> Closing [2] ---> recv Close --+\n // | | [3]\n // | +------ send CloseOk ------+\n // recv Close recv CloseOk\n // | |\n // V V\n // Ended [4] ---- send CloseOk ---> Closed [5]\n //\n // [1] All frames accepted; getting a Close frame from the server\n // moves to Ended; client may initiate a close by sending Close\n // itself.\n // [2] Client has initiated a close; only CloseOk or (simulataneously\n // sent) Close is accepted.\n // [3] Simultaneous close\n // [4] Server won't send any more frames; accept no more frames, send\n // CloseOk.\n // [5] Fully closed, client will send no more, server will send no\n // more. Signal 'close' or 'error'.\n //\n // There are two signalling mechanisms used in the API. The first is\n // that calling `close` will return a promise, that will either\n // resolve once the connection or channel is cleanly shut down, or\n // will reject if the shutdown times out.\n //\n // The second is the 'close' and 'error' events. These are\n // emitted as above. The events will fire *before* promises are\n // resolved.\n // Close the connection without even giving a reason. Typical.\n close (closeCallback) {\n var k = closeCallback && function () { closeCallback(null); };\n this.closeBecause(\"Cheers, thanks\", constants.REPLY_SUCCESS, k);\n }\n\n // Close with a reason and a 'code'. I'm pretty sure RabbitMQ totally\n // ignores these; maybe it logs them. The continuation will be invoked\n // when the CloseOk has been received, and before the 'close' event.\n closeBecause (reason, code, k) {\n this.sendMethod(0, defs.ConnectionClose, {\n replyText: reason,\n replyCode: code,\n methodId: 0, classId: 0\n });\n var s = stackCapture('closeBecause called: ' + reason);\n this.toClosing(s, k);\n }\n\n closeWithError (reason, code, error) {\n this.emit('error', error);\n this.closeBecause(reason, code);\n }\n\n onSocketError (err) {\n if (!this.expectSocketClose) {\n // forestall any more calls to onSocketError, since we're signed\n // up for `'error'` *and* `'end'`\n this.expectSocketClose = true;\n this.emit('error', err);\n var s = stackCapture('Socket error');\n this.toClosed(s, err);\n }\n }\n\n // A close has been initiated. Repeat: a close has been initiated.\n // This means we should not send more frames, anyway they will be\n // ignored. We also have to shut down all the channels.\n toClosing (capturedStack, k) {\n var send = this.sendMethod.bind(this);\n\n this.accept = function (f) {\n if (f.id === defs.ConnectionCloseOk) {\n if (k)\n k();\n var s = stackCapture('ConnectionCloseOk received');\n this.toClosed(s, undefined);\n }\n else if (f.id === defs.ConnectionClose) {\n send(0, defs.ConnectionCloseOk, {});\n }\n // else ignore frame\n };\n invalidateSend(this, 'Connection closing', capturedStack);\n }\n\n _closeChannels (capturedStack) {\n for (var i = 1; i < this.channels.length; i++) {\n var ch = this.channels[i];\n if (ch !== null) {\n ch.channel.toClosed(capturedStack); // %%% or with an error? not clear\n }\n }\n }\n\n // A close has been confirmed. Cease all communication.\n toClosed (capturedStack, maybeErr) {\n this._closeChannels(capturedStack);\n var info = fmt('Connection closed (%s)',\n (maybeErr) ? maybeErr.toString() : 'by client');\n // Tidy up, invalidate enverything, dynamite the bridges.\n invalidateSend(this, info, capturedStack);\n this.accept = invalidOp(info, capturedStack);\n this.close = function (cb) {\n cb && cb(new IllegalOperationError(info, capturedStack));\n };\n if (this.heartbeater)\n this.heartbeater.clear();\n // This is certainly true now, if it wasn't before\n this.expectSocketClose = true;\n this.stream.end();\n this.emit('close', maybeErr);\n }\n\n _updateSecret(newSecret, reason, cb) {\n this.sendMethod(0, defs.ConnectionUpdateSecret, {\n newSecret,\n reason\n });\n this.once('update-secret-ok', cb);\n }\n\n // ===\n startHeartbeater () {\n if (this.heartbeat === 0)\n return null;\n else {\n var self = this;\n var hb = new Heart(this.heartbeat,\n this.checkSend.bind(this),\n this.checkRecv.bind(this));\n hb.on('timeout', function () {\n var hberr = new Error(\"Heartbeat timeout\");\n self.emit('error', hberr);\n var s = stackCapture('Heartbeat timeout');\n self.toClosed(s, hberr);\n });\n hb.on('beat', function () {\n self.sendHeartbeat();\n });\n return hb;\n }\n }\n\n // I use an array to keep track of the channels, rather than an\n // object. The channel identifiers are numbers, and allocated by the\n // connection. If I try to allocate low numbers when they are\n // available (which I do, by looking from the start of the bitset),\n // this ought to keep the array small, and out of 'sparse array\n // storage'. I also set entries to null, rather than deleting them, in\n // the expectation that the next channel allocation will fill the slot\n // again rather than growing the array. See\n // http://www.html5rocks.com/en/tutorials/speed/v8/\n freshChannel (channel, options) {\n var next = this.freeChannels.nextClearBit(1);\n if (next < 0 || next > this.channelMax)\n throw new Error(\"No channels left to allocate\");\n this.freeChannels.set(next);\n\n var hwm = (options && options.highWaterMark) || DEFAULT_WRITE_HWM;\n var writeBuffer = new PassThrough({\n objectMode: true, highWaterMark: hwm\n });\n this.channels[next] = { channel: channel, buffer: writeBuffer };\n writeBuffer.on('drain', function () {\n channel.onBufferDrain();\n });\n this.muxer.pipeFrom(writeBuffer);\n return next;\n }\n\n releaseChannel (channel) {\n this.freeChannels.clear(channel);\n var buffer = this.channels[channel].buffer;\n buffer.end(); // will also cause it to be unpiped\n this.channels[channel] = null;\n }\n\n acceptLoop () {\n var self = this;\n\n function go () {\n try {\n var f; while (f = self.recvFrame())\n self.accept(f);\n }\n catch (e) {\n self.emit('frameError', e);\n }\n }\n self.stream.on('readable', go);\n go();\n }\n\n step (cb) {\n var self = this;\n function recv () {\n var f;\n try {\n f = self.recvFrame();\n }\n catch (e) {\n cb(e, null);\n return;\n }\n if (f)\n cb(null, f);\n else\n self.stream.once('readable', recv);\n }\n recv();\n }\n\n checkSend () {\n var check = this.sentSinceLastCheck;\n this.sentSinceLastCheck = false;\n return check;\n }\n\n checkRecv () {\n var check = this.recvSinceLastCheck;\n this.recvSinceLastCheck = false;\n return check;\n }\n\n sendBytes (bytes) {\n this.sentSinceLastCheck = true;\n this.stream.write(bytes);\n }\n\n sendHeartbeat () {\n return this.sendBytes(frame.HEARTBEAT_BUF);\n }\n\n sendMethod (channel, Method, fields) {\n var frame = encodeMethod(Method, channel, fields);\n this.sentSinceLastCheck = true;\n var buffer = this.channels[channel].buffer;\n return buffer.write(frame);\n }\n\n sendMessage (channel, Method, fields, Properties, props, content) {\n if (!Buffer.isBuffer(content))\n throw new TypeError('content is not a buffer');\n\n var mframe = encodeMethod(Method, channel, fields);\n var pframe = encodeProperties(Properties, channel,\n content.length, props);\n var buffer = this.channels[channel].buffer;\n this.sentSinceLastCheck = true;\n\n var methodHeaderLen = mframe.length + pframe.length;\n var bodyLen = (content.length > 0) ?\n content.length + FRAME_OVERHEAD : 0;\n var allLen = methodHeaderLen + bodyLen;\n\n if (allLen < SINGLE_CHUNK_THRESHOLD) {\n // Use `allocUnsafe` to avoid excessive allocations and CPU usage\n // from zeroing. The returned Buffer is not zeroed and so must be\n // completely filled to be used safely.\n // See https://github.com/amqp-node/amqplib/pull/695\n var all = Buffer.allocUnsafe(allLen);\n var offset = mframe.copy(all, 0);\n offset += pframe.copy(all, offset);\n\n if (bodyLen > 0)\n makeBodyFrame(channel, content).copy(all, offset);\n return buffer.write(all);\n }\n else {\n if (methodHeaderLen < SINGLE_CHUNK_THRESHOLD) {\n // Use `allocUnsafe` to avoid excessive allocations and CPU usage\n // from zeroing. The returned Buffer is not zeroed and so must be\n // completely filled to be used safely.\n // See https://github.com/amqp-node/amqplib/pull/695\n var both = Buffer.allocUnsafe(methodHeaderLen);\n var offset = mframe.copy(both, 0);\n pframe.copy(both, offset);\n buffer.write(both);\n }\n else {\n buffer.write(mframe);\n buffer.write(pframe);\n }\n return this.sendContent(channel, content);\n }\n }\n\n sendContent (channel, body) {\n if (!Buffer.isBuffer(body)) {\n throw new TypeError(fmt(\"Expected buffer; got %s\", body));\n }\n var writeResult = true;\n var buffer = this.channels[channel].buffer;\n\n var maxBody = this.frameMax - FRAME_OVERHEAD;\n\n for (var offset = 0; offset < body.length; offset += maxBody) {\n var end = offset + maxBody;\n var slice = (end > body.length) ? body.subarray(offset) : body.subarray(offset, end);\n var bodyFrame = makeBodyFrame(channel, slice);\n writeResult = buffer.write(bodyFrame);\n }\n this.sentSinceLastCheck = true;\n return writeResult;\n }\n\n recvFrame () {\n // %%% identifying invariants might help here?\n var frame = parseFrame(this.rest);\n\n if (!frame) {\n var incoming = this.stream.read();\n if (incoming === null) {\n return false;\n }\n else {\n this.recvSinceLastCheck = true;\n this.rest = Buffer.concat([this.rest, incoming]);\n return this.recvFrame();\n }\n }\n else {\n this.rest = frame.rest;\n return decodeFrame(frame);\n }\n }\n}\n\n// Usual frame accept mode\nfunction mainAccept(frame) {\n var rec = this.channels[frame.channel];\n if (rec) { return rec.channel.accept(frame); }\n // NB CHANNEL_ERROR may not be right, but I don't know what is ..\n else\n this.closeWithError(\n fmt('Frame on unknown channel %d', frame.channel),\n constants.CHANNEL_ERROR,\n new Error(fmt(\"Frame on unknown channel: %s\",\n inspect(frame, false))));\n}\n\n// Handle anything that comes through on channel 0, that's the\n// connection control channel. This is only used once mainAccept is\n// installed as the frame handler, after the opening handshake.\nfunction channel0(connection) {\n return function(f) {\n // Once we get a 'close', we know 1. we'll get no more frames, and\n // 2. anything we send except close, or close-ok, will be\n // ignored. If we already sent 'close', this won't be invoked since\n // we're already in closing mode; if we didn't well we're not going\n // to send it now are we.\n if (f === HEARTBEAT); // ignore; it's already counted as activity\n // on the socket, which is its purpose\n else if (f.id === defs.ConnectionClose) {\n // Oh. OK. I guess we're done here then.\n connection.sendMethod(0, defs.ConnectionCloseOk, {});\n var emsg = fmt('Connection closed: %s', closeMsg(f));\n var s = stackCapture(emsg);\n var e = new Error(emsg);\n e.code = f.fields.replyCode;\n if (isFatalError(e)) {\n connection.emit('error', e);\n }\n connection.toClosed(s, e);\n }\n else if (f.id === defs.ConnectionBlocked) {\n connection.emit('blocked', f.fields.reason);\n }\n else if (f.id === defs.ConnectionUnblocked) {\n connection.emit('unblocked');\n }\n else if (f.id === defs.ConnectionUpdateSecretOk) {\n connection.emit('update-secret-ok');\n }\n else {\n connection.closeWithError(\n fmt(\"Unexpected frame on channel 0\"),\n constants.UNEXPECTED_FRAME,\n new Error(fmt(\"Unexpected frame on channel 0: %s\",\n inspect(f, false))));\n }\n };\n}\n\nfunction invalidOp(msg, stack) {\n return function() {\n throw new IllegalOperationError(msg, stack);\n };\n}\n\nfunction invalidateSend(conn, msg, stack) {\n conn.sendMethod = conn.sendContent = conn.sendMessage =\n invalidOp(msg, stack);\n}\n\nvar encodeMethod = defs.encodeMethod;\nvar encodeProperties = defs.encodeProperties;\n\nvar FRAME_OVERHEAD = defs.FRAME_OVERHEAD;\nvar makeBodyFrame = frame.makeBodyFrame;\n\nvar parseFrame = frame.parseFrame;\nvar decodeFrame = frame.decodeFrame;\n\nfunction wrapStream(s) {\n if (s instanceof Duplex) return s;\n else {\n var ws = new Duplex();\n ws.wrap(s); //wraps the readable side of things\n ws._write = function(chunk, encoding, callback) {\n return s.write(chunk, encoding, callback);\n };\n return ws;\n }\n}\n\nfunction isFatalError(error) {\n switch (error && error.code) {\n case defs.constants.CONNECTION_FORCED:\n case defs.constants.REPLY_SUCCESS:\n return false;\n default:\n return true;\n }\n}\n\nmodule.exports.Connection = Connection;\nmodule.exports.isFatalError = isFatalError;\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connection.js"],"sourcesContent":["//\n//\n//\n\n'use strict';\n\nvar defs = require('./defs');\nvar constants = defs.constants;\nvar frame = require('./frame');\nvar HEARTBEAT = frame.HEARTBEAT;\nvar Mux = require('./mux').Mux;\n\nvar Duplex = require('stream').Duplex;\nvar EventEmitter = require('events');\nvar Heart = require('./heartbeat').Heart;\n\nvar methodName = require('./format').methodName;\nvar closeMsg = require('./format').closeMessage;\nvar inspect = require('./format').inspect;\n\nvar BitSet = require('./bitset').BitSet;\nvar fmt = require('util').format;\nvar PassThrough = require('stream').PassThrough;\nvar IllegalOperationError = require('./error').IllegalOperationError;\nvar stackCapture = require('./error').stackCapture;\n\n// High-water mark for channel write buffers, in 'objects' (which are\n// encoded frames as buffers).\nvar DEFAULT_WRITE_HWM = 1024;\n// If all the frames of a message (method, properties, content) total\n// to less than this, copy them into a single buffer and write it all\n// at once. Note that this is less than the minimum frame size: if it\n// was greater, we might have to fragment the content.\nvar SINGLE_CHUNK_THRESHOLD = 2048;\n\nclass Connection extends EventEmitter {\n constructor (underlying) {\n super();\n\n var stream = this.stream = wrapStream(underlying);\n this.muxer = new Mux(stream);\n\n // frames\n this.rest = Buffer.alloc(0);\n this.frameMax = constants.FRAME_MIN_SIZE;\n this.sentSinceLastCheck = false;\n this.recvSinceLastCheck = false;\n\n this.expectSocketClose = false;\n this.freeChannels = new BitSet();\n this.channels = [{\n channel: { accept: channel0(this) },\n buffer: underlying\n }];\n }\n\n // This changed between versions, as did the codec, methods, etc. AMQP\n // 0-9-1 is fairly similar to 0.8, but better, and nothing implements\n // 0.8 that doesn't implement 0-9-1. In other words, it doesn't make\n // much sense to generalise here.\n sendProtocolHeader () {\n this.sendBytes(frame.PROTOCOL_HEADER);\n }\n\n /*\n The frighteningly complicated opening protocol (spec section 2.2.4):\n\n Client -> Server\n\n protocol header ->\n <- start\n start-ok ->\n .. next two zero or more times ..\n <- secure\n secure-ok ->\n <- tune\n tune-ok ->\n open ->\n <- open-ok\n\n If I'm only supporting SASL's PLAIN mechanism (which I am for the time\n being), it gets a bit easier since the server won't in general send\n back a `secure`, it'll just send `tune` after the `start-ok`.\n (SASL PLAIN: http://tools.ietf.org/html/rfc4616)\n\n */\n open (allFields, openCallback0) {\n var self = this;\n var openCallback = openCallback0 || function () { };\n\n // This is where we'll put our negotiated values\n var tunedOptions = Object.create(allFields);\n\n function wait (k) {\n self.step(function (err, frame) {\n if (err !== null)\n bail(err);\n else if (frame.channel !== 0) {\n bail(new Error(\n fmt(\"Frame on channel != 0 during handshake: %s\",\n inspect(frame, false))));\n }\n else\n k(frame);\n });\n }\n\n function expect (Method, k) {\n wait(function (frame) {\n if (frame.id === Method)\n k(frame);\n else {\n bail(new Error(\n fmt(\"Expected %s; got %s\",\n methodName(Method), inspect(frame, false))));\n }\n });\n }\n\n function bail (err) {\n openCallback(err);\n }\n\n function send (Method) {\n // This can throw an exception if there's some problem with the\n // options; e.g., something is a string instead of a number.\n self.sendMethod(0, Method, tunedOptions);\n }\n\n function negotiate (server, desired) {\n // We get sent values for channelMax, frameMax and heartbeat,\n // which we may accept or lower (subject to a minimum for\n // frameMax, but we'll leave that to the server to enforce). In\n // all cases, `0` really means \"no limit\", or rather the highest\n // value in the encoding, e.g., unsigned short for channelMax.\n if (server === 0 || desired === 0) {\n // i.e., whichever places a limit, if either\n return Math.max(server, desired);\n }\n else {\n return Math.min(server, desired);\n }\n }\n\n function onStart (start) {\n var mechanisms = start.fields.mechanisms.toString().split(' ');\n if (mechanisms.indexOf(allFields.mechanism) < 0) {\n bail(new Error(fmt('SASL mechanism %s is not provided by the server',\n allFields.mechanism)));\n return;\n }\n self.serverProperties = start.fields.serverProperties;\n try {\n send(defs.ConnectionStartOk);\n } catch (err) {\n bail(err);\n return;\n }\n wait(afterStartOk);\n }\n\n function afterStartOk (reply) {\n switch (reply.id) {\n case defs.ConnectionSecure:\n bail(new Error(\n \"Wasn't expecting to have to go through secure\"));\n break;\n case defs.ConnectionClose:\n bail(new Error(fmt(\"Handshake terminated by server: %s\",\n closeMsg(reply))));\n break;\n case defs.ConnectionTune:\n var fields = reply.fields;\n tunedOptions.frameMax =\n negotiate(fields.frameMax, allFields.frameMax);\n tunedOptions.channelMax =\n negotiate(fields.channelMax, allFields.channelMax);\n tunedOptions.heartbeat =\n negotiate(fields.heartbeat, allFields.heartbeat);\n try {\n send(defs.ConnectionTuneOk);\n send(defs.ConnectionOpen);\n } catch (err) {\n bail(err);\n return;\n }\n expect(defs.ConnectionOpenOk, onOpenOk);\n break;\n default:\n bail(new Error(\n fmt(\"Expected connection.secure, connection.close, \" +\n \"or connection.tune during handshake; got %s\",\n inspect(reply, false))));\n break;\n }\n }\n\n function onOpenOk (openOk) {\n // Impose the maximum of the encoded value, if the negotiated\n // value is zero, meaning \"no, no limits\"\n self.channelMax = tunedOptions.channelMax || 0xffff;\n self.frameMax = tunedOptions.frameMax || 0xffffffff;\n // 0 means \"no heartbeat\", rather than \"maximum period of\n // heartbeating\"\n self.heartbeat = tunedOptions.heartbeat;\n self.heartbeater = self.startHeartbeater();\n self.accept = mainAccept;\n succeed(openOk);\n }\n\n // If the server closes the connection, it's probably because of\n // something we did\n function endWhileOpening (err) {\n bail(err || new Error('Socket closed abruptly ' +\n 'during opening handshake'));\n }\n\n this.stream.on('end', endWhileOpening);\n this.stream.on('error', endWhileOpening);\n\n function succeed (ok) {\n self.stream.removeListener('end', endWhileOpening);\n self.stream.removeListener('error', endWhileOpening);\n self.stream.on('error', self.onSocketError.bind(self));\n self.stream.on('end', self.onSocketError.bind(\n self, new Error('Unexpected close')));\n self.on('frameError', self.onSocketError.bind(self));\n self.acceptLoop();\n openCallback(null, ok);\n }\n\n // Now kick off the handshake by prompting the server\n this.sendProtocolHeader();\n expect(defs.ConnectionStart, onStart);\n }\n\n // Closing things: AMQP has a closing handshake that applies to\n // closing both connects and channels. As the initiating party, I send\n // Close, then ignore all frames until I see either CloseOK --\n // which signifies that the other party has seen the Close and shut\n // the connection or channel down, so it's fine to free resources; or\n // Close, which means the other party also wanted to close the\n // whatever, and I should send CloseOk so it can free resources,\n // then go back to waiting for the CloseOk. If I receive a Close\n // out of the blue, I should throw away any unsent frames (they will\n // be ignored anyway) and send CloseOk, then clean up resources. In\n // general, Close out of the blue signals an error (or a forced\n // closure, which may as well be an error).\n //\n // RUNNING [1] --- send Close ---> Closing [2] ---> recv Close --+\n // | | [3]\n // | +------ send CloseOk ------+\n // recv Close recv CloseOk\n // | |\n // V V\n // Ended [4] ---- send CloseOk ---> Closed [5]\n //\n // [1] All frames accepted; getting a Close frame from the server\n // moves to Ended; client may initiate a close by sending Close\n // itself.\n // [2] Client has initiated a close; only CloseOk or (simulataneously\n // sent) Close is accepted.\n // [3] Simultaneous close\n // [4] Server won't send any more frames; accept no more frames, send\n // CloseOk.\n // [5] Fully closed, client will send no more, server will send no\n // more. Signal 'close' or 'error'.\n //\n // There are two signalling mechanisms used in the API. The first is\n // that calling `close` will return a promise, that will either\n // resolve once the connection or channel is cleanly shut down, or\n // will reject if the shutdown times out.\n //\n // The second is the 'close' and 'error' events. These are\n // emitted as above. The events will fire *before* promises are\n // resolved.\n // Close the connection without even giving a reason. Typical.\n close (closeCallback) {\n var k = closeCallback && function () { closeCallback(null); };\n this.closeBecause(\"Cheers, thanks\", constants.REPLY_SUCCESS, k);\n }\n\n // Close with a reason and a 'code'. I'm pretty sure RabbitMQ totally\n // ignores these; maybe it logs them. The continuation will be invoked\n // when the CloseOk has been received, and before the 'close' event.\n closeBecause (reason, code, k) {\n this.sendMethod(0, defs.ConnectionClose, {\n replyText: reason,\n replyCode: code,\n methodId: 0, classId: 0\n });\n var s = stackCapture('closeBecause called: ' + reason);\n this.toClosing(s, k);\n }\n\n closeWithError (reason, code, error) {\n this.emit('error', error);\n this.closeBecause(reason, code);\n }\n\n onSocketError (err) {\n if (!this.expectSocketClose) {\n // forestall any more calls to onSocketError, since we're signed\n // up for `'error'` *and* `'end'`\n this.expectSocketClose = true;\n this.emit('error', err);\n var s = stackCapture('Socket error');\n this.toClosed(s, err);\n }\n }\n\n // A close has been initiated. Repeat: a close has been initiated.\n // This means we should not send more frames, anyway they will be\n // ignored. We also have to shut down all the channels.\n toClosing (capturedStack, k) {\n var send = this.sendMethod.bind(this);\n\n this.accept = function (f) {\n if (f.id === defs.ConnectionCloseOk) {\n if (k)\n k();\n var s = stackCapture('ConnectionCloseOk received');\n this.toClosed(s, undefined);\n }\n else if (f.id === defs.ConnectionClose) {\n send(0, defs.ConnectionCloseOk, {});\n }\n // else ignore frame\n };\n invalidateSend(this, 'Connection closing', capturedStack);\n }\n\n _closeChannels (capturedStack) {\n for (var i = 1; i < this.channels.length; i++) {\n var ch = this.channels[i];\n if (ch !== null) {\n ch.channel.toClosed(capturedStack); // %%% or with an error? not clear\n }\n }\n }\n\n // A close has been confirmed. Cease all communication.\n toClosed (capturedStack, maybeErr) {\n this._closeChannels(capturedStack);\n var info = fmt('Connection closed (%s)',\n (maybeErr) ? maybeErr.toString() : 'by client');\n // Tidy up, invalidate enverything, dynamite the bridges.\n invalidateSend(this, info, capturedStack);\n this.accept = invalidOp(info, capturedStack);\n this.close = function (cb) {\n cb && cb(new IllegalOperationError(info, capturedStack));\n };\n if (this.heartbeater)\n this.heartbeater.clear();\n // This is certainly true now, if it wasn't before\n this.expectSocketClose = true;\n this.stream.end();\n this.emit('close', maybeErr);\n }\n\n _updateSecret(newSecret, reason, cb) {\n this.sendMethod(0, defs.ConnectionUpdateSecret, {\n newSecret,\n reason\n });\n this.once('update-secret-ok', cb);\n }\n\n // ===\n startHeartbeater () {\n if (this.heartbeat === 0)\n return null;\n else {\n var self = this;\n var hb = new Heart(this.heartbeat,\n this.checkSend.bind(this),\n this.checkRecv.bind(this));\n hb.on('timeout', function () {\n var hberr = new Error(\"Heartbeat timeout\");\n self.emit('error', hberr);\n var s = stackCapture('Heartbeat timeout');\n self.toClosed(s, hberr);\n });\n hb.on('beat', function () {\n self.sendHeartbeat();\n });\n return hb;\n }\n }\n\n // I use an array to keep track of the channels, rather than an\n // object. The channel identifiers are numbers, and allocated by the\n // connection. If I try to allocate low numbers when they are\n // available (which I do, by looking from the start of the bitset),\n // this ought to keep the array small, and out of 'sparse array\n // storage'. I also set entries to null, rather than deleting them, in\n // the expectation that the next channel allocation will fill the slot\n // again rather than growing the array. See\n // http://www.html5rocks.com/en/tutorials/speed/v8/\n freshChannel (channel, options) {\n var next = this.freeChannels.nextClearBit(1);\n if (next < 0 || next > this.channelMax)\n throw new Error(\"No channels left to allocate\");\n this.freeChannels.set(next);\n\n var hwm = (options && options.highWaterMark) || DEFAULT_WRITE_HWM;\n var writeBuffer = new PassThrough({\n objectMode: true, highWaterMark: hwm\n });\n this.channels[next] = { channel: channel, buffer: writeBuffer };\n writeBuffer.on('drain', function () {\n channel.onBufferDrain();\n });\n this.muxer.pipeFrom(writeBuffer);\n return next;\n }\n\n releaseChannel (channel) {\n this.freeChannels.clear(channel);\n var buffer = this.channels[channel].buffer;\n buffer.end(); // will also cause it to be unpiped\n this.channels[channel] = null;\n }\n\n acceptLoop () {\n var self = this;\n\n function go () {\n try {\n var f; while (f = self.recvFrame())\n self.accept(f);\n }\n catch (e) {\n self.emit('frameError', e);\n }\n }\n self.stream.on('readable', go);\n go();\n }\n\n step (cb) {\n var self = this;\n function recv () {\n var f;\n try {\n f = self.recvFrame();\n }\n catch (e) {\n cb(e, null);\n return;\n }\n if (f)\n cb(null, f);\n else\n self.stream.once('readable', recv);\n }\n recv();\n }\n\n checkSend () {\n var check = this.sentSinceLastCheck;\n this.sentSinceLastCheck = false;\n return check;\n }\n\n checkRecv () {\n var check = this.recvSinceLastCheck;\n this.recvSinceLastCheck = false;\n return check;\n }\n\n sendBytes (bytes) {\n this.sentSinceLastCheck = true;\n this.stream.write(bytes);\n }\n\n sendHeartbeat () {\n return this.sendBytes(frame.HEARTBEAT_BUF);\n }\n\n sendMethod (channel, Method, fields) {\n var frame = encodeMethod(Method, channel, fields);\n this.sentSinceLastCheck = true;\n var buffer = this.channels[channel].buffer;\n return buffer.write(frame);\n }\n\n sendMessage (channel, Method, fields, Properties, props, content) {\n if (!Buffer.isBuffer(content))\n throw new TypeError('content is not a buffer');\n\n var mframe = encodeMethod(Method, channel, fields);\n var pframe = encodeProperties(Properties, channel,\n content.length, props);\n var buffer = this.channels[channel].buffer;\n this.sentSinceLastCheck = true;\n\n var methodHeaderLen = mframe.length + pframe.length;\n var bodyLen = (content.length > 0) ?\n content.length + FRAME_OVERHEAD : 0;\n var allLen = methodHeaderLen + bodyLen;\n\n if (allLen < SINGLE_CHUNK_THRESHOLD) {\n // Use `allocUnsafe` to avoid excessive allocations and CPU usage\n // from zeroing. The returned Buffer is not zeroed and so must be\n // completely filled to be used safely.\n // See https://github.com/amqp-node/amqplib/pull/695\n var all = Buffer.allocUnsafe(allLen);\n var offset = mframe.copy(all, 0);\n offset += pframe.copy(all, offset);\n\n if (bodyLen > 0)\n makeBodyFrame(channel, content).copy(all, offset);\n return buffer.write(all);\n }\n else {\n if (methodHeaderLen < SINGLE_CHUNK_THRESHOLD) {\n // Use `allocUnsafe` to avoid excessive allocations and CPU usage\n // from zeroing. The returned Buffer is not zeroed and so must be\n // completely filled to be used safely.\n // See https://github.com/amqp-node/amqplib/pull/695\n var both = Buffer.allocUnsafe(methodHeaderLen);\n var offset = mframe.copy(both, 0);\n pframe.copy(both, offset);\n buffer.write(both);\n }\n else {\n buffer.write(mframe);\n buffer.write(pframe);\n }\n return this.sendContent(channel, content);\n }\n }\n\n sendContent (channel, body) {\n if (!Buffer.isBuffer(body)) {\n throw new TypeError(fmt(\"Expected buffer; got %s\", body));\n }\n var writeResult = true;\n var buffer = this.channels[channel].buffer;\n\n var maxBody = this.frameMax - FRAME_OVERHEAD;\n\n for (var offset = 0; offset < body.length; offset += maxBody) {\n var end = offset + maxBody;\n var slice = (end > body.length) ? body.subarray(offset) : body.subarray(offset, end);\n var bodyFrame = makeBodyFrame(channel, slice);\n writeResult = buffer.write(bodyFrame);\n }\n this.sentSinceLastCheck = true;\n return writeResult;\n }\n\n recvFrame () {\n // %%% identifying invariants might help here?\n var frame = parseFrame(this.rest);\n\n if (!frame) {\n var incoming = this.stream.read();\n if (incoming === null) {\n return false;\n }\n else {\n this.recvSinceLastCheck = true;\n this.rest = Buffer.concat([this.rest, incoming]);\n return this.recvFrame();\n }\n }\n else {\n this.rest = frame.rest;\n return decodeFrame(frame);\n }\n }\n}\n\n// Usual frame accept mode\nfunction mainAccept(frame) {\n var rec = this.channels[frame.channel];\n if (rec) { return rec.channel.accept(frame); }\n // NB CHANNEL_ERROR may not be right, but I don't know what is ..\n else\n this.closeWithError(\n fmt('Frame on unknown channel %d', frame.channel),\n constants.CHANNEL_ERROR,\n new Error(fmt(\"Frame on unknown channel: %s\",\n inspect(frame, false))));\n}\n\n// Handle anything that comes through on channel 0, that's the\n// connection control channel. This is only used once mainAccept is\n// installed as the frame handler, after the opening handshake.\nfunction channel0(connection) {\n return function(f) {\n // Once we get a 'close', we know 1. we'll get no more frames, and\n // 2. anything we send except close, or close-ok, will be\n // ignored. If we already sent 'close', this won't be invoked since\n // we're already in closing mode; if we didn't well we're not going\n // to send it now are we.\n if (f === HEARTBEAT); // ignore; it's already counted as activity\n // on the socket, which is its purpose\n else if (f.id === defs.ConnectionClose) {\n // Oh. OK. I guess we're done here then.\n connection.sendMethod(0, defs.ConnectionCloseOk, {});\n var emsg = fmt('Connection closed: %s', closeMsg(f));\n var s = stackCapture(emsg);\n var e = new Error(emsg);\n e.code = f.fields.replyCode;\n if (isFatalError(e)) {\n connection.emit('error', e);\n }\n connection.toClosed(s, e);\n }\n else if (f.id === defs.ConnectionBlocked) {\n connection.emit('blocked', f.fields.reason);\n }\n else if (f.id === defs.ConnectionUnblocked) {\n connection.emit('unblocked');\n }\n else if (f.id === defs.ConnectionUpdateSecretOk) {\n connection.emit('update-secret-ok');\n }\n else {\n connection.closeWithError(\n fmt(\"Unexpected frame on channel 0\"),\n constants.UNEXPECTED_FRAME,\n new Error(fmt(\"Unexpected frame on channel 0: %s\",\n inspect(f, false))));\n }\n };\n}\n\nfunction invalidOp(msg, stack) {\n return function() {\n throw new IllegalOperationError(msg, stack);\n };\n}\n\nfunction invalidateSend(conn, msg, stack) {\n conn.sendMethod = conn.sendContent = conn.sendMessage =\n invalidOp(msg, stack);\n}\n\nvar encodeMethod = defs.encodeMethod;\nvar encodeProperties = defs.encodeProperties;\n\nvar FRAME_OVERHEAD = defs.FRAME_OVERHEAD;\nvar makeBodyFrame = frame.makeBodyFrame;\n\nvar parseFrame = frame.parseFrame;\nvar decodeFrame = frame.decodeFrame;\n\nfunction wrapStream(s) {\n if (s instanceof Duplex) return s;\n else {\n var ws = new Duplex();\n ws.wrap(s); //wraps the readable side of things\n ws._write = function(chunk, encoding, callback) {\n return s.write(chunk, encoding, callback);\n };\n return ws;\n }\n}\n\nfunction isFatalError(error) {\n switch (error && error.code) {\n case defs.constants.CONNECTION_FORCED:\n case defs.constants.REPLY_SUCCESS:\n return false;\n default:\n return true;\n }\n}\n\nmodule.exports.Connection = Connection;\nmodule.exports.isFatalError = isFatalError;\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/credentials.js"],"sourcesContent":["//\n//\n//\n\n// Different kind of credentials that can be supplied when opening a\n// connection, corresponding to SASL mechanisms There's only two\n// useful mechanisms that RabbitMQ implements:\n// * PLAIN (send username and password in the plain)\n// * EXTERNAL (assume the server will figure out who you are from\n// context, i.e., your SSL certificate)\nvar codec = require('./codec')\n\nmodule.exports.plain = function(user, passwd) {\n return {\n mechanism: 'PLAIN',\n response: function() {\n return Buffer.from(['', user, passwd].join(String.fromCharCode(0)))\n },\n username: user,\n password: passwd\n }\n}\n\nmodule.exports.amqplain = function(user, passwd) {\n return {\n mechanism: 'AMQPLAIN',\n response: function() {\n const buffer = Buffer.alloc(16384);\n const size = codec.encodeTable(buffer, { LOGIN: user, PASSWORD: passwd}, 0);\n return buffer.subarray(4, size);\n },\n username: user,\n password: passwd\n }\n}\n\nmodule.exports.external = function() {\n return {\n mechanism: 'EXTERNAL',\n response: function() { return Buffer.from(''); }\n }\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;CAUA,IAAI;CAEJ,OAAO,QAAQ,QAAQ,SAAS,MAAM,QAAQ;EAC5C,OAAO;GACL,WAAW;GACX,UAAU,WAAW;IACnB,OAAO,OAAO,KAAK;KAAC;KAAI;KAAM;IAAM,
|
|
1
|
+
{"version":3,"file":"credentials.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/credentials.js"],"sourcesContent":["//\n//\n//\n\n// Different kind of credentials that can be supplied when opening a\n// connection, corresponding to SASL mechanisms There's only two\n// useful mechanisms that RabbitMQ implements:\n// * PLAIN (send username and password in the plain)\n// * EXTERNAL (assume the server will figure out who you are from\n// context, i.e., your SSL certificate)\nvar codec = require('./codec')\n\nmodule.exports.plain = function(user, passwd) {\n return {\n mechanism: 'PLAIN',\n response: function() {\n return Buffer.from(['', user, passwd].join(String.fromCharCode(0)))\n },\n username: user,\n password: passwd\n }\n}\n\nmodule.exports.amqplain = function(user, passwd) {\n return {\n mechanism: 'AMQPLAIN',\n response: function() {\n const buffer = Buffer.alloc(16384);\n const size = codec.encodeTable(buffer, { LOGIN: user, PASSWORD: passwd}, 0);\n return buffer.subarray(4, size);\n },\n username: user,\n password: passwd\n }\n}\n\nmodule.exports.external = function() {\n return {\n mechanism: 'EXTERNAL',\n response: function() { return Buffer.from(''); }\n }\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;CAUA,IAAI;CAEJ,OAAO,QAAQ,QAAQ,SAAS,MAAM,QAAQ;EAC5C,OAAO;GACL,WAAW;GACX,UAAU,WAAW;IACnB,OAAO,OAAO,KAAK;KAAC;KAAI;KAAM;IAAM,CAAC,CAAC,KAAK,OAAO,aAAa,CAAC,CAAC,CAAC;GACpE;GACA,UAAU;GACV,UAAU;EACZ;CACF;CAEA,OAAO,QAAQ,WAAW,SAAS,MAAM,QAAQ;EAC/C,OAAO;GACL,WAAW;GACX,UAAU,WAAW;IACnB,MAAM,SAAS,OAAO,MAAM,KAAK;IACjC,MAAM,OAAO,MAAM,YAAY,QAAQ;KAAE,OAAO;KAAM,UAAU;IAAM,GAAG,CAAC;IAC1E,OAAO,OAAO,SAAS,GAAG,IAAI;GAChC;GACA,UAAU;GACV,UAAU;EACZ;CACF;CAEA,OAAO,QAAQ,WAAW,WAAW;EACnC,OAAO;GACL,WAAW;GACX,UAAU,WAAW;IAAE,OAAO,OAAO,KAAK,EAAE;GAAG;EACjD;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/error.js"],"sourcesContent":["var inherits = require('util').inherits;\n\nfunction trimStack(stack, num) {\n return stack && stack.split('\\n').slice(num).join('\\n');\n}\n\nfunction IllegalOperationError(msg, stack) {\n var tmp = new Error();\n this.message = msg;\n this.stack = this.toString() + '\\n' + trimStack(tmp.stack, 2);\n this.stackAtStateChange = stack;\n}\ninherits(IllegalOperationError, Error);\n\nIllegalOperationError.prototype.name = 'IllegalOperationError';\n\nfunction stackCapture(reason) {\n var e = new Error();\n return 'Stack capture: ' + reason + '\\n' +\n trimStack(e.stack, 2);\n}\n\nmodule.exports.IllegalOperationError = IllegalOperationError;\nmodule.exports.stackCapture = stackCapture;\n"],"x_google_ignoreList":[0],"mappings":";;;;CAAA,IAAI,qBAAmB,MAAM,
|
|
1
|
+
{"version":3,"file":"error.mjs","names":[],"sources":["../../../../../../../../../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/error.js"],"sourcesContent":["var inherits = require('util').inherits;\n\nfunction trimStack(stack, num) {\n return stack && stack.split('\\n').slice(num).join('\\n');\n}\n\nfunction IllegalOperationError(msg, stack) {\n var tmp = new Error();\n this.message = msg;\n this.stack = this.toString() + '\\n' + trimStack(tmp.stack, 2);\n this.stackAtStateChange = stack;\n}\ninherits(IllegalOperationError, Error);\n\nIllegalOperationError.prototype.name = 'IllegalOperationError';\n\nfunction stackCapture(reason) {\n var e = new Error();\n return 'Stack capture: ' + reason + '\\n' +\n trimStack(e.stack, 2);\n}\n\nmodule.exports.IllegalOperationError = IllegalOperationError;\nmodule.exports.stackCapture = stackCapture;\n"],"x_google_ignoreList":[0],"mappings":";;;;CAAA,IAAI,qBAAmB,MAAM,CAAC,CAAC;CAE/B,SAAS,UAAU,OAAO,KAAK;EAC7B,OAAO,SAAS,MAAM,MAAM,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI;CACxD;CAEA,SAAS,sBAAsB,KAAK,OAAO;EACzC,IAAI,sBAAM,IAAI,MAAM;EACpB,KAAK,UAAU;EACf,KAAK,QAAQ,KAAK,SAAS,IAAI,OAAO,UAAU,IAAI,OAAO,CAAC;EAC5D,KAAK,qBAAqB;CAC5B;CACA,SAAS,uBAAuB,KAAK;CAErC,sBAAsB,UAAU,OAAO;CAEvC,SAAS,aAAa,QAAQ;EAC5B,IAAI,oBAAI,IAAI,MAAM;EAClB,OAAO,oBAAoB,SAAS,OAClC,UAAU,EAAE,OAAO,CAAC;CACxB;CAEA,OAAO,QAAQ,wBAAwB;CACvC,OAAO,QAAQ,eAAe"}
|