@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.
Files changed (430) hide show
  1. package/cjs/{channel_api-ChOeNKM1.cjs → channel_api-CBB_XoIl.cjs} +22 -22
  2. package/cjs/{channel_api-ChOeNKM1.cjs.map → channel_api-CBB_XoIl.cjs.map} +1 -1
  3. package/cjs/chunk-fl3r8ClO.cjs +41 -0
  4. package/cjs/{src-Dy5nwVcs.cjs → esm-FB2hc0-o.cjs} +210 -330
  5. package/cjs/esm-FB2hc0-o.cjs.map +1 -0
  6. package/cjs/index.cjs +1 -1
  7. package/cjs/index.cjs.map +1 -1
  8. package/cjs/rabbitmq-driver-CIvkulXX.cjs +3 -0
  9. package/esm/channels/database-channel.d.mts.map +1 -1
  10. package/esm/config.d.mts.map +1 -1
  11. package/esm/dispatch/define-channel.d.mts.map +1 -1
  12. package/esm/dispatch/define-notification.d.mts.map +1 -1
  13. package/esm/dispatch/define-notification.mjs.map +1 -1
  14. package/esm/dispatch/notifications-event-bus.mjs.map +1 -1
  15. package/esm/dispatch/notify.mjs.map +1 -1
  16. package/esm/errors.d.mts.map +1 -1
  17. package/esm/in-app/base-notifications-repository.d.mts.map +1 -1
  18. package/esm/in-app/database-notification.d.mts.map +1 -1
  19. package/esm/in-app/in-app.d.mts.map +1 -1
  20. package/esm/index.d.mts +4 -0
  21. package/esm/migration/notification-columns.mjs.map +1 -1
  22. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs.map +1 -1
  23. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs.map +1 -1
  24. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs.map +1 -1
  25. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs.map +1 -1
  26. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs.map +1 -1
  27. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/words.mjs.map +1 -1
  28. package/esm/node_modules/.pnpm/@mongez_supportive-is@2.1.4/node_modules/@mongez/supportive-is/esm/index.mjs.map +1 -1
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/index.mjs +3 -0
  36. 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
  37. 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
  38. 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
  39. 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
  40. package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/decorators/index.mjs +3 -0
  41. package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/index.mjs +5 -0
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/index.d.mts +1 -0
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. package/esm/node_modules/.pnpm/@warlock.js_herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/utils/index.mjs +3 -0
  67. package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/config.mjs +1 -1
  68. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/config.mjs.map +1 -0
  69. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/factory/index.mjs +3 -0
  70. package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/factory/validate.mjs +1 -1
  71. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/factory/validate.mjs.map +1 -0
  72. package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/factory/validators.mjs +1 -1
  73. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/factory/validators.mjs.map +1 -0
  74. 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
  75. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/date-helpers.mjs.map +1 -0
  76. 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
  77. 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
  78. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/index.mjs +3 -0
  79. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/is-empty-value.mjs +10 -0
  80. 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
  81. 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
  82. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/path-helpers.mjs.map +1 -0
  83. 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
  84. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/helpers/validation-helpers.mjs.map +1 -0
  85. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/index.d.mts +10 -0
  86. package/esm/{seal/src → node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm}/index.mjs +7 -0
  87. 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
  88. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/array-mutators.mjs.map +1 -0
  89. 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
  90. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/date-mutators.mjs.map +1 -0
  91. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/index.mjs +7 -0
  92. 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
  93. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/number-mutators.mjs.map +1 -0
  94. 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
  95. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/object-mutators.mjs.map +1 -0
  96. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs +9 -0
  97. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs.map +1 -0
  98. 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
  99. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/mutators/string-mutators.mjs.map +1 -0
  100. 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
  101. 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
  102. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/array/index.mjs +3 -0
  103. 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
  104. 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
  105. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/color/index.mjs +3 -0
  106. 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
  107. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/enum.mjs.map +1 -0
  108. 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
  109. 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
  110. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/index.mjs +8 -0
  111. 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
  112. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/instanceof.mjs.map +1 -0
  113. 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
  114. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/common/literal.mjs.map +1 -0
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. 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
  121. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/conditional/index.mjs +12 -0
  122. 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
  123. 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
  124. 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
  125. 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
  126. 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
  127. 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
  128. 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
  129. 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
  130. 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
  131. 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
  132. 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
  133. 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
  134. 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
  135. 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
  136. 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
  137. 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
  138. 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
  139. 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
  140. 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
  141. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/equal.mjs.map +1 -0
  142. 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
  143. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/forbidden.mjs.map +1 -0
  144. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/index.mjs +7 -0
  145. 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
  146. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/required.mjs.map +1 -0
  147. 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
  148. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/union.mjs.map +1 -0
  149. 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
  150. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/core/when.mjs.map +1 -0
  151. 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
  152. 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
  153. 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
  154. 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
  155. 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
  156. 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
  157. 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
  158. 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
  159. 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
  160. 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
  161. 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
  162. 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
  163. 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
  164. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/date.mjs.map +1 -0
  165. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/date/index.mjs +9 -0
  166. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/index.mjs +57 -0
  167. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/length/index.mjs +3 -0
  168. 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
  169. 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
  170. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/number/index.mjs +3 -0
  171. 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
  172. 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
  173. 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
  174. 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
  175. 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
  176. 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
  177. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/scalar/index.mjs +4 -0
  178. 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
  179. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/alpha.mjs.map +1 -0
  180. 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
  181. 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
  182. 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
  183. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/email.mjs.map +1 -0
  184. 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
  185. 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
  186. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/index.mjs +13 -0
  187. 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
  188. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/ip.mjs.map +1 -0
  189. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/matches.mjs +4 -0
  190. 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
  191. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/pattern.mjs.map +1 -0
  192. 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
  193. 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
  194. 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
  195. 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
  196. 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
  197. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/rules/string/url.mjs.map +1 -0
  198. 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
  199. 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
  200. 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
  201. 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
  202. 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
  203. 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
  204. 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
  205. 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
  206. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/standard-schema/types.d.mts +97 -0
  207. 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
  208. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/conditional-types.d.mts +16 -0
  209. 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
  210. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/context-types.d.mts +42 -0
  211. 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
  212. 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
  213. 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
  214. 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
  215. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/date-types.mjs.map +1 -0
  216. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/mutator-types.d.mts +28 -0
  217. 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
  218. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/result-types.d.mts +17 -0
  219. 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
  220. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/rule-types.d.mts +53 -0
  221. 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
  222. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/types/schema-types.d.mts +11 -0
  223. 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
  224. 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
  225. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/any-validator.mjs.map +1 -0
  226. 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
  227. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/array-validator.mjs.map +1 -0
  228. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/base-validator.d.mts +492 -0
  229. 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
  230. 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
  231. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/base-validator.mjs.map +1 -0
  232. 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
  233. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/boolean-validator.mjs.map +1 -0
  234. 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
  235. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/computed-validator.mjs.map +1 -0
  236. 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
  237. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/date-validator.mjs.map +1 -0
  238. 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
  239. 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
  240. 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
  241. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/float-validator.mjs.map +1 -0
  242. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/index.mjs +28 -0
  243. 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
  244. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/instanceof-validator.mjs.map +1 -0
  245. 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
  246. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/int-validator.mjs.map +1 -0
  247. 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
  248. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/lazy-validator.mjs.map +1 -0
  249. 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
  250. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/literal-validator.mjs.map +1 -0
  251. 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
  252. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/managed-validator.mjs.map +1 -0
  253. 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
  254. 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
  255. 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
  256. 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
  257. 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
  258. 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
  259. 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
  260. 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
  261. 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
  262. 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
  263. 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
  264. 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
  265. 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
  266. 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
  267. 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
  268. 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
  269. 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
  270. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/number-validator.mjs.map +1 -0
  271. 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
  272. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/numeric-validator.mjs.map +1 -0
  273. 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
  274. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/object-validator.mjs.map +1 -0
  275. 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
  276. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/primitive-validator.mjs.map +1 -0
  277. 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
  278. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/record-validator.mjs.map +1 -0
  279. 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
  280. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/scalar-validator.mjs.map +1 -0
  281. 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
  282. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/string-validator.mjs.map +1 -0
  283. 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
  284. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/tuple-validator.mjs.map +1 -0
  285. 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
  286. package/esm/node_modules/.pnpm/@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/validators/union-validator.mjs.map +1 -0
  287. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/channel_api.mjs.map +1 -1
  288. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel.mjs.map +1 -1
  289. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel_model.mjs.map +1 -1
  290. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connect.mjs.map +1 -1
  291. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connection.mjs.map +1 -1
  292. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/credentials.mjs.map +1 -1
  293. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/error.mjs.map +1 -1
  294. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/format.mjs.map +1 -1
  295. package/esm/node_modules/.pnpm/buffer-more-ints@1.0.0/node_modules/buffer-more-ints/buffer-more-ints.mjs.map +1 -1
  296. package/esm/node_modules/.pnpm/dayjs@1.11.23/node_modules/dayjs/dayjs.min.mjs.map +1 -1
  297. package/esm/node_modules/.pnpm/requires-port@1.0.0/node_modules/requires-port/index.mjs.map +1 -1
  298. package/esm/node_modules/.pnpm/url-parse@1.5.10/node_modules/url-parse/index.mjs.map +1 -1
  299. package/esm/queue/herald-queue.mjs.map +1 -1
  300. package/esm/queue/load-herald.d.mts.map +1 -1
  301. package/esm/queue/load-herald.mjs +1 -1
  302. package/esm/queue/notifications-worker.mjs.map +1 -1
  303. package/package.json +6 -6
  304. package/cjs/rabbitmq-driver-Drn1T40o.cjs +0 -3
  305. package/cjs/src-Dy5nwVcs.cjs.map +0 -1
  306. package/esm/herald/src/communicators/broker-registry.mjs.map +0 -1
  307. package/esm/herald/src/communicators/broker.mjs.map +0 -1
  308. package/esm/herald/src/communicators/index.mjs +0 -4
  309. package/esm/herald/src/decorators/consumable.mjs.map +0 -1
  310. package/esm/herald/src/decorators/index.mjs +0 -3
  311. package/esm/herald/src/drivers/index.mjs +0 -5
  312. package/esm/herald/src/drivers/rabbitmq/index.mjs +0 -4
  313. package/esm/herald/src/drivers/rabbitmq/rabbitmq-channel.mjs.map +0 -1
  314. package/esm/herald/src/drivers/rabbitmq/rabbitmq-driver.mjs.map +0 -1
  315. package/esm/herald/src/message-managers/event-consumer.mjs.map +0 -1
  316. package/esm/herald/src/message-managers/event-message.mjs.map +0 -1
  317. package/esm/herald/src/message-managers/index.mjs +0 -4
  318. package/esm/herald/src/message-managers/prepare-consumer-subscription.mjs.map +0 -1
  319. package/esm/herald/src/use-case-broadcast.mjs.map +0 -1
  320. package/esm/herald/src/utils/connect-to-broker.mjs.map +0 -1
  321. package/esm/herald/src/utils/index.mjs +0 -3
  322. package/esm/seal/src/config.mjs.map +0 -1
  323. package/esm/seal/src/factory/index.mjs +0 -4
  324. package/esm/seal/src/factory/validate.mjs.map +0 -1
  325. package/esm/seal/src/factory/validators.mjs.map +0 -1
  326. package/esm/seal/src/helpers/date-helpers.mjs.map +0 -1
  327. package/esm/seal/src/helpers/get-field-value.mjs.map +0 -1
  328. package/esm/seal/src/helpers/index.mjs +0 -6
  329. package/esm/seal/src/helpers/is-empty-value.mjs +0 -10
  330. package/esm/seal/src/helpers/is-empty-value.mjs.map +0 -1
  331. package/esm/seal/src/helpers/path-helpers.mjs.map +0 -1
  332. package/esm/seal/src/helpers/validation-helpers.mjs.map +0 -1
  333. package/esm/seal/src/mutators/array-mutators.mjs.map +0 -1
  334. package/esm/seal/src/mutators/date-mutators.mjs.map +0 -1
  335. package/esm/seal/src/mutators/index.mjs +0 -8
  336. package/esm/seal/src/mutators/number-mutators.mjs.map +0 -1
  337. package/esm/seal/src/mutators/object-mutators.mjs.map +0 -1
  338. package/esm/seal/src/mutators/scalar-mutators.mjs +0 -9
  339. package/esm/seal/src/mutators/scalar-mutators.mjs.map +0 -1
  340. package/esm/seal/src/mutators/string-mutators.mjs.map +0 -1
  341. package/esm/seal/src/rules/array/array-rules.mjs.map +0 -1
  342. package/esm/seal/src/rules/array/index.mjs +0 -3
  343. package/esm/seal/src/rules/color/color-rules.mjs.map +0 -1
  344. package/esm/seal/src/rules/color/index.mjs +0 -3
  345. package/esm/seal/src/rules/common/enum.mjs.map +0 -1
  346. package/esm/seal/src/rules/common/equals-field-rules.mjs.map +0 -1
  347. package/esm/seal/src/rules/common/index.mjs +0 -8
  348. package/esm/seal/src/rules/common/instanceof.mjs.map +0 -1
  349. package/esm/seal/src/rules/common/literal.mjs.map +0 -1
  350. package/esm/seal/src/rules/common/type-rules.mjs.map +0 -1
  351. package/esm/seal/src/rules/common/unknown-key.mjs.map +0 -1
  352. package/esm/seal/src/rules/conditional/forbidden-if-rules.mjs.map +0 -1
  353. package/esm/seal/src/rules/conditional/index.mjs +0 -12
  354. package/esm/seal/src/rules/conditional/present-if-rules.mjs.map +0 -1
  355. package/esm/seal/src/rules/conditional/present-unless-rules.mjs.map +0 -1
  356. package/esm/seal/src/rules/conditional/present-with-rules.mjs.map +0 -1
  357. package/esm/seal/src/rules/conditional/present-without-rules.mjs.map +0 -1
  358. package/esm/seal/src/rules/conditional/required-if-rules.mjs.map +0 -1
  359. package/esm/seal/src/rules/conditional/required-unless-rules.mjs.map +0 -1
  360. package/esm/seal/src/rules/conditional/required-when-rule.mjs.map +0 -1
  361. package/esm/seal/src/rules/conditional/required-with-rules.mjs.map +0 -1
  362. package/esm/seal/src/rules/conditional/required-without-rules.mjs.map +0 -1
  363. package/esm/seal/src/rules/core/equal.mjs.map +0 -1
  364. package/esm/seal/src/rules/core/forbidden.mjs.map +0 -1
  365. package/esm/seal/src/rules/core/index.mjs +0 -7
  366. package/esm/seal/src/rules/core/required.mjs.map +0 -1
  367. package/esm/seal/src/rules/core/union.mjs.map +0 -1
  368. package/esm/seal/src/rules/core/when.mjs.map +0 -1
  369. package/esm/seal/src/rules/date/date-comparison-rules.mjs.map +0 -1
  370. package/esm/seal/src/rules/date/date-day-rules.mjs.map +0 -1
  371. package/esm/seal/src/rules/date/date-field-comparison-rules.mjs.map +0 -1
  372. package/esm/seal/src/rules/date/date-period-rules.mjs.map +0 -1
  373. package/esm/seal/src/rules/date/date-relative-rules.mjs.map +0 -1
  374. package/esm/seal/src/rules/date/date-special-rules.mjs.map +0 -1
  375. package/esm/seal/src/rules/date/date.mjs.map +0 -1
  376. package/esm/seal/src/rules/date/index.mjs +0 -9
  377. package/esm/seal/src/rules/index.mjs +0 -54
  378. package/esm/seal/src/rules/length/index.mjs +0 -3
  379. package/esm/seal/src/rules/length/length-rules.mjs.map +0 -1
  380. package/esm/seal/src/rules/number/index.mjs +0 -3
  381. package/esm/seal/src/rules/number/number-rules.mjs.map +0 -1
  382. package/esm/seal/src/rules/scalar/accepted-rule.mjs.map +0 -1
  383. package/esm/seal/src/rules/scalar/declined-rule.mjs.map +0 -1
  384. package/esm/seal/src/rules/scalar/index.mjs +0 -4
  385. package/esm/seal/src/rules/string/alpha.mjs.map +0 -1
  386. package/esm/seal/src/rules/string/credit-card.mjs.map +0 -1
  387. package/esm/seal/src/rules/string/email.mjs.map +0 -1
  388. package/esm/seal/src/rules/string/id-formats.mjs.map +0 -1
  389. package/esm/seal/src/rules/string/index.mjs +0 -13
  390. package/esm/seal/src/rules/string/ip.mjs.map +0 -1
  391. package/esm/seal/src/rules/string/matches.mjs +0 -4
  392. package/esm/seal/src/rules/string/pattern.mjs.map +0 -1
  393. package/esm/seal/src/rules/string/string-comparison.mjs.map +0 -1
  394. package/esm/seal/src/rules/string/strong-password-rule.mjs.map +0 -1
  395. package/esm/seal/src/rules/string/url.mjs.map +0 -1
  396. package/esm/seal/src/rules/string/without-whitespace.mjs.map +0 -1
  397. package/esm/seal/src/standard-schema/json-schema.mjs.map +0 -1
  398. package/esm/seal/src/standard-schema/map-result.mjs.map +0 -1
  399. package/esm/seal/src/types/date-types.mjs.map +0 -1
  400. package/esm/seal/src/validators/any-validator.mjs.map +0 -1
  401. package/esm/seal/src/validators/array-validator.mjs.map +0 -1
  402. package/esm/seal/src/validators/base-validator.mjs.map +0 -1
  403. package/esm/seal/src/validators/boolean-validator.mjs.map +0 -1
  404. package/esm/seal/src/validators/computed-validator.mjs.map +0 -1
  405. package/esm/seal/src/validators/date-validator.mjs.map +0 -1
  406. package/esm/seal/src/validators/discriminated-union-validator.mjs.map +0 -1
  407. package/esm/seal/src/validators/float-validator.mjs.map +0 -1
  408. package/esm/seal/src/validators/index.mjs +0 -28
  409. package/esm/seal/src/validators/instanceof-validator.mjs.map +0 -1
  410. package/esm/seal/src/validators/int-validator.mjs.map +0 -1
  411. package/esm/seal/src/validators/lazy-validator.mjs.map +0 -1
  412. package/esm/seal/src/validators/literal-validator.mjs.map +0 -1
  413. package/esm/seal/src/validators/managed-validator.mjs.map +0 -1
  414. package/esm/seal/src/validators/methods/equality-conditional-methods.mjs.map +0 -1
  415. package/esm/seal/src/validators/methods/forbidden-methods.mjs.map +0 -1
  416. package/esm/seal/src/validators/methods/present-methods.mjs.map +0 -1
  417. package/esm/seal/src/validators/methods/required-methods.mjs.map +0 -1
  418. package/esm/seal/src/validators/number-validator.mjs.map +0 -1
  419. package/esm/seal/src/validators/numeric-validator.mjs.map +0 -1
  420. package/esm/seal/src/validators/object-validator.mjs.map +0 -1
  421. package/esm/seal/src/validators/primitive-validator.mjs.map +0 -1
  422. package/esm/seal/src/validators/record-validator.mjs.map +0 -1
  423. package/esm/seal/src/validators/scalar-validator.mjs.map +0 -1
  424. package/esm/seal/src/validators/string-validator.mjs.map +0 -1
  425. package/esm/seal/src/validators/tuple-validator.mjs.map +0 -1
  426. package/esm/seal/src/validators/union-validator.mjs.map +0 -1
  427. /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
  428. /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
  429. /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
  430. /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
@@ -1 +1 @@
1
- {"version":3,"file":"notification-columns.mjs","names":[],"sources":["../../../../../../../notifications/src/migration/notification-columns.ts"],"sourcesContent":["/**\n * Column factory for the notifications table, driven by the model's\n * `columnMap`. The recipient / read-state / tenant columns take the NAMES the\n * model declares, so the table, the repository, and the model accessors all\n * agree by construction. The stable lexical columns (`type`, `title`, `body`,\n * `payload`, `idempotency_key`) keep fixed names.\n *\n * Read-state follows the map's presence rules (see `NotificationColumnMap`):\n * `readAt` → a nullable timestamp, `isRead` → an indexed boolean, both → both.\n *\n * Spread + extend for app-specific extras (FK references, composite indexes).\n *\n * @example\n * import { Migration } from \"@warlock.js/cascade\";\n * import { notificationColumns } from \"@warlock.js/notifications\";\n * import { Notification } from \"../notification.model\";\n *\n * export default Migration.create(Notification, notificationColumns(Notification));\n *\n * @example // with extras (multi-tenant FK)\n * export default Migration.create(Notification, {\n * ...notificationColumns(Notification),\n * organization_id: uuid().references(Organization.table).notNullable(),\n * });\n */\nimport { boolCol, type ColumnMap, json, string, text, timestamp, uuid } from \"@warlock.js/cascade\";\nimport { type NotificationColumnMapHost, resolveColumnMap } from \"../in-app/column-map\";\n\n/**\n * Returns the column map for a notification table, named from the model's\n * `columnMap`. Without a model, falls back to the resolved defaults\n * (`user_id` recipient + `read_at` read-state).\n */\nexport function notificationColumns(model?: NotificationColumnMapHost): ColumnMap {\n const { recipient, tenant, readAt, isRead } = resolveColumnMap(model?.columnMap);\n\n const columns: ColumnMap = {\n [recipient]: uuid().index().notNullable(),\n type: string().index().notNullable(),\n title: string().notNullable(),\n body: text().nullable(),\n payload: json().nullable(),\n };\n\n if (readAt) {\n columns[readAt] = timestamp().nullable();\n }\n\n if (isRead) {\n columns[isRead] = boolCol().default(false).index();\n }\n\n if (tenant) {\n columns[tenant] = uuid().index().notNullable();\n }\n\n // Unique so a retried send can't insert a duplicate. Nullable: most rows\n // have no key (NULLs are distinct in a unique index). `createFor` does\n // find-or-create; this constraint is the race backstop.\n columns.idempotency_key = string().nullable().unique();\n\n return columns;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAgB,oBAAoB,OAA8C;CAChF,MAAM,EAAE,WAAW,QAAQ,QAAQ,WAAW,iBAAiB,OAAO,SAAS;CAE/E,MAAM,UAAqB;GACxB,YAAY,KAAK,EAAE,MAAM,EAAE,YAAY;EACxC,MAAM,OAAO,EAAE,MAAM,EAAE,YAAY;EACnC,OAAO,OAAO,EAAE,YAAY;EAC5B,MAAM,KAAK,EAAE,SAAS;EACtB,SAAS,KAAK,EAAE,SAAS;CAC3B;CAEA,IAAI,QACF,QAAQ,UAAU,UAAU,EAAE,SAAS;CAGzC,IAAI,QACF,QAAQ,UAAU,QAAQ,EAAE,QAAQ,KAAK,EAAE,MAAM;CAGnD,IAAI,QACF,QAAQ,UAAU,KAAK,EAAE,MAAM,EAAE,YAAY;CAM/C,QAAQ,kBAAkB,OAAO,EAAE,SAAS,EAAE,OAAO;CAErD,OAAO;AACT"}
1
+ {"version":3,"file":"notification-columns.mjs","names":[],"sources":["../../../../../../../notifications/src/migration/notification-columns.ts"],"sourcesContent":["/**\n * Column factory for the notifications table, driven by the model's\n * `columnMap`. The recipient / read-state / tenant columns take the NAMES the\n * model declares, so the table, the repository, and the model accessors all\n * agree by construction. The stable lexical columns (`type`, `title`, `body`,\n * `payload`, `idempotency_key`) keep fixed names.\n *\n * Read-state follows the map's presence rules (see `NotificationColumnMap`):\n * `readAt` → a nullable timestamp, `isRead` → an indexed boolean, both → both.\n *\n * Spread + extend for app-specific extras (FK references, composite indexes).\n *\n * @example\n * import { Migration } from \"@warlock.js/cascade\";\n * import { notificationColumns } from \"@warlock.js/notifications\";\n * import { Notification } from \"../notification.model\";\n *\n * export default Migration.create(Notification, notificationColumns(Notification));\n *\n * @example // with extras (multi-tenant FK)\n * export default Migration.create(Notification, {\n * ...notificationColumns(Notification),\n * organization_id: uuid().references(Organization.table).notNullable(),\n * });\n */\nimport { boolCol, type ColumnMap, json, string, text, timestamp, uuid } from \"@warlock.js/cascade\";\nimport { type NotificationColumnMapHost, resolveColumnMap } from \"../in-app/column-map\";\n\n/**\n * Returns the column map for a notification table, named from the model's\n * `columnMap`. Without a model, falls back to the resolved defaults\n * (`user_id` recipient + `read_at` read-state).\n */\nexport function notificationColumns(model?: NotificationColumnMapHost): ColumnMap {\n const { recipient, tenant, readAt, isRead } = resolveColumnMap(model?.columnMap);\n\n const columns: ColumnMap = {\n [recipient]: uuid().index().notNullable(),\n type: string().index().notNullable(),\n title: string().notNullable(),\n body: text().nullable(),\n payload: json().nullable(),\n };\n\n if (readAt) {\n columns[readAt] = timestamp().nullable();\n }\n\n if (isRead) {\n columns[isRead] = boolCol().default(false).index();\n }\n\n if (tenant) {\n columns[tenant] = uuid().index().notNullable();\n }\n\n // Unique so a retried send can't insert a duplicate. Nullable: most rows\n // have no key (NULLs are distinct in a unique index). `createFor` does\n // find-or-create; this constraint is the race backstop.\n columns.idempotency_key = string().nullable().unique();\n\n return columns;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAgB,oBAAoB,OAA8C;CAChF,MAAM,EAAE,WAAW,QAAQ,QAAQ,WAAW,iBAAiB,OAAO,SAAS;CAE/E,MAAM,UAAqB;GACxB,YAAY,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY;EACxC,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY;EACnC,OAAO,OAAO,CAAC,CAAC,YAAY;EAC5B,MAAM,KAAK,CAAC,CAAC,SAAS;EACtB,SAAS,KAAK,CAAC,CAAC,SAAS;CAC3B;CAEA,IAAI,QACF,QAAQ,UAAU,UAAU,CAAC,CAAC,SAAS;CAGzC,IAAI,QACF,QAAQ,UAAU,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM;CAGnD,IAAI,QACF,QAAQ,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY;CAM/C,QAAQ,kBAAkB,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;CAErD,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"capitalize.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs"],"sourcesContent":["import ucfirst from \"./ucfirst.mjs\";\n\n//#region ../reinforcements/src/string/capitalize.ts\nconst WHITESPACE_RUN = /\\s+/;\nconst WHITESPACE_GROUP = /(\\s+)/;\n/**\n* Capitalize the first letter of each whitespace-separated word.\n*\n* @example\n* capitalize(\"hello world\"); // \"Hello World\"\n*/\nfunction capitalize(string) {\n\tif (!string) return \"\";\n\treturn string.split(WHITESPACE_GROUP).map((part) => WHITESPACE_RUN.test(part) ? part : ucfirst(part)).join(\"\");\n}\n\n//#endregion\nexport { capitalize as default };\n//# sourceMappingURL=capitalize.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;AAGA,MAAM,iBAAiB;AACvB,MAAM,mBAAmB;;;;;;;AAOzB,SAAS,WAAW,QAAQ;CAC3B,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,OAAO,MAAM,gBAAgB,EAAE,KAAK,SAAS,eAAe,KAAK,IAAI,IAAI,OAAO,QAAQ,IAAI,CAAC,EAAE,KAAK,EAAE;AAC9G"}
1
+ {"version":3,"file":"capitalize.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs"],"sourcesContent":["import ucfirst from \"./ucfirst.mjs\";\n\n//#region ../reinforcements/src/string/capitalize.ts\nconst WHITESPACE_RUN = /\\s+/;\nconst WHITESPACE_GROUP = /(\\s+)/;\n/**\n* Capitalize the first letter of each whitespace-separated word.\n*\n* @example\n* capitalize(\"hello world\"); // \"Hello World\"\n*/\nfunction capitalize(string) {\n\tif (!string) return \"\";\n\treturn string.split(WHITESPACE_GROUP).map((part) => WHITESPACE_RUN.test(part) ? part : ucfirst(part)).join(\"\");\n}\n\n//#endregion\nexport { capitalize as default };\n//# sourceMappingURL=capitalize.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;AAGA,MAAM,iBAAiB;AACvB,MAAM,mBAAmB;;;;;;;AAOzB,SAAS,WAAW,QAAQ;CAC3B,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,OAAO,MAAM,gBAAgB,CAAC,CAAC,KAAK,SAAS,eAAe,KAAK,IAAI,IAAI,OAAO,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;AAC9G"}
@@ -1 +1 @@
1
- {"version":3,"file":"toCamelCase.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs"],"sourcesContent":["import words from \"./words.mjs\";\n\n//#region ../reinforcements/src/string/toCamelCase.ts\n/**\n* Convert a string to camelCase.\n*\n* @example\n* toCamelCase(\"hello-world\"); // \"helloWorld\"\n* toCamelCase(\"XMLHttpRequest\"); // \"xmlHttpRequest\"\n*/\nfunction toCamelCase(string) {\n\tif (!string) return \"\";\n\treturn words(string).map(toSegment).join(\"\");\n}\nfunction toSegment(word, index) {\n\tif (index === 0) return word.toLowerCase();\n\treturn word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n}\n\n//#endregion\nexport { toCamelCase as default };\n//# sourceMappingURL=toCamelCase.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAUA,SAAS,YAAY,QAAQ;CAC5B,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,MAAM,MAAM,EAAE,IAAI,SAAS,EAAE,KAAK,EAAE;AAC5C;AACA,SAAS,UAAU,MAAM,OAAO;CAC/B,IAAI,UAAU,GAAG,OAAO,KAAK,YAAY;CACzC,OAAO,KAAK,OAAO,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC,EAAE,YAAY;AACjE"}
1
+ {"version":3,"file":"toCamelCase.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs"],"sourcesContent":["import words from \"./words.mjs\";\n\n//#region ../reinforcements/src/string/toCamelCase.ts\n/**\n* Convert a string to camelCase.\n*\n* @example\n* toCamelCase(\"hello-world\"); // \"helloWorld\"\n* toCamelCase(\"XMLHttpRequest\"); // \"xmlHttpRequest\"\n*/\nfunction toCamelCase(string) {\n\tif (!string) return \"\";\n\treturn words(string).map(toSegment).join(\"\");\n}\nfunction toSegment(word, index) {\n\tif (index === 0) return word.toLowerCase();\n\treturn word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n}\n\n//#endregion\nexport { toCamelCase as default };\n//# sourceMappingURL=toCamelCase.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAUA,SAAS,YAAY,QAAQ;CAC5B,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,MAAM,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,EAAE;AAC5C;AACA,SAAS,UAAU,MAAM,OAAO;CAC/B,IAAI,UAAU,GAAG,OAAO,KAAK,YAAY;CACzC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY;AACjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"toSnakeCase.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs"],"sourcesContent":["import words from \"./words.mjs\";\n\n//#region ../reinforcements/src/string/toSnakeCase.ts\n/**\n* Convert a string to snake_case (or any underscore-style with a\n* custom separator).\n*\n* @example\n* toSnakeCase(\"HelloWorld\"); // \"hello_world\"\n* toSnakeCase(\"AIAgent\"); // \"ai_agent\"\n*/\nfunction toSnakeCase(string, separator = \"_\", lowerAll = true) {\n\tif (!string) return \"\";\n\tconst tokens = words(string);\n\tif (!lowerAll) return tokens.join(separator);\n\treturn tokens.map((word) => word.toLowerCase()).join(separator);\n}\n\n//#endregion\nexport { toSnakeCase as default };\n//# sourceMappingURL=toSnakeCase.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;AAWA,SAAS,YAAY,QAAQ,YAAY,KAAK,WAAW,MAAM;CAC9D,IAAI,CAAC,QAAQ,OAAO;CACpB,MAAM,SAAS,MAAM,MAAM;CAC3B,IAAI,CAAC,UAAU,OAAO,OAAO,KAAK,SAAS;CAC3C,OAAO,OAAO,KAAK,SAAS,KAAK,YAAY,CAAC,EAAE,KAAK,SAAS;AAC/D"}
1
+ {"version":3,"file":"toSnakeCase.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs"],"sourcesContent":["import words from \"./words.mjs\";\n\n//#region ../reinforcements/src/string/toSnakeCase.ts\n/**\n* Convert a string to snake_case (or any underscore-style with a\n* custom separator).\n*\n* @example\n* toSnakeCase(\"HelloWorld\"); // \"hello_world\"\n* toSnakeCase(\"AIAgent\"); // \"ai_agent\"\n*/\nfunction toSnakeCase(string, separator = \"_\", lowerAll = true) {\n\tif (!string) return \"\";\n\tconst tokens = words(string);\n\tif (!lowerAll) return tokens.join(separator);\n\treturn tokens.map((word) => word.toLowerCase()).join(separator);\n}\n\n//#endregion\nexport { toSnakeCase as default };\n//# sourceMappingURL=toSnakeCase.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;AAWA,SAAS,YAAY,QAAQ,YAAY,KAAK,WAAW,MAAM;CAC9D,IAAI,CAAC,QAAQ,OAAO;CACpB,MAAM,SAAS,MAAM,MAAM;CAC3B,IAAI,CAAC,UAAU,OAAO,OAAO,KAAK,SAAS;CAC3C,OAAO,OAAO,KAAK,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS;AAC/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"toStudlyCase.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs"],"sourcesContent":["import words from \"./words.mjs\";\n\n//#region ../reinforcements/src/string/toStudlyCase.ts\n/**\n* Convert a string to StudlyCase (PascalCase).\n*\n* @example\n* toStudlyCase(\"hello-world\"); // \"HelloWorld\"\n* toStudlyCase(\"ai_agent\"); // \"AiAgent\"\n*/\nfunction toStudlyCase(string) {\n\tif (!string) return \"\";\n\treturn words(string).map(capitalize).join(\"\");\n}\nfunction capitalize(word) {\n\treturn word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n}\n\n//#endregion\nexport { toStudlyCase as default };\n//# sourceMappingURL=toStudlyCase.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAUA,SAAS,aAAa,QAAQ;CAC7B,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,MAAM,MAAM,EAAE,IAAI,UAAU,EAAE,KAAK,EAAE;AAC7C;AACA,SAAS,WAAW,MAAM;CACzB,OAAO,KAAK,OAAO,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC,EAAE,YAAY;AACjE"}
1
+ {"version":3,"file":"toStudlyCase.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs"],"sourcesContent":["import words from \"./words.mjs\";\n\n//#region ../reinforcements/src/string/toStudlyCase.ts\n/**\n* Convert a string to StudlyCase (PascalCase).\n*\n* @example\n* toStudlyCase(\"hello-world\"); // \"HelloWorld\"\n* toStudlyCase(\"ai_agent\"); // \"AiAgent\"\n*/\nfunction toStudlyCase(string) {\n\tif (!string) return \"\";\n\treturn words(string).map(capitalize).join(\"\");\n}\nfunction capitalize(word) {\n\treturn word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n}\n\n//#endregion\nexport { toStudlyCase as default };\n//# sourceMappingURL=toStudlyCase.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAUA,SAAS,aAAa,QAAQ;CAC7B,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,MAAM,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK,EAAE;AAC7C;AACA,SAAS,WAAW,MAAM;CACzB,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY;AACjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"ucfirst.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs"],"sourcesContent":["//#region ../reinforcements/src/string/ucfirst.ts\n/**\n* Uppercase the first character of `string`.\n*\n* @example\n* ucfirst(\"hello\"); // \"Hello\"\n*/\nfunction ucfirst(string) {\n\tif (!string) return \"\";\n\treturn string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n//#endregion\nexport { ucfirst as default };\n//# sourceMappingURL=ucfirst.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;AAOA,SAAS,QAAQ,QAAQ;CACxB,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,OAAO,OAAO,CAAC,EAAE,YAAY,IAAI,OAAO,MAAM,CAAC;AACvD"}
1
+ {"version":3,"file":"ucfirst.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs"],"sourcesContent":["//#region ../reinforcements/src/string/ucfirst.ts\n/**\n* Uppercase the first character of `string`.\n*\n* @example\n* ucfirst(\"hello\"); // \"Hello\"\n*/\nfunction ucfirst(string) {\n\tif (!string) return \"\";\n\treturn string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n//#endregion\nexport { ucfirst as default };\n//# sourceMappingURL=ucfirst.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;AAOA,SAAS,QAAQ,QAAQ;CACxB,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC;AACvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"words.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/words.mjs"],"sourcesContent":["//#region ../reinforcements/src/string/words.ts\nconst SEPARATOR_PATTERN = /[-_./\\\\\\s]+/g;\nconst ACRONYM_BOUNDARY = /([A-Z]+)([A-Z][a-z])/g;\nconst CAMEL_BOUNDARY = /([a-z\\d])([A-Z])/g;\nconst WHITESPACE_RUN = /\\s+/;\n/**\n* Split a string into its semantic word tokens. Handles camelCase,\n* PascalCase, snake_case, kebab-case, dot.case, slash/separated and\n* whitespace, and correctly preserves acronym runs.\n*\n* @example\n* words(\"XMLHttpRequest\"); // [\"XML\", \"Http\", \"Request\"]\n* words(\"hello_world\"); // [\"hello\", \"world\"]\n* words(\"AIAgent\"); // [\"AI\", \"Agent\"]\n*/\nfunction words(input) {\n\tif (!input) return [];\n\tconst normalised = input.replace(SEPARATOR_PATTERN, \" \").replace(ACRONYM_BOUNDARY, \"$1 $2\").replace(CAMEL_BOUNDARY, \"$1 $2\").trim();\n\tif (!normalised) return [];\n\treturn normalised.split(WHITESPACE_RUN).filter(Boolean);\n}\n\n//#endregion\nexport { words as default };\n//# sourceMappingURL=words.mjs.map"],"x_google_ignoreList":[0],"mappings":";AACA,MAAM,oBAAoB;AAC1B,MAAM,mBAAmB;AACzB,MAAM,iBAAiB;AACvB,MAAM,iBAAiB;;;;;;;;;;;AAWvB,SAAS,MAAM,OAAO;CACrB,IAAI,CAAC,OAAO,OAAO,CAAC;CACpB,MAAM,aAAa,MAAM,QAAQ,mBAAmB,GAAG,EAAE,QAAQ,kBAAkB,OAAO,EAAE,QAAQ,gBAAgB,OAAO,EAAE,KAAK;CAClI,IAAI,CAAC,YAAY,OAAO,CAAC;CACzB,OAAO,WAAW,MAAM,cAAc,EAAE,OAAO,OAAO;AACvD"}
1
+ {"version":3,"file":"words.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@mongez+reinforcements@4.0.1/node_modules/@mongez/reinforcements/esm/string/words.mjs"],"sourcesContent":["//#region ../reinforcements/src/string/words.ts\nconst SEPARATOR_PATTERN = /[-_./\\\\\\s]+/g;\nconst ACRONYM_BOUNDARY = /([A-Z]+)([A-Z][a-z])/g;\nconst CAMEL_BOUNDARY = /([a-z\\d])([A-Z])/g;\nconst WHITESPACE_RUN = /\\s+/;\n/**\n* Split a string into its semantic word tokens. Handles camelCase,\n* PascalCase, snake_case, kebab-case, dot.case, slash/separated and\n* whitespace, and correctly preserves acronym runs.\n*\n* @example\n* words(\"XMLHttpRequest\"); // [\"XML\", \"Http\", \"Request\"]\n* words(\"hello_world\"); // [\"hello\", \"world\"]\n* words(\"AIAgent\"); // [\"AI\", \"Agent\"]\n*/\nfunction words(input) {\n\tif (!input) return [];\n\tconst normalised = input.replace(SEPARATOR_PATTERN, \" \").replace(ACRONYM_BOUNDARY, \"$1 $2\").replace(CAMEL_BOUNDARY, \"$1 $2\").trim();\n\tif (!normalised) return [];\n\treturn normalised.split(WHITESPACE_RUN).filter(Boolean);\n}\n\n//#endregion\nexport { words as default };\n//# sourceMappingURL=words.mjs.map"],"x_google_ignoreList":[0],"mappings":";AACA,MAAM,oBAAoB;AAC1B,MAAM,mBAAmB;AACzB,MAAM,iBAAiB;AACvB,MAAM,iBAAiB;;;;;;;;;;;AAWvB,SAAS,MAAM,OAAO;CACrB,IAAI,CAAC,OAAO,OAAO,CAAC;CACpB,MAAM,aAAa,MAAM,QAAQ,mBAAmB,GAAG,CAAC,CAAC,QAAQ,kBAAkB,OAAO,CAAC,CAAC,QAAQ,gBAAgB,OAAO,CAAC,CAAC,KAAK;CAClI,IAAI,CAAC,YAAY,OAAO,CAAC;CACzB,OAAO,WAAW,MAAM,cAAc,CAAC,CAAC,OAAO,OAAO;AACvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../../../../../../../node_modules/.pnpm/@mongez+supportive-is@2.1.4/node_modules/@mongez/supportive-is/esm/index.mjs"],"sourcesContent":["//#region ../supportive-is/src/index.ts\n/**\n* Determine whether the given value is a number whatever if its data type is String or Number\n*/\nfunction isNumeric(value) {\n\treturn /^[+-]?\\d+(\\.\\d+)?([Ee][+-]?\\d+)?$/.test(String(value));\n}\n/**\n* Check if the given value is int\n*/\nconst isInt = (value) => typeof value === \"number\" && Number.isInteger(value);\n/**\n* Check if the given value is float\n*/\nconst isFloat = (value) => typeof value === \"number\" && Number.isFinite(value) && /^-?\\d+\\.\\d+$/.test(String(value));\n/**\n* Check if the given value is a regex\n*/\nconst isRegex = (value) => Boolean(value) && value.constructor?.name === \"RegExp\";\n/**\n* Check if the given value is an object\n*/\nconst isObject = (value) => Boolean(value) && typeof value === \"object\";\n/**\n* Check if the given value is a plain object\n*/\nconst isPlainObject = (value) => {\n\tif (!value || typeof value !== \"object\") return false;\n\tif (Object.getPrototypeOf(value) === null) return true;\n\treturn value.constructor?.name === \"Object\";\n};\n/**\n* Check if the given value is validId\n*/\nconst isValidId = (value) => Boolean(value && /^[A-Za-z][\\w\\-:.]*$/.test(String(value)));\n/**\n* Check if the given value is a form element\n*/\nconst isFormElement = (value) => typeof HTMLFormElement === \"undefined\" ? false : value instanceof HTMLFormElement;\n/**\n* Check if the given value is a form data\n*/\nconst isFormData = (value) => value instanceof FormData;\n/**\n* Check if the given value is iterable\n*/\nconst isIterable = (value) => value !== null && value !== void 0 && typeof value[Symbol.iterator] === \"function\";\n/**\n* Check if the given value is a scalar value\n*/\nconst isScalar = (value) => [\n\t\"string\",\n\t\"boolean\",\n\t\"number\",\n\t\"symbol\",\n\t\"bigint\"\n].includes(typeof value);\n/**\n* Check if the given value is a string\n*/\nconst isString = (value) => typeof value === \"string\";\n/**\n* Check if the given value is a pr value\n*/\nconst isPrimitive = (value) => [\n\t\"string\",\n\t\"boolean\",\n\t\"number\",\n\t\"bigint\"\n].includes(typeof value);\n/**\n* Check if the given value is a promise\n*/\nconst isPromise = (value) => Boolean(value) && value instanceof Promise;\n/**\n* Check if the given value is a date\n*/\nconst isDate = (value) => Boolean(value) && typeof value === \"object\" && value instanceof Date;\n/**\n* Check if the given value is a generator\n*/\nconst isGenerator = (value) => Boolean(value) && typeof value === \"object\" && typeof value.next === \"function\" && typeof value[Symbol.iterator] === \"function\" && value[Symbol.iterator]() === value;\n/**\n* Check if the given value is empty\n* Zero does not considered empty\n* Empty object is considered empty\n* Empty array is considered empty\n*/\nconst isEmpty = (value) => {\n\tif ([\n\t\t0,\n\t\ttrue,\n\t\tfalse\n\t].includes(value)) return false;\n\tif ([\n\t\t\"\",\n\t\tnull,\n\t\tvoid 0\n\t].includes(value)) return true;\n\tif (typeof value === \"number\" && Number.isNaN(value)) return false;\n\tif (value instanceof Date) return false;\n\tif (value instanceof Map || value instanceof Set) return value.size === 0;\n\tif (typeof value === \"object\" && !Array.isArray(value) && typeof value[Symbol.iterator] !== \"function\") return Object.keys(value).length === 0;\n\tif (isIterable(value)) return value.length === 0;\n\tif (isNumeric(value)) return false;\n\treturn true;\n};\n/**\n* Check if the given value is a valid json\n*/\nconst isJson = (value) => {\n\tif (!value || typeof value !== \"string\") return false;\n\tif (![\"[\", \"{\"].includes(value?.[0])) return false;\n\ttry {\n\t\tJSON.parse(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n/**\n* Check if the given value is valid url\n*/\nconst isUrl = (value) => {\n\tif (!value || typeof value !== \"string\") return false;\n\ttry {\n\t\tconst url = new URL(value);\n\t\tif (![\"http:\", \"https:\"].includes(url.protocol)) return false;\n\t\tconst hostname = url.hostname;\n\t\tif (!hostname.includes(\".\")) return false;\n\t\tif (hostname.split(\".\").some((label) => label.length === 0)) return false;\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n/**\n* Check if the given value is a valid email\n*/\nconst isEmail = (value) => typeof value === \"string\" && /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(value);\n/**\n* Check if current user is opening from mobile\n*/\nconst isMobile = {\n\t/**\n\t* Determine whether the current visitor is opening from an Android device\n\t*/\n\tandroid: () => navigator.userAgent.match(/Android/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an ios device\n\t*/\n\tios: () => navigator.userAgent.match(/iPhone|iPad|iPod/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an Iphone\n\t*/\n\tiphone: () => navigator.userAgent.match(/iPhone/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an ipad\n\t*/\n\tipad: () => navigator.userAgent.match(/iPad/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an ipod\n\t*/\n\tipod: () => navigator.userAgent.match(/iPod/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an windows mobile\n\t*/\n\twindows: () => navigator.userAgent.match(/IEMobile/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from mobile whatever its type\n\t*/\n\tany: () => isMobile.android() || isMobile.ios() || isMobile.windows()\n};\n/**\n* Determine if current user is opening from macOS\n*/\nconst isMac = () => navigator.userAgent.match(/mac/i) !== null;\n/**\n* Check if current browser is the given name\n*/\nconst isBrowser = (browser) => {\n\treturn {\n\t\tchrome: isChrome(),\n\t\tfirefox: isFirefox(),\n\t\topera: isOpera(),\n\t\tedge: isEdge(),\n\t\tie: isIE(),\n\t\tsafari: isSafari()\n\t}[browser.toLowerCase()] === true;\n};\n/**\n* Check if current browser is chrome browser\n*/\nconst isChrome = () => !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);\n/**\n* Check if current browser is firefox\n*/\nconst isFirefox = () => typeof window.InstallTrigger !== \"undefined\";\n/**\n* Check if current browser is safari\n*/\nconst isSafari = () => {\n\tif (typeof navigator === \"undefined\") return false;\n\tconst ua = navigator.userAgent || \"\";\n\treturn /Safari/i.test(ua) && !/Chrome|Chromium|Edg|OPR|Android/i.test(ua);\n};\n/**\n* Check if current browser is opera\n*/\nconst isOpera = () => {\n\tif (typeof window === \"undefined\") return false;\n\tconst w = window;\n\treturn !!w.opr && !!w.opr.addons || !!w.opera || typeof navigator !== \"undefined\" && navigator.userAgent.indexOf(\" OPR/\") >= 0;\n};\n/**\n* Check if current browser is internet explorer\n*/\nconst isIE = () => !!document.documentMode;\n/**\n* Check if current browser is edge\n*/\nconst isEdge = () => {\n\treturn !!!document.documentMode && !!window.StyleMedia;\n};\n/**\n* Determine whether the current visitor is opening from desktop\n*/\nconst isDesktop = () => !isMobile.any();\n/**\n* A simple lightweight library to validate values against certain types of data\n* For full documentation on github\n* Repo: https://github.com/hassanzohdy/supportive-is\n*\n* First released 01/12/2017\n* Licensed under MIT (http://opensource.org/licenses/MIT)\n*/\nconst Is = {\n\t/**\n\t* Determine whether the given value is a number whatever if its data type is String or Number\n\t*/\n\tnumeric: isNumeric,\n\t/**\n\t* Determine whether the given value is an integer and its data type is number\n\t* As Number.isInteger considers 1.0 to be valid integer, regex will be used instead\n\t*/\n\tint: isInt,\n\t/**\n\t* Determine whether the given value is a float number and its data type is number\n\t*/\n\tfloat: isFloat,\n\t/**\n\t* Determine whether the given value is a regular expression\n\t*/\n\tregex: isRegex,\n\t/**\n\t* Determine whether the given value is an object\n\t*/\n\tobject: isObject,\n\t/**\n\t* Determine whether the given value is a plain object\n\t*/\n\tplainObject: isPlainObject,\n\t/**\n\t* Determine whether the given value is an array\n\t*/\n\tarray: Array.isArray,\n\t/**\n\t* Determine whether the given value is valid html attribute `id`\n\t*/\n\tvalidHtmlId: isValidId,\n\t/**\n\t* determine if the given value is an instance of form element\n\t*/\n\tformElement: isFormElement,\n\t/**\n\t* @alias formElement\n\t*/\n\tform: isFormElement,\n\t/**\n\t* determine if the given value is an instance of form data\n\t*/\n\tformData: isFormData,\n\t/**\n\t* Determine whether the given value is iterable\n\t*/\n\titerable: isIterable,\n\t/**\n\t* Determine whether the given value is a scalar\n\t* Scalar types are strings, booleans, integers and\n\t*/\n\tscalar: isScalar,\n\t/**\n\t* Determine if the given value is a primitive value\n\t*/\n\tprimitive: isPrimitive,\n\t/**\n\t* Determine whether the given value is a promise\n\t*/\n\tpromise: isPromise,\n\t/**\n\t* Determine whether the given value is a date\n\t*/\n\tdate: isDate,\n\t/**\n\t* Determine whether the given value is a generator\n\t*/\n\tgenerator: isGenerator,\n\t/**\n\t* Determine whether the given value if an empty\n\t* This can be validated against any type of values\n\t* undefined or nullable values will be considered empty\n\t* Objects that doesn't have any properties will be considered empty\n\t* Arrays and Strings will be empty based on its length\n\t* The 0 'Zero\" number will not be considered empty\n\t*/\n\tempty: isEmpty,\n\t/**\n\t* Determine whether the given value is a valid json string\n\t*/\n\tjson: isJson,\n\t/**\n\t* Determine whether the given value is a valid url\n\t*/\n\turl: isUrl,\n\t/**\n\t* Determine whether the given value is a valid email\n\t*/\n\temail: isEmail,\n\t/**\n\t* Determine the current visitor is opening from mobile\n\t* Please Note this method depends on the user agent\n\t*/\n\tmobile: isMobile,\n\t/**\n\t* Determine if current user is opening from macOS\n\t*/\n\tmac: isMac,\n\t/**\n\t* Determine whether the current visitor is opening from desktop\n\t*/\n\tdesktop: isDesktop,\n\t/**\n\t* Check if the current browser is the given name\n\t* To detect browser version as well, pass the version number as the second argument\n\t*/\n\tbrowser: isBrowser,\n\tchrome: isChrome,\n\tfirefox: isFirefox,\n\tsafari: isSafari,\n\topera: isOpera,\n\tie: isIE,\n\tedge: isEdge\n};\n\n//#endregion\nexport { Is, Is as default, isBrowser, isChrome, isDate, isDesktop, isEdge, isEmail, isEmpty, isFirefox, isFloat, isFormData, isFormElement, isGenerator, isIE, isInt, isIterable, isJson, isMac, isMobile, isNumeric, isObject, isOpera, isPlainObject, isPrimitive, isPromise, isRegex, isSafari, isScalar, isString, isUrl, isValidId };\n//# sourceMappingURL=index.mjs.map"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../../../../../../../node_modules/.pnpm/@mongez+supportive-is@2.1.4/node_modules/@mongez/supportive-is/esm/index.mjs"],"sourcesContent":["//#region ../supportive-is/src/index.ts\n/**\n* Determine whether the given value is a number whatever if its data type is String or Number\n*/\nfunction isNumeric(value) {\n\treturn /^[+-]?\\d+(\\.\\d+)?([Ee][+-]?\\d+)?$/.test(String(value));\n}\n/**\n* Check if the given value is int\n*/\nconst isInt = (value) => typeof value === \"number\" && Number.isInteger(value);\n/**\n* Check if the given value is float\n*/\nconst isFloat = (value) => typeof value === \"number\" && Number.isFinite(value) && /^-?\\d+\\.\\d+$/.test(String(value));\n/**\n* Check if the given value is a regex\n*/\nconst isRegex = (value) => Boolean(value) && value.constructor?.name === \"RegExp\";\n/**\n* Check if the given value is an object\n*/\nconst isObject = (value) => Boolean(value) && typeof value === \"object\";\n/**\n* Check if the given value is a plain object\n*/\nconst isPlainObject = (value) => {\n\tif (!value || typeof value !== \"object\") return false;\n\tif (Object.getPrototypeOf(value) === null) return true;\n\treturn value.constructor?.name === \"Object\";\n};\n/**\n* Check if the given value is validId\n*/\nconst isValidId = (value) => Boolean(value && /^[A-Za-z][\\w\\-:.]*$/.test(String(value)));\n/**\n* Check if the given value is a form element\n*/\nconst isFormElement = (value) => typeof HTMLFormElement === \"undefined\" ? false : value instanceof HTMLFormElement;\n/**\n* Check if the given value is a form data\n*/\nconst isFormData = (value) => value instanceof FormData;\n/**\n* Check if the given value is iterable\n*/\nconst isIterable = (value) => value !== null && value !== void 0 && typeof value[Symbol.iterator] === \"function\";\n/**\n* Check if the given value is a scalar value\n*/\nconst isScalar = (value) => [\n\t\"string\",\n\t\"boolean\",\n\t\"number\",\n\t\"symbol\",\n\t\"bigint\"\n].includes(typeof value);\n/**\n* Check if the given value is a string\n*/\nconst isString = (value) => typeof value === \"string\";\n/**\n* Check if the given value is a pr value\n*/\nconst isPrimitive = (value) => [\n\t\"string\",\n\t\"boolean\",\n\t\"number\",\n\t\"bigint\"\n].includes(typeof value);\n/**\n* Check if the given value is a promise\n*/\nconst isPromise = (value) => Boolean(value) && value instanceof Promise;\n/**\n* Check if the given value is a date\n*/\nconst isDate = (value) => Boolean(value) && typeof value === \"object\" && value instanceof Date;\n/**\n* Check if the given value is a generator\n*/\nconst isGenerator = (value) => Boolean(value) && typeof value === \"object\" && typeof value.next === \"function\" && typeof value[Symbol.iterator] === \"function\" && value[Symbol.iterator]() === value;\n/**\n* Check if the given value is empty\n* Zero does not considered empty\n* Empty object is considered empty\n* Empty array is considered empty\n*/\nconst isEmpty = (value) => {\n\tif ([\n\t\t0,\n\t\ttrue,\n\t\tfalse\n\t].includes(value)) return false;\n\tif ([\n\t\t\"\",\n\t\tnull,\n\t\tvoid 0\n\t].includes(value)) return true;\n\tif (typeof value === \"number\" && Number.isNaN(value)) return false;\n\tif (value instanceof Date) return false;\n\tif (value instanceof Map || value instanceof Set) return value.size === 0;\n\tif (typeof value === \"object\" && !Array.isArray(value) && typeof value[Symbol.iterator] !== \"function\") return Object.keys(value).length === 0;\n\tif (isIterable(value)) return value.length === 0;\n\tif (isNumeric(value)) return false;\n\treturn true;\n};\n/**\n* Check if the given value is a valid json\n*/\nconst isJson = (value) => {\n\tif (!value || typeof value !== \"string\") return false;\n\tif (![\"[\", \"{\"].includes(value?.[0])) return false;\n\ttry {\n\t\tJSON.parse(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n/**\n* Check if the given value is valid url\n*/\nconst isUrl = (value) => {\n\tif (!value || typeof value !== \"string\") return false;\n\ttry {\n\t\tconst url = new URL(value);\n\t\tif (![\"http:\", \"https:\"].includes(url.protocol)) return false;\n\t\tconst hostname = url.hostname;\n\t\tif (!hostname.includes(\".\")) return false;\n\t\tif (hostname.split(\".\").some((label) => label.length === 0)) return false;\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n/**\n* Check if the given value is a valid email\n*/\nconst isEmail = (value) => typeof value === \"string\" && /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(value);\n/**\n* Check if current user is opening from mobile\n*/\nconst isMobile = {\n\t/**\n\t* Determine whether the current visitor is opening from an Android device\n\t*/\n\tandroid: () => navigator.userAgent.match(/Android/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an ios device\n\t*/\n\tios: () => navigator.userAgent.match(/iPhone|iPad|iPod/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an Iphone\n\t*/\n\tiphone: () => navigator.userAgent.match(/iPhone/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an ipad\n\t*/\n\tipad: () => navigator.userAgent.match(/iPad/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an ipod\n\t*/\n\tipod: () => navigator.userAgent.match(/iPod/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from an windows mobile\n\t*/\n\twindows: () => navigator.userAgent.match(/IEMobile/i) !== null,\n\t/**\n\t* Determine whether the current visitor is opening from mobile whatever its type\n\t*/\n\tany: () => isMobile.android() || isMobile.ios() || isMobile.windows()\n};\n/**\n* Determine if current user is opening from macOS\n*/\nconst isMac = () => navigator.userAgent.match(/mac/i) !== null;\n/**\n* Check if current browser is the given name\n*/\nconst isBrowser = (browser) => {\n\treturn {\n\t\tchrome: isChrome(),\n\t\tfirefox: isFirefox(),\n\t\topera: isOpera(),\n\t\tedge: isEdge(),\n\t\tie: isIE(),\n\t\tsafari: isSafari()\n\t}[browser.toLowerCase()] === true;\n};\n/**\n* Check if current browser is chrome browser\n*/\nconst isChrome = () => !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);\n/**\n* Check if current browser is firefox\n*/\nconst isFirefox = () => typeof window.InstallTrigger !== \"undefined\";\n/**\n* Check if current browser is safari\n*/\nconst isSafari = () => {\n\tif (typeof navigator === \"undefined\") return false;\n\tconst ua = navigator.userAgent || \"\";\n\treturn /Safari/i.test(ua) && !/Chrome|Chromium|Edg|OPR|Android/i.test(ua);\n};\n/**\n* Check if current browser is opera\n*/\nconst isOpera = () => {\n\tif (typeof window === \"undefined\") return false;\n\tconst w = window;\n\treturn !!w.opr && !!w.opr.addons || !!w.opera || typeof navigator !== \"undefined\" && navigator.userAgent.indexOf(\" OPR/\") >= 0;\n};\n/**\n* Check if current browser is internet explorer\n*/\nconst isIE = () => !!document.documentMode;\n/**\n* Check if current browser is edge\n*/\nconst isEdge = () => {\n\treturn !!!document.documentMode && !!window.StyleMedia;\n};\n/**\n* Determine whether the current visitor is opening from desktop\n*/\nconst isDesktop = () => !isMobile.any();\n/**\n* A simple lightweight library to validate values against certain types of data\n* For full documentation on github\n* Repo: https://github.com/hassanzohdy/supportive-is\n*\n* First released 01/12/2017\n* Licensed under MIT (http://opensource.org/licenses/MIT)\n*/\nconst Is = {\n\t/**\n\t* Determine whether the given value is a number whatever if its data type is String or Number\n\t*/\n\tnumeric: isNumeric,\n\t/**\n\t* Determine whether the given value is an integer and its data type is number\n\t* As Number.isInteger considers 1.0 to be valid integer, regex will be used instead\n\t*/\n\tint: isInt,\n\t/**\n\t* Determine whether the given value is a float number and its data type is number\n\t*/\n\tfloat: isFloat,\n\t/**\n\t* Determine whether the given value is a regular expression\n\t*/\n\tregex: isRegex,\n\t/**\n\t* Determine whether the given value is an object\n\t*/\n\tobject: isObject,\n\t/**\n\t* Determine whether the given value is a plain object\n\t*/\n\tplainObject: isPlainObject,\n\t/**\n\t* Determine whether the given value is an array\n\t*/\n\tarray: Array.isArray,\n\t/**\n\t* Determine whether the given value is valid html attribute `id`\n\t*/\n\tvalidHtmlId: isValidId,\n\t/**\n\t* determine if the given value is an instance of form element\n\t*/\n\tformElement: isFormElement,\n\t/**\n\t* @alias formElement\n\t*/\n\tform: isFormElement,\n\t/**\n\t* determine if the given value is an instance of form data\n\t*/\n\tformData: isFormData,\n\t/**\n\t* Determine whether the given value is iterable\n\t*/\n\titerable: isIterable,\n\t/**\n\t* Determine whether the given value is a scalar\n\t* Scalar types are strings, booleans, integers and\n\t*/\n\tscalar: isScalar,\n\t/**\n\t* Determine if the given value is a primitive value\n\t*/\n\tprimitive: isPrimitive,\n\t/**\n\t* Determine whether the given value is a promise\n\t*/\n\tpromise: isPromise,\n\t/**\n\t* Determine whether the given value is a date\n\t*/\n\tdate: isDate,\n\t/**\n\t* Determine whether the given value is a generator\n\t*/\n\tgenerator: isGenerator,\n\t/**\n\t* Determine whether the given value if an empty\n\t* This can be validated against any type of values\n\t* undefined or nullable values will be considered empty\n\t* Objects that doesn't have any properties will be considered empty\n\t* Arrays and Strings will be empty based on its length\n\t* The 0 'Zero\" number will not be considered empty\n\t*/\n\tempty: isEmpty,\n\t/**\n\t* Determine whether the given value is a valid json string\n\t*/\n\tjson: isJson,\n\t/**\n\t* Determine whether the given value is a valid url\n\t*/\n\turl: isUrl,\n\t/**\n\t* Determine whether the given value is a valid email\n\t*/\n\temail: isEmail,\n\t/**\n\t* Determine the current visitor is opening from mobile\n\t* Please Note this method depends on the user agent\n\t*/\n\tmobile: isMobile,\n\t/**\n\t* Determine if current user is opening from macOS\n\t*/\n\tmac: isMac,\n\t/**\n\t* Determine whether the current visitor is opening from desktop\n\t*/\n\tdesktop: isDesktop,\n\t/**\n\t* Check if the current browser is the given name\n\t* To detect browser version as well, pass the version number as the second argument\n\t*/\n\tbrowser: isBrowser,\n\tchrome: isChrome,\n\tfirefox: isFirefox,\n\tsafari: isSafari,\n\topera: isOpera,\n\tie: isIE,\n\tedge: isEdge\n};\n\n//#endregion\nexport { Is, Is as default, isBrowser, isChrome, isDate, isDesktop, isEdge, isEmail, isEmpty, isFirefox, isFloat, isFormData, isFormElement, isGenerator, isIE, isInt, isIterable, isJson, isMac, isMobile, isNumeric, isObject, isOpera, isPlainObject, isPrimitive, isPromise, isRegex, isSafari, isScalar, isString, isUrl, isValidId };\n//# sourceMappingURL=index.mjs.map"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import { Broker } from "./broker.mjs";
2
2
  import { EventEmitter } from "node:events";
3
3
 
4
- //#region ../herald/src/communicators/broker-registry.ts
4
+ //#region ../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/broker-registry.mjs
5
5
  /**
6
6
  * Error thrown when a broker is not found
7
7
  */
8
8
  var MissingBrokerError = class extends Error {
9
- brokerName;
10
9
  constructor(message, brokerName) {
11
10
  super(message);
12
11
  this.name = "MissingBrokerError";
@@ -41,9 +40,10 @@ var MissingBrokerError = class extends Error {
41
40
  * ```
42
41
  */
43
42
  var BrokerRegistry = class {
44
- sources = /* @__PURE__ */ new Map();
45
- defaultSource;
46
- events = new EventEmitter();
43
+ constructor() {
44
+ this.sources = /* @__PURE__ */ new Map();
45
+ this.events = new EventEmitter();
46
+ }
47
47
  /**
48
48
  * Register a new broker
49
49
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker-registry.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/broker-registry.mjs"],"sourcesContent":["import { Broker } from \"./broker.mjs\";\nimport { EventEmitter } from \"node:events\";\n\n//#region ../herald/src/communicators/broker-registry.ts\n/**\n* Error thrown when a broker is not found\n*/\nvar MissingBrokerError = class extends Error {\n\tconstructor(message, brokerName) {\n\t\tsuper(message);\n\t\tthis.name = \"MissingBrokerError\";\n\t\tthis.brokerName = brokerName;\n\t}\n};\n/**\n* Broker Registry\n*\n* Maintains registry of named brokers.\n* Similar to DataSourceRegistry in @warlock.js/cascade\n*\n* @example\n* ```typescript\n* // Register a broker\n* brokerRegistry.register({\n* name: \"default\",\n* driver: rabbitMQDriver,\n* isDefault: true,\n* });\n*\n* // Get the default broker\n* const comm = brokerRegistry.get();\n*\n* // Get a specific broker by name\n* const analytics = brokerRegistry.get(\"analytics\");\n*\n* // Listen for events\n* brokerRegistry.on(\"connected\", (comm) => {\n* console.log(`${comm.name} connected`);\n* });\n* ```\n*/\nvar BrokerRegistry = class {\n\tconstructor() {\n\t\tthis.sources = /* @__PURE__ */ new Map();\n\t\tthis.events = new EventEmitter();\n\t}\n\t/**\n\t* Register a new broker\n\t*\n\t* Sets up event forwarding from the driver to the registry.\n\t*\n\t* @param options - Broker configuration\n\t* @returns The registered broker instance\n\t*\n\t* @example\n\t* ```typescript\n\t* const broker = brokerRegistry.register({\n\t* name: \"primary\",\n\t* driver: myDriver,\n\t* isDefault: true,\n\t* });\n\t* ```\n\t*/\n\tregister(options) {\n\t\tconst broker = new Broker(options);\n\t\tthis.sources.set(broker.name, broker);\n\t\tconst isNewDefault = broker.isDefault || !this.defaultSource;\n\t\tif (isNewDefault) this.defaultSource = broker;\n\t\tthis.events.emit(\"registered\", broker);\n\t\tif (isNewDefault) this.events.emit(\"default-registered\", broker);\n\t\tbroker.driver.on(\"connected\", () => {\n\t\t\tthis.events.emit(\"connected\", broker);\n\t\t});\n\t\tbroker.driver.on(\"disconnected\", () => {\n\t\t\tthis.events.emit(\"disconnected\", broker);\n\t\t});\n\t\treturn broker;\n\t}\n\t/**\n\t* Clear all registered brokers\n\t*/\n\tclear() {\n\t\tthis.defaultSource = void 0;\n\t\tthis.sources.clear();\n\t}\n\t/**\n\t* Listen for registry events\n\t*\n\t* @param event - Event to listen for\n\t* @param listener - Callback function\n\t*\n\t* @example\n\t* ```typescript\n\t* brokerRegistry.on(\"registered\", (comm) => {\n\t* console.log(`Broker \"${comm.name}\" registered`);\n\t* });\n\t*\n\t* brokerRegistry.on(\"connected\", (comm) => {\n\t* console.log(`Broker \"${comm.name}\" connected`);\n\t* });\n\t* ```\n\t*/\n\ton(event, listener) {\n\t\tthis.events.on(event, listener);\n\t}\n\t/**\n\t* Listen for a registry event once\n\t*\n\t* @param event - Event to listen for\n\t* @param listener - Callback function\n\t*/\n\tonce(event, listener) {\n\t\tthis.events.once(event, listener);\n\t}\n\t/**\n\t* Remove an event listener\n\t*\n\t* @param event - Event to stop listening for\n\t* @param listener - Callback to remove\n\t*/\n\toff(event, listener) {\n\t\tthis.events.off(event, listener);\n\t}\n\t/**\n\t* Get a broker by name or the default one\n\t*\n\t* @param name - Optional broker name\n\t* @returns Broker instance\n\t* @throws MissingBrokerError if not found\n\t*\n\t* @example\n\t* ```typescript\n\t* // Get default broker\n\t* const comm = brokerRegistry.get();\n\t*\n\t* // Get specific broker\n\t* const analytics = brokerRegistry.get(\"analytics\");\n\t* ```\n\t*/\n\tget(name) {\n\t\tif (name !== void 0) {\n\t\t\tconst source = this.sources.get(name);\n\t\t\tif (!source) throw new MissingBrokerError(`Broker \"${name}\" is not registered.`, name);\n\t\t\treturn source;\n\t\t}\n\t\tif (!this.defaultSource) throw new MissingBrokerError(\"No default broker registered.\");\n\t\treturn this.defaultSource;\n\t}\n\t/**\n\t* Check if a broker exists\n\t*\n\t* @param name - Broker name to check\n\t* @returns True if exists\n\t*/\n\thas(name) {\n\t\treturn this.sources.has(name);\n\t}\n\t/**\n\t* Check if any brokers are registered\n\t*/\n\thasAny() {\n\t\treturn this.sources.size > 0;\n\t}\n\t/**\n\t* Get all registered brokers\n\t*\n\t* @returns Array of all brokers\n\t*\n\t* @example\n\t* ```typescript\n\t* // Disconnect all brokers\n\t* for (const comm of brokerRegistry.getAll()) {\n\t* await comm.disconnect();\n\t* }\n\t* ```\n\t*/\n\tgetAll() {\n\t\treturn Array.from(this.sources.values());\n\t}\n\t/**\n\t* Get all broker names\n\t*\n\t* @returns Array of broker names\n\t*/\n\tgetNames() {\n\t\treturn Array.from(this.sources.keys());\n\t}\n\t/**\n\t* Get the default broker (if any)\n\t*\n\t* @returns Default broker or undefined\n\t*/\n\tgetDefault() {\n\t\treturn this.defaultSource;\n\t}\n};\n/**\n* Global broker registry instance\n*/\nconst brokerRegistry = new BrokerRegistry();\n\n//#endregion\nexport { MissingBrokerError, brokerRegistry };\n//# sourceMappingURL=broker-registry.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;AAOA,IAAI,qBAAqB,cAAc,MAAM;CAC5C,YAAY,SAAS,YAAY;EAChC,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,KAAK,aAAa;CACnB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,IAAI,iBAAiB,MAAM;CAC1B,cAAc;EACb,KAAK,0BAA0B,IAAI,IAAI;EACvC,KAAK,SAAS,IAAI,aAAa;CAChC;;;;;;;;;;;;;;;;;;CAkBA,SAAS,SAAS;EACjB,MAAM,SAAS,IAAI,OAAO,OAAO;EACjC,KAAK,QAAQ,IAAI,OAAO,MAAM,MAAM;EACpC,MAAM,eAAe,OAAO,aAAa,CAAC,KAAK;EAC/C,IAAI,cAAc,KAAK,gBAAgB;EACvC,KAAK,OAAO,KAAK,cAAc,MAAM;EACrC,IAAI,cAAc,KAAK,OAAO,KAAK,sBAAsB,MAAM;EAC/D,OAAO,OAAO,GAAG,mBAAmB;GACnC,KAAK,OAAO,KAAK,aAAa,MAAM;EACrC,CAAC;EACD,OAAO,OAAO,GAAG,sBAAsB;GACtC,KAAK,OAAO,KAAK,gBAAgB,MAAM;EACxC,CAAC;EACD,OAAO;CACR;;;;CAIA,QAAQ;EACP,KAAK,gBAAgB,KAAK;EAC1B,KAAK,QAAQ,MAAM;CACpB;;;;;;;;;;;;;;;;;;CAkBA,GAAG,OAAO,UAAU;EACnB,KAAK,OAAO,GAAG,OAAO,QAAQ;CAC/B;;;;;;;CAOA,KAAK,OAAO,UAAU;EACrB,KAAK,OAAO,KAAK,OAAO,QAAQ;CACjC;;;;;;;CAOA,IAAI,OAAO,UAAU;EACpB,KAAK,OAAO,IAAI,OAAO,QAAQ;CAChC;;;;;;;;;;;;;;;;;CAiBA,IAAI,MAAM;EACT,IAAI,SAAS,KAAK,GAAG;GACpB,MAAM,SAAS,KAAK,QAAQ,IAAI,IAAI;GACpC,IAAI,CAAC,QAAQ,MAAM,IAAI,mBAAmB,WAAW,KAAK,uBAAuB,IAAI;GACrF,OAAO;EACR;EACA,IAAI,CAAC,KAAK,eAAe,MAAM,IAAI,mBAAmB,+BAA+B;EACrF,OAAO,KAAK;CACb;;;;;;;CAOA,IAAI,MAAM;EACT,OAAO,KAAK,QAAQ,IAAI,IAAI;CAC7B;;;;CAIA,SAAS;EACR,OAAO,KAAK,QAAQ,OAAO;CAC5B;;;;;;;;;;;;;;CAcA,SAAS;EACR,OAAO,MAAM,KAAK,KAAK,QAAQ,OAAO,CAAC;CACxC;;;;;;CAMA,WAAW;EACV,OAAO,MAAM,KAAK,KAAK,QAAQ,KAAK,CAAC;CACtC;;;;;;CAMA,aAAa;EACZ,OAAO,KAAK;CACb;AACD;;;;AAIA,MAAM,iBAAiB,IAAI,eAAe"}
@@ -1,4 +1,4 @@
1
- //#region ../herald/src/communicators/broker.ts
1
+ //#region ../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/broker.mjs
2
2
  /**
3
3
  * Broker - wrapper around a driver with metadata
4
4
  *
@@ -17,12 +17,6 @@
17
17
  * ```
18
18
  */
19
19
  var Broker = class {
20
- /** Unique name identifying this broker */
21
- name;
22
- /** The underlying driver */
23
- driver;
24
- /** Whether this is the default broker */
25
- isDefault;
26
20
  /**
27
21
  * Create a new Broker
28
22
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/communicators/broker.mjs"],"sourcesContent":["//#region ../herald/src/communicators/broker.ts\n/**\n* Broker - wrapper around a driver with metadata\n*\n* Similar to DataSource in @warlock.js/cascade\n*\n* @example\n* ```typescript\n* const broker = new Broker({\n* name: \"default\",\n* driver: rabbitMQDriver,\n* isDefault: true,\n* });\n*\n* // Get a channel\n* const channel = broker.channel(\"user.created\");\n* ```\n*/\nvar Broker = class {\n\t/**\n\t* Create a new Broker\n\t*\n\t* @param options - Broker configuration\n\t*/\n\tconstructor(options) {\n\t\tthis.name = options.name;\n\t\tthis.driver = options.driver;\n\t\tthis.isDefault = Boolean(options.isDefault);\n\t}\n\t/**\n\t* Subscribe the given consumer\n\t*/\n\tsubscribe(consumer) {\n\t\treturn this.driver.subscribe(consumer);\n\t}\n\t/**\n\t* Publish the given event message\n\t*/\n\tpublish(event) {\n\t\tthis.driver.publish(event);\n\t}\n\t/**\n\t* Get or create a channel\n\t*\n\t* @param name - Channel name\n\t* @param options - Channel options\n\t* @returns Channel instance\n\t*\n\t* @example\n\t* ```typescript\n\t* // Simple channel\n\t* const channel = broker.channel(\"notifications\");\n\t*\n\t* // Typed channel with schema\n\t* const orderChannel = broker.channel<OrderPayload>(\"orders\", {\n\t* schema: OrderSchema,\n\t* durable: true,\n\t* });\n\t* ```\n\t*/\n\tchannel(name, options) {\n\t\treturn this.driver.channel(name, options);\n\t}\n\t/**\n\t* Check if the broker is connected\n\t*/\n\tget isConnected() {\n\t\treturn this.driver.isConnected;\n\t}\n\t/**\n\t* Connect the underlying driver\n\t*/\n\tasync connect() {\n\t\tawait this.driver.connect();\n\t}\n\t/**\n\t* Disconnect the underlying driver\n\t*/\n\tasync disconnect() {\n\t\tawait this.driver.disconnect();\n\t}\n\t/**\n\t* Start consuming messages\n\t*/\n\tasync startConsuming() {\n\t\tawait this.driver.startConsuming();\n\t}\n\t/**\n\t* Stop consuming messages\n\t*/\n\tasync stopConsuming() {\n\t\tawait this.driver.stopConsuming();\n\t}\n\t/**\n\t* Health check\n\t*/\n\tasync healthCheck() {\n\t\treturn this.driver.healthCheck();\n\t}\n};\n\n//#endregion\nexport { Broker };\n//# sourceMappingURL=broker.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,IAAI,SAAS,MAAM;;;;;;CAMlB,YAAY,SAAS;EACpB,KAAK,OAAO,QAAQ;EACpB,KAAK,SAAS,QAAQ;EACtB,KAAK,YAAY,QAAQ,QAAQ,SAAS;CAC3C;;;;CAIA,UAAU,UAAU;EACnB,OAAO,KAAK,OAAO,UAAU,QAAQ;CACtC;;;;CAIA,QAAQ,OAAO;EACd,KAAK,OAAO,QAAQ,KAAK;CAC1B;;;;;;;;;;;;;;;;;;;;CAoBA,QAAQ,MAAM,SAAS;EACtB,OAAO,KAAK,OAAO,QAAQ,MAAM,OAAO;CACzC;;;;CAIA,IAAI,cAAc;EACjB,OAAO,KAAK,OAAO;CACpB;;;;CAIA,MAAM,UAAU;EACf,MAAM,KAAK,OAAO,QAAQ;CAC3B;;;;CAIA,MAAM,aAAa;EAClB,MAAM,KAAK,OAAO,WAAW;CAC9B;;;;CAIA,MAAM,iBAAiB;EACtB,MAAM,KAAK,OAAO,eAAe;CAClC;;;;CAIA,MAAM,gBAAgB;EACrB,MAAM,KAAK,OAAO,cAAc;CACjC;;;;CAIA,MAAM,cAAc;EACnB,OAAO,KAAK,OAAO,YAAY;CAChC;AACD"}
@@ -1,7 +1,7 @@
1
1
  import { brokerRegistry } from "../communicators/broker-registry.mjs";
2
2
  import "../communicators/index.mjs";
3
3
 
4
- //#region ../herald/src/decorators/consumable.ts
4
+ //#region ../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/decorators/consumable.mjs
5
5
  const pendingSubscribers = /* @__PURE__ */ new Set();
6
6
  /**
7
7
  * Register the consumer to the broker
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumable.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/decorators/consumable.mjs"],"sourcesContent":["import { brokerRegistry } from \"../communicators/broker-registry.mjs\";\nimport \"../communicators/index.mjs\";\n\n//#region ../herald/src/decorators/consumable.ts\nconst pendingSubscribers = /* @__PURE__ */ new Set();\n/**\n* Register the consumer to the broker\n*/\nfunction Consumable(options) {\n\treturn function(target) {\n\t\tconst brokerName = options?.broker;\n\t\ttry {\n\t\t\tconst currentBroker = brokerRegistry.get(brokerName);\n\t\t\tif (currentBroker?.isConnected) currentBroker.subscribe(target);\n\t\t\telse pendingSubscribers.add({\n\t\t\t\tConsumer: target,\n\t\t\t\toptions\n\t\t\t});\n\t\t} catch {\n\t\t\tpendingSubscribers.add({\n\t\t\t\tConsumer: target,\n\t\t\t\toptions\n\t\t\t});\n\t\t}\n\t};\n}\nbrokerRegistry.on(\"connected\", (broker) => {\n\tfor (const { Consumer, options } of pendingSubscribers) {\n\t\tif (options?.broker && broker.name !== options.broker) continue;\n\t\tbroker.subscribe(Consumer);\n\t}\n});\n\n//#endregion\nexport { Consumable, pendingSubscribers };\n//# sourceMappingURL=consumable.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;AAIA,MAAM,qCAAqC,IAAI,IAAI;;;;AAInD,SAAS,WAAW,SAAS;CAC5B,OAAO,SAAS,QAAQ;EACvB,MAAM,aAAa,SAAS;EAC5B,IAAI;GACH,MAAM,gBAAgB,eAAe,IAAI,UAAU;GACnD,IAAI,eAAe,aAAa,cAAc,UAAU,MAAM;QACzD,mBAAmB,IAAI;IAC3B,UAAU;IACV;GACD,CAAC;EACF,QAAQ;GACP,mBAAmB,IAAI;IACtB,UAAU;IACV;GACD,CAAC;EACF;CACD;AACD;AACA,eAAe,GAAG,cAAc,WAAW;CAC1C,KAAK,MAAM,EAAE,UAAU,aAAa,oBAAoB;EACvD,IAAI,SAAS,UAAU,OAAO,SAAS,QAAQ,QAAQ;EACvD,OAAO,UAAU,QAAQ;CAC1B;AACD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import "./rabbitmq/rabbitmq-channel.mjs";
2
+ import "./rabbitmq/rabbitmq-driver.mjs";
3
+ import "./rabbitmq/index.mjs";
4
+
5
+ export { };
@@ -0,0 +1,4 @@
1
+ import "./rabbitmq-channel.mjs";
2
+ import "./rabbitmq-driver.mjs";
3
+
4
+ export { };
@@ -1,9 +1,9 @@
1
- import { v } from "../../../../seal/src/factory/validators.mjs";
2
- import "../../../../seal/src/index.mjs";
1
+ import { v } from "../../../../../../../@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/factory/validators.mjs";
2
+ import "../../../../../../../@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/index.mjs";
3
3
  import { log } from "@warlock.js/logger";
4
4
  import { randomUUID } from "node:crypto";
5
5
 
6
- //#region ../herald/src/drivers/rabbitmq/rabbitmq-channel.ts
6
+ //#region ../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-channel.mjs
7
7
  /**
8
8
  * RabbitMQ Channel Implementation
9
9
  *
@@ -12,15 +12,12 @@ import { randomUUID } from "node:crypto";
12
12
  * @template TPayload - The typed payload
13
13
  */
14
14
  var RabbitMQChannel = class {
15
- name;
16
- options;
17
- amqpChannel;
18
- subscriptions = /* @__PURE__ */ new Map();
19
- asserted = false;
20
15
  /**
21
16
  * Create a new RabbitMQ channel
22
17
  */
23
18
  constructor(name, amqpChannel, options) {
19
+ this.subscriptions = /* @__PURE__ */ new Map();
20
+ this.asserted = false;
24
21
  this.name = name;
25
22
  this.amqpChannel = amqpChannel;
26
23
  this.options = options ?? {};
@@ -371,12 +368,8 @@ var RabbitMQChannel = class {
371
368
  * RabbitMQ Subscription Implementation
372
369
  */
373
370
  var RabbitMQSubscription = class {
374
- id;
375
- channel;
376
- consumerTag;
377
- amqpChannel;
378
- _isActive = true;
379
371
  constructor(id, channel, consumerTag, amqpChannel) {
372
+ this._isActive = true;
380
373
  this.id = id;
381
374
  this.channel = channel;
382
375
  this.consumerTag = consumerTag;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-channel.mjs","names":[],"sources":["../../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-channel.mjs"],"sourcesContent":["import { log } from \"@warlock.js/logger\";\nimport { v } from \"@warlock.js/seal\";\nimport { randomUUID } from \"node:crypto\";\n\n//#region ../herald/src/drivers/rabbitmq/rabbitmq-channel.ts\n/**\n* RabbitMQ Channel Implementation\n*\n* Wraps a RabbitMQ queue/exchange with a unified API.\n*\n* @template TPayload - The typed payload\n*/\nvar RabbitMQChannel = class {\n\t/**\n\t* Create a new RabbitMQ channel\n\t*/\n\tconstructor(name, amqpChannel, options) {\n\t\tthis.subscriptions = /* @__PURE__ */ new Map();\n\t\tthis.asserted = false;\n\t\tthis.name = name;\n\t\tthis.amqpChannel = amqpChannel;\n\t\tthis.options = options ?? {};\n\t}\n\t/**\n\t* Assert the queue exists\n\t*/\n\tasync assert() {\n\t\tif (this.asserted) return;\n\t\tconst queueOptions = {\n\t\t\tdurable: this.options.durable ?? true,\n\t\t\tautoDelete: this.options.autoDelete ?? false,\n\t\t\texclusive: this.options.exclusive ?? false,\n\t\t\tmessageTtl: this.options.messageTtl,\n\t\t\tmaxLength: this.options.maxLength,\n\t\t\tdeadLetterExchange: this.options.deadLetter?.channel ? \"\" : void 0,\n\t\t\tdeadLetterRoutingKey: this.options.deadLetter?.channel\n\t\t};\n\t\tawait this.amqpChannel.assertQueue(this.name, queueOptions);\n\t\tthis.asserted = true;\n\t}\n\t/**\n\t* Publish a message\n\t*/\n\tasync publish(payload, options) {\n\t\tawait this.assert();\n\t\tif (this.options.schema) {\n\t\t\tconst context = {\n\t\t\t\tallValues: payload,\n\t\t\t\tvalue: payload\n\t\t\t};\n\t\t\tconst result = await v.validate(this.options.schema, payload, { context });\n\t\t\tif (!result.isValid) throw new Error(`Message validation failed: ${JSON.stringify(result.errors)}`);\n\t\t\tpayload = result.data;\n\t\t}\n\t\tconst messageId = randomUUID();\n\t\tconst timestamp = /* @__PURE__ */ new Date();\n\t\tconst messageContent = JSON.stringify({\n\t\t\tpayload,\n\t\t\tmetadata: {\n\t\t\t\tmessageId,\n\t\t\t\ttimestamp: timestamp.toISOString(),\n\t\t\t\tcorrelationId: options?.correlationId,\n\t\t\t\theaders: options?.headers\n\t\t\t}\n\t\t});\n\t\tconst publishOptions = {\n\t\t\tpersistent: options?.persistent ?? true,\n\t\t\tmessageId,\n\t\t\ttimestamp: timestamp.getTime(),\n\t\t\tcorrelationId: options?.correlationId,\n\t\t\texpiration: options?.expiration?.toString(),\n\t\t\tpriority: options?.priority,\n\t\t\theaders: options?.headers\n\t\t};\n\t\tif (options?.delay) publishOptions.headers = {\n\t\t\t...publishOptions.headers,\n\t\t\t\"x-delay\": options.delay\n\t\t};\n\t\tthis.amqpChannel.sendToQueue(this.name, Buffer.from(messageContent), publishOptions);\n\t}\n\t/**\n\t* Publish multiple messages\n\t*/\n\tasync publishBatch(messages, options) {\n\t\tfor (const payload of messages) await this.publish(payload, options);\n\t}\n\t/**\n\t* Subscribe to messages\n\t*\n\t* Smart auto-ack behavior (when autoAck is not true):\n\t* - If handler completes successfully without explicit ack/nack/reject → auto-ack\n\t* - If handler throws an error → auto-nack (with retry if configured)\n\t* - If handler explicitly calls ack/nack/reject → respects that call\n\t*/\n\tasync subscribe(handler, options) {\n\t\tawait this.assert();\n\t\tconst subscriptionId = options?.consumerId ?? randomUUID();\n\t\tif (options?.prefetch) await this.amqpChannel.prefetch(options.prefetch);\n\t\tconst isFireAndForget = options?.autoAck === true;\n\t\tconst consumerOptions = {\n\t\t\tnoAck: isFireAndForget,\n\t\t\texclusive: options?.exclusive ?? false,\n\t\t\tconsumerTag: options?.group ?? subscriptionId\n\t\t};\n\t\tconst { consumerTag } = await this.amqpChannel.consume(this.name, async (msg) => {\n\t\t\tif (!msg) return;\n\t\t\tlet ackHandled = isFireAndForget;\n\t\t\tlet parsedMessage;\n\t\t\ttry {\n\t\t\t\tconst content = JSON.parse(msg.content.toString());\n\t\t\t\tlet payload = content.payload;\n\t\t\t\tif (this.options.schema) {\n\t\t\t\t\tconst context = {\n\t\t\t\t\t\tallValues: payload,\n\t\t\t\t\t\tvalue: payload\n\t\t\t\t\t};\n\t\t\t\t\tconst result = await v.validate(this.options.schema, payload, { context });\n\t\t\t\t\tif (!result.isValid) {\n\t\t\t\t\t\tthis.amqpChannel.nack(msg, false, false);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tpayload = result.data;\n\t\t\t\t}\n\t\t\t\tconst metadata = {\n\t\t\t\t\tmessageId: msg.properties.messageId || content.metadata?.messageId || randomUUID(),\n\t\t\t\t\ttimestamp: new Date(msg.properties.timestamp || content.metadata?.timestamp),\n\t\t\t\t\tcorrelationId: msg.properties.correlationId || content.metadata?.correlationId,\n\t\t\t\t\treplyTo: msg.properties.replyTo,\n\t\t\t\t\tpriority: msg.properties.priority,\n\t\t\t\t\theaders: msg.properties.headers,\n\t\t\t\t\tretryCount: msg.properties.headers?.[\"x-retry-count\"] || 0,\n\t\t\t\t\toriginalChannel: this.name\n\t\t\t\t};\n\t\t\t\tconst message = {\n\t\t\t\t\tmetadata,\n\t\t\t\t\tpayload,\n\t\t\t\t\traw: msg\n\t\t\t\t};\n\t\t\t\tparsedMessage = message;\n\t\t\t\tawait handler(message, {\n\t\t\t\t\tack: async () => {\n\t\t\t\t\t\tif (!ackHandled) {\n\t\t\t\t\t\t\tackHandled = true;\n\t\t\t\t\t\t\tthis.amqpChannel.ack(msg);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tnack: async (requeue = true) => {\n\t\t\t\t\t\tif (!ackHandled) {\n\t\t\t\t\t\t\tackHandled = true;\n\t\t\t\t\t\t\tthis.amqpChannel.nack(msg, false, requeue);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\treject: async () => {\n\t\t\t\t\t\tif (!ackHandled) {\n\t\t\t\t\t\t\tackHandled = true;\n\t\t\t\t\t\t\tthis.amqpChannel.reject(msg, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\treply: async (replyPayload) => {\n\t\t\t\t\t\tif (msg.properties.replyTo) {\n\t\t\t\t\t\t\tconst replyContent = JSON.stringify({\n\t\t\t\t\t\t\t\tpayload: replyPayload,\n\t\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\t\tmessageId: randomUUID(),\n\t\t\t\t\t\t\t\t\ttimestamp: (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\t\t\t\t\t\t\tcorrelationId: msg.properties.correlationId\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.amqpChannel.sendToQueue(msg.properties.replyTo, Buffer.from(replyContent), { correlationId: msg.properties.correlationId });\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tretry: async (delay) => {\n\t\t\t\t\t\tif (ackHandled) return;\n\t\t\t\t\t\tackHandled = true;\n\t\t\t\t\t\tawait this.retryOrGiveUp(msg, metadata.retryCount || 0, options, message, delay);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (!ackHandled) this.amqpChannel.ack(msg);\n\t\t\t} catch (error) {\n\t\t\t\tif (ackHandled) return;\n\t\t\t\tif (options?.retry) {\n\t\t\t\t\tconst currentRetryCount = msg.properties.headers?.[\"x-retry-count\"] || 0;\n\t\t\t\t\tawait this.retryOrGiveUp(msg, currentRetryCount, options, parsedMessage);\n\t\t\t\t} else this.amqpChannel.nack(msg, false, false);\n\t\t\t}\n\t\t}, consumerOptions);\n\t\tconst subscription = new RabbitMQSubscription(subscriptionId, this.name, consumerTag, this.amqpChannel);\n\t\tthis.subscriptions.set(subscriptionId, subscription);\n\t\treturn subscription;\n\t}\n\t/**\n\t* Unsubscribe by consumer ID\n\t*/\n\tasync unsubscribeById(consumerId) {\n\t\tconst subscription = this.subscriptions.get(consumerId);\n\t\tif (subscription) {\n\t\t\tawait subscription.unsubscribe();\n\t\t\tthis.subscriptions.delete(consumerId);\n\t\t}\n\t}\n\t/**\n\t* Stop consuming messages on this channel.\n\t* Cancels all active subscriptions gracefully.\n\t*/\n\tasync stopConsuming() {\n\t\tconst cancellations = Array.from(this.subscriptions.values()).map((sub) => sub.unsubscribe());\n\t\tawait Promise.all(cancellations);\n\t}\n\t/**\n\t* Send message to dead-letter queue\n\t*/\n\tasync sendToDeadLetter(message, deadLetterChannel) {\n\t\tconst content = JSON.stringify({\n\t\t\tpayload: message.payload,\n\t\t\tmetadata: {\n\t\t\t\t...message.metadata,\n\t\t\t\toriginalChannel: this.name\n\t\t\t}\n\t\t});\n\t\tthis.amqpChannel.sendToQueue(deadLetterChannel, Buffer.from(content), { persistent: true });\n\t}\n\t/**\n\t* Dead-letter a message whose body couldn't be parsed into a {@link Message}\n\t* (e.g. `JSON.parse` itself threw before an envelope existed). Forwards the\n\t* raw AMQP bytes/properties as-is rather than re-deriving a payload, so a\n\t* malformed message isn't lost.\n\t*/\n\tsendToDeadLetterRaw(msg, deadLetterChannel) {\n\t\tthis.amqpChannel.sendToQueue(deadLetterChannel, msg.content, {\n\t\t\t...msg.properties,\n\t\t\tpersistent: true\n\t\t});\n\t}\n\t/**\n\t* Bounded retry shared by the explicit `ctx.retry()` call and the automatic\n\t* catch when a handler throws without calling it itself — so both paths\n\t* honor the same cap instead of the automatic path silently requeueing\n\t* forever (see `subscribe()`'s catch block).\n\t*\n\t* Under the cap: republishes with an incremented `x-retry-count` header —\n\t* NOT a plain `nack(msg, false, true)`, which redelivers the original\n\t* message untouched and never advances the counter.\n\t*\n\t* At/over the cap: dead-letters if configured, otherwise drops the message\n\t* with a loud `log.error` (never a silent drop) so an operator can see a\n\t* poison message was discarded instead of it vanishing without a trace.\n\t*/\n\tasync retryOrGiveUp(msg, currentRetryCount, options, parsedMessage, delay) {\n\t\tconst retryCount = currentRetryCount + 1;\n\t\tconst maxRetries = options?.retry?.maxRetries ?? 3;\n\t\tif (retryCount > maxRetries) {\n\t\t\tif (options?.deadLetter) if (parsedMessage) await this.sendToDeadLetter(parsedMessage, options.deadLetter.channel);\n\t\t\telse this.sendToDeadLetterRaw(msg, options.deadLetter.channel);\n\t\t\telse {\n\t\t\t\tlog.error(\"herald\", \"poison-message\", `Dropping message on channel \"${this.name}\" after ${retryCount - 1} failed ${retryCount - 1 === 1 ? \"retry\" : \"retries\"} (maxRetries: ${maxRetries}) with no dead-letter channel configured.`, {\n\t\t\t\t\tchannel: this.name,\n\t\t\t\t\tretryCount: retryCount - 1,\n\t\t\t\t\tmaxRetries\n\t\t\t\t});\n\t\t\t\tthis.amqpChannel.reject(msg, false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.amqpChannel.ack(msg);\n\t\t\treturn;\n\t\t}\n\t\tconst headers = {\n\t\t\t...msg.properties.headers,\n\t\t\t\"x-retry-count\": retryCount\n\t\t};\n\t\tif (delay) headers[\"x-delay\"] = delay;\n\t\tthis.amqpChannel.sendToQueue(this.name, msg.content, {\n\t\t\t...msg.properties,\n\t\t\theaders\n\t\t});\n\t\tthis.amqpChannel.ack(msg);\n\t}\n\t/**\n\t* Request-response pattern\n\t*/\n\tasync request(payload, options) {\n\t\tawait this.assert();\n\t\tconst correlationId = randomUUID();\n\t\tconst timeout = options?.timeout ?? 3e4;\n\t\tconst { queue: replyQueue } = await this.amqpChannel.assertQueue(\"\", {\n\t\t\texclusive: true,\n\t\t\tautoDelete: true\n\t\t});\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\treject(/* @__PURE__ */ new Error(`Request timeout after ${timeout}ms`));\n\t\t\t}, timeout);\n\t\t\tthis.amqpChannel.consume(replyQueue, (msg) => {\n\t\t\t\tif (msg?.properties.correlationId === correlationId) {\n\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\tresolve(JSON.parse(msg.content.toString()).payload);\n\t\t\t\t}\n\t\t\t}, { noAck: true });\n\t\t\tconst messageContent = JSON.stringify({\n\t\t\t\tpayload,\n\t\t\t\tmetadata: {\n\t\t\t\t\tmessageId: randomUUID(),\n\t\t\t\t\ttimestamp: (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\t\t\tcorrelationId\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.amqpChannel.sendToQueue(this.name, Buffer.from(messageContent), {\n\t\t\t\tcorrelationId,\n\t\t\t\treplyTo: replyQueue,\n\t\t\t\texpiration: timeout.toString(),\n\t\t\t\t...options\n\t\t\t});\n\t\t});\n\t}\n\t/**\n\t* Register response handler for RPC\n\t*/\n\tasync respond(handler) {\n\t\treturn this.subscribe(async (message, ctx) => {\n\t\t\tconst response = await handler(message, ctx);\n\t\t\tawait ctx.reply(response);\n\t\t\tawait ctx.ack();\n\t\t});\n\t}\n\t/**\n\t* Get queue statistics\n\t*/\n\tasync stats() {\n\t\tawait this.assert();\n\t\tconst queueInfo = await this.amqpChannel.checkQueue(this.name);\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tmessageCount: queueInfo.messageCount,\n\t\t\tconsumerCount: queueInfo.consumerCount\n\t\t};\n\t}\n\t/**\n\t* Purge all messages\n\t*/\n\tasync purge() {\n\t\tawait this.assert();\n\t\treturn (await this.amqpChannel.purgeQueue(this.name)).messageCount;\n\t}\n\t/**\n\t* Check if queue exists\n\t*/\n\tasync exists() {\n\t\ttry {\n\t\t\tawait this.amqpChannel.checkQueue(this.name);\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\t/**\n\t* Delete the queue\n\t*/\n\tasync delete() {\n\t\tfor (const subscription of this.subscriptions.values()) await subscription.unsubscribe();\n\t\tthis.subscriptions.clear();\n\t\ttry {\n\t\t\tawait this.amqpChannel.deleteQueue(this.name);\n\t\t} catch {}\n\t\tthis.asserted = false;\n\t}\n};\n/**\n* RabbitMQ Subscription Implementation\n*/\nvar RabbitMQSubscription = class {\n\tconstructor(id, channel, consumerTag, amqpChannel) {\n\t\tthis._isActive = true;\n\t\tthis.id = id;\n\t\tthis.channel = channel;\n\t\tthis.consumerTag = consumerTag;\n\t\tthis.amqpChannel = amqpChannel;\n\t}\n\tasync unsubscribe() {\n\t\tif (!this._isActive) return;\n\t\tawait this.amqpChannel.cancel(this.consumerTag);\n\t\tthis._isActive = false;\n\t}\n\tasync pause() {\n\t\tawait this.amqpChannel.cancel(this.consumerTag);\n\t}\n\tasync resume() {\n\t\tthrow new Error(\"Resume is not supported for RabbitMQ. Please create a new subscription.\");\n\t}\n\tisActive() {\n\t\treturn this._isActive;\n\t}\n};\n\n//#endregion\nexport { RabbitMQChannel };\n//# sourceMappingURL=rabbitmq-channel.mjs.map"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { __toESM } from "../../../../_virtual/_rolldown/runtime.mjs";
1
+ import { __toESM } from "../../../../../../../../../_virtual/_rolldown/runtime.mjs";
2
2
  import { prepareConsumerSubscription } from "../../message-managers/prepare-consumer-subscription.mjs";
3
3
  import { RabbitMQChannel } from "./rabbitmq-channel.mjs";
4
4
  import { EventEmitter } from "node:events";
5
5
 
6
- //#region ../herald/src/drivers/rabbitmq/rabbitmq-driver.ts
6
+ //#region ../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-driver.mjs
7
7
  /**
8
8
  * The single amqplib load, shared by every caller.
9
9
  *
@@ -48,7 +48,7 @@ function redactAmqpCredentials(message) {
48
48
  * @returns The amqplib module, or `undefined` when it is not installed.
49
49
  */
50
50
  function loadAmqplibModule() {
51
- if (!amqplibModulePromise) amqplibModulePromise = import("../../../../node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/channel_api.mjs").then((m) => /* @__PURE__ */ __toESM(m.default, 1)).catch(() => void 0);
51
+ if (!amqplibModulePromise) amqplibModulePromise = import("../../../../../../../amqplib@0.10.9/node_modules/amqplib/channel_api.mjs").then((m) => /* @__PURE__ */ __toESM(m.default, 1)).catch(() => void 0);
52
52
  return amqplibModulePromise;
53
53
  }
54
54
  /**
@@ -74,20 +74,19 @@ function loadAmqplibModule() {
74
74
  * ```
75
75
  */
76
76
  var RabbitMQDriver = class {
77
- name = "rabbitmq";
78
- consumers = [];
79
- options;
80
- events = new EventEmitter();
81
- channels = /* @__PURE__ */ new Map();
82
- connection = null;
83
- amqpChannel = null;
84
- _isConnected = false;
85
77
  /**
86
78
  * Create a new RabbitMQ driver
87
79
  *
88
80
  * @param options - RabbitMQ connection options
89
81
  */
90
82
  constructor(options) {
83
+ this.name = "rabbitmq";
84
+ this.consumers = [];
85
+ this.events = new EventEmitter();
86
+ this.channels = /* @__PURE__ */ new Map();
87
+ this.connection = null;
88
+ this.amqpChannel = null;
89
+ this._isConnected = false;
91
90
  this.options = options;
92
91
  }
93
92
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-driver.mjs","names":[],"sources":["../../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-driver.mjs"],"sourcesContent":["import { prepareConsumerSubscription } from \"../../message-managers/prepare-consumer-subscription.mjs\";\nimport { RabbitMQChannel } from \"./rabbitmq-channel.mjs\";\nimport { EventEmitter } from \"node:events\";\n\n//#region ../herald/src/drivers/rabbitmq/rabbitmq-driver.ts\n/**\n* The single amqplib load, shared by every caller.\n*\n* Memoized as a promise rather than as a resolved value so the loader stays\n* idempotent: without it, two callers arriving before the first `import()`\n* settles would each start their own load and the last writer would win, so a\n* caller could end up observing a module instance it never awaited.\n*\n* Resolves to `undefined` when amqplib is not installed.\n*/\nlet amqplibModulePromise;\n/**\n* Installation instructions for amqplib\n*/\nconst AMQPLIB_INSTALL_INSTRUCTIONS = `\nRabbitMQ driver requires the amqplib package.\nInstall it with:\n\n npx warlock add herald --driver=rabbitmq\n\nOr manually:\n\n npm install amqplib\n pnpm add amqplib\n yarn add amqplib\n`.trim();\n/**\n* Strip `user:password@` credentials from any `amqp(s)://` URL embedded in a\n* string. The connection URL carries plaintext broker credentials, and\n* amqplib/Node's URL parser commonly echoes the offending URL verbatim in a\n* malformed-URL error (e.g. an unencoded `@`/`:` in the password) — applied\n* to every error `connect()` surfaces so a credential never reaches whatever\n* the host app does with a thrown connection error (console.error,\n* structured logging, an error tracker).\n*/\nfunction redactAmqpCredentials(message) {\n\treturn message.replace(/(amqps?:\\/\\/)[^/@\\s]+@/gi, \"$1****:****@\");\n}\n/**\n* Load amqplib, reusing the single shared load for every caller.\n*\n* @returns The amqplib module, or `undefined` when it is not installed.\n*/\nfunction loadAmqplibModule() {\n\tif (!amqplibModulePromise) amqplibModulePromise = import(\"amqplib\").catch(() => void 0);\n\treturn amqplibModulePromise;\n}\n/**\n* RabbitMQ Driver\n*\n* Implementation of BrokerDriverContract for RabbitMQ/AMQP.\n*\n* **Important:** This driver requires the `amqplib` package to be installed.\n* Install it with: `npx warlock add herald --driver=rabbitmq` or `npm install amqplib`\n*\n* @example\n* ```typescript\n* const driver = new RabbitMQDriver({\n* driver: \"rabbitmq\",\n* host: \"localhost\",\n* port: 5672,\n* username: \"guest\",\n* password: \"guest\",\n* });\n*\n* await driver.connect();\n* const channel = driver.channel(\"user.created\");\n* ```\n*/\nvar RabbitMQDriver = class {\n\t/**\n\t* Create a new RabbitMQ driver\n\t*\n\t* @param options - RabbitMQ connection options\n\t*/\n\tconstructor(options) {\n\t\tthis.name = \"rabbitmq\";\n\t\tthis.consumers = [];\n\t\tthis.events = new EventEmitter();\n\t\tthis.channels = /* @__PURE__ */ new Map();\n\t\tthis.connection = null;\n\t\tthis.amqpChannel = null;\n\t\tthis._isConnected = false;\n\t\tthis.options = options;\n\t}\n\t/**\n\t* Whether connected to RabbitMQ\n\t*/\n\tget isConnected() {\n\t\treturn this._isConnected;\n\t}\n\t/**\n\t* Subscribe the given consumer class to the driver\n\t*\n\t* @param consumer - Consumer class to subscribe\n\t*\n\t* @example\n\t* ```typescript\n\t* driver.subscribe(UserUpdatedConsumer);\n\t* ```\n\t*/\n\tsubscribe(Consumer) {\n\t\tif (this.isConnected) this.channel(Consumer.eventName).subscribe(prepareConsumerSubscription(Consumer, (error, eventName) => {\n\t\t\tthis.events.emit(\"error\", error, eventName);\n\t\t}), { consumerId: Consumer.consumerId });\n\t\telse this.consumers.push(Consumer);\n\t\treturn () => {\n\t\t\tthis.unsubscribe(Consumer);\n\t\t};\n\t}\n\t/**\n\t* Unsubscribe the given consumer\n\t*/\n\tunsubscribe(Consumer) {\n\t\tif (this.isConnected) this.channel(Consumer.eventName).unsubscribeById(Consumer.consumerId);\n\t\tconst index = this.consumers.indexOf(Consumer);\n\t\tif (index > -1) this.consumers.splice(index, 1);\n\t}\n\t/**\n\t* Publish the given event message.\n\t* Auto-creates the channel if it hasn't been accessed before.\n\t*/\n\tpublish(event) {\n\t\tthis.channel(event.eventName).publish(event.serialize());\n\t}\n\t/**\n\t* Connect to RabbitMQ\n\t*/\n\tasync connect() {\n\t\tconst amqplib = await loadAmqplibModule();\n\t\tif (!amqplib) throw new Error(`amqplib is not installed.\\n\\n${AMQPLIB_INSTALL_INSTRUCTIONS}`);\n\t\ttry {\n\t\t\tconst url = this.buildConnectionUrl();\n\t\t\tconst connectOptions = {\n\t\t\t\theartbeat: this.options.heartbeat ?? 60,\n\t\t\t\ttimeout: this.options.connectionTimeout,\n\t\t\t\t...this.options.clientOptions\n\t\t\t};\n\t\t\tthis.connection = await amqplib.connect(url, connectOptions);\n\t\t\tthis.amqpChannel = await this.connection.createChannel();\n\t\t\tif (this.options.prefetch) await this.amqpChannel.prefetch(this.options.prefetch);\n\t\t\tthis._isConnected = true;\n\t\t\tthis.events.emit(\"connected\");\n\t\t\tfor (const consumer of this.consumers) this.subscribe(consumer);\n\t\t\tthis.consumers.length = 0;\n\t\t\tthis.connection.on(\"close\", () => {\n\t\t\t\tthis._isConnected = false;\n\t\t\t\tthis.events.emit(\"disconnected\");\n\t\t\t\tif (this.options.reconnect !== false) this.handleReconnect();\n\t\t\t});\n\t\t\tthis.connection.on(\"error\", (error) => {\n\t\t\t\tthis.events.emit(\"error\", error);\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tthis._isConnected = false;\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tthrow new Error(`Failed to connect to RabbitMQ: ${redactAmqpCredentials(message)}`);\n\t\t}\n\t}\n\t/**\n\t* Build connection URL from options\n\t*/\n\tbuildConnectionUrl() {\n\t\tif (this.options.uri) return this.options.uri;\n\t\tconst protocol = \"amqp\";\n\t\tconst host = this.options.host ?? \"localhost\";\n\t\tconst port = this.options.port ?? 5672;\n\t\tconst vhost = this.options.vhost ?? \"/\";\n\t\treturn `${protocol}://${encodeURIComponent(this.options.username ?? \"guest\")}:${encodeURIComponent(this.options.password ?? \"guest\")}@${host}:${port}/${encodeURIComponent(vhost)}`;\n\t}\n\t/**\n\t* Handle reconnection\n\t*/\n\tasync handleReconnect() {\n\t\tconst delay = this.options.reconnectDelay ?? 5e3;\n\t\tlet attempt = 0;\n\t\tconst tryReconnect = async () => {\n\t\t\tattempt++;\n\t\t\tthis.events.emit(\"reconnecting\", attempt);\n\t\t\ttry {\n\t\t\t\tawait this.connect();\n\t\t\t} catch {\n\t\t\t\tsetTimeout(tryReconnect, delay);\n\t\t\t}\n\t\t};\n\t\tsetTimeout(tryReconnect, delay);\n\t}\n\t/**\n\t* Disconnect from RabbitMQ\n\t*/\n\tasync disconnect() {\n\t\tif (this.amqpChannel) {\n\t\t\ttry {\n\t\t\t\tawait this.amqpChannel.close();\n\t\t\t} catch {}\n\t\t\tthis.amqpChannel = null;\n\t\t}\n\t\tif (this.connection) {\n\t\t\ttry {\n\t\t\t\tawait this.connection.close();\n\t\t\t} catch {}\n\t\t\tthis.connection = null;\n\t\t}\n\t\tthis._isConnected = false;\n\t\tthis.events.emit(\"disconnected\");\n\t}\n\t/**\n\t* Register event listener\n\t*/\n\ton(event, listener) {\n\t\tthis.events.on(event, listener);\n\t}\n\t/**\n\t* Remove event listener\n\t*/\n\toff(event, listener) {\n\t\tthis.events.off(event, listener);\n\t}\n\t/**\n\t* Get or create a channel\n\t*/\n\tchannel(name, options) {\n\t\tconst existing = this.channels.get(name);\n\t\tif (existing) return existing;\n\t\tconst channel = new RabbitMQChannel(name, this.amqpChannel, options);\n\t\tthis.channels.set(name, channel);\n\t\treturn channel;\n\t}\n\t/**\n\t* Start consuming messages\n\t*/\n\tasync startConsuming() {}\n\t/**\n\t* Stop consuming messages from all subscribed channels.\n\t* Gracefully cancels all active consumers.\n\t*/\n\tasync stopConsuming() {\n\t\tconst stops = Array.from(this.channels.values()).map((channel) => channel.stopConsuming());\n\t\tawait Promise.all(stops);\n\t}\n\t/**\n\t* Health check\n\t*/\n\tasync healthCheck() {\n\t\tif (!this._isConnected || !this.connection) return {\n\t\t\thealthy: false,\n\t\t\terror: \"Not connected to RabbitMQ\"\n\t\t};\n\t\tconst start = Date.now();\n\t\ttry {\n\t\t\tawait this.amqpChannel.checkQueue(\"amq.rabbitmq.reply-to\").catch(() => {});\n\t\t\treturn {\n\t\t\t\thealthy: true,\n\t\t\t\tlatency: Date.now() - start\n\t\t\t};\n\t\t} catch (error) {\n\t\t\treturn {\n\t\t\t\thealthy: false,\n\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\tlatency: Date.now() - start\n\t\t\t};\n\t\t}\n\t}\n\t/**\n\t* Get all channel names\n\t*/\n\tgetChannelNames() {\n\t\treturn Array.from(this.channels.keys());\n\t}\n\t/**\n\t* Close a specific channel\n\t*/\n\tasync closeChannel(name) {\n\t\tconst channel = this.channels.get(name);\n\t\tif (channel) {\n\t\t\tawait channel.delete();\n\t\t\tthis.channels.delete(name);\n\t\t}\n\t}\n\t/**\n\t* Get the raw AMQP channel (for advanced use)\n\t*/\n\tgetRawChannel() {\n\t\treturn this.amqpChannel;\n\t}\n\t/**\n\t* Get the raw connection (for advanced use)\n\t*/\n\tgetRawConnection() {\n\t\treturn this.connection;\n\t}\n};\n\n//#endregion\nexport { RabbitMQDriver };\n//# sourceMappingURL=rabbitmq-driver.mjs.map"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { v } from "../../../seal/src/factory/validators.mjs";
2
- import "../../../seal/src/index.mjs";
1
+ import { v } from "../../../../../../@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/factory/validators.mjs";
2
+ import "../../../../../../@warlock.js_seal@5.2.4/node_modules/@warlock.js/seal/esm/index.mjs";
3
3
  import { Consumable } from "../decorators/consumable.mjs";
4
4
  import "../decorators/index.mjs";
5
5
  import { randomUUID } from "crypto";
6
6
 
7
- //#region ../herald/src/message-managers/event-consumer.ts
7
+ //#region ../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/message-managers/event-consumer.mjs
8
8
  /**
9
9
  * This class is used to be part of the Herald Event Consumer Manager.
10
10
  * It should be used to consume events from Either RabbitMQ or Kafka through Herald
@@ -12,11 +12,6 @@ import { randomUUID } from "crypto";
12
12
  * It's highly recommended using it instead of declaring manual channel namd and subscribing to event
13
13
  */
14
14
  var EventConsumer = class {
15
- /**
16
- * Event name
17
- */
18
- static eventName;
19
- static _consumerId;
20
15
  static get consumerId() {
21
16
  if (!this._consumerId) this._consumerId = randomUUID();
22
17
  return this._consumerId;
@@ -25,18 +20,6 @@ var EventConsumer = class {
25
20
  return this.constructor.eventName;
26
21
  }
27
22
  /**
28
- * Min version accepted to be consumed by this class
29
- */
30
- static minVersion;
31
- /**
32
- * Max version accepted to be consumed by this class
33
- */
34
- static maxVersion;
35
- /**
36
- * Payload validation to auto reject the received event before accessing it in the handle method
37
- */
38
- schema;
39
- /**
40
23
  * Determine whether this is accepted version to be used by this consumer
41
24
  */
42
25
  static isAcceptedVersion(version) {
@@ -57,8 +40,13 @@ var EventConsumer = class {
57
40
  */
58
41
  function defineConsumer(eventName, options) {
59
42
  const Class = class AnnouncedConsumer extends EventConsumer {
60
- static eventName = eventName;
61
- schema = options.schema;
43
+ constructor(..._args) {
44
+ super(..._args);
45
+ this.schema = options.schema;
46
+ }
47
+ static {
48
+ this.eventName = eventName;
49
+ }
62
50
  async handle(payload, event) {
63
51
  if (options.validate) {
64
52
  const result = await options.validate(payload);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-consumer.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/message-managers/event-consumer.mjs"],"sourcesContent":["import { Consumable } from \"../decorators/consumable.mjs\";\nimport \"../decorators/index.mjs\";\nimport { v } from \"@warlock.js/seal\";\nimport { randomUUID } from \"crypto\";\n\n//#region ../herald/src/message-managers/event-consumer.ts\n/**\n* This class is used to be part of the Herald Event Consumer Manager.\n* It should be used to consume events from Either RabbitMQ or Kafka through Herald\n*\n* It's highly recommended using it instead of declaring manual channel namd and subscribing to event\n*/\nvar EventConsumer = class {\n\tstatic get consumerId() {\n\t\tif (!this._consumerId) this._consumerId = randomUUID();\n\t\treturn this._consumerId;\n\t}\n\tget eventName() {\n\t\treturn this.constructor.eventName;\n\t}\n\t/**\n\t* Determine whether this is accepted version to be used by this consumer\n\t*/\n\tstatic isAcceptedVersion(version) {\n\t\tif (this.minVersion && version < this.minVersion) return false;\n\t\tif (this.maxVersion && version > this.maxVersion) return false;\n\t\treturn true;\n\t}\n\t/**\n\t* Validate the given data\n\t*/\n\tasync validate(data) {\n\t\tif (!this.schema) return;\n\t\treturn await v.validate(this.schema, data);\n\t}\n};\n/**\n* A shorthand to define an event consumer without declaring an entire class\n*/\nfunction defineConsumer(eventName, options) {\n\tconst Class = class AnnouncedConsumer extends EventConsumer {\n\t\tconstructor(..._args) {\n\t\t\tsuper(..._args);\n\t\t\tthis.schema = options.schema;\n\t\t}\n\t\tstatic {\n\t\t\tthis.eventName = eventName;\n\t\t}\n\t\tasync handle(payload, event) {\n\t\t\tif (options.validate) {\n\t\t\t\tconst result = await options.validate(payload);\n\t\t\t\tif (!result || !result.isValid) return;\n\t\t\t}\n\t\t\treturn options.handle(payload, event);\n\t\t}\n\t};\n\tConsumable()(Class);\n\treturn Class;\n}\n\n//#endregion\nexport { EventConsumer, defineConsumer };\n//# sourceMappingURL=event-consumer.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;AAYA,IAAI,gBAAgB,MAAM;CACzB,WAAW,aAAa;EACvB,IAAI,CAAC,KAAK,aAAa,KAAK,cAAc,WAAW;EACrD,OAAO,KAAK;CACb;CACA,IAAI,YAAY;EACf,OAAO,KAAK,YAAY;CACzB;;;;CAIA,OAAO,kBAAkB,SAAS;EACjC,IAAI,KAAK,cAAc,UAAU,KAAK,YAAY,OAAO;EACzD,IAAI,KAAK,cAAc,UAAU,KAAK,YAAY,OAAO;EACzD,OAAO;CACR;;;;CAIA,MAAM,SAAS,MAAM;EACpB,IAAI,CAAC,KAAK,QAAQ;EAClB,OAAO,MAAM,EAAE,SAAS,KAAK,QAAQ,IAAI;CAC1C;AACD;;;;AAIA,SAAS,eAAe,WAAW,SAAS;CAC3C,MAAM,QAAQ,MAAM,0BAA0B,cAAc;EAC3D,YAAY,GAAG,OAAO;GACrB,MAAM,GAAG,KAAK;GACd,KAAK,SAAS,QAAQ;EACvB;EACA;GACC,KAAK,YAAY;EAClB;EACA,MAAM,OAAO,SAAS,OAAO;GAC5B,IAAI,QAAQ,UAAU;IACrB,MAAM,SAAS,MAAM,QAAQ,SAAS,OAAO;IAC7C,IAAI,CAAC,UAAU,CAAC,OAAO,SAAS;GACjC;GACA,OAAO,QAAQ,OAAO,SAAS,KAAK;EACrC;CACD;CACA,WAAW,CAAC,CAAC,KAAK;CAClB,OAAO;AACR"}
@@ -1,24 +1,7 @@
1
1
  import { randomUUID } from "crypto";
2
2
 
3
- //#region ../herald/src/message-managers/event-message.ts
3
+ //#region ../node_modules/.pnpm/@warlock.js+herald@5.2.4_@s_301a5eb076404f4e7a51af7b45e7e429/node_modules/@warlock.js/herald/esm/message-managers/event-message.mjs
4
4
  var EventMessage = class {
5
- data;
6
- /**
7
- * Event version
8
- */
9
- version;
10
- /**
11
- * Additional metadata (if any)
12
- */
13
- metadata;
14
- /**
15
- * Event Message id
16
- */
17
- messageId;
18
- /**
19
- * Schema of payload that will be used to determine whether this event should be published
20
- */
21
- schema;
22
5
  /**
23
6
  * Data that will be sent with the event (Payload)
24
7
  */
@@ -68,10 +51,10 @@ var EventMessage = class {
68
51
  */
69
52
  function defineEvent(eventName, options = {}) {
70
53
  return class AnnouncedEvent extends EventMessage {
71
- eventName = eventName;
72
- schema = options.schema;
73
54
  constructor(data) {
74
55
  super(data);
56
+ this.eventName = eventName;
57
+ this.schema = options.schema;
75
58
  }
76
59
  toJSON() {
77
60
  if (!options.toJSON) return this.data;