@warlock.js/notifications 5.21.0 → 5.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/cjs/index.cjs +1 -1
  3. package/cjs/rabbitmq-driver-DsJYFQr3.cjs +3 -0
  4. package/cjs/{esm-BxeBV3ce.cjs → src-DDFfLj-d.cjs} +435 -343
  5. package/cjs/src-DDFfLj-d.cjs.map +1 -0
  6. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/communicators/broker-registry.mjs +5 -5
  7. package/esm/herald/src/communicators/broker-registry.mjs.map +1 -0
  8. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/communicators/broker.mjs +7 -1
  9. package/esm/herald/src/communicators/broker.mjs.map +1 -0
  10. package/esm/herald/src/communicators/index.mjs +4 -0
  11. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/decorators/consumable.mjs +1 -1
  12. package/esm/herald/src/decorators/consumable.mjs.map +1 -0
  13. package/esm/herald/src/decorators/index.mjs +3 -0
  14. package/esm/herald/src/drivers/index.mjs +5 -0
  15. package/esm/herald/src/drivers/rabbitmq/index.mjs +4 -0
  16. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/drivers/rabbitmq/rabbitmq-channel.mjs +13 -6
  17. package/esm/herald/src/drivers/rabbitmq/rabbitmq-channel.mjs.map +1 -0
  18. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/drivers/rabbitmq/rabbitmq-driver.mjs +11 -10
  19. package/esm/herald/src/drivers/rabbitmq/rabbitmq-driver.mjs.map +1 -0
  20. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/message-managers/event-consumer.mjs +22 -10
  21. package/esm/herald/src/message-managers/event-consumer.mjs.map +1 -0
  22. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/message-managers/event-message.mjs +20 -3
  23. package/esm/herald/src/message-managers/event-message.mjs.map +1 -0
  24. package/esm/herald/src/message-managers/index.mjs +4 -0
  25. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/message-managers/prepare-consumer-subscription.mjs +1 -1
  26. package/esm/herald/src/message-managers/prepare-consumer-subscription.mjs.map +1 -0
  27. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/use-case-broadcast.mjs +1 -1
  28. package/esm/herald/src/use-case-broadcast.mjs.map +1 -0
  29. package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/utils/connect-to-broker.mjs +1 -1
  30. package/esm/herald/src/utils/connect-to-broker.mjs.map +1 -0
  31. package/esm/herald/src/utils/index.mjs +3 -0
  32. package/esm/index.d.mts +0 -4
  33. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs +1 -1
  34. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs.map +1 -1
  35. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs +1 -1
  36. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs.map +1 -1
  37. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/number/round.mjs +1 -1
  38. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/number/round.mjs.map +1 -1
  39. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/except.mjs +1 -1
  40. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/except.mjs.map +1 -1
  41. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/get.mjs +1 -1
  42. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/get.mjs.map +1 -1
  43. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/omit.mjs +1 -1
  44. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/omit.mjs.map +1 -1
  45. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/unset.mjs +1 -1
  46. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/object/unset.mjs.map +1 -1
  47. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs +1 -1
  48. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs.map +1 -1
  49. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs +1 -1
  50. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs.map +1 -1
  51. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs +1 -1
  52. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs.map +1 -1
  53. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs +1 -1
  54. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs.map +1 -1
  55. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs +1 -1
  56. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs.map +1 -1
  57. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs +1 -1
  58. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs.map +1 -1
  59. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs +1 -1
  60. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs.map +1 -1
  61. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs +1 -1
  62. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs.map +1 -1
  63. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/trim.mjs +1 -1
  64. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/trim.mjs.map +1 -1
  65. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs +1 -1
  66. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs.map +1 -1
  67. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/words.mjs +1 -1
  68. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/string/words.mjs.map +1 -1
  69. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs +1 -1
  70. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs.map +1 -1
  71. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs +1 -1
  72. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs.map +1 -1
  73. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/tap.mjs +1 -1
  74. package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/utils/tap.mjs.map +1 -1
  75. package/esm/node_modules/.pnpm/{@mongez_supportive-is@2.1.4 → @mongez_supportive-is@2.1.5}/node_modules/@mongez/supportive-is/esm/index.mjs +1 -1
  76. package/esm/node_modules/.pnpm/{@mongez_supportive-is@2.1.4 → @mongez_supportive-is@2.1.5}/node_modules/@mongez/supportive-is/esm/index.mjs.map +1 -1
  77. package/esm/queue/load-herald.d.mts.map +1 -1
  78. package/esm/queue/load-herald.mjs +1 -1
  79. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/config.mjs +1 -1
  80. package/esm/seal/src/config.mjs.map +1 -0
  81. package/esm/seal/src/factory/index.mjs +4 -0
  82. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/factory/validate.mjs +1 -1
  83. package/esm/seal/src/factory/validate.mjs.map +1 -0
  84. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/factory/validators.mjs +1 -1
  85. package/esm/seal/src/factory/validators.mjs.map +1 -0
  86. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/helpers/date-helpers.mjs +1 -1
  87. package/esm/seal/src/helpers/date-helpers.mjs.map +1 -0
  88. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/helpers/get-field-value.mjs +3 -3
  89. package/esm/seal/src/helpers/get-field-value.mjs.map +1 -0
  90. package/esm/seal/src/helpers/index.mjs +6 -0
  91. package/esm/seal/src/helpers/is-empty-value.mjs +10 -0
  92. package/esm/seal/src/helpers/is-empty-value.mjs.map +1 -0
  93. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/helpers/path-helpers.mjs +1 -1
  94. package/esm/seal/src/helpers/path-helpers.mjs.map +1 -0
  95. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/helpers/validation-helpers.mjs +1 -1
  96. package/esm/seal/src/helpers/validation-helpers.mjs.map +1 -0
  97. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/index.mjs +0 -7
  98. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/array-mutators.mjs +3 -3
  99. package/esm/seal/src/mutators/array-mutators.mjs.map +1 -0
  100. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/boolean-mutators.mjs +1 -1
  101. package/esm/seal/src/mutators/boolean-mutators.mjs.map +1 -0
  102. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/date-mutators.mjs +3 -3
  103. package/esm/seal/src/mutators/date-mutators.mjs.map +1 -0
  104. package/esm/seal/src/mutators/index.mjs +9 -0
  105. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/number-mutators.mjs +4 -4
  106. package/esm/seal/src/mutators/number-mutators.mjs.map +1 -0
  107. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/object-mutators.mjs +4 -4
  108. package/esm/seal/src/mutators/object-mutators.mjs.map +1 -0
  109. package/esm/seal/src/mutators/scalar-mutators.mjs +9 -0
  110. package/esm/seal/src/mutators/scalar-mutators.mjs.map +1 -0
  111. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/mutators/string-mutators.mjs +11 -11
  112. package/esm/seal/src/mutators/string-mutators.mjs.map +1 -0
  113. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/object.mjs +1 -1
  114. package/esm/seal/src/object.mjs.map +1 -0
  115. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/array/array-rules.mjs +1 -1
  116. package/esm/seal/src/rules/array/array-rules.mjs.map +1 -0
  117. package/esm/seal/src/rules/array/index.mjs +3 -0
  118. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/color/color-rules.mjs +1 -1
  119. package/esm/seal/src/rules/color/color-rules.mjs.map +1 -0
  120. package/esm/seal/src/rules/color/index.mjs +3 -0
  121. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/enum.mjs +1 -1
  122. package/esm/seal/src/rules/common/enum.mjs.map +1 -0
  123. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/equals-field-rules.mjs +1 -1
  124. package/esm/seal/src/rules/common/equals-field-rules.mjs.map +1 -0
  125. package/esm/seal/src/rules/common/index.mjs +8 -0
  126. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/instanceof.mjs +1 -1
  127. package/esm/seal/src/rules/common/instanceof.mjs.map +1 -0
  128. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/literal.mjs +1 -1
  129. package/esm/seal/src/rules/common/literal.mjs.map +1 -0
  130. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/type-rules.mjs +2 -2
  131. package/esm/seal/src/rules/common/type-rules.mjs.map +1 -0
  132. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/common/unknown-key.mjs +1 -1
  133. package/esm/seal/src/rules/common/unknown-key.mjs.map +1 -0
  134. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/forbidden-if-rules.mjs +2 -2
  135. package/esm/seal/src/rules/conditional/forbidden-if-rules.mjs.map +1 -0
  136. package/esm/seal/src/rules/conditional/index.mjs +12 -0
  137. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/present-if-rules.mjs +2 -2
  138. package/esm/seal/src/rules/conditional/present-if-rules.mjs.map +1 -0
  139. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/present-unless-rules.mjs +1 -1
  140. package/esm/seal/src/rules/conditional/present-unless-rules.mjs.map +1 -0
  141. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/present-with-rules.mjs +3 -3
  142. package/esm/seal/src/rules/conditional/present-with-rules.mjs.map +1 -0
  143. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/present-without-rules.mjs +3 -3
  144. package/esm/seal/src/rules/conditional/present-without-rules.mjs.map +1 -0
  145. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-if-rules.mjs +4 -4
  146. package/esm/seal/src/rules/conditional/required-if-rules.mjs.map +1 -0
  147. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-unless-rules.mjs +2 -2
  148. package/esm/seal/src/rules/conditional/required-unless-rules.mjs.map +1 -0
  149. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-when-rule.mjs +2 -2
  150. package/esm/seal/src/rules/conditional/required-when-rule.mjs.map +1 -0
  151. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-with-rules.mjs +4 -4
  152. package/esm/seal/src/rules/conditional/required-with-rules.mjs.map +1 -0
  153. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/conditional/required-without-rules.mjs +4 -4
  154. package/esm/seal/src/rules/conditional/required-without-rules.mjs.map +1 -0
  155. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/equal.mjs +1 -1
  156. package/esm/seal/src/rules/core/equal.mjs.map +1 -0
  157. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/forbidden.mjs +2 -2
  158. package/esm/seal/src/rules/core/forbidden.mjs.map +1 -0
  159. package/esm/seal/src/rules/core/index.mjs +7 -0
  160. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/required.mjs +2 -2
  161. package/esm/seal/src/rules/core/required.mjs.map +1 -0
  162. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/union.mjs +1 -1
  163. package/esm/seal/src/rules/core/union.mjs.map +1 -0
  164. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/core/when.mjs +3 -3
  165. package/esm/seal/src/rules/core/when.mjs.map +1 -0
  166. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-comparison-rules.mjs +1 -1
  167. package/esm/seal/src/rules/date/date-comparison-rules.mjs.map +1 -0
  168. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-day-rules.mjs +1 -1
  169. package/esm/seal/src/rules/date/date-day-rules.mjs.map +1 -0
  170. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-field-comparison-rules.mjs +3 -3
  171. package/esm/seal/src/rules/date/date-field-comparison-rules.mjs.map +1 -0
  172. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-period-rules.mjs +3 -3
  173. package/esm/seal/src/rules/date/date-period-rules.mjs.map +1 -0
  174. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-relative-rules.mjs +1 -1
  175. package/esm/seal/src/rules/date/date-relative-rules.mjs.map +1 -0
  176. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date-special-rules.mjs +1 -1
  177. package/esm/seal/src/rules/date/date-special-rules.mjs.map +1 -0
  178. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/date/date.mjs +3 -3
  179. package/esm/seal/src/rules/date/date.mjs.map +1 -0
  180. package/esm/seal/src/rules/date/index.mjs +9 -0
  181. package/esm/seal/src/rules/index.mjs +54 -0
  182. package/esm/seal/src/rules/length/index.mjs +3 -0
  183. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/length/length-rules.mjs +1 -1
  184. package/esm/seal/src/rules/length/length-rules.mjs.map +1 -0
  185. package/esm/seal/src/rules/number/index.mjs +3 -0
  186. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/number/number-rules.mjs +3 -3
  187. package/esm/seal/src/rules/number/number-rules.mjs.map +1 -0
  188. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/scalar/accepted-rule.mjs +2 -2
  189. package/esm/seal/src/rules/scalar/accepted-rule.mjs.map +1 -0
  190. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/scalar/declined-rule.mjs +2 -2
  191. package/esm/seal/src/rules/scalar/declined-rule.mjs.map +1 -0
  192. package/esm/seal/src/rules/scalar/index.mjs +4 -0
  193. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/alpha.mjs +1 -1
  194. package/esm/seal/src/rules/string/alpha.mjs.map +1 -0
  195. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/credit-card.mjs +1 -1
  196. package/esm/seal/src/rules/string/credit-card.mjs.map +1 -0
  197. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/email.mjs +2 -2
  198. package/esm/seal/src/rules/string/email.mjs.map +1 -0
  199. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/id-formats.mjs +1 -1
  200. package/esm/seal/src/rules/string/id-formats.mjs.map +1 -0
  201. package/esm/seal/src/rules/string/index.mjs +13 -0
  202. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/ip.mjs +1 -1
  203. package/esm/seal/src/rules/string/ip.mjs.map +1 -0
  204. package/esm/seal/src/rules/string/matches.mjs +4 -0
  205. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/pattern.mjs +1 -1
  206. package/esm/seal/src/rules/string/pattern.mjs.map +1 -0
  207. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/string-comparison.mjs +1 -1
  208. package/esm/seal/src/rules/string/string-comparison.mjs.map +1 -0
  209. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/strong-password-rule.mjs +1 -1
  210. package/esm/seal/src/rules/string/strong-password-rule.mjs.map +1 -0
  211. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/url.mjs +1 -1
  212. package/esm/seal/src/rules/string/url.mjs.map +1 -0
  213. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/string/without-whitespace.mjs +1 -1
  214. package/esm/seal/src/rules/string/without-whitespace.mjs.map +1 -0
  215. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/standard-schema/json-schema.mjs +1 -1
  216. package/esm/seal/src/standard-schema/json-schema.mjs.map +1 -0
  217. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/standard-schema/map-result.mjs +1 -1
  218. package/esm/seal/src/standard-schema/map-result.mjs.map +1 -0
  219. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/string.mjs +1 -1
  220. package/esm/seal/src/string.mjs.map +1 -0
  221. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/types/date-types.mjs +1 -1
  222. package/esm/seal/src/types/date-types.mjs.map +1 -0
  223. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/any-validator.mjs +9 -6
  224. package/esm/seal/src/validators/any-validator.mjs.map +1 -0
  225. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/array-validator.mjs +2 -1
  226. package/esm/seal/src/validators/array-validator.mjs.map +1 -0
  227. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/base-validator.mjs +49 -16
  228. package/esm/seal/src/validators/base-validator.mjs.map +1 -0
  229. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/boolean-validator.mjs +1 -1
  230. package/esm/seal/src/validators/boolean-validator.mjs.map +1 -0
  231. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/computed-validator.mjs +3 -1
  232. package/esm/seal/src/validators/computed-validator.mjs.map +1 -0
  233. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/date-validator.mjs +3 -3
  234. package/esm/seal/src/validators/date-validator.mjs.map +1 -0
  235. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/discriminated-union-validator.mjs +6 -2
  236. package/esm/seal/src/validators/discriminated-union-validator.mjs.map +1 -0
  237. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/float-validator.mjs +1 -1
  238. package/esm/seal/src/validators/float-validator.mjs.map +1 -0
  239. package/esm/seal/src/validators/index.mjs +28 -0
  240. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/instanceof-validator.mjs +2 -1
  241. package/esm/seal/src/validators/instanceof-validator.mjs.map +1 -0
  242. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/int-validator.mjs +1 -1
  243. package/esm/seal/src/validators/int-validator.mjs.map +1 -0
  244. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/lazy-validator.mjs +3 -1
  245. package/esm/seal/src/validators/lazy-validator.mjs.map +1 -0
  246. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/literal-validator.mjs +2 -1
  247. package/esm/seal/src/validators/literal-validator.mjs.map +1 -0
  248. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/managed-validator.mjs +1 -1
  249. package/esm/seal/src/validators/managed-validator.mjs.map +1 -0
  250. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/methods/equality-conditional-methods.mjs +1 -1
  251. package/esm/seal/src/validators/methods/equality-conditional-methods.mjs.map +1 -0
  252. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/methods/forbidden-methods.mjs +1 -1
  253. package/esm/seal/src/validators/methods/forbidden-methods.mjs.map +1 -0
  254. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/methods/present-methods.mjs +1 -1
  255. package/esm/seal/src/validators/methods/present-methods.mjs.map +1 -0
  256. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/methods/required-methods.mjs +1 -1
  257. package/esm/seal/src/validators/methods/required-methods.mjs.map +1 -0
  258. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/number-validator.mjs +1 -1
  259. package/esm/seal/src/validators/number-validator.mjs.map +1 -0
  260. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/numeric-validator.mjs +2 -2
  261. package/esm/seal/src/validators/numeric-validator.mjs.map +1 -0
  262. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/object-validator.mjs +8 -7
  263. package/esm/seal/src/validators/object-validator.mjs.map +1 -0
  264. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/primitive-validator.mjs +1 -1
  265. package/esm/seal/src/validators/primitive-validator.mjs.map +1 -0
  266. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/record-validator.mjs +3 -2
  267. package/esm/seal/src/validators/record-validator.mjs.map +1 -0
  268. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/scalar-validator.mjs +1 -1
  269. package/esm/seal/src/validators/scalar-validator.mjs.map +1 -0
  270. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/string-validator.mjs +3 -3
  271. package/esm/seal/src/validators/string-validator.mjs.map +1 -0
  272. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/tuple-validator.mjs +2 -1
  273. package/esm/seal/src/validators/tuple-validator.mjs.map +1 -0
  274. package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/validators/union-validator.mjs +1 -1
  275. package/esm/seal/src/validators/union-validator.mjs.map +1 -0
  276. package/package.json +7 -7
  277. package/cjs/esm-BxeBV3ce.cjs.map +0 -1
  278. package/cjs/rabbitmq-driver-ii7OCEmF.cjs +0 -3
  279. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/broker-registry.d.mts +0 -1
  280. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/broker-registry.mjs.map +0 -1
  281. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/broker.d.mts +0 -1
  282. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/broker.mjs.map +0 -1
  283. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/communicators/index.mjs +0 -3
  284. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/contracts/broker-driver.contract.d.mts +0 -1
  285. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/contracts/channel.contract.d.mts +0 -1
  286. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/decorators/consumable.mjs.map +0 -1
  287. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/decorators/index.mjs +0 -3
  288. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/index.mjs +0 -5
  289. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/index.mjs +0 -4
  290. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-channel.d.mts +0 -1
  291. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-channel.mjs.map +0 -1
  292. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-driver.d.mts +0 -1
  293. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/drivers/rabbitmq/rabbitmq-driver.mjs.map +0 -1
  294. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/index.d.mts +0 -1
  295. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/event-consumer.d.mts +0 -1
  296. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/event-consumer.mjs.map +0 -1
  297. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/event-message.d.mts +0 -1
  298. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/event-message.mjs.map +0 -1
  299. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/index.mjs +0 -3
  300. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/prepare-consumer-subscription.mjs.map +0 -1
  301. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/types/channel.types.d.mts +0 -1
  302. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/types/registry.types.d.mts +0 -1
  303. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/use-case-broadcast.mjs.map +0 -1
  304. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/utils/connect-to-broker.d.mts +0 -1
  305. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/utils/connect-to-broker.mjs.map +0 -1
  306. package/esm/node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/utils/index.mjs +0 -3
  307. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/config.mjs.map +0 -1
  308. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/factory/index.mjs +0 -3
  309. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/factory/validate.mjs.map +0 -1
  310. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/factory/validators.mjs.map +0 -1
  311. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/date-helpers.mjs.map +0 -1
  312. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/get-field-value.mjs.map +0 -1
  313. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/index.mjs +0 -3
  314. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/is-empty-value.mjs +0 -10
  315. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/is-empty-value.mjs.map +0 -1
  316. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/path-helpers.mjs.map +0 -1
  317. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/validation-helpers.mjs.map +0 -1
  318. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/index.d.mts +0 -10
  319. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/array-mutators.mjs.map +0 -1
  320. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/boolean-mutators.mjs.map +0 -1
  321. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/date-mutators.mjs.map +0 -1
  322. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/index.mjs +0 -8
  323. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/number-mutators.mjs.map +0 -1
  324. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/object-mutators.mjs.map +0 -1
  325. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs +0 -9
  326. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs.map +0 -1
  327. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/string-mutators.mjs.map +0 -1
  328. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/object.mjs.map +0 -1
  329. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/array/array-rules.mjs.map +0 -1
  330. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/array/index.mjs +0 -3
  331. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/color/color-rules.mjs.map +0 -1
  332. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/color/index.mjs +0 -3
  333. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/enum.mjs.map +0 -1
  334. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/equals-field-rules.mjs.map +0 -1
  335. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/index.mjs +0 -8
  336. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/instanceof.mjs.map +0 -1
  337. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/literal.mjs.map +0 -1
  338. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/type-rules.mjs.map +0 -1
  339. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/unknown-key.mjs.map +0 -1
  340. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/forbidden-if-rules.mjs.map +0 -1
  341. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/index.mjs +0 -12
  342. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/present-if-rules.mjs.map +0 -1
  343. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/present-unless-rules.mjs.map +0 -1
  344. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/present-with-rules.mjs.map +0 -1
  345. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/present-without-rules.mjs.map +0 -1
  346. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-if-rules.mjs.map +0 -1
  347. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-unless-rules.mjs.map +0 -1
  348. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-when-rule.mjs.map +0 -1
  349. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-with-rules.mjs.map +0 -1
  350. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/conditional/required-without-rules.mjs.map +0 -1
  351. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/equal.mjs.map +0 -1
  352. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/forbidden.mjs.map +0 -1
  353. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/index.mjs +0 -7
  354. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/required.mjs.map +0 -1
  355. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/union.mjs.map +0 -1
  356. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/core/when.mjs.map +0 -1
  357. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-comparison-rules.mjs.map +0 -1
  358. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-day-rules.mjs.map +0 -1
  359. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-field-comparison-rules.mjs.map +0 -1
  360. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-period-rules.mjs.map +0 -1
  361. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-relative-rules.mjs.map +0 -1
  362. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date-special-rules.mjs.map +0 -1
  363. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/date.mjs.map +0 -1
  364. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/date/index.mjs +0 -9
  365. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/index.mjs +0 -57
  366. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/length/index.mjs +0 -3
  367. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/length/length-rules.mjs.map +0 -1
  368. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/number/index.mjs +0 -3
  369. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/number/number-rules.mjs.map +0 -1
  370. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/scalar/accepted-rule.mjs.map +0 -1
  371. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/scalar/declined-rule.mjs.map +0 -1
  372. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/scalar/index.mjs +0 -4
  373. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/alpha.mjs.map +0 -1
  374. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/credit-card.mjs.map +0 -1
  375. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/email.mjs.map +0 -1
  376. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/id-formats.mjs.map +0 -1
  377. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/index.mjs +0 -13
  378. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/ip.mjs.map +0 -1
  379. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/matches.mjs +0 -4
  380. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/pattern.mjs.map +0 -1
  381. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/string-comparison.mjs.map +0 -1
  382. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/strong-password-rule.mjs.map +0 -1
  383. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/url.mjs.map +0 -1
  384. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/string/without-whitespace.mjs.map +0 -1
  385. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/json-schema.d.mts +0 -32
  386. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/json-schema.d.mts.map +0 -1
  387. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/json-schema.mjs.map +0 -1
  388. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/map-result.mjs.map +0 -1
  389. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/types.d.mts +0 -97
  390. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/standard-schema/types.d.mts.map +0 -1
  391. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/string.mjs.map +0 -1
  392. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/conditional-types.d.mts +0 -16
  393. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/conditional-types.d.mts.map +0 -1
  394. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/context-types.d.mts +0 -43
  395. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/context-types.d.mts.map +0 -1
  396. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/data-transformer-types.d.mts +0 -30
  397. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/data-transformer-types.d.mts.map +0 -1
  398. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/date-types.mjs.map +0 -1
  399. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/mutator-types.d.mts +0 -28
  400. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/mutator-types.d.mts.map +0 -1
  401. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/result-types.d.mts +0 -17
  402. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/result-types.d.mts.map +0 -1
  403. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/rule-types.d.mts +0 -53
  404. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/rule-types.d.mts.map +0 -1
  405. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/schema-types.d.mts +0 -11
  406. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/types/schema-types.d.mts.map +0 -1
  407. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/any-validator.mjs.map +0 -1
  408. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/array-validator.mjs.map +0 -1
  409. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/base-validator.d.mts +0 -492
  410. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/base-validator.d.mts.map +0 -1
  411. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/base-validator.mjs.map +0 -1
  412. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/boolean-validator.mjs.map +0 -1
  413. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/computed-validator.mjs.map +0 -1
  414. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/date-validator.mjs.map +0 -1
  415. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/discriminated-union-validator.mjs.map +0 -1
  416. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/float-validator.mjs.map +0 -1
  417. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/index.mjs +0 -28
  418. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/instanceof-validator.mjs.map +0 -1
  419. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/int-validator.mjs.map +0 -1
  420. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/lazy-validator.mjs.map +0 -1
  421. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/literal-validator.mjs.map +0 -1
  422. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/managed-validator.mjs.map +0 -1
  423. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/equality-conditional-methods.d.mts +0 -91
  424. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/equality-conditional-methods.d.mts.map +0 -1
  425. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/equality-conditional-methods.mjs.map +0 -1
  426. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/forbidden-methods.d.mts +0 -59
  427. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/forbidden-methods.d.mts.map +0 -1
  428. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/forbidden-methods.mjs.map +0 -1
  429. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/present-methods.d.mts +0 -103
  430. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/present-methods.d.mts.map +0 -1
  431. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/present-methods.mjs.map +0 -1
  432. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/required-methods.d.mts +0 -194
  433. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/required-methods.d.mts.map +0 -1
  434. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/methods/required-methods.mjs.map +0 -1
  435. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/number-validator.mjs.map +0 -1
  436. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/numeric-validator.mjs.map +0 -1
  437. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/object-validator.mjs.map +0 -1
  438. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/primitive-validator.mjs.map +0 -1
  439. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/record-validator.mjs.map +0 -1
  440. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/scalar-validator.mjs.map +0 -1
  441. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/string-validator.mjs.map +0 -1
  442. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/tuple-validator.mjs.map +0 -1
  443. package/esm/node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm/validators/union-validator.mjs.map +0 -1
  444. /package/esm/{node_modules/.pnpm/@warlock.js_herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm → herald/src}/index.mjs +0 -0
  445. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/bool.mjs +0 -0
  446. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/color.mjs +0 -0
  447. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/date.mjs +0 -0
  448. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/float.mjs +0 -0
  449. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/id.mjs +0 -0
  450. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/int.mjs +0 -0
  451. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/nanoid.mjs +0 -0
  452. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/pick.mjs +0 -0
  453. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/random.mjs +0 -0
  454. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/sample.mjs +0 -0
  455. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/string.mjs +0 -0
  456. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/token.mjs +0 -0
  457. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/uuid.mjs +0 -0
  458. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/Random/weighted.mjs +0 -0
  459. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/async/retry.mjs +0 -0
  460. /package/esm/node_modules/.pnpm/{@mongez_reinforcements@4.0.1 → @mongez_reinforcements@4.0.2}/node_modules/@mongez/reinforcements/esm/index.mjs +0 -0
  461. /package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/file/dimensions.mjs +0 -0
  462. /package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/file/file-size.mjs +0 -0
  463. /package/esm/{node_modules/.pnpm/@warlock.js_seal@5.18.0/node_modules/@warlock.js/seal/esm → seal/src}/rules/file/index.mjs +0 -0
@@ -1,3 +0,0 @@
1
- const require_esm = require('./esm-BxeBV3ce.cjs');
2
-
3
- exports.RabbitMQDriver = require_esm.RabbitMQDriver$1;
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker-registry.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/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 +0,0 @@
1
- {"version":3,"file":"broker.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/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 +0,0 @@
1
- {"version":3,"file":"consumable.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/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"}
@@ -1,5 +0,0 @@
1
- import "./rabbitmq/rabbitmq-channel.mjs";
2
- import "./rabbitmq/rabbitmq-driver.mjs";
3
- import "./rabbitmq/index.mjs";
4
-
5
- export { };
@@ -1,4 +0,0 @@
1
- import "./rabbitmq-channel.mjs";
2
- import "./rabbitmq-driver.mjs";
3
-
4
- export { };
@@ -1 +0,0 @@
1
- {"version":3,"file":"rabbitmq-channel.mjs","names":[],"sources":["../../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/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 +0,0 @@
1
- {"version":3,"file":"rabbitmq-driver.mjs","names":[],"sources":["../../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/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 +0,0 @@
1
- {"version":3,"file":"event-consumer.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/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 +0,0 @@
1
- {"version":3,"file":"event-message.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/event-message.mjs"],"sourcesContent":["import { randomUUID } from \"crypto\";\n\n//#region ../herald/src/message-managers/event-message.ts\nvar EventMessage = class {\n\t/**\n\t* Data that will be sent with the event (Payload)\n\t*/\n\ttoJSON() {\n\t\tif (!this.data) throw new Error(`no Data is defined for Event: ${this.eventName}`);\n\t\treturn this.data;\n\t}\n\tconstructor(data) {\n\t\tthis.data = data;\n\t}\n\t/**\n\t* Serialize the event to be ready for publishing.\n\t* Delegates payload resolution to toJSON() — override toJSON() to customize.\n\t*\n\t* @throws Error if toJSON() throws (e.g. no data provided)\n\t*/\n\tserialize() {\n\t\treturn {\n\t\t\tpayload: this.toJSON(),\n\t\t\tmetadata: this.metadata,\n\t\t\tmessageId: this.messageId ?? randomUUID(),\n\t\t\teventName: this.eventName,\n\t\t\tversion: this.version,\n\t\t\toccurredAt: /* @__PURE__ */ new Date(),\n\t\t\t__through: \"EventMessage\"\n\t\t};\n\t}\n};\n/**\n* A shorthand to define an event without declaring an entire class.\n*\n* This factory function creates an EventMessage subclass that transforms\n* input data (IncomingData) into a different output format (OutgoingData).\n*\n* @template IncomingData - The type of data passed to the constructor\n* @template OutgoingData - The type of data returned by toJSON()\n*\n* @example\n* ```typescript\n* const UserCreatedEvent = defineEvent<User, { id: number; name: string }>(\n* \"user.created\",\n* { toJSON: (user) => user.only([\"id\", \"name\"]) }\n* );\n*\n* publishEvent(new UserCreatedEvent(user));\n* ```\n*/\nfunction defineEvent(eventName, options = {}) {\n\treturn class AnnouncedEvent extends EventMessage {\n\t\tconstructor(data) {\n\t\t\tsuper(data);\n\t\t\tthis.eventName = eventName;\n\t\t\tthis.schema = options.schema;\n\t\t}\n\t\ttoJSON() {\n\t\t\tif (!options.toJSON) return this.data;\n\t\t\treturn options.toJSON(this.data);\n\t\t}\n\t};\n}\n\n//#endregion\nexport { EventMessage, defineEvent };\n//# sourceMappingURL=event-message.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;AAGA,IAAI,eAAe,MAAM;;;;CAIxB,SAAS;EACR,IAAI,CAAC,KAAK,MAAM,MAAM,IAAI,MAAM,iCAAiC,KAAK,WAAW;EACjF,OAAO,KAAK;CACb;CACA,YAAY,MAAM;EACjB,KAAK,OAAO;CACb;;;;;;;CAOA,YAAY;EACX,OAAO;GACN,SAAS,KAAK,OAAO;GACrB,UAAU,KAAK;GACf,WAAW,KAAK,aAAa,WAAW;GACxC,WAAW,KAAK;GAChB,SAAS,KAAK;GACd,4BAA4B,IAAI,KAAK;GACrC,WAAW;EACZ;CACD;AACD;;;;;;;;;;;;;;;;;;;;AAoBA,SAAS,YAAY,WAAW,UAAU,CAAC,GAAG;CAC7C,OAAO,MAAM,uBAAuB,aAAa;EAChD,YAAY,MAAM;GACjB,MAAM,IAAI;GACV,KAAK,YAAY;GACjB,KAAK,SAAS,QAAQ;EACvB;EACA,SAAS;GACR,IAAI,CAAC,QAAQ,QAAQ,OAAO,KAAK;GACjC,OAAO,QAAQ,OAAO,KAAK,IAAI;EAChC;CACD;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepare-consumer-subscription.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/message-managers/prepare-consumer-subscription.mjs"],"sourcesContent":["//#region ../herald/src/message-managers/prepare-consumer-subscription.ts\nfunction prepareConsumerSubscription(Consumer, onError) {\n\tconst callback = async (message, ctx) => {\n\t\tconst envelope = message.payload;\n\t\tlet eventPayload = envelope.payload;\n\t\tif (envelope.version) {\n\t\t\tif (!Consumer.isAcceptedVersion(Number(envelope.version))) {\n\t\t\t\tctx.ack();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tconst consumer = new Consumer();\n\t\tif (consumer.schema) {\n\t\t\tconst result = await consumer.validate(eventPayload);\n\t\t\tif (!result || result.isValid === false) {\n\t\t\t\tctx.nack();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\teventPayload = result.data;\n\t\t}\n\t\ttry {\n\t\t\tawait consumer.handle(eventPayload, {\n\t\t\t\tpayload: eventPayload,\n\t\t\t\teventName: Consumer.eventName,\n\t\t\t\tmessageId: message.metadata.messageId,\n\t\t\t\toccurredAt: envelope.occurredAt ? new Date(envelope.occurredAt) : void 0,\n\t\t\t\tmetadata: envelope.metadata,\n\t\t\t\tversion: envelope.version,\n\t\t\t\tmessage\n\t\t\t});\n\t\t\tctx.ack();\n\t\t} catch (error) {\n\t\t\tawait ctx.retry();\n\t\t\tif (onError) onError(error, Consumer.eventName);\n\t\t}\n\t};\n\treturn callback;\n}\n\n//#endregion\nexport { prepareConsumerSubscription };\n//# sourceMappingURL=prepare-consumer-subscription.mjs.map"],"x_google_ignoreList":[0],"mappings":";AACA,SAAS,4BAA4B,UAAU,SAAS;CACvD,MAAM,WAAW,OAAO,SAAS,QAAQ;EACxC,MAAM,WAAW,QAAQ;EACzB,IAAI,eAAe,SAAS;EAC5B,IAAI,SAAS,SACZ;OAAI,CAAC,SAAS,kBAAkB,OAAO,SAAS,OAAO,CAAC,GAAG;IAC1D,IAAI,IAAI;IACR;GACD;;EAED,MAAM,WAAW,IAAI,SAAS;EAC9B,IAAI,SAAS,QAAQ;GACpB,MAAM,SAAS,MAAM,SAAS,SAAS,YAAY;GACnD,IAAI,CAAC,UAAU,OAAO,YAAY,OAAO;IACxC,IAAI,KAAK;IACT;GACD;GACA,eAAe,OAAO;EACvB;EACA,IAAI;GACH,MAAM,SAAS,OAAO,cAAc;IACnC,SAAS;IACT,WAAW,SAAS;IACpB,WAAW,QAAQ,SAAS;IAC5B,YAAY,SAAS,aAAa,IAAI,KAAK,SAAS,UAAU,IAAI,KAAK;IACvE,UAAU,SAAS;IACnB,SAAS,SAAS;IAClB;GACD,CAAC;GACD,IAAI,IAAI;EACT,SAAS,OAAO;GACf,MAAM,IAAI,MAAM;GAChB,IAAI,SAAS,QAAQ,OAAO,SAAS,SAAS;EAC/C;CACD;CACA,OAAO;AACR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-case-broadcast.mjs","names":[],"sources":["../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/use-case-broadcast.mjs"],"sourcesContent":["import { herald } from \"./utils/connect-to-broker.mjs\";\n\n//#region ../herald/src/use-case-broadcast.ts\n/**\n* Channel adapter that publishes use-case broadcast events onto a herald broker.\n*\n* Register it in the use-cases config so successful use cases fan out to the bus:\n*\n* @example\n* // src/config/use-cases.ts\n* import { heraldBroadcast } from \"@warlock.js/herald\";\n*\n* export default {\n* broadcast: {\n* enabled: true,\n* channels: [heraldBroadcast({ broker: \"default\" })],\n* },\n* } satisfies UseCaseConfigurations;\n*\n* @param options - Optional broker name (defaults to the default broker)\n*/\nfunction heraldBroadcast(options) {\n\treturn { async broadcast(event) {\n\t\tawait herald(options?.broker).channel(event.event).publish(event.payload);\n\t} };\n}\n\n//#endregion\nexport { heraldBroadcast };\n//# sourceMappingURL=use-case-broadcast.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,SAAS,gBAAgB,SAAS;CACjC,OAAO,EAAE,MAAM,UAAU,OAAO;EAC/B,MAAM,OAAO,SAAS,MAAM,CAAC,CAAC,QAAQ,MAAM,KAAK,CAAC,CAAC,QAAQ,MAAM,OAAO;CACzE,EAAE;AACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect-to-broker.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+herald@5.18.0_@_cff41be99df8cf0240c0ee463e185280/node_modules/@warlock.js/herald/esm/utils/connect-to-broker.mjs"],"sourcesContent":["import { brokerRegistry } from \"../communicators/broker-registry.mjs\";\nimport \"../communicators/index.mjs\";\n\n//#region ../herald/src/utils/connect-to-broker.ts\n/**\n* Connect to a message broker and register it.\n*\n* This is a high-level utility function that simplifies connection setup\n* for most projects. It handles driver instantiation, connection,\n* broker creation, and automatic registration.\n*\n* **Supported Drivers:**\n* - `rabbitmq` (default) - RabbitMQ/AMQP driver\n* - `kafka` - Apache Kafka driver (coming soon)\n*\n* @param options - Connection configuration options\n* @returns A connected and registered Broker instance\n* @throws {Error} If connection fails or driver is not implemented\n*\n* @example\n* ```typescript\n* // RabbitMQ connection\n* const broker = await connectToBroker({\n* driver: \"rabbitmq\",\n* host: \"localhost\",\n* port: 5672,\n* username: \"guest\",\n* password: \"guest\",\n* });\n*\n* // Use the broker\n* await broker.channel(\"user.created\").publish({ userId: 1 });\n* ```\n*\n* @example\n* ```typescript\n* // Multiple brokers\n* await connectToBroker({\n* driver: \"rabbitmq\",\n* name: \"notifications\",\n* isDefault: true,\n* host: process.env.RABBITMQ_HOST,\n* });\n*\n* await connectToBroker({\n* driver: \"rabbitmq\",\n* name: \"analytics\",\n* host: process.env.ANALYTICS_RABBITMQ_HOST,\n* });\n*\n* // Use default broker\n* herald().channel(\"notifications\").publish({ ... });\n*\n* // Use specific broker\n* herald(\"analytics\").channel(\"events\").publish({ ... });\n* ```\n*/\nasync function connectToBroker(options) {\n\tconst driverType = options.driver ?? \"rabbitmq\";\n\tconst brokerName = options.name ?? \"default\";\n\tconst isDefault = options.isDefault ?? true;\n\tlet driver;\n\tswitch (driverType) {\n\t\tcase \"rabbitmq\": {\n\t\t\tconst rabbitOptions = options;\n\t\t\tconst { RabbitMQDriver } = await import(\"../drivers/rabbitmq/rabbitmq-driver.mjs\");\n\t\t\tdriver = new RabbitMQDriver(rabbitOptions);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"kafka\": throw new Error(\"Kafka driver is not yet implemented. Coming soon! For now, please use RabbitMQ.\");\n\t\tdefault: throw new Error(`Unknown driver: \"${driverType}\". Supported drivers: rabbitmq, kafka`);\n\t}\n\tconst broker = brokerRegistry.register({\n\t\tname: brokerName,\n\t\tdriver,\n\t\tisDefault\n\t});\n\ttry {\n\t\tawait driver.connect();\n\t} catch (error) {\n\t\tthrow new Error(`Failed to connect to ${driverType}: ${error instanceof Error ? error.message : String(error)}`);\n\t}\n\treturn broker;\n}\n/**\n* Get a broker by name or the default one.\n*\n* This is the main entry point for using brokers in your application.\n* Named after the package — `herald()` carries your messages!\n*\n* @param name - Optional broker name (uses default if not provided)\n* @returns Broker instance\n* @throws MissingBrokerError if broker not found\n*\n* @example\n* // Get default broker\n* const channel = herald().channel(\"user.created\");\n* await channel.publish({ userId: 1 });\n*\n* // Get specific broker\n* const analyticsChannel = herald(\"analytics\").channel(\"events\");\n* await analyticsChannel.publish({ event: \"page_view\" });\n*\n* // Subscribe to messages\n* herald()\n* .channel<UserPayload>(\"user.created\")\n* .subscribe(async (message, ctx) => {\n* console.log(\"User created:\", message.payload);\n* await ctx.ack();\n* });\n* ```\n*/\nfunction herald(name) {\n\treturn brokerRegistry.get(name);\n}\n/**\n* Get channel instance for the given name from default broker.\n*\n* Shorthand for `herald().channel(name, options)`.\n*\n* @param name - Channel name\n* @param options - Optional channel options\n* @returns Channel instance\n* @throws MissingBrokerError if broker not found\n*\n* @example\n* ```typescript\n* const channel = heraldChannel(\"user.created\");\n* await channel.publish({ userId: 1 });\n* ```\n*/\nfunction heraldChannel(name, options) {\n\treturn herald().channel(name, options);\n}\n/**\n* Publish an EventMessage to the default broker.\n*\n* @param event - Event message to publish\n* @returns Promise that resolves when the event is published\n* @throws Error if the broker is not connected\n*\n* @example\n* ```typescript\n* await publishEvent(new UserUpdatedEvent({ id: 1, name: \"John Doe\" }));\n* ```\n*/\nasync function publishEvent(event) {\n\treturn herald().publish(event);\n}\n/**\n* Subscribe an EventConsumer class to the default broker.\n*\n* @param Consumer - Event consumer class\n* @returns Unsubscribe function\n* @throws MissingBrokerError if broker not found\n*\n* @example\n* ```typescript\n* await subscribeConsumer(UserUpdatedConsumer);\n* ```\n*/\nasync function subscribeConsumer(Consumer) {\n\treturn herald().subscribe(Consumer);\n}\n\n//#endregion\nexport { connectToBroker, herald, heraldChannel, publishEvent, subscribeConsumer };\n//# sourceMappingURL=connect-to-broker.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA,eAAe,gBAAgB,SAAS;CACvC,MAAM,aAAa,QAAQ,UAAU;CACrC,MAAM,aAAa,QAAQ,QAAQ;CACnC,MAAM,YAAY,QAAQ,aAAa;CACvC,IAAI;CACJ,QAAQ,YAAR;EACC,KAAK,YAAY;GAChB,MAAM,gBAAgB;GACtB,MAAM,EAAE,mBAAmB,MAAM,OAAO;GACxC,SAAS,IAAI,eAAe,aAAa;GACzC;EACD;EACA,KAAK,SAAS,MAAM,IAAI,MAAM,iFAAiF;EAC/G,SAAS,MAAM,IAAI,MAAM,oBAAoB,WAAW,sCAAsC;CAC/F;CACA,MAAM,SAAS,eAAe,SAAS;EACtC,MAAM;EACN;EACA;CACD,CAAC;CACD,IAAI;EACH,MAAM,OAAO,QAAQ;CACtB,SAAS,OAAO;EACf,MAAM,IAAI,MAAM,wBAAwB,WAAW,IAAI,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG;CAChH;CACA,OAAO;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAS,OAAO,MAAM;CACrB,OAAO,eAAe,IAAI,IAAI;AAC/B;;;;;;;;;;;;;;;;;AAiBA,SAAS,cAAc,MAAM,SAAS;CACrC,OAAO,OAAO,CAAC,CAAC,QAAQ,MAAM,OAAO;AACtC;;;;;;;;;;;;;AAaA,eAAe,aAAa,OAAO;CAClC,OAAO,OAAO,CAAC,CAAC,QAAQ,KAAK;AAC9B;;;;;;;;;;;;;AAaA,eAAe,kBAAkB,UAAU;CAC1C,OAAO,OAAO,CAAC,CAAC,UAAU,QAAQ;AACnC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.mjs","names":[],"sources":["../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/config.mjs"],"sourcesContent":["//#region ../seal/src/config.ts\n/**\n* Global Seal configuration\n*/\nconst config = { firstErrorOnly: true };\n/**\n* Configure Seal globally\n*\n* @example\n* ```ts\n* import { configureSeal } from \"@warlock.js/seal\";\n* import { trans } from \"@mongez/localization\";\n*\n* configureSeal({\n* translateRule: (ruleTranslation) => trans(`validation.${ruleTranslation.rule.name}`, ruleTranslation.attributes),\n* translateAttribute: (attributeTranslation) => trans(`validation.attributes.${attributeTranslation.rule.name}.${attributeTranslation.attribute}`, attributeTranslation.context.allValues),\n* });\n* ```\n*/\nfunction configureSeal(options) {\n\tObject.assign(config, options);\n}\n/**\n* Get current Seal configuration\n*/\nfunction getSealConfig() {\n\treturn config;\n}\n/**\n* Reset configuration to defaults\n*/\nfunction resetSealConfig() {\n\tdelete config.translateRule;\n\tdelete config.translateAttribute;\n\tconfig.firstErrorOnly = true;\n}\n\n//#endregion\nexport { configureSeal, getSealConfig, resetSealConfig };\n//# sourceMappingURL=config.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;AAIA,MAAM,SAAS,EAAE,gBAAgB,KAAK;;;;AAqBtC,SAAS,gBAAgB;CACxB,OAAO;AACR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/factory/validate.mjs"],"sourcesContent":["import { getSealConfig } from \"../config.mjs\";\n\n//#region ../seal/src/factory/validate.ts\n/**\n* Validate data against a schema\n*/\nconst validate = async (schema, data, { context: extendedContext, ...configurations } = getSealConfig() || {}) => {\n\tconst context = {\n\t\tallValues: data,\n\t\tparent: null,\n\t\tvalue: data,\n\t\tkey: \"\",\n\t\tpath: \"\",\n\t\tcontext: extendedContext,\n\t\trootContext: extendedContext,\n\t\ttranslateRule(ruleTranslation) {\n\t\t\treturn configurations.translateRule?.(ruleTranslation) ?? \"\";\n\t\t},\n\t\ttranslateAttribute(attributeTranslation) {\n\t\t\treturn configurations.translateAttribute?.(attributeTranslation) ?? \"\";\n\t\t},\n\t\tconfigurations\n\t};\n\tconst result = await schema.validate(data, context);\n\tif (!result.isValid) return {\n\t\t...result,\n\t\tdata: void 0\n\t};\n\treturn result;\n};\n\n//#endregion\nexport { validate };\n//# sourceMappingURL=validate.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;AAMA,MAAM,WAAW,OAAO,QAAQ,MAAM,EAAE,SAAS,iBAAiB,GAAG,mBAAmB,cAAc,KAAK,CAAC,MAAM;CACjH,MAAM,UAAU;EACf,WAAW;EACX,QAAQ;EACR,OAAO;EACP,KAAK;EACL,MAAM;EACN,SAAS;EACT,aAAa;EACb,cAAc,iBAAiB;GAC9B,OAAO,eAAe,gBAAgB,eAAe,KAAK;EAC3D;EACA,mBAAmB,sBAAsB;GACxC,OAAO,eAAe,qBAAqB,oBAAoB,KAAK;EACrE;EACA;CACD;CACA,MAAM,SAAS,MAAM,OAAO,SAAS,MAAM,OAAO;CAClD,IAAI,CAAC,OAAO,SAAS,OAAO;EAC3B,GAAG;EACH,MAAM,KAAK;CACZ;CACA,OAAO;AACR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/factory/validators.mjs"],"sourcesContent":["import { validate } from \"./validate.mjs\";\nimport { AnyValidator } from \"../validators/any-validator.mjs\";\nimport { ArrayValidator } from \"../validators/array-validator.mjs\";\nimport \"../validators/methods/equality-conditional-methods.mjs\";\nimport \"../validators/methods/forbidden-methods.mjs\";\nimport \"../validators/methods/present-methods.mjs\";\nimport \"../validators/methods/required-methods.mjs\";\nimport { BooleanValidator } from \"../validators/boolean-validator.mjs\";\nimport { ComputedValidator } from \"../validators/computed-validator.mjs\";\nimport { DateValidator } from \"../validators/date-validator.mjs\";\nimport { LiteralValidator } from \"../validators/literal-validator.mjs\";\nimport { DiscriminatedUnionValidator } from \"../validators/discriminated-union-validator.mjs\";\nimport { NumberValidator } from \"../validators/number-validator.mjs\";\nimport { FloatValidator } from \"../validators/float-validator.mjs\";\nimport { InstanceOfValidator } from \"../validators/instanceof-validator.mjs\";\nimport { IntValidator } from \"../validators/int-validator.mjs\";\nimport { LazyValidator } from \"../validators/lazy-validator.mjs\";\nimport { ManagedValidator } from \"../validators/managed-validator.mjs\";\nimport { NumericValidator } from \"../validators/numeric-validator.mjs\";\nimport { RecordValidator } from \"../validators/record-validator.mjs\";\nimport { ScalarValidator } from \"../validators/scalar-validator.mjs\";\nimport { StringValidator } from \"../validators/string-validator.mjs\";\nimport { TupleValidator } from \"../validators/tuple-validator.mjs\";\nimport { UnionValidator } from \"../validators/union-validator.mjs\";\nimport { object } from \"../object.mjs\";\nimport { string } from \"../string.mjs\";\n\n//#region ../seal/src/factory/validators.ts\n/**\n* Seal factory object - creates instances of validators\n*\n* Use 'v' to create validation schemas (seals) for your data\n*/\nconst v = {\n\t/** Create an object validator */\n\tobject,\n\t/** Create an any validator */\n\tany: () => new AnyValidator(),\n\t/** Create an array validator */\n\tarray: (validator, errorMessage) => new ArrayValidator(validator, errorMessage),\n\t/** Create a record validator - object with dynamic keys and consistent value types */\n\trecord: (validator, errorMessage) => new RecordValidator(validator || v.any(), errorMessage),\n\t/** Create a tuple validator - fixed-length array with position-specific types */\n\ttuple: (validators, errorMessage) => new TupleValidator(validators, errorMessage),\n\t/** Create a date validator */\n\tdate: (errorMessage) => new DateValidator(errorMessage),\n\t/**\n\t* Create a literal validator — narrows to the union of given literal values\n\t*\n\t* @example\n\t* v.literal(\"items\") // type: \"items\"\n\t* v.literal(\"draft\", \"published\") // type: \"draft\" | \"published\"\n\t* v.literal(1, 2, 3) // type: 1 | 2 | 3\n\t*/\n\tliteral: (...values) => new LiteralValidator(values),\n\t/**\n\t* Create an instanceof validator — value must be `instanceof` the constructor\n\t*\n\t* @example\n\t* v.instanceof(File) // type: File\n\t* v.instanceof(Buffer) // type: Buffer\n\t* v.instanceof(MyClass) // type: MyClass\n\t*/\n\tinstanceof: (ctor, errorMessage) => new InstanceOfValidator(ctor, errorMessage),\n\t/**\n\t* Create a lazy validator — defers resolution of the inner validator until\n\t* validate-time. Use for recursive or forward-referenced schemas.\n\t*\n\t* @example\n\t* type Category = { name: string; children: Category[] };\n\t*\n\t* const category: ObjectValidator<...> = v.object({\n\t* name: v.string(),\n\t* children: v.array(v.lazy(() => category)),\n\t* });\n\t*/\n\tlazy: (thunk) => new LazyValidator(thunk),\n\t/** Create a string validator */\n\tstring,\n\t/** Create an email validator */\n\temail: (emailErrorMessage, errorMessage) => new StringValidator(errorMessage).email(emailErrorMessage),\n\t/**\n\t* Create an enum validator — preserves the literal union of accepted\n\t* values in the inferred Standard Schema output.\n\t*\n\t* Two input shapes:\n\t* - Tuple of literals: `v.enum([\"draft\", \"published\"])` →\n\t* `StandardSchemaV1<\"draft\" | \"published\">`\n\t* - TypeScript enum object: `v.enum(Status)` →\n\t* `StandardSchemaV1<Status[keyof Status]>`\n\t*\n\t* Implementation is loosely typed; the public `ValidatorV.enum`\n\t* surface declares the precise overloads.\n\t*/\n\tenum: ((values, errorMessage) => Array.isArray(values) ? new StringValidator().oneOf(values, errorMessage) : new ScalarValidator().enum(values, errorMessage)),\n\t/** Create a number validator */\n\tnumber: (errorMessage) => new NumberValidator(errorMessage),\n\t/** Create a numeric validator */\n\tnumeric: (errorMessage) => new NumericValidator(errorMessage),\n\t/** Create an integer validator */\n\tint: (errorMessage) => new IntValidator(errorMessage),\n\t/** Create a float validator */\n\tfloat: (errorMessage) => new FloatValidator(errorMessage),\n\t/** Create a boolean validator */\n\tboolean: (errorMessage) => new BooleanValidator(errorMessage),\n\t/** Create a scalar validator */\n\tscalar: (errorMessage) => new ScalarValidator(errorMessage),\n\t/** Create a union validator - validates against multiple types */\n\tunion: (validators, errorMessage) => new UnionValidator().union(validators, errorMessage),\n\t/**\n\t* Create a discriminated union — routes payloads by a shared literal\n\t* discriminator field. Each branch must be a `v.object(...)` with the\n\t* discriminator typed as `v.literal(...)`.\n\t*\n\t* @example\n\t* const email = v.object({ type: v.literal(\"email\"), email: v.string().email() });\n\t* const sms = v.object({ type: v.literal(\"sms\"), phone: v.string() });\n\t* const notif = v.discriminatedUnion(\"type\", [email, sms]);\n\t* // type T = Infer<typeof notif>;\n\t* // → { type: \"email\", email: string } | { type: \"sms\", phone: string }\n\t*/\n\tdiscriminatedUnion: (discriminator, validators) => new DiscriminatedUnionValidator(discriminator, validators),\n\t/** Create a computed field validator - derives value from other validated fields */\n\tcomputed: (callback, resultValidator) => new ComputedValidator(callback, resultValidator),\n\t/** Create a managed field validator - framework-injected value */\n\tmanaged: (callback, resultValidator) => new ManagedValidator(callback, resultValidator),\n\t/** Validate data against a schema */\n\tvalidate\n};\n\n//#endregion\nexport { v };\n//# sourceMappingURL=validators.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,IAAI;;CAET;;CAEA,WAAW,IAAI,aAAa;;CAE5B,QAAQ,WAAW,iBAAiB,IAAI,eAAe,WAAW,YAAY;;CAE9E,SAAS,WAAW,iBAAiB,IAAI,gBAAgB,aAAa,EAAE,IAAI,GAAG,YAAY;;CAE3F,QAAQ,YAAY,iBAAiB,IAAI,eAAe,YAAY,YAAY;;CAEhF,OAAO,iBAAiB,IAAI,cAAc,YAAY;;;;;;;;;CAStD,UAAU,GAAG,WAAW,IAAI,iBAAiB,MAAM;;;;;;;;;CASnD,aAAa,MAAM,iBAAiB,IAAI,oBAAoB,MAAM,YAAY;;;;;;;;;;;;;CAa9E,OAAO,UAAU,IAAI,cAAc,KAAK;;CAExC;;CAEA,QAAQ,mBAAmB,iBAAiB,IAAI,gBAAgB,YAAY,CAAC,CAAC,MAAM,iBAAiB;;;;;;;;;;;;;;CAcrG,QAAQ,QAAQ,iBAAiB,MAAM,QAAQ,MAAM,IAAI,IAAI,gBAAgB,CAAC,CAAC,MAAM,QAAQ,YAAY,IAAI,IAAI,gBAAgB,CAAC,CAAC,KAAK,QAAQ,YAAY;;CAE5J,SAAS,iBAAiB,IAAI,gBAAgB,YAAY;;CAE1D,UAAU,iBAAiB,IAAI,iBAAiB,YAAY;;CAE5D,MAAM,iBAAiB,IAAI,aAAa,YAAY;;CAEpD,QAAQ,iBAAiB,IAAI,eAAe,YAAY;;CAExD,UAAU,iBAAiB,IAAI,iBAAiB,YAAY;;CAE5D,SAAS,iBAAiB,IAAI,gBAAgB,YAAY;;CAE1D,QAAQ,YAAY,iBAAiB,IAAI,eAAe,CAAC,CAAC,MAAM,YAAY,YAAY;;;;;;;;;;;;;CAaxF,qBAAqB,eAAe,eAAe,IAAI,4BAA4B,eAAe,UAAU;;CAE5G,WAAW,UAAU,oBAAoB,IAAI,kBAAkB,UAAU,eAAe;;CAExF,UAAU,UAAU,oBAAoB,IAAI,iBAAiB,UAAU,eAAe;;CAEtF;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-helpers.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/date-helpers.mjs"],"sourcesContent":["//#region ../seal/src/helpers/date-helpers.ts\n/**\n* Detect if value is a date value or field name\n*\n* Date values:\n* - Date instance\n* - Number (timestamp)\n* - String with date separators (- or /)\n*\n* Field names:\n* - Strings without - or /\n*\n* @param value - Value to check\n* @returns true if it's a date value, false if it's a field name\n*/\nfunction isDateValue(value) {\n\tif (value instanceof Date) return true;\n\tconst date = new Date(value);\n\treturn !isNaN(date.getTime());\n}\n\n//#endregion\nexport { isDateValue };\n//# sourceMappingURL=date-helpers.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;AAeA,SAAS,YAAY,OAAO;CAC3B,IAAI,iBAAiB,MAAM,OAAO;CAClC,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-field-value.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/get-field-value.mjs"],"sourcesContent":["import { get } from \"@mongez/reinforcements\";\n\n//#region ../seal/src/helpers/get-field-value.ts\n/**\n* Get field value based on scope from rule options\n*\n* This utility extracts a field value from either the global context or sibling context\n* based on the `scope` option in the rule's context.\n*\n* @param rule - The contextual schema rule containing options with:\n* - `field` (or custom fieldKey): The field name to extract\n* - `scope` (optional): Either \"global\" (default) or \"sibling\"\n* @param context - The schema validation context containing allValues and parent\n* @param fieldKey - The key in rule.context.options that contains the field name (defaults to \"field\")\n*\n* @returns The value of the specified field from the appropriate source\n*\n* @example\n* // In a validation rule with scope support:\n* async validate(value: any, context) {\n* const otherFieldValue = getFieldValue(this, context);\n* // Extracts from context.allValues if scope is \"global\"\n* // Extracts from context.parent if scope is \"sibling\"\n* }\n*\n* @example\n* // Using a custom field key:\n* async validate(value: any, context) {\n* const compareValue = getFieldValue(this, context, \"compareField\");\n* // Looks for rule.context.options.compareField instead of .field\n* }\n*\n* @remarks\n* - **Global scope** (`scope: \"global\"`): Searches the entire input data (context.allValues)\n* - **Sibling scope** (`scope: \"sibling\"`): Searches only within the parent object (context.parent)\n* - Uses `@mongez/reinforcements.get()` to support nested paths (e.g., \"user.email\")\n*/\nfunction getFieldValue(rule, context, fieldKey = \"field\") {\n\tconst field = rule.context.options[fieldKey];\n\treturn get((rule.context.options.scope || \"global\") === \"sibling\" ? context.parent : context.allValues, field);\n}\n\n//#endregion\nexport { getFieldValue };\n//# sourceMappingURL=get-field-value.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,SAAS,cAAc,MAAM,SAAS,WAAW,SAAS;CACzD,MAAM,QAAQ,KAAK,QAAQ,QAAQ;CACnC,OAAO,KAAK,KAAK,QAAQ,QAAQ,SAAS,cAAc,YAAY,QAAQ,SAAS,QAAQ,WAAW,KAAK;AAC9G"}
@@ -1,3 +0,0 @@
1
- import "./get-field-value.mjs";
2
-
3
- export { };
@@ -1,10 +0,0 @@
1
- import { isEmpty, isObject } from "../../../../../../@mongez_supportive-is@2.1.4/node_modules/@mongez/supportive-is/esm/index.mjs";
2
-
3
- //#region ../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/is-empty-value.mjs
4
- function isEmptyValue(value) {
5
- return isEmpty(value) && !isObject(value);
6
- }
7
-
8
- //#endregion
9
- export { isEmptyValue };
10
- //# sourceMappingURL=is-empty-value.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-empty-value.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/is-empty-value.mjs"],"sourcesContent":["import { isEmpty, isObject } from \"@mongez/supportive-is\";\n\n//#region ../seal/src/helpers/is-empty-value.ts\nfunction isEmptyValue(value) {\n\treturn isEmpty(value) && !isObject(value);\n}\n\n//#endregion\nexport { isEmptyValue };\n//# sourceMappingURL=is-empty-value.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;AAGA,SAAS,aAAa,OAAO;CAC5B,OAAO,QAAQ,KAAK,KAAK,CAAC,SAAS,KAAK;AACzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"path-helpers.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/path-helpers.mjs"],"sourcesContent":["//#region ../seal/src/helpers/path-helpers.ts\n/**\n* Set the key path for nested validation\n*/\nconst setKeyPath = (path, key) => {\n\tif (!path) return key;\n\treturn `${path}.${key}`;\n};\n\n//#endregion\nexport { setKeyPath };\n//# sourceMappingURL=path-helpers.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;AAIA,MAAM,cAAc,MAAM,QAAQ;CACjC,IAAI,CAAC,MAAM,OAAO;CAClB,OAAO,GAAG,KAAK,GAAG;AACnB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-helpers.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/helpers/validation-helpers.mjs"],"sourcesContent":["import { getSealConfig } from \"../config.mjs\";\n\n//#region ../seal/src/helpers/validation-helpers.ts\nconst VALID_RULE = { isValid: true };\n/**\n* Resolve a single attribute value through the full translation priority chain:\n* 1. attributesList[key] — developer direct text override (highest priority)\n* 2. translatedAttributes[key] — developer explicit translation key\n* 3. translator(rawValue) — auto-translate the raw value (fallback)\n*\n* Use this in rule bodies when you need per-item translation\n* (e.g. translating each enum value before joining them).\n*\n* @example\n* // Translate each enum value individually then join\n* const enumList = enumValues\n* .map(v => resolveTranslation(String(v), String(v), this, context))\n* .join(\", \");\n* this.context.translationParams.enumList = enumList;\n*/\nconst resolveTranslation = ({ key, rawValue, rule, context }) => {\n\tconst translator = getSealConfig().translateAttribute;\n\tconst direct = rule.context.attributesList?.[key];\n\tif (direct && typeof direct === \"string\") return direct;\n\tif (!translator) return String(rawValue ?? key);\n\tconst transKey = rule.context.translatedAttributes?.[key];\n\tif (transKey) return translator({\n\t\tattribute: transKey,\n\t\tcontext,\n\t\trule\n\t});\n\treturn translator({\n\t\tattribute: String(rawValue ?? key),\n\t\tcontext,\n\t\trule\n\t});\n};\nconst resolveAttribute = resolveTranslation;\nconst invalidRule = (rule, context) => {\n\tconst translatableWithInput = {\n\t\tinput: context.key || \"schema\",\n\t\t...rule.context.translatableParams\n\t};\n\tconst resolvedParams = Object.fromEntries(Object.entries(translatableWithInput).map(([key, rawValue]) => [key, resolveAttribute({\n\t\tkey,\n\t\trawValue,\n\t\trule,\n\t\tcontext\n\t})]));\n\tconst input = resolveAttribute({\n\t\tkey: \"input\",\n\t\trawValue: translatableWithInput.input ?? \"schema\",\n\t\trule,\n\t\tcontext\n\t});\n\tconst attributes = {\n\t\tpath: context.path,\n\t\tkey: context.key,\n\t\tvalue: context.configurations?.redactValue ?? context.value,\n\t\t...rule.context.translationParams,\n\t\t...resolvedParams,\n\t\tinput\n\t};\n\treturn {\n\t\tisValid: false,\n\t\terror: (rule.context.errorMessage || rule.errorMessage || context.translateRule?.({\n\t\t\trule,\n\t\t\tcontext,\n\t\t\tattributes\n\t\t}) || rule.defaultErrorMessage).replace(/:([a-zA-Z_]+)/g, (match, key) => key in attributes ? String(attributes[key]) : match),\n\t\tinput: attributes.input,\n\t\tpath: context.path\n\t};\n};\n\n//#endregion\nexport { VALID_RULE, invalidRule, resolveTranslation };\n//# sourceMappingURL=validation-helpers.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;AAGA,MAAM,aAAa,EAAE,SAAS,KAAK;;;;;;;;;;;;;;;;;AAiBnC,MAAM,sBAAsB,EAAE,KAAK,UAAU,MAAM,cAAc;CAChE,MAAM,aAAa,cAAc,CAAC,CAAC;CACnC,MAAM,SAAS,KAAK,QAAQ,iBAAiB;CAC7C,IAAI,UAAU,OAAO,WAAW,UAAU,OAAO;CACjD,IAAI,CAAC,YAAY,OAAO,OAAO,YAAY,GAAG;CAC9C,MAAM,WAAW,KAAK,QAAQ,uBAAuB;CACrD,IAAI,UAAU,OAAO,WAAW;EAC/B,WAAW;EACX;EACA;CACD,CAAC;CACD,OAAO,WAAW;EACjB,WAAW,OAAO,YAAY,GAAG;EACjC;EACA;CACD,CAAC;AACF;AACA,MAAM,mBAAmB;AACzB,MAAM,eAAe,MAAM,YAAY;CACtC,MAAM,wBAAwB;EAC7B,OAAO,QAAQ,OAAO;EACtB,GAAG,KAAK,QAAQ;CACjB;CACA,MAAM,iBAAiB,OAAO,YAAY,OAAO,QAAQ,qBAAqB,CAAC,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC,KAAK,iBAAiB;EAC/H;EACA;EACA;EACA;CACD,CAAC,CAAC,CAAC,CAAC;CACJ,MAAM,QAAQ,iBAAiB;EAC9B,KAAK;EACL,UAAU,sBAAsB,SAAS;EACzC;EACA;CACD,CAAC;CACD,MAAM,aAAa;EAClB,MAAM,QAAQ;EACd,KAAK,QAAQ;EACb,OAAO,QAAQ,gBAAgB,eAAe,QAAQ;EACtD,GAAG,KAAK,QAAQ;EAChB,GAAG;EACH;CACD;CACA,OAAO;EACN,SAAS;EACT,QAAQ,KAAK,QAAQ,gBAAgB,KAAK,gBAAgB,QAAQ,gBAAgB;GACjF;GACA;GACA;EACD,CAAC,KAAK,KAAK,oBAAmB,CAAE,QAAQ,mBAAmB,OAAO,QAAQ,OAAO,aAAa,OAAO,WAAW,IAAI,IAAI,KAAK;EAC7H,OAAO,WAAW;EAClB,MAAM,QAAQ;CACf;AACD"}
@@ -1,10 +0,0 @@
1
- import { StandardJSONSchemaV1, StandardSchemaV1 } from "./standard-schema/types.mjs";
2
- import { JsonSchemaResult, JsonSchemaTarget } from "./standard-schema/json-schema.mjs";
3
- import { AttributeTranslation, RuleTranslation, SchemaContext } from "./types/context-types.mjs";
4
- import { ContextualSchemaRule, RuleResult, SchemaRule, SchemaRuleOptions, ValidationAttributesList } from "./types/rule-types.mjs";
5
- import { ValidationResult } from "./types/result-types.mjs";
6
- import { ContextualizedMutator, Mutator, MutatorContext } from "./types/mutator-types.mjs";
7
- import { ContextualizedTransformer, SimpleTransformerCallback, TransformerCallback } from "./types/data-transformer-types.mjs";
8
- import { BaseValidator } from "./validators/base-validator.mjs";
9
- import { Schema } from "./types/schema-types.mjs";
10
- import { WhenRuleOptions } from "./types/conditional-types.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"array-mutators.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/array-mutators.mjs"],"sourcesContent":["import { isEmptyValue } from \"../helpers/is-empty-value.mjs\";\nimport { get } from \"@mongez/reinforcements\";\n\n//#region ../seal/src/mutators/array-mutators.ts\n/** Reverse array order */\nconst flipArrayMutator = async (value) => {\n\treturn value.reverse();\n};\n/** Reverse array order (alias) */\nconst reverseArrayMutator = async (value) => {\n\treturn value.reverse();\n};\n/** Sort array */\nconst sortArrayMutator = async (value, context) => {\n\tif (!Array.isArray(value)) return value;\n\tconst sortDirection = context?.options.direction ?? \"asc\";\n\tconst sortByKey = context?.options.key ?? null;\n\treturn value.sort((a, b) => {\n\t\tif (sortByKey) {\n\t\t\tconst aValue = get(a, sortByKey);\n\t\t\tconst bValue = get(b, sortByKey);\n\t\t\tif (sortDirection === \"asc\") return aValue - bValue;\n\t\t\treturn bValue - aValue;\n\t\t}\n\t\tif (sortDirection === \"asc\") return a - b;\n\t\treturn b - a;\n\t});\n};\n/** Make array have only unique values */\nconst uniqueArrayMutator = async (value) => {\n\treturn [...new Set(value)];\n};\n/** Remove empty elements from array */\nconst removeEmptyArrayElementsMutator = async (value) => {\n\treturn value.filter((item) => !isEmptyValue(item));\n};\n\n//#endregion\nexport { flipArrayMutator, removeEmptyArrayElementsMutator, reverseArrayMutator, sortArrayMutator, uniqueArrayMutator };\n//# sourceMappingURL=array-mutators.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;AAKA,MAAM,mBAAmB,OAAO,UAAU;CACzC,OAAO,MAAM,QAAQ;AACtB;;AAMA,MAAM,mBAAmB,OAAO,OAAO,YAAY;CAClD,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG,OAAO;CAClC,MAAM,gBAAgB,SAAS,QAAQ,aAAa;CACpD,MAAM,YAAY,SAAS,QAAQ,OAAO;CAC1C,OAAO,MAAM,MAAM,GAAG,MAAM;EAC3B,IAAI,WAAW;GACd,MAAM,SAAS,IAAI,GAAG,SAAS;GAC/B,MAAM,SAAS,IAAI,GAAG,SAAS;GAC/B,IAAI,kBAAkB,OAAO,OAAO,SAAS;GAC7C,OAAO,SAAS;EACjB;EACA,IAAI,kBAAkB,OAAO,OAAO,IAAI;EACxC,OAAO,IAAI;CACZ,CAAC;AACF;;AAEA,MAAM,qBAAqB,OAAO,UAAU;CAC3C,OAAO,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC;AAC1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"boolean-mutators.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/boolean-mutators.mjs"],"sourcesContent":["import { ACCEPTED_VALUES } from \"../rules/scalar/accepted-rule.mjs\";\nimport { DECLINED_VALUES } from \"../rules/scalar/declined-rule.mjs\";\n\n//#region ../seal/src/mutators/boolean-mutators.ts\n/**\n* Coerce a query-string-shaped boolean into a real boolean.\n*\n* Converts exactly: `\"true\"` / `\"1\"` / `1` → `true`, `\"false\"` / `\"0\"` / `0` → `false`.\n* Case-sensitive, no trimming. Any other value (`\"yes\"`, `\"on\"`, `\"TRUE\"`, `\"\"`,\n* `2`, `null`, etc.) passes through unchanged so the boolean type rule rejects it.\n*/\nconst booleanCoerceMutator = async (value) => {\n\tif (value === \"true\" || value === \"1\" || value === 1) return true;\n\tif (value === \"false\" || value === \"0\" || value === 0) return false;\n\treturn value;\n};\n/**\n* Parse form-shaped boolean values into a real boolean, ahead of the type\n* rule.\n*\n* Opted into by calling any `accepted*`/`declined*` method on\n* `v.boolean()` (see `BooleanValidator`'s `withFormBooleanMutator`). Converts\n* every value in `ACCEPTED_VALUES` (`1`, `\"1\"`, `true`, `\"true\"`, `\"yes\"`,\n* `\"y\"`, `\"on\"`, `\"Yes\"`, `\"Y\"`, `\"On\"`) to `true`, and every value in\n* `DECLINED_VALUES` (`0`, `\"0\"`, `false`, `\"false\"`, `\"no\"`, `\"n\"`, `\"off\"`,\n* `\"No\"`, `\"N\"`, `\"Off\"`) to `false`. Any other value passes through\n* unchanged so the boolean type rule still rejects it.\n*\n* Named (not anonymous) so callers can detect whether it has already been\n* added — see the idempotence check in `BooleanValidator`.\n*/\nconst formBooleanMutator = async (value) => {\n\tif (ACCEPTED_VALUES.includes(value)) return true;\n\tif (DECLINED_VALUES.includes(value)) return false;\n\treturn value;\n};\n\n//#endregion\nexport { booleanCoerceMutator, formBooleanMutator };\n//# sourceMappingURL=boolean-mutators.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;AAWA,MAAM,uBAAuB,OAAO,UAAU;CAC7C,IAAI,UAAU,UAAU,UAAU,OAAO,UAAU,GAAG,OAAO;CAC7D,IAAI,UAAU,WAAW,UAAU,OAAO,UAAU,GAAG,OAAO;CAC9D,OAAO;AACR;;;;;;;;;;;;;;;;AAgBA,MAAM,qBAAqB,OAAO,UAAU;CAC3C,IAAI,gBAAgB,SAAS,KAAK,GAAG,OAAO;CAC5C,IAAI,gBAAgB,SAAS,KAAK,GAAG,OAAO;CAC5C,OAAO;AACR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-mutators.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/date-mutators.mjs"],"sourcesContent":["import dayjs from \"dayjs\";\n\n//#region ../seal/src/mutators/date-mutators.ts\n/**\n* Convert value to Date object\n* Returns Invalid Date if value cannot be converted\n*/\nconst dateMutator = async (value) => {\n\tif (!value) return;\n\tif (value instanceof Date) return value;\n\treturn new Date(value);\n};\n/** Convert date to ISO string format */\nconst toISOStringMutator = async (value) => {\n\treturn new Date(value).toISOString();\n};\n/** Convert date to Unix timestamp (milliseconds) */\nconst toTimestampMutator = async (value) => {\n\treturn new Date(value).getTime();\n};\n/** Convert date to start of day (00:00:00) */\nconst toStartOfDayMutator = async (value) => {\n\tconst date = new Date(value);\n\tdate.setHours(0, 0, 0, 0);\n\treturn date;\n};\n/** Convert date to end of day (23:59:59.999) */\nconst toEndOfDayMutator = async (value) => {\n\tconst date = new Date(value);\n\tdate.setHours(23, 59, 59, 999);\n\treturn date;\n};\n/** Add or subtract days from date */\nconst addDaysMutator = async (value, context) => {\n\tconst date = new Date(value);\n\tconst days = context?.options.days ?? 0;\n\tdate.setDate(date.getDate() + days);\n\treturn date;\n};\n/** Add or subtract months from date */\nconst addMonthsMutator = async (value, context) => {\n\tconst date = new Date(value);\n\tconst months = context?.options.months ?? 0;\n\tdate.setMonth(date.getMonth() + months);\n\treturn date;\n};\n/** Add or subtract years from date */\nconst addYearsMutator = async (value, context) => {\n\tconst date = new Date(value);\n\tconst years = context?.options.years ?? 0;\n\tdate.setFullYear(date.getFullYear() + years);\n\treturn date;\n};\n/** Add or subtract hours from date */\nconst addHoursMutator = async (value, context) => {\n\tconst date = new Date(value);\n\tconst hours = context?.options.hours ?? 0;\n\tdate.setHours(date.getHours() + hours);\n\treturn date;\n};\n/** Convert date to UTC */\nconst toUTCMutator = async (value) => {\n\tconst date = new Date(value);\n\treturn new Date(date.toUTCString());\n};\n/** Convert date to specific format using dayjs */\nconst toFormatMutator = async (value, context) => {\n\tconst format = context?.options.format ?? \"YYYY-MM-DD\";\n\treturn dayjs(value).format(format);\n};\n/** Convert to date only (remove time) */\nconst toDateOnlyMutator = async (value) => {\n\treturn new Date(value).toISOString().split(\"T\")[0];\n};\n/** Convert to time only (HH:MM:SS) */\nconst toTimeOnlyMutator = async (value) => {\n\treturn new Date(value).toTimeString().split(\" \")[0];\n};\n/** Set to start of month */\nconst toStartOfMonthMutator = async (value) => {\n\tconst date = new Date(value);\n\tdate.setDate(1);\n\tdate.setHours(0, 0, 0, 0);\n\treturn date;\n};\n/** Set to end of month */\nconst toEndOfMonthMutator = async (value) => {\n\tconst date = new Date(value);\n\tdate.setMonth(date.getMonth() + 1);\n\tdate.setDate(0);\n\tdate.setHours(23, 59, 59, 999);\n\treturn date;\n};\n/** Set to start of year */\nconst toStartOfYearMutator = async (value) => {\n\tconst date = new Date(value);\n\tdate.setMonth(0);\n\tdate.setDate(1);\n\tdate.setHours(0, 0, 0, 0);\n\treturn date;\n};\n/** Set to end of year */\nconst toEndOfYearMutator = async (value) => {\n\tconst date = new Date(value);\n\tdate.setMonth(11);\n\tdate.setDate(31);\n\tdate.setHours(23, 59, 59, 999);\n\treturn date;\n};\n\n//#endregion\nexport { addDaysMutator, addHoursMutator, addMonthsMutator, addYearsMutator, dateMutator, toDateOnlyMutator, toEndOfDayMutator, toEndOfMonthMutator, toEndOfYearMutator, toFormatMutator, toISOStringMutator, toStartOfDayMutator, toStartOfMonthMutator, toStartOfYearMutator, toTimeOnlyMutator, toTimestampMutator, toUTCMutator };\n//# sourceMappingURL=date-mutators.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;AAOA,MAAM,cAAc,OAAO,UAAU;CACpC,IAAI,CAAC,OAAO;CACZ,IAAI,iBAAiB,MAAM,OAAO;CAClC,OAAO,IAAI,KAAK,KAAK;AACtB;;AAUA,MAAM,sBAAsB,OAAO,UAAU;CAC5C,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,GAAG,GAAG,GAAG,CAAC;CACxB,OAAO;AACR;;AAEA,MAAM,oBAAoB,OAAO,UAAU;CAC1C,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,IAAI,IAAI,IAAI,GAAG;CAC7B,OAAO;AACR;;AAEA,MAAM,iBAAiB,OAAO,OAAO,YAAY;CAChD,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,MAAM,OAAO,SAAS,QAAQ,QAAQ;CACtC,KAAK,QAAQ,KAAK,QAAQ,IAAI,IAAI;CAClC,OAAO;AACR;;AAEA,MAAM,mBAAmB,OAAO,OAAO,YAAY;CAClD,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,MAAM,SAAS,SAAS,QAAQ,UAAU;CAC1C,KAAK,SAAS,KAAK,SAAS,IAAI,MAAM;CACtC,OAAO;AACR;;AAEA,MAAM,kBAAkB,OAAO,OAAO,YAAY;CACjD,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,MAAM,QAAQ,SAAS,QAAQ,SAAS;CACxC,KAAK,YAAY,KAAK,YAAY,IAAI,KAAK;CAC3C,OAAO;AACR;;AAEA,MAAM,kBAAkB,OAAO,OAAO,YAAY;CACjD,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,MAAM,QAAQ,SAAS,QAAQ,SAAS;CACxC,KAAK,SAAS,KAAK,SAAS,IAAI,KAAK;CACrC,OAAO;AACR;;AAEA,MAAM,eAAe,OAAO,UAAU;CACrC,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,OAAO,IAAI,KAAK,KAAK,YAAY,CAAC;AACnC;;AAeA,MAAM,wBAAwB,OAAO,UAAU;CAC9C,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,QAAQ,CAAC;CACd,KAAK,SAAS,GAAG,GAAG,GAAG,CAAC;CACxB,OAAO;AACR;;AAEA,MAAM,sBAAsB,OAAO,UAAU;CAC5C,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,KAAK,SAAS,IAAI,CAAC;CACjC,KAAK,QAAQ,CAAC;CACd,KAAK,SAAS,IAAI,IAAI,IAAI,GAAG;CAC7B,OAAO;AACR;;AAEA,MAAM,uBAAuB,OAAO,UAAU;CAC7C,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,CAAC;CACf,KAAK,QAAQ,CAAC;CACd,KAAK,SAAS,GAAG,GAAG,GAAG,CAAC;CACxB,OAAO;AACR;;AAEA,MAAM,qBAAqB,OAAO,UAAU;CAC3C,MAAM,OAAO,IAAI,KAAK,KAAK;CAC3B,KAAK,SAAS,EAAE;CAChB,KAAK,QAAQ,EAAE;CACf,KAAK,SAAS,IAAI,IAAI,IAAI,GAAG;CAC7B,OAAO;AACR"}
@@ -1,8 +0,0 @@
1
- import "./array-mutators.mjs";
2
- import "./boolean-mutators.mjs";
3
- import "./date-mutators.mjs";
4
- import "./number-mutators.mjs";
5
- import "./object-mutators.mjs";
6
- import "./string-mutators.mjs";
7
-
8
- export { };
@@ -1 +0,0 @@
1
- {"version":3,"file":"number-mutators.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/number-mutators.mjs"],"sourcesContent":["import { round } from \"@mongez/reinforcements\";\nimport { isNumeric } from \"@mongez/supportive-is\";\n\n//#region ../seal/src/mutators/number-mutators.ts\n/** Convert value to number */\nconst numberMutator = async (value) => {\n\tif (!value) return value;\n\treturn Number(value);\n};\n/** Round number to specified decimals */\nconst roundNumberMutator = async (value, context) => {\n\treturn round(value, context?.options?.decimals ?? 2);\n};\n/** Convert to boolean */\nconst booleanMutator = async (value) => {\n\tif (value === \"true\") return true;\n\tif (value === \"false\") return false;\n\treturn Boolean(value);\n};\nconst numericMutator = async (value) => {\n\tif (!isNumeric(value)) return value;\n\treturn Number(value);\n};\n/** Absolute value mutator */\nconst absMutator = async (value) => {\n\treturn Math.abs(Number(value));\n};\n/** Ceil mutator */\nconst ceilMutator = async (value) => {\n\treturn Math.ceil(Number(value));\n};\n/** Floor mutator */\nconst floorMutator = async (value) => {\n\treturn Math.floor(Number(value));\n};\n/**\n* Round mutator\n* Supports decimal precision via options.decimals\n*/\nconst roundMutator = async (value, context) => {\n\tconst decimals = context?.options?.decimals ?? 0;\n\tif (decimals === 0) return Math.round(Number(value));\n\treturn round(Number(value), decimals);\n};\n/**\n* To fixed mutator — rounds to a fixed number of decimal places, as a number.\n*\n* `Number.prototype.toFixed` returns a *string*, which the number validator's\n* own type rule then rejected: `v.number().toFixed(2)` could never produce a\n* valid result. Coercing back to a number keeps the method usable where it\n* lives. For the fixed-point string form, format at the edge instead of asking\n* a number schema to output a string.\n*/\nconst toFixedMutator = async (value, context) => {\n\tconst decimals = context?.options?.decimals ?? 2;\n\treturn Number(Number(value).toFixed(decimals));\n};\n\n//#endregion\nexport { absMutator, booleanMutator, ceilMutator, floorMutator, numberMutator, numericMutator, roundMutator, roundNumberMutator, toFixedMutator };\n//# sourceMappingURL=number-mutators.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;AAKA,MAAM,gBAAgB,OAAO,UAAU;CACtC,IAAI,CAAC,OAAO,OAAO;CACnB,OAAO,OAAO,KAAK;AACpB;AAWA,MAAM,iBAAiB,OAAO,UAAU;CACvC,IAAI,CAAC,UAAU,KAAK,GAAG,OAAO;CAC9B,OAAO,OAAO,KAAK;AACpB;;AAEA,MAAM,aAAa,OAAO,UAAU;CACnC,OAAO,KAAK,IAAI,OAAO,KAAK,CAAC;AAC9B;;AAEA,MAAM,cAAc,OAAO,UAAU;CACpC,OAAO,KAAK,KAAK,OAAO,KAAK,CAAC;AAC/B;;AAEA,MAAM,eAAe,OAAO,UAAU;CACrC,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC;AAChC;;;;;AAKA,MAAM,eAAe,OAAO,OAAO,YAAY;CAC9C,MAAM,WAAW,SAAS,SAAS,YAAY;CAC/C,IAAI,aAAa,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC;CACnD,OAAO,MAAM,OAAO,KAAK,GAAG,QAAQ;AACrC;;;;;;;;;;AAUA,MAAM,iBAAiB,OAAO,OAAO,YAAY;CAChD,MAAM,WAAW,SAAS,SAAS,YAAY;CAC/C,OAAO,OAAO,OAAO,KAAK,CAAC,CAAC,QAAQ,QAAQ,CAAC;AAC9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-mutators.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/object-mutators.mjs"],"sourcesContent":["import { trim } from \"@mongez/reinforcements\";\nimport { isPlainObject } from \"@mongez/supportive-is\";\n\n//#region ../seal/src/mutators/object-mutators.ts\n/** Strip unknown keys from object */\nconst stripUnknownMutator = async (value, context) => {\n\tconst allowedKeys = [...context?.ctx.schema ? Object.keys(context.ctx.schema) : [], ...context?.options.allowedKeys ?? []];\n\tconst result = {};\n\tfor (const key in value) if (allowedKeys.includes(key)) result[key] = value[key];\n\treturn result;\n};\n/** Trim all string values in object */\nconst objectTrimMutator = async (value, context) => {\n\tif (!isPlainObject(value)) return value;\n\tconst result = {};\n\tconst recursive = context?.options.recursive ?? false;\n\tfor (const key in value) {\n\t\tconst item = value[key];\n\t\tif (recursive) if (Array.isArray(item)) result[key] = await Promise.all(item.map(async (i) => typeof i === \"string\" ? trim(i) : await objectTrimMutator(i, context)));\n\t\telse if (isPlainObject(item)) result[key] = await objectTrimMutator(item, context);\n\t\telse result[key] = typeof item === \"string\" ? trim(item) : item;\n\t\telse result[key] = typeof item === \"string\" ? trim(item) : item;\n\t}\n\treturn result;\n};\n/** Parse JSON string */\nconst jsonMutator = async (value) => {\n\ttry {\n\t\treturn JSON.parse(value);\n\t} catch {\n\t\treturn value;\n\t}\n};\n\n//#endregion\nexport { jsonMutator, objectTrimMutator, stripUnknownMutator };\n//# sourceMappingURL=object-mutators.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;AAKA,MAAM,sBAAsB,OAAO,OAAO,YAAY;CACrD,MAAM,cAAc,CAAC,GAAG,SAAS,IAAI,SAAS,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,SAAS,QAAQ,eAAe,CAAC,CAAC;CACzH,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,OAAO,OAAO,IAAI,YAAY,SAAS,GAAG,GAAG,OAAO,OAAO,MAAM;CAC5E,OAAO;AACR;;AAEA,MAAM,oBAAoB,OAAO,OAAO,YAAY;CACnD,IAAI,CAAC,cAAc,KAAK,GAAG,OAAO;CAClC,MAAM,SAAS,CAAC;CAChB,MAAM,YAAY,SAAS,QAAQ,aAAa;CAChD,KAAK,MAAM,OAAO,OAAO;EACxB,MAAM,OAAO,MAAM;EACnB,IAAI,WAAW,IAAI,MAAM,QAAQ,IAAI,GAAG,OAAO,OAAO,MAAM,QAAQ,IAAI,KAAK,IAAI,OAAO,MAAM,OAAO,MAAM,WAAW,KAAK,CAAC,IAAI,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC;OAC/J,IAAI,cAAc,IAAI,GAAG,OAAO,OAAO,MAAM,kBAAkB,MAAM,OAAO;OAC5E,OAAO,OAAO,OAAO,SAAS,WAAW,KAAK,IAAI,IAAI;OACtD,OAAO,OAAO,OAAO,SAAS,WAAW,KAAK,IAAI,IAAI;CAC5D;CACA,OAAO;AACR"}
@@ -1,9 +0,0 @@
1
- //#region ../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs
2
- const stringMutator = async (value) => {
3
- if ([void 0, null].includes(value)) return value;
4
- return String(value);
5
- };
6
-
7
- //#endregion
8
- export { stringMutator };
9
- //# sourceMappingURL=scalar-mutators.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scalar-mutators.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/scalar-mutators.mjs"],"sourcesContent":["//#region ../seal/src/mutators/scalar-mutators.ts\nconst stringMutator = async (value) => {\n\tif ([void 0, null].includes(value)) return value;\n\treturn String(value);\n};\n\n//#endregion\nexport { stringMutator };\n//# sourceMappingURL=scalar-mutators.mjs.map"],"x_google_ignoreList":[0],"mappings":";AACA,MAAM,gBAAgB,OAAO,UAAU;CACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,OAAO;CAC3C,OAAO,OAAO,KAAK;AACpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"string-mutators.mjs","names":[],"sources":["../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/mutators/string-mutators.mjs"],"sourcesContent":["import { capitalize, ltrim, readMoreChars, rtrim, toCamelCase, toKebabCase, toSnakeCase, toStudlyCase, trim } from \"@mongez/reinforcements\";\n\n//#region ../seal/src/mutators/string-mutators.ts\n/** Convert string to lowercase */\nconst lowercaseMutator = async (value) => {\n\treturn value?.toString().toLowerCase();\n};\n/** Convert string to uppercase */\nconst uppercaseMutator = async (value) => {\n\treturn value?.toString().toUpperCase();\n};\n/** Capitalize only the first letter of the string */\nconst capitalizeMutator = async (value) => {\n\tconst str = value?.toString();\n\treturn str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n};\n/** Capitalize the first letter of each word (Title Case) */\nconst titleCaseMutator = async (value) => {\n\treturn capitalize(value?.toString());\n};\n/** Convert value to string */\nconst stringifyMutator = async (value) => {\n\tif (!value && value !== 0) return \"\";\n\tif (typeof value === \"string\") return value;\n\tif (typeof value === \"number\" || typeof value === \"boolean\") return String(value);\n};\n/** Trim whitespace */\nconst trimMutator = async (value, context) => {\n\treturn trim(value?.toString(), context?.options?.needle ?? \" \");\n};\n/**\n* Strip HTML tags with a naive `<...>` regex.\n*\n* This is a **tag stripper, not an XSS sanitizer**: it is not a parser, so\n* malformed/nested markup, attribute payloads, or content re-introduced\n* later in a pipeline can defeat it. Do not rely on this alone to make\n* untrusted rich text safe to render — use a real parser-based sanitizer\n* (e.g. DOMPurify / sanitize-html) for that.\n*/\nconst stripTagsMutator = async (value) => {\n\treturn value?.toString().replace(/<[^>]*>?/gm, \"\");\n};\n/**\n* @deprecated Renamed to {@link stripTagsMutator} — the old name implied\n* XSS safety this tag-stripping regex does not provide. Kept as an alias\n* for backward compatibility; switch to `stripTagsMutator`.\n*/\nconst safeHtmlMutator = stripTagsMutator;\n/** HTML escape */\nconst htmlEscapeMutator = async (value) => {\n\treturn value?.toString().replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#039;\");\n};\n/** Remove special characters */\nconst removeSpecialCharactersMutator = async (value) => {\n\treturn value?.toString().replace(/[^a-zA-Z0-9]/g, \"\");\n};\n/** URL decode */\nconst urlDecodeMutator = async (value) => {\n\treturn decodeURIComponent(value);\n};\n/** URL encode */\nconst urlEncodeMutator = async (value) => {\n\treturn encodeURIComponent(value);\n};\n/** Convert to camelCase */\nconst camelCaseMutator = async (value) => {\n\treturn toCamelCase(value?.toString());\n};\n/** Convert to PascalCase */\nconst pascalCaseMutator = async (value) => {\n\treturn toStudlyCase(value?.toString());\n};\n/** Convert to snake_case */\nconst snakeCaseMutator = async (value) => {\n\treturn toSnakeCase(value?.toString());\n};\n/** Convert to kebab-case */\nconst kebabCaseMutator = async (value) => {\n\treturn toKebabCase(value?.toString());\n};\n/** Convert to URL-friendly slug */\nconst slugMutator = async (value) => {\n\treturn value?.toString().toLowerCase().trim().replace(/[^\\w\\s-]/g, \"\").replace(/[\\s_]+/g, \"-\").replace(/--+/g, \"-\").replace(/^-+|-+$/g, \"\");\n};\n/** Trim from the left/start */\nconst ltrimMutator = async (value, context) => {\n\treturn ltrim(value?.toString(), context?.options?.needle ?? \" \");\n};\n/** Trim from the right/end */\nconst rtrimMutator = async (value, context) => {\n\treturn rtrim(value?.toString(), context?.options?.needle ?? \" \");\n};\n/** Base64 encode */\nconst base64EncodeMutator = async (value) => {\n\treturn Buffer.from(value?.toString()).toString(\"base64\");\n};\n/** Base64 decode */\nconst base64DecodeMutator = async (value) => {\n\treturn Buffer.from(value?.toString(), \"base64\").toString(\"utf-8\");\n};\n/** Replace substring or pattern */\nconst replaceMutator = async (value, context) => {\n\tconst { search, replace } = context?.options;\n\tif (!search) return value?.toString();\n\treturn value?.toString().replace(search, replace ?? \"\");\n};\n/** Replace all occurrences of substring or pattern */\nconst replaceAllMutator = async (value, context) => {\n\tconst { search, replace } = context?.options;\n\tif (!search) return value?.toString();\n\tconst searchValue = typeof search === \"string\" ? new RegExp(search, \"g\") : search;\n\treturn value?.toString().replace(searchValue, replace ?? \"\");\n};\n/** Append/suffix text to the end */\nconst appendMutator = async (value, context) => {\n\tconst suffix = context?.options?.suffix ?? \"\";\n\treturn value?.toString() + suffix;\n};\n/** Prepend/prefix text to the beginning */\nconst prependMutator = async (value, context) => {\n\treturn (context?.options?.prefix ?? \"\") + value?.toString();\n};\n/** Reverse the string */\nconst reverseMutator = async (value) => {\n\treturn value?.toString().split(\"\").reverse().join(\"\");\n};\n/** Truncate to a maximum length */\nconst truncateMutator = async (value, context) => {\n\tconst str = value?.toString();\n\treturn readMoreChars(str, context?.options?.maxLength ?? 100, context?.options?.suffix ?? \"...\");\n};\n/** Trim multiple whitespace into single space */\nconst trimMultipleWhitespaceMutator = async (value) => {\n\treturn value?.toString().replace(/\\s+/g, \" \");\n};\n/** Pad string from the start to reach target length */\nconst padStartMutator = async (value, context) => {\n\tconst length = context?.options?.length ?? 0;\n\tconst char = context?.options?.char ?? \" \";\n\treturn value?.toString().padStart(length, char);\n};\n/** Pad string from the end to reach target length */\nconst padEndMutator = async (value, context) => {\n\tconst length = context?.options?.length ?? 0;\n\tconst char = context?.options?.char ?? \" \";\n\treturn value?.toString().padEnd(length, char);\n};\n/** Repeat string N times */\nconst repeatMutator = async (value, context) => {\n\tconst count = context?.options?.count ?? 1;\n\treturn value?.toString()?.repeat(count);\n};\n/** Mask part of string */\nconst maskMutator = async (value, context) => {\n\tconst str = value?.toString();\n\tconst maskChar = context?.options?.char ?? \"*\";\n\tconst start = context?.options?.start ?? 0;\n\tconst end = context?.options?.end ?? str?.length;\n\tconst visibleStart = str?.substring(0, start);\n\tconst visibleEnd = str?.substring(end);\n\tconst maskedLength = end - start;\n\treturn visibleStart + maskChar.repeat(maskedLength) + visibleEnd;\n};\n/** Unescape HTML entities */\nconst unescapeHtmlMutator = async (value) => {\n\treturn value?.toString().replace(/&amp;/g, \"&\").replace(/&lt;/g, \"<\").replace(/&gt;/g, \">\").replace(/&quot;/g, \"\\\"\").replace(/&#039;/g, \"'\");\n};\n/** Keep only alphabetic characters */\nconst alphaOnlyMutator = async (value) => {\n\treturn value.toString().replace(/[^a-zA-Z]/g, \"\");\n};\n/** Keep only alphanumeric characters */\nconst alphanumericOnlyMutator = async (value) => {\n\treturn value.toString().replace(/[^a-zA-Z0-9]/g, \"\");\n};\n/** Remove all numeric characters */\nconst removeNumbersMutator = async (value) => {\n\treturn value.toString().replace(/[0-9]/g, \"\");\n};\n\n//#endregion\nexport { alphaOnlyMutator, alphanumericOnlyMutator, appendMutator, base64DecodeMutator, base64EncodeMutator, camelCaseMutator, capitalizeMutator, htmlEscapeMutator, kebabCaseMutator, lowercaseMutator, ltrimMutator, maskMutator, padEndMutator, padStartMutator, pascalCaseMutator, prependMutator, removeNumbersMutator, removeSpecialCharactersMutator, repeatMutator, replaceAllMutator, replaceMutator, reverseMutator, rtrimMutator, safeHtmlMutator, slugMutator, snakeCaseMutator, stringifyMutator, stripTagsMutator, titleCaseMutator, trimMultipleWhitespaceMutator, trimMutator, truncateMutator, unescapeHtmlMutator, uppercaseMutator, urlDecodeMutator, urlEncodeMutator };\n//# sourceMappingURL=string-mutators.mjs.map"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.mjs","names":[],"sources":["../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/object.mjs"],"sourcesContent":["import { equalityConditionalMethodsApplied } from \"./validators/methods/equality-conditional-methods.mjs\";\nimport { forbiddenMethodsApplied } from \"./validators/methods/forbidden-methods.mjs\";\nimport { presentMethodsApplied } from \"./validators/methods/present-methods.mjs\";\nimport { requiredMethodsApplied } from \"./validators/methods/required-methods.mjs\";\nimport { ObjectValidator } from \"./validators/object-validator.mjs\";\n\n//#region ../seal/src/object.ts\n/** Create an object schema without importing the complete `v` factory. */\nconst object = (schema, errorMessage) => new ObjectValidator(schema, errorMessage);\n\n//#endregion\nexport { ObjectValidator, equalityConditionalMethodsApplied, forbiddenMethodsApplied, object, presentMethodsApplied, requiredMethodsApplied };\n//# sourceMappingURL=object.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;AAQA,MAAM,UAAU,QAAQ,iBAAiB,IAAI,gBAAgB,QAAQ,YAAY"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"array-rules.mjs","names":[],"sources":["../../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/array/array-rules.mjs"],"sourcesContent":["import { VALID_RULE, invalidRule } from \"../../helpers/validation-helpers.mjs\";\nimport \"../../helpers/index.mjs\";\n\n//#region ../seal/src/rules/array/array-rules.ts\n/**\n* Unique array rule - array must contain unique values\n*/\nconst uniqueArrayRule = {\n\tname: \"uniqueArray\",\n\tdescription: \"The array must contain unique values\",\n\tdefaultErrorMessage: \"The :input must contain unique values\",\n\tasync validate(value, context) {\n\t\tif (new Set(value).size === value.length) return VALID_RULE;\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* Sorted array rule - array must be sorted\n*/\nconst sortedArrayRule = {\n\tname: \"sortedArray\",\n\tdescription: \"The array must be sorted\",\n\tdefaultErrorMessage: \"The :input must be sorted\",\n\tasync validate(value, context) {\n\t\tif (!Array.isArray(value) || value.length <= 1) return VALID_RULE;\n\t\tconst direction = this.context.options.direction ?? \"asc\";\n\t\tthis.context.translatableParams.direction = direction;\n\t\tfor (let i = 0; i < value.length - 1; i++) {\n\t\t\tconst current = value[i];\n\t\t\tconst next = value[i + 1];\n\t\t\tif (direction === \"asc\") {\n\t\t\t\tif (current > next) return invalidRule(this, context);\n\t\t\t} else if (current < next) return invalidRule(this, context);\n\t\t}\n\t\treturn VALID_RULE;\n\t}\n};\n\n//#endregion\nexport { sortedArrayRule, uniqueArrayRule };\n//# sourceMappingURL=array-rules.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;AAOA,MAAM,kBAAkB;CACvB,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,SAAS,MAAM,QAAQ,OAAO;EACjD,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,kBAAkB;CACvB,MAAM;CACN,aAAa;CACb,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,UAAU,GAAG,OAAO;EACvD,MAAM,YAAY,KAAK,QAAQ,QAAQ,aAAa;EACpD,KAAK,QAAQ,mBAAmB,YAAY;EAC5C,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;GAC1C,MAAM,UAAU,MAAM;GACtB,MAAM,OAAO,MAAM,IAAI;GACvB,IAAI,cAAc,OACjB;QAAI,UAAU,MAAM,OAAO,YAAY,MAAM,OAAO;GAAC,OAC/C,IAAI,UAAU,MAAM,OAAO,YAAY,MAAM,OAAO;EAC5D;EACA,OAAO;CACR;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-rules.mjs","names":[],"sources":["../../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/color/color-rules.mjs"],"sourcesContent":["import { VALID_RULE, invalidRule } from \"../../helpers/validation-helpers.mjs\";\nimport \"../../helpers/index.mjs\";\n\n//#region ../seal/src/rules/color/color-rules.ts\n/**\n* Color validation regex patterns\n*/\nconst colorValidationRegex = {\n\thex: /^#([0-9a-f]{3}){1,2}$/i,\n\trgb: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n\trgba: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*(0?\\.\\d+|1)\\)$/,\n\thsl: /^hsl\\((\\d{1,3}),\\s*(\\d{1,3})%?,\\s*(\\d{1,3})%?\\)$/\n};\n/**\n* Generic color rule - validates any color format\n*/\nconst colorRule = {\n\tname: \"color\",\n\tdefaultErrorMessage: \"The :input must be a valid color\",\n\tasync validate(value, context) {\n\t\tif (colorValidationRegex.hex.test(value) || colorValidationRegex.rgb.test(value) || colorValidationRegex.rgba.test(value) || colorValidationRegex.hsl.test(value)) return VALID_RULE;\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* Hex color rule\n*/\nconst hexColorRule = {\n\tname: \"hexColor\",\n\tdefaultErrorMessage: \"The :input must be a valid hex color\",\n\tasync validate(value, context) {\n\t\tif (colorValidationRegex.hex.test(value)) return VALID_RULE;\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* RGB color rule\n*/\nconst rgbColorRule = {\n\tname: \"rgbColor\",\n\tdefaultErrorMessage: \"The :input must be a valid RGB color\",\n\tasync validate(value, context) {\n\t\tif (colorValidationRegex.rgb.test(value)) return VALID_RULE;\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* RGBA color rule\n*/\nconst rgbaColorRule = {\n\tname: \"rgbaColor\",\n\tdefaultErrorMessage: \"The :input must be a valid RGBA color\",\n\tasync validate(value, context) {\n\t\tif (colorValidationRegex.rgba.test(value)) return VALID_RULE;\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* HSL color rule\n*/\nconst hslColorRule = {\n\tname: \"hslColor\",\n\tdefaultErrorMessage: \"The :input must be a valid HSL color\",\n\tasync validate(value, context) {\n\t\tif (colorValidationRegex.hsl.test(value)) return VALID_RULE;\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* Light color rule\n*/\nconst lightColorRule = {\n\tname: \"lightColor\",\n\tdefaultErrorMessage: \"The :input must be a light color\",\n\tasync validate(value, context) {\n\t\tif (!colorValidationRegex.hex.test(value)) return invalidRule(this, context);\n\t\tconst hex = value.replace(\"#\", \"\");\n\t\tconst r = parseInt(hex.substring(0, 2), 16);\n\t\tconst g = parseInt(hex.substring(2, 4), 16);\n\t\tconst b = parseInt(hex.substring(4, 6), 16);\n\t\tif ((r * 299 + g * 587 + b * 114) / 1e3 > 155) return VALID_RULE;\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* Dark color rule\n*/\nconst darkColorRule = {\n\tname: \"darkColor\",\n\tdefaultErrorMessage: \"The :input must be a dark color\",\n\tasync validate(value, context) {\n\t\tif (!colorValidationRegex.hex.test(value)) return invalidRule(this, context);\n\t\tconst hex = value.replace(\"#\", \"\");\n\t\tconst r = parseInt(hex.substring(0, 2), 16);\n\t\tconst g = parseInt(hex.substring(2, 4), 16);\n\t\tconst b = parseInt(hex.substring(4, 6), 16);\n\t\tif ((r * 299 + g * 587 + b * 114) / 1e3 <= 155) return VALID_RULE;\n\t\treturn invalidRule(this, context);\n\t}\n};\n\n//#endregion\nexport { colorRule, darkColorRule, hexColorRule, hslColorRule, lightColorRule, rgbColorRule, rgbaColorRule };\n//# sourceMappingURL=color-rules.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;AAOA,MAAM,uBAAuB;CAC5B,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;AACN;;;;AAIA,MAAM,YAAY;CACjB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,qBAAqB,IAAI,KAAK,KAAK,KAAK,qBAAqB,IAAI,KAAK,KAAK,KAAK,qBAAqB,KAAK,KAAK,KAAK,KAAK,qBAAqB,IAAI,KAAK,KAAK,GAAG,OAAO;EAC1K,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,eAAe;CACpB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,qBAAqB,IAAI,KAAK,KAAK,GAAG,OAAO;EACjD,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,eAAe;CACpB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,qBAAqB,IAAI,KAAK,KAAK,GAAG,OAAO;EACjD,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,gBAAgB;CACrB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,qBAAqB,KAAK,KAAK,KAAK,GAAG,OAAO;EAClD,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,eAAe;CACpB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,qBAAqB,IAAI,KAAK,KAAK,GAAG,OAAO;EACjD,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,iBAAiB;CACtB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,CAAC,qBAAqB,IAAI,KAAK,KAAK,GAAG,OAAO,YAAY,MAAM,OAAO;EAC3E,MAAM,MAAM,MAAM,QAAQ,KAAK,EAAE;EACjC,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,OAAO;EACtD,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,gBAAgB;CACrB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,CAAC,qBAAqB,IAAI,KAAK,KAAK,GAAG,OAAO,YAAY,MAAM,OAAO;EAC3E,MAAM,MAAM,MAAM,QAAQ,KAAK,EAAE;EACjC,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,MAAM,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE;EAC1C,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,OAAO,KAAK,OAAO;EACvD,OAAO,YAAY,MAAM,OAAO;CACjC;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"enum.mjs","names":[],"sources":["../../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/enum.mjs"],"sourcesContent":["import { VALID_RULE, invalidRule, resolveTranslation } from \"../../helpers/validation-helpers.mjs\";\nimport \"../../helpers/index.mjs\";\n\n//#region ../seal/src/rules/common/enum.ts\n/**\n* Enum rule - value must be one of the enum values\n*/\nconst enumRule = {\n\tname: \"enum\",\n\tdefaultErrorMessage: \"The :input must be one of the following values: :enum\",\n\tasync validate(value, context) {\n\t\tconst enumValues = this.context.options.enum;\n\t\tif (enumValues.includes(value)) return VALID_RULE;\n\t\tthis.context.translationParams.enum = enumValues.map((v) => resolveTranslation({\n\t\t\tkey: String(v),\n\t\t\trawValue: String(v),\n\t\t\trule: this,\n\t\t\tcontext\n\t\t})).join(\", \");\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* In rule - value must be in the given array\n*/\nconst inRule = {\n\tname: \"in\",\n\tdefaultErrorMessage: \"The :input must be one of the following values: :values\",\n\tasync validate(value, context) {\n\t\tif (this.context.options.values.includes(value)) return VALID_RULE;\n\t\tthis.context.translationParams.values = this.context.options.values.map((v) => resolveTranslation({\n\t\t\tkey: String(v),\n\t\t\trawValue: String(v),\n\t\t\trule: this,\n\t\t\tcontext\n\t\t})).join(\", \");\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* Allowed values rule - value must be one of allowed values\n*/\nconst allowedValuesRule = {\n\tname: \"allowedValues\",\n\tdefaultErrorMessage: \"The :input must be one of the allowed values\",\n\tasync validate(value, context) {\n\t\tif (this.context.options.allowedValues.includes(value)) return VALID_RULE;\n\t\tthis.context.translationParams.allowedValues = this.context.options.allowedValues.map((v) => resolveTranslation({\n\t\t\tkey: String(v),\n\t\t\trawValue: String(v),\n\t\t\trule: this,\n\t\t\tcontext\n\t\t})).join(\", \");\n\t\treturn invalidRule(this, context);\n\t}\n};\n/**\n* Not allowed values rule - value must not be in forbidden list\n*/\nconst notAllowedValuesRule = {\n\tname: \"notAllowedValues\",\n\tdefaultErrorMessage: \"The :input contains a forbidden value\",\n\tasync validate(value, context) {\n\t\tif (!this.context.options.notAllowedValues.includes(value)) return VALID_RULE;\n\t\tthis.context.translationParams.notAllowedValues = this.context.options.notAllowedValues.map((v) => resolveTranslation({\n\t\t\tkey: String(v),\n\t\t\trawValue: String(v),\n\t\t\trule: this,\n\t\t\tcontext\n\t\t})).join(\", \");\n\t\treturn invalidRule(this, context);\n\t}\n};\n\n//#endregion\nexport { allowedValuesRule, enumRule, inRule, notAllowedValuesRule };\n//# sourceMappingURL=enum.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;AAOA,MAAM,WAAW;CAChB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,MAAM,aAAa,KAAK,QAAQ,QAAQ;EACxC,IAAI,WAAW,SAAS,KAAK,GAAG,OAAO;EACvC,KAAK,QAAQ,kBAAkB,OAAO,WAAW,KAAK,MAAM,mBAAmB;GAC9E,KAAK,OAAO,CAAC;GACb,UAAU,OAAO,CAAC;GAClB,MAAM;GACN;EACD,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;EACb,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,SAAS;CACd,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,KAAK,QAAQ,QAAQ,OAAO,SAAS,KAAK,GAAG,OAAO;EACxD,KAAK,QAAQ,kBAAkB,SAAS,KAAK,QAAQ,QAAQ,OAAO,KAAK,MAAM,mBAAmB;GACjG,KAAK,OAAO,CAAC;GACb,UAAU,OAAO,CAAC;GAClB,MAAM;GACN;EACD,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;EACb,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,oBAAoB;CACzB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,KAAK,QAAQ,QAAQ,cAAc,SAAS,KAAK,GAAG,OAAO;EAC/D,KAAK,QAAQ,kBAAkB,gBAAgB,KAAK,QAAQ,QAAQ,cAAc,KAAK,MAAM,mBAAmB;GAC/G,KAAK,OAAO,CAAC;GACb,UAAU,OAAO,CAAC;GAClB,MAAM;GACN;EACD,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;EACb,OAAO,YAAY,MAAM,OAAO;CACjC;AACD;;;;AAIA,MAAM,uBAAuB;CAC5B,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,CAAC,KAAK,QAAQ,QAAQ,iBAAiB,SAAS,KAAK,GAAG,OAAO;EACnE,KAAK,QAAQ,kBAAkB,mBAAmB,KAAK,QAAQ,QAAQ,iBAAiB,KAAK,MAAM,mBAAmB;GACrH,KAAK,OAAO,CAAC;GACb,UAAU,OAAO,CAAC;GAClB,MAAM;GACN;EACD,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;EACb,OAAO,YAAY,MAAM,OAAO;CACjC;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"equals-field-rules.mjs","names":[],"sources":["../../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/equals-field-rules.mjs"],"sourcesContent":["import { VALID_RULE, invalidRule } from \"../../helpers/validation-helpers.mjs\";\nimport { getFieldValue } from \"../../helpers/get-field-value.mjs\";\nimport \"../../helpers/index.mjs\";\n\n//#region ../seal/src/rules/common/equals-field-rules.ts\n/**\n* Equals field rule - value must equal another field's value\n* Supports both global and sibling scope\n*/\nconst equalsFieldRule = {\n\tname: \"equalsField\",\n\tdescription: \"The value must equal another field's value\",\n\tsortOrder: -1,\n\trequiresValue: true,\n\tdefaultErrorMessage: \"The :input must match the :field field\",\n\tasync validate(value, context) {\n\t\tif (value !== getFieldValue(this, context)) {\n\t\t\tthis.context.translatableParams.field = this.context.options.field;\n\t\t\treturn invalidRule(this, context);\n\t\t}\n\t\treturn VALID_RULE;\n\t}\n};\n/**\n* Not equals field rule - value must NOT equal another field's value\n* Supports both global and sibling scope\n*/\nconst notEqualsFieldRule = {\n\tname: \"notEqualsField\",\n\tdescription: \"The value must NOT equal another field's value\",\n\tsortOrder: -1,\n\trequiresValue: true,\n\tdefaultErrorMessage: \"The :input must not match the :field field\",\n\tasync validate(value, context) {\n\t\tif (value === getFieldValue(this, context)) return invalidRule(this, context);\n\t\treturn VALID_RULE;\n\t}\n};\n\n//#endregion\nexport { equalsFieldRule, notEqualsFieldRule };\n//# sourceMappingURL=equals-field-rules.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;AASA,MAAM,kBAAkB;CACvB,MAAM;CACN,aAAa;CACb,WAAW;CACX,eAAe;CACf,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,UAAU,cAAc,MAAM,OAAO,GAAG;GAC3C,KAAK,QAAQ,mBAAmB,QAAQ,KAAK,QAAQ,QAAQ;GAC7D,OAAO,YAAY,MAAM,OAAO;EACjC;EACA,OAAO;CACR;AACD;;;;;AAKA,MAAM,qBAAqB;CAC1B,MAAM;CACN,aAAa;CACb,WAAW;CACX,eAAe;CACf,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,UAAU,cAAc,MAAM,OAAO,GAAG,OAAO,YAAY,MAAM,OAAO;EAC5E,OAAO;CACR;AACD"}
@@ -1,8 +0,0 @@
1
- import "./enum.mjs";
2
- import "./equals-field-rules.mjs";
3
- import "./instanceof.mjs";
4
- import "./literal.mjs";
5
- import "./type-rules.mjs";
6
- import "./unknown-key.mjs";
7
-
8
- export { };
@@ -1 +0,0 @@
1
- {"version":3,"file":"instanceof.mjs","names":[],"sources":["../../../../../../../../../../../../../../../node_modules/.pnpm/@warlock.js+seal@5.18.0/node_modules/@warlock.js/seal/esm/rules/common/instanceof.mjs"],"sourcesContent":["import { VALID_RULE, invalidRule } from \"../../helpers/validation-helpers.mjs\";\nimport \"../../helpers/index.mjs\";\n\n//#region ../seal/src/rules/common/instanceof.ts\n/**\n* InstanceOf rule - value must be an instance of the given constructor.\n*\n* Uses the `instanceof` operator at runtime. Useful for class instances\n* not representable in JSON Schema (File, Buffer, custom domain classes).\n*/\nconst instanceofRule = {\n\tname: \"instanceof\",\n\tdefaultErrorMessage: \"The :input must be an instance of :name\",\n\tasync validate(value, context) {\n\t\tif (value instanceof this.context.options.ctor) return VALID_RULE;\n\t\tthis.context.translationParams.name = this.context.options.name;\n\t\treturn invalidRule(this, context);\n\t}\n};\n\n//#endregion\nexport { instanceofRule };\n//# sourceMappingURL=instanceof.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAUA,MAAM,iBAAiB;CACtB,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAO,SAAS;EAC9B,IAAI,iBAAiB,KAAK,QAAQ,QAAQ,MAAM,OAAO;EACvD,KAAK,QAAQ,kBAAkB,OAAO,KAAK,QAAQ,QAAQ;EAC3D,OAAO,YAAY,MAAM,OAAO;CACjC;AACD"}