@warlock.js/notifications 5.28.0 → 5.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/cjs/{channel_api-CBB_XoIl.cjs → channel_api-C5ZZDkgQ.cjs} +21 -21
  3. package/cjs/channel_api-C5ZZDkgQ.cjs.map +1 -0
  4. package/cjs/index.cjs +22 -22
  5. package/cjs/index.cjs.map +1 -1
  6. package/cjs/rabbitmq-driver-BFoWr21L.cjs +3 -0
  7. package/cjs/{src-B6UVThgW.cjs → src-eu2jxS21.cjs} +173 -135
  8. package/cjs/src-eu2jxS21.cjs.map +1 -0
  9. package/esm/channels/database-channel.d.mts +1 -1
  10. package/esm/channels/database-channel.d.mts.map +1 -1
  11. package/esm/channels/database-channel.mjs +1 -1
  12. package/esm/channels/database-channel.mjs.map +1 -1
  13. package/esm/channels/mail-channel.d.mts +1 -1
  14. package/esm/channels/mail-channel.d.mts.map +1 -1
  15. package/esm/channels/mail-channel.mjs +1 -1
  16. package/esm/channels/mail-channel.mjs.map +1 -1
  17. package/esm/config.d.mts +1 -1
  18. package/esm/config.d.mts.map +1 -1
  19. package/esm/config.mjs +1 -1
  20. package/esm/config.mjs.map +1 -1
  21. package/esm/contracts/channel.contract.d.mts +1 -1
  22. package/esm/contracts/channel.contract.d.mts.map +1 -1
  23. package/esm/contracts/notification.contract.d.mts +1 -1
  24. package/esm/contracts/notification.contract.d.mts.map +1 -1
  25. package/esm/contracts/preference-provider.contract.d.mts +1 -1
  26. package/esm/contracts/preference-provider.contract.d.mts.map +1 -1
  27. package/esm/contracts/queue-dispatcher.contract.d.mts +1 -1
  28. package/esm/contracts/queue-dispatcher.contract.d.mts.map +1 -1
  29. package/esm/contracts/rate-limiter.contract.d.mts +1 -1
  30. package/esm/contracts/rate-limiter.contract.d.mts.map +1 -1
  31. package/esm/dispatch/define-channel.d.mts +1 -1
  32. package/esm/dispatch/define-channel.d.mts.map +1 -1
  33. package/esm/dispatch/define-channel.mjs +1 -1
  34. package/esm/dispatch/define-channel.mjs.map +1 -1
  35. package/esm/dispatch/define-notification.d.mts +1 -1
  36. package/esm/dispatch/define-notification.d.mts.map +1 -1
  37. package/esm/dispatch/define-notification.mjs +1 -1
  38. package/esm/dispatch/define-notification.mjs.map +1 -1
  39. package/esm/dispatch/dispatch-id.mjs +1 -1
  40. package/esm/dispatch/dispatch-id.mjs.map +1 -1
  41. package/esm/dispatch/dispatcher.mjs +1 -1
  42. package/esm/dispatch/dispatcher.mjs.map +1 -1
  43. package/esm/dispatch/notifications-event-bus.d.mts +1 -1
  44. package/esm/dispatch/notifications-event-bus.d.mts.map +1 -1
  45. package/esm/dispatch/notifications-event-bus.mjs +1 -1
  46. package/esm/dispatch/notifications-event-bus.mjs.map +1 -1
  47. package/esm/dispatch/notify.d.mts +1 -1
  48. package/esm/dispatch/notify.d.mts.map +1 -1
  49. package/esm/dispatch/notify.mjs +1 -1
  50. package/esm/dispatch/notify.mjs.map +1 -1
  51. package/esm/errors.d.mts +1 -1
  52. package/esm/errors.d.mts.map +1 -1
  53. package/esm/errors.mjs +1 -1
  54. package/esm/errors.mjs.map +1 -1
  55. package/esm/in-app/base-notifications-repository.d.mts +1 -1
  56. package/esm/in-app/base-notifications-repository.d.mts.map +1 -1
  57. package/esm/in-app/base-notifications-repository.mjs +1 -1
  58. package/esm/in-app/base-notifications-repository.mjs.map +1 -1
  59. package/esm/in-app/column-map.d.mts +1 -1
  60. package/esm/in-app/column-map.d.mts.map +1 -1
  61. package/esm/in-app/column-map.mjs +1 -1
  62. package/esm/in-app/column-map.mjs.map +1 -1
  63. package/esm/in-app/database-notification.d.mts +1 -1
  64. package/esm/in-app/database-notification.d.mts.map +1 -1
  65. package/esm/in-app/database-notification.mjs +1 -1
  66. package/esm/in-app/database-notification.mjs.map +1 -1
  67. package/esm/in-app/in-app.d.mts +1 -1
  68. package/esm/in-app/in-app.d.mts.map +1 -1
  69. package/esm/in-app/in-app.mjs +1 -1
  70. package/esm/in-app/in-app.mjs.map +1 -1
  71. package/esm/migration/notification-columns.d.mts +1 -1
  72. package/esm/migration/notification-columns.d.mts.map +1 -1
  73. package/esm/migration/notification-columns.mjs +1 -1
  74. package/esm/migration/notification-columns.mjs.map +1 -1
  75. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs +1 -1
  76. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs.map +1 -1
  77. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs +1 -1
  78. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs.map +1 -1
  79. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/number/round.mjs +1 -1
  80. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/number/round.mjs.map +1 -1
  81. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/except.mjs +1 -1
  82. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/except.mjs.map +1 -1
  83. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/get.mjs +1 -1
  84. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/get.mjs.map +1 -1
  85. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/omit.mjs +1 -1
  86. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/omit.mjs.map +1 -1
  87. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/unset.mjs +1 -1
  88. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/unset.mjs.map +1 -1
  89. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs +1 -1
  90. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs.map +1 -1
  91. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs +1 -1
  92. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs.map +1 -1
  93. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs +1 -1
  94. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs.map +1 -1
  95. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs +1 -1
  96. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs.map +1 -1
  97. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs +1 -1
  98. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs.map +1 -1
  99. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs +1 -1
  100. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs.map +1 -1
  101. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs +1 -1
  102. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs.map +1 -1
  103. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs +1 -1
  104. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs.map +1 -1
  105. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/trim.mjs +1 -1
  106. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/trim.mjs.map +1 -1
  107. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs +1 -1
  108. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs.map +1 -1
  109. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/words.mjs +1 -1
  110. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/words.mjs.map +1 -1
  111. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs +1 -1
  112. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs.map +1 -1
  113. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs +1 -1
  114. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs.map +1 -1
  115. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/tap.mjs +1 -1
  116. package/esm/node_modules/.pnpm/@mongez_reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/tap.mjs.map +1 -1
  117. package/esm/node_modules/.pnpm/@mongez_supportive-is@3.0.0/node_modules/@mongez/supportive-is/esm/index.mjs +1 -1
  118. package/esm/node_modules/.pnpm/@mongez_supportive-is@3.0.0/node_modules/@mongez/supportive-is/esm/index.mjs.map +1 -1
  119. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/channel_api.mjs +1 -1
  120. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/channel_api.mjs.map +1 -1
  121. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/api_args.mjs +1 -1
  122. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/api_args.mjs.map +1 -1
  123. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/bitset.mjs +1 -1
  124. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/bitset.mjs.map +1 -1
  125. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel.mjs +1 -1
  126. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel.mjs.map +1 -1
  127. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel_model.mjs +1 -1
  128. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/channel_model.mjs.map +1 -1
  129. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/codec.mjs +1 -1
  130. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/codec.mjs.map +1 -1
  131. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connect.mjs +1 -1
  132. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connect.mjs.map +1 -1
  133. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connection.mjs +1 -1
  134. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/connection.mjs.map +1 -1
  135. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/credentials.mjs +1 -1
  136. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/credentials.mjs.map +1 -1
  137. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/defs.mjs +1 -1
  138. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/defs.mjs.map +1 -1
  139. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/error.mjs +1 -1
  140. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/error.mjs.map +1 -1
  141. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/format.mjs +1 -1
  142. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/format.mjs.map +1 -1
  143. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/frame.mjs +1 -1
  144. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/frame.mjs.map +1 -1
  145. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/heartbeat.mjs +1 -1
  146. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/heartbeat.mjs.map +1 -1
  147. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/mux.mjs +1 -1
  148. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/lib/mux.mjs.map +1 -1
  149. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/package.mjs +1 -1
  150. package/esm/node_modules/.pnpm/amqplib@0.10.9/node_modules/amqplib/package.mjs.map +1 -1
  151. package/esm/node_modules/.pnpm/buffer-more-ints@1.0.0/node_modules/buffer-more-ints/buffer-more-ints.mjs +1 -1
  152. package/esm/node_modules/.pnpm/buffer-more-ints@1.0.0/node_modules/buffer-more-ints/buffer-more-ints.mjs.map +1 -1
  153. package/esm/node_modules/.pnpm/dayjs@1.11.23/node_modules/dayjs/dayjs.min.mjs +1 -1
  154. package/esm/node_modules/.pnpm/dayjs@1.11.23/node_modules/dayjs/dayjs.min.mjs.map +1 -1
  155. package/esm/node_modules/.pnpm/querystringify@2.2.0/node_modules/querystringify/index.mjs +1 -1
  156. package/esm/node_modules/.pnpm/querystringify@2.2.0/node_modules/querystringify/index.mjs.map +1 -1
  157. package/esm/node_modules/.pnpm/requires-port@1.0.0/node_modules/requires-port/index.mjs +1 -1
  158. package/esm/node_modules/.pnpm/requires-port@1.0.0/node_modules/requires-port/index.mjs.map +1 -1
  159. package/esm/node_modules/.pnpm/url-parse@1.5.10/node_modules/url-parse/index.mjs +1 -1
  160. package/esm/node_modules/.pnpm/url-parse@1.5.10/node_modules/url-parse/index.mjs.map +1 -1
  161. package/esm/{herald → packages/herald}/src/communicators/broker-registry.mjs +1 -1
  162. package/esm/packages/herald/src/communicators/broker-registry.mjs.map +1 -0
  163. package/esm/{herald → packages/herald}/src/communicators/broker.mjs +1 -1
  164. package/esm/packages/herald/src/communicators/broker.mjs.map +1 -0
  165. package/esm/{herald → packages/herald}/src/decorators/consumable.mjs +1 -1
  166. package/esm/packages/herald/src/decorators/consumable.mjs.map +1 -0
  167. package/esm/{herald → packages/herald}/src/drivers/rabbitmq/rabbitmq-channel.mjs +1 -1
  168. package/esm/packages/herald/src/drivers/rabbitmq/rabbitmq-channel.mjs.map +1 -0
  169. package/esm/{herald → packages/herald}/src/drivers/rabbitmq/rabbitmq-driver.mjs +3 -3
  170. package/esm/packages/herald/src/drivers/rabbitmq/rabbitmq-driver.mjs.map +1 -0
  171. package/esm/{herald → packages/herald}/src/message-managers/event-consumer.mjs +1 -1
  172. package/esm/packages/herald/src/message-managers/event-consumer.mjs.map +1 -0
  173. package/esm/{herald → packages/herald}/src/message-managers/event-message.mjs +1 -1
  174. package/esm/packages/herald/src/message-managers/event-message.mjs.map +1 -0
  175. package/esm/{herald → packages/herald}/src/message-managers/prepare-consumer-subscription.mjs +1 -1
  176. package/esm/packages/herald/src/message-managers/prepare-consumer-subscription.mjs.map +1 -0
  177. package/esm/{herald → packages/herald}/src/use-case-broadcast.mjs +1 -1
  178. package/esm/packages/herald/src/use-case-broadcast.mjs.map +1 -0
  179. package/esm/{herald → packages/herald}/src/utils/connect-to-broker.mjs +1 -1
  180. package/esm/packages/herald/src/utils/connect-to-broker.mjs.map +1 -0
  181. package/esm/{seal → packages/seal}/src/config.mjs +1 -1
  182. package/esm/packages/seal/src/config.mjs.map +1 -0
  183. package/esm/{seal → packages/seal}/src/factory/validate.mjs +12 -4
  184. package/esm/packages/seal/src/factory/validate.mjs.map +1 -0
  185. package/esm/{seal → packages/seal}/src/factory/validators.mjs +1 -1
  186. package/esm/packages/seal/src/factory/validators.mjs.map +1 -0
  187. package/esm/{seal → packages/seal}/src/helpers/date-helpers.mjs +1 -1
  188. package/esm/packages/seal/src/helpers/date-helpers.mjs.map +1 -0
  189. package/esm/{seal → packages/seal}/src/helpers/get-field-value.mjs +3 -3
  190. package/esm/packages/seal/src/helpers/get-field-value.mjs.map +1 -0
  191. package/esm/packages/seal/src/helpers/is-empty-value.mjs +10 -0
  192. package/esm/packages/seal/src/helpers/is-empty-value.mjs.map +1 -0
  193. package/esm/{seal → packages/seal}/src/helpers/path-helpers.mjs +1 -1
  194. package/esm/packages/seal/src/helpers/path-helpers.mjs.map +1 -0
  195. package/esm/{seal → packages/seal}/src/helpers/validation-helpers.mjs +1 -1
  196. package/esm/packages/seal/src/helpers/validation-helpers.mjs.map +1 -0
  197. package/esm/{seal → packages/seal}/src/mutators/array-mutators.mjs +3 -3
  198. package/esm/packages/seal/src/mutators/array-mutators.mjs.map +1 -0
  199. package/esm/{seal → packages/seal}/src/mutators/boolean-mutators.mjs +1 -1
  200. package/esm/packages/seal/src/mutators/boolean-mutators.mjs.map +1 -0
  201. package/esm/{seal → packages/seal}/src/mutators/date-mutators.mjs +3 -3
  202. package/esm/packages/seal/src/mutators/date-mutators.mjs.map +1 -0
  203. package/esm/{seal → packages/seal}/src/mutators/number-mutators.mjs +4 -4
  204. package/esm/packages/seal/src/mutators/number-mutators.mjs.map +1 -0
  205. package/esm/{seal → packages/seal}/src/mutators/object-mutators.mjs +4 -4
  206. package/esm/packages/seal/src/mutators/object-mutators.mjs.map +1 -0
  207. package/esm/{seal → packages/seal}/src/mutators/scalar-mutators.mjs +1 -1
  208. package/esm/packages/seal/src/mutators/scalar-mutators.mjs.map +1 -0
  209. package/esm/{seal → packages/seal}/src/mutators/string-mutators.mjs +11 -11
  210. package/esm/packages/seal/src/mutators/string-mutators.mjs.map +1 -0
  211. package/esm/{seal → packages/seal}/src/object.mjs +1 -1
  212. package/esm/packages/seal/src/object.mjs.map +1 -0
  213. package/esm/{seal → packages/seal}/src/rules/array/array-rules.mjs +1 -1
  214. package/esm/packages/seal/src/rules/array/array-rules.mjs.map +1 -0
  215. package/esm/{seal → packages/seal}/src/rules/color/color-rules.mjs +1 -1
  216. package/esm/packages/seal/src/rules/color/color-rules.mjs.map +1 -0
  217. package/esm/{seal → packages/seal}/src/rules/common/enum.mjs +1 -1
  218. package/esm/packages/seal/src/rules/common/enum.mjs.map +1 -0
  219. package/esm/{seal → packages/seal}/src/rules/common/equals-field-rules.mjs +1 -1
  220. package/esm/packages/seal/src/rules/common/equals-field-rules.mjs.map +1 -0
  221. package/esm/{seal → packages/seal}/src/rules/common/instanceof.mjs +1 -1
  222. package/esm/packages/seal/src/rules/common/instanceof.mjs.map +1 -0
  223. package/esm/{seal → packages/seal}/src/rules/common/literal.mjs +1 -1
  224. package/esm/packages/seal/src/rules/common/literal.mjs.map +1 -0
  225. package/esm/{seal → packages/seal}/src/rules/common/type-rules.mjs +2 -2
  226. package/esm/packages/seal/src/rules/common/type-rules.mjs.map +1 -0
  227. package/esm/{seal → packages/seal}/src/rules/common/unknown-key.mjs +1 -1
  228. package/esm/packages/seal/src/rules/common/unknown-key.mjs.map +1 -0
  229. package/esm/{seal → packages/seal}/src/rules/conditional/forbidden-if-rules.mjs +1 -1
  230. package/esm/packages/seal/src/rules/conditional/forbidden-if-rules.mjs.map +1 -0
  231. package/esm/{seal → packages/seal}/src/rules/conditional/present-if-rules.mjs +1 -1
  232. package/esm/packages/seal/src/rules/conditional/present-if-rules.mjs.map +1 -0
  233. package/esm/{seal → packages/seal}/src/rules/conditional/present-unless-rules.mjs +1 -1
  234. package/esm/packages/seal/src/rules/conditional/present-unless-rules.mjs.map +1 -0
  235. package/esm/{seal → packages/seal}/src/rules/conditional/present-with-rules.mjs +3 -3
  236. package/esm/packages/seal/src/rules/conditional/present-with-rules.mjs.map +1 -0
  237. package/esm/{seal → packages/seal}/src/rules/conditional/present-without-rules.mjs +3 -3
  238. package/esm/packages/seal/src/rules/conditional/present-without-rules.mjs.map +1 -0
  239. package/esm/{seal → packages/seal}/src/rules/conditional/required-if-rules.mjs +3 -3
  240. package/esm/packages/seal/src/rules/conditional/required-if-rules.mjs.map +1 -0
  241. package/esm/{seal → packages/seal}/src/rules/conditional/required-unless-rules.mjs +1 -1
  242. package/esm/packages/seal/src/rules/conditional/required-unless-rules.mjs.map +1 -0
  243. package/esm/{seal → packages/seal}/src/rules/conditional/required-when-rule.mjs +1 -1
  244. package/esm/packages/seal/src/rules/conditional/required-when-rule.mjs.map +1 -0
  245. package/esm/{seal → packages/seal}/src/rules/conditional/required-with-rules.mjs +3 -3
  246. package/esm/packages/seal/src/rules/conditional/required-with-rules.mjs.map +1 -0
  247. package/esm/{seal → packages/seal}/src/rules/conditional/required-without-rules.mjs +3 -3
  248. package/esm/packages/seal/src/rules/conditional/required-without-rules.mjs.map +1 -0
  249. package/esm/{seal → packages/seal}/src/rules/core/equal.mjs +1 -1
  250. package/esm/packages/seal/src/rules/core/equal.mjs.map +1 -0
  251. package/esm/{seal → packages/seal}/src/rules/core/forbidden.mjs +1 -1
  252. package/esm/packages/seal/src/rules/core/forbidden.mjs.map +1 -0
  253. package/esm/{seal → packages/seal}/src/rules/core/required.mjs +1 -1
  254. package/esm/packages/seal/src/rules/core/required.mjs.map +1 -0
  255. package/esm/{seal → packages/seal}/src/rules/core/union.mjs +3 -1
  256. package/esm/packages/seal/src/rules/core/union.mjs.map +1 -0
  257. package/esm/{seal → packages/seal}/src/rules/core/when.mjs +3 -3
  258. package/esm/packages/seal/src/rules/core/when.mjs.map +1 -0
  259. package/esm/{seal → packages/seal}/src/rules/date/date-comparison-rules.mjs +1 -1
  260. package/esm/packages/seal/src/rules/date/date-comparison-rules.mjs.map +1 -0
  261. package/esm/{seal → packages/seal}/src/rules/date/date-day-rules.mjs +1 -1
  262. package/esm/packages/seal/src/rules/date/date-day-rules.mjs.map +1 -0
  263. package/esm/{seal → packages/seal}/src/rules/date/date-field-comparison-rules.mjs +3 -3
  264. package/esm/packages/seal/src/rules/date/date-field-comparison-rules.mjs.map +1 -0
  265. package/esm/{seal → packages/seal}/src/rules/date/date-period-rules.mjs +3 -3
  266. package/esm/packages/seal/src/rules/date/date-period-rules.mjs.map +1 -0
  267. package/esm/{seal → packages/seal}/src/rules/date/date-relative-rules.mjs +1 -1
  268. package/esm/packages/seal/src/rules/date/date-relative-rules.mjs.map +1 -0
  269. package/esm/{seal → packages/seal}/src/rules/date/date-special-rules.mjs +1 -1
  270. package/esm/packages/seal/src/rules/date/date-special-rules.mjs.map +1 -0
  271. package/esm/{seal → packages/seal}/src/rules/date/date.mjs +3 -3
  272. package/esm/packages/seal/src/rules/date/date.mjs.map +1 -0
  273. package/esm/{seal → packages/seal}/src/rules/length/length-rules.mjs +1 -1
  274. package/esm/packages/seal/src/rules/length/length-rules.mjs.map +1 -0
  275. package/esm/{seal → packages/seal}/src/rules/number/number-rules.mjs +3 -3
  276. package/esm/packages/seal/src/rules/number/number-rules.mjs.map +1 -0
  277. package/esm/{seal → packages/seal}/src/rules/scalar/accepted-rule.mjs +1 -1
  278. package/esm/packages/seal/src/rules/scalar/accepted-rule.mjs.map +1 -0
  279. package/esm/{seal → packages/seal}/src/rules/scalar/declined-rule.mjs +1 -1
  280. package/esm/packages/seal/src/rules/scalar/declined-rule.mjs.map +1 -0
  281. package/esm/{seal → packages/seal}/src/rules/string/alpha.mjs +1 -1
  282. package/esm/packages/seal/src/rules/string/alpha.mjs.map +1 -0
  283. package/esm/{seal → packages/seal}/src/rules/string/credit-card.mjs +1 -1
  284. package/esm/packages/seal/src/rules/string/credit-card.mjs.map +1 -0
  285. package/esm/{seal → packages/seal}/src/rules/string/email.mjs +2 -2
  286. package/esm/packages/seal/src/rules/string/email.mjs.map +1 -0
  287. package/esm/{seal → packages/seal}/src/rules/string/id-formats.mjs +1 -1
  288. package/esm/packages/seal/src/rules/string/id-formats.mjs.map +1 -0
  289. package/esm/{seal → packages/seal}/src/rules/string/ip.mjs +1 -1
  290. package/esm/packages/seal/src/rules/string/ip.mjs.map +1 -0
  291. package/esm/packages/seal/src/rules/string/matches.mjs +4 -0
  292. package/esm/{seal → packages/seal}/src/rules/string/pattern.mjs +1 -1
  293. package/esm/packages/seal/src/rules/string/pattern.mjs.map +1 -0
  294. package/esm/{seal → packages/seal}/src/rules/string/string-comparison.mjs +1 -1
  295. package/esm/packages/seal/src/rules/string/string-comparison.mjs.map +1 -0
  296. package/esm/{seal → packages/seal}/src/rules/string/strong-password-rule.mjs +1 -1
  297. package/esm/packages/seal/src/rules/string/strong-password-rule.mjs.map +1 -0
  298. package/esm/{seal → packages/seal}/src/rules/string/url.mjs +1 -1
  299. package/esm/packages/seal/src/rules/string/url.mjs.map +1 -0
  300. package/esm/{seal → packages/seal}/src/rules/string/without-whitespace.mjs +1 -1
  301. package/esm/packages/seal/src/rules/string/without-whitespace.mjs.map +1 -0
  302. package/esm/{seal → packages/seal}/src/standard-schema/json-schema.mjs +1 -1
  303. package/esm/packages/seal/src/standard-schema/json-schema.mjs.map +1 -0
  304. package/esm/{seal → packages/seal}/src/standard-schema/map-result.mjs +1 -1
  305. package/esm/packages/seal/src/standard-schema/map-result.mjs.map +1 -0
  306. package/esm/{seal → packages/seal}/src/string.mjs +1 -1
  307. package/esm/packages/seal/src/string.mjs.map +1 -0
  308. package/esm/{seal → packages/seal}/src/types/date-types.mjs +1 -1
  309. package/esm/packages/seal/src/types/date-types.mjs.map +1 -0
  310. package/esm/{seal → packages/seal}/src/validators/any-validator.mjs +1 -1
  311. package/esm/packages/seal/src/validators/any-validator.mjs.map +1 -0
  312. package/esm/{seal → packages/seal}/src/validators/array-validator.mjs +1 -1
  313. package/esm/packages/seal/src/validators/array-validator.mjs.map +1 -0
  314. package/esm/{seal → packages/seal}/src/validators/base-validator.mjs +25 -6
  315. package/esm/packages/seal/src/validators/base-validator.mjs.map +1 -0
  316. package/esm/{seal → packages/seal}/src/validators/boolean-validator.mjs +1 -1
  317. package/esm/packages/seal/src/validators/boolean-validator.mjs.map +1 -0
  318. package/esm/{seal → packages/seal}/src/validators/computed-validator.mjs +1 -1
  319. package/esm/packages/seal/src/validators/computed-validator.mjs.map +1 -0
  320. package/esm/{seal → packages/seal}/src/validators/date-validator.mjs +3 -3
  321. package/esm/packages/seal/src/validators/date-validator.mjs.map +1 -0
  322. package/esm/{seal → packages/seal}/src/validators/discriminated-union-validator.mjs +7 -2
  323. package/esm/packages/seal/src/validators/discriminated-union-validator.mjs.map +1 -0
  324. package/esm/{seal → packages/seal}/src/validators/float-validator.mjs +1 -1
  325. package/esm/packages/seal/src/validators/float-validator.mjs.map +1 -0
  326. package/esm/{seal → packages/seal}/src/validators/instanceof-validator.mjs +1 -1
  327. package/esm/packages/seal/src/validators/instanceof-validator.mjs.map +1 -0
  328. package/esm/{seal → packages/seal}/src/validators/int-validator.mjs +1 -1
  329. package/esm/packages/seal/src/validators/int-validator.mjs.map +1 -0
  330. package/esm/{seal → packages/seal}/src/validators/lazy-validator.mjs +1 -1
  331. package/esm/packages/seal/src/validators/lazy-validator.mjs.map +1 -0
  332. package/esm/{seal → packages/seal}/src/validators/literal-validator.mjs +5 -2
  333. package/esm/packages/seal/src/validators/literal-validator.mjs.map +1 -0
  334. package/esm/{seal → packages/seal}/src/validators/managed-validator.mjs +1 -1
  335. package/esm/packages/seal/src/validators/managed-validator.mjs.map +1 -0
  336. package/esm/{seal → packages/seal}/src/validators/methods/equality-conditional-methods.mjs +1 -1
  337. package/esm/packages/seal/src/validators/methods/equality-conditional-methods.mjs.map +1 -0
  338. package/esm/{seal → packages/seal}/src/validators/methods/forbidden-methods.mjs +1 -1
  339. package/esm/packages/seal/src/validators/methods/forbidden-methods.mjs.map +1 -0
  340. package/esm/{seal → packages/seal}/src/validators/methods/present-methods.mjs +1 -1
  341. package/esm/packages/seal/src/validators/methods/present-methods.mjs.map +1 -0
  342. package/esm/{seal → packages/seal}/src/validators/methods/required-methods.mjs +1 -1
  343. package/esm/packages/seal/src/validators/methods/required-methods.mjs.map +1 -0
  344. package/esm/{seal → packages/seal}/src/validators/number-validator.mjs +1 -1
  345. package/esm/packages/seal/src/validators/number-validator.mjs.map +1 -0
  346. package/esm/{seal → packages/seal}/src/validators/numeric-validator.mjs +2 -2
  347. package/esm/packages/seal/src/validators/numeric-validator.mjs.map +1 -0
  348. package/esm/{seal → packages/seal}/src/validators/object-validator.mjs +8 -6
  349. package/esm/packages/seal/src/validators/object-validator.mjs.map +1 -0
  350. package/esm/{seal → packages/seal}/src/validators/primitive-validator.mjs +1 -1
  351. package/esm/packages/seal/src/validators/primitive-validator.mjs.map +1 -0
  352. package/esm/{seal → packages/seal}/src/validators/record-validator.mjs +2 -2
  353. package/esm/packages/seal/src/validators/record-validator.mjs.map +1 -0
  354. package/esm/{seal → packages/seal}/src/validators/scalar-validator.mjs +1 -1
  355. package/esm/packages/seal/src/validators/scalar-validator.mjs.map +1 -0
  356. package/esm/{seal → packages/seal}/src/validators/string-validator.mjs +1 -1
  357. package/esm/packages/seal/src/validators/string-validator.mjs.map +1 -0
  358. package/esm/{seal → packages/seal}/src/validators/tuple-validator.mjs +1 -1
  359. package/esm/packages/seal/src/validators/tuple-validator.mjs.map +1 -0
  360. package/esm/{seal → packages/seal}/src/validators/union-validator.mjs +1 -1
  361. package/esm/packages/seal/src/validators/union-validator.mjs.map +1 -0
  362. package/esm/queue/bullmq-queue.d.mts +1 -1
  363. package/esm/queue/bullmq-queue.d.mts.map +1 -1
  364. package/esm/queue/bullmq-queue.mjs +1 -1
  365. package/esm/queue/bullmq-queue.mjs.map +1 -1
  366. package/esm/queue/herald-queue.d.mts +1 -1
  367. package/esm/queue/herald-queue.d.mts.map +1 -1
  368. package/esm/queue/herald-queue.mjs +1 -1
  369. package/esm/queue/herald-queue.mjs.map +1 -1
  370. package/esm/queue/load-herald.d.mts +1 -1
  371. package/esm/queue/load-herald.d.mts.map +1 -1
  372. package/esm/queue/load-herald.mjs +2 -2
  373. package/esm/queue/load-herald.mjs.map +1 -1
  374. package/esm/queue/load-queue.d.mts +1 -1
  375. package/esm/queue/load-queue.d.mts.map +1 -1
  376. package/esm/queue/load-queue.mjs +1 -1
  377. package/esm/queue/load-queue.mjs.map +1 -1
  378. package/esm/queue/notifications-worker.d.mts +1 -1
  379. package/esm/queue/notifications-worker.d.mts.map +1 -1
  380. package/esm/queue/notifications-worker.mjs +1 -1
  381. package/esm/queue/notifications-worker.mjs.map +1 -1
  382. package/esm/queue/queue-package-not-installed.error.d.mts +1 -1
  383. package/esm/queue/queue-package-not-installed.error.d.mts.map +1 -1
  384. package/esm/queue/queue-package-not-installed.error.mjs +1 -1
  385. package/esm/queue/queue-package-not-installed.error.mjs.map +1 -1
  386. package/esm/types.d.mts +1 -1
  387. package/esm/types.d.mts.map +1 -1
  388. package/llms-full.txt +57 -57
  389. package/llms.txt +8 -8
  390. package/package.json +9 -8
  391. package/skills/configure-notifications/SKILL.md +6 -6
  392. package/skills/define-channel/SKILL.md +6 -6
  393. package/skills/define-notification/SKILL.md +5 -5
  394. package/skills/notifications-basics/SKILL.md +8 -8
  395. package/skills/observe-notifications/SKILL.md +4 -4
  396. package/skills/queue-notifications/SKILL.md +5 -5
  397. package/skills/send-ad-hoc/SKILL.md +8 -8
  398. package/skills/use-in-app/SKILL.md +8 -8
  399. package/skills/write-notification-migration/SKILL.md +7 -7
  400. package/cjs/channel_api-CBB_XoIl.cjs.map +0 -1
  401. package/cjs/rabbitmq-driver-CYeFwv0w.cjs +0 -3
  402. package/cjs/src-B6UVThgW.cjs.map +0 -1
  403. package/esm/herald/src/communicators/broker-registry.mjs.map +0 -1
  404. package/esm/herald/src/communicators/broker.mjs.map +0 -1
  405. package/esm/herald/src/decorators/consumable.mjs.map +0 -1
  406. package/esm/herald/src/drivers/rabbitmq/rabbitmq-channel.mjs.map +0 -1
  407. package/esm/herald/src/drivers/rabbitmq/rabbitmq-driver.mjs.map +0 -1
  408. package/esm/herald/src/message-managers/event-consumer.mjs.map +0 -1
  409. package/esm/herald/src/message-managers/event-message.mjs.map +0 -1
  410. package/esm/herald/src/message-managers/prepare-consumer-subscription.mjs.map +0 -1
  411. package/esm/herald/src/use-case-broadcast.mjs.map +0 -1
  412. package/esm/herald/src/utils/connect-to-broker.mjs.map +0 -1
  413. package/esm/seal/src/config.mjs.map +0 -1
  414. package/esm/seal/src/factory/validate.mjs.map +0 -1
  415. package/esm/seal/src/factory/validators.mjs.map +0 -1
  416. package/esm/seal/src/helpers/date-helpers.mjs.map +0 -1
  417. package/esm/seal/src/helpers/get-field-value.mjs.map +0 -1
  418. package/esm/seal/src/helpers/is-empty-value.mjs +0 -10
  419. package/esm/seal/src/helpers/is-empty-value.mjs.map +0 -1
  420. package/esm/seal/src/helpers/path-helpers.mjs.map +0 -1
  421. package/esm/seal/src/helpers/validation-helpers.mjs.map +0 -1
  422. package/esm/seal/src/mutators/array-mutators.mjs.map +0 -1
  423. package/esm/seal/src/mutators/boolean-mutators.mjs.map +0 -1
  424. package/esm/seal/src/mutators/date-mutators.mjs.map +0 -1
  425. package/esm/seal/src/mutators/number-mutators.mjs.map +0 -1
  426. package/esm/seal/src/mutators/object-mutators.mjs.map +0 -1
  427. package/esm/seal/src/mutators/scalar-mutators.mjs.map +0 -1
  428. package/esm/seal/src/mutators/string-mutators.mjs.map +0 -1
  429. package/esm/seal/src/object.mjs.map +0 -1
  430. package/esm/seal/src/rules/array/array-rules.mjs.map +0 -1
  431. package/esm/seal/src/rules/color/color-rules.mjs.map +0 -1
  432. package/esm/seal/src/rules/common/enum.mjs.map +0 -1
  433. package/esm/seal/src/rules/common/equals-field-rules.mjs.map +0 -1
  434. package/esm/seal/src/rules/common/instanceof.mjs.map +0 -1
  435. package/esm/seal/src/rules/common/literal.mjs.map +0 -1
  436. package/esm/seal/src/rules/common/type-rules.mjs.map +0 -1
  437. package/esm/seal/src/rules/common/unknown-key.mjs.map +0 -1
  438. package/esm/seal/src/rules/conditional/forbidden-if-rules.mjs.map +0 -1
  439. package/esm/seal/src/rules/conditional/present-if-rules.mjs.map +0 -1
  440. package/esm/seal/src/rules/conditional/present-unless-rules.mjs.map +0 -1
  441. package/esm/seal/src/rules/conditional/present-with-rules.mjs.map +0 -1
  442. package/esm/seal/src/rules/conditional/present-without-rules.mjs.map +0 -1
  443. package/esm/seal/src/rules/conditional/required-if-rules.mjs.map +0 -1
  444. package/esm/seal/src/rules/conditional/required-unless-rules.mjs.map +0 -1
  445. package/esm/seal/src/rules/conditional/required-when-rule.mjs.map +0 -1
  446. package/esm/seal/src/rules/conditional/required-with-rules.mjs.map +0 -1
  447. package/esm/seal/src/rules/conditional/required-without-rules.mjs.map +0 -1
  448. package/esm/seal/src/rules/core/equal.mjs.map +0 -1
  449. package/esm/seal/src/rules/core/forbidden.mjs.map +0 -1
  450. package/esm/seal/src/rules/core/required.mjs.map +0 -1
  451. package/esm/seal/src/rules/core/union.mjs.map +0 -1
  452. package/esm/seal/src/rules/core/when.mjs.map +0 -1
  453. package/esm/seal/src/rules/date/date-comparison-rules.mjs.map +0 -1
  454. package/esm/seal/src/rules/date/date-day-rules.mjs.map +0 -1
  455. package/esm/seal/src/rules/date/date-field-comparison-rules.mjs.map +0 -1
  456. package/esm/seal/src/rules/date/date-period-rules.mjs.map +0 -1
  457. package/esm/seal/src/rules/date/date-relative-rules.mjs.map +0 -1
  458. package/esm/seal/src/rules/date/date-special-rules.mjs.map +0 -1
  459. package/esm/seal/src/rules/date/date.mjs.map +0 -1
  460. package/esm/seal/src/rules/length/length-rules.mjs.map +0 -1
  461. package/esm/seal/src/rules/number/number-rules.mjs.map +0 -1
  462. package/esm/seal/src/rules/scalar/accepted-rule.mjs.map +0 -1
  463. package/esm/seal/src/rules/scalar/declined-rule.mjs.map +0 -1
  464. package/esm/seal/src/rules/string/alpha.mjs.map +0 -1
  465. package/esm/seal/src/rules/string/credit-card.mjs.map +0 -1
  466. package/esm/seal/src/rules/string/email.mjs.map +0 -1
  467. package/esm/seal/src/rules/string/id-formats.mjs.map +0 -1
  468. package/esm/seal/src/rules/string/ip.mjs.map +0 -1
  469. package/esm/seal/src/rules/string/matches.mjs +0 -4
  470. package/esm/seal/src/rules/string/pattern.mjs.map +0 -1
  471. package/esm/seal/src/rules/string/string-comparison.mjs.map +0 -1
  472. package/esm/seal/src/rules/string/strong-password-rule.mjs.map +0 -1
  473. package/esm/seal/src/rules/string/url.mjs.map +0 -1
  474. package/esm/seal/src/rules/string/without-whitespace.mjs.map +0 -1
  475. package/esm/seal/src/standard-schema/json-schema.mjs.map +0 -1
  476. package/esm/seal/src/standard-schema/map-result.mjs.map +0 -1
  477. package/esm/seal/src/string.mjs.map +0 -1
  478. package/esm/seal/src/types/date-types.mjs.map +0 -1
  479. package/esm/seal/src/validators/any-validator.mjs.map +0 -1
  480. package/esm/seal/src/validators/array-validator.mjs.map +0 -1
  481. package/esm/seal/src/validators/base-validator.mjs.map +0 -1
  482. package/esm/seal/src/validators/boolean-validator.mjs.map +0 -1
  483. package/esm/seal/src/validators/computed-validator.mjs.map +0 -1
  484. package/esm/seal/src/validators/date-validator.mjs.map +0 -1
  485. package/esm/seal/src/validators/discriminated-union-validator.mjs.map +0 -1
  486. package/esm/seal/src/validators/float-validator.mjs.map +0 -1
  487. package/esm/seal/src/validators/instanceof-validator.mjs.map +0 -1
  488. package/esm/seal/src/validators/int-validator.mjs.map +0 -1
  489. package/esm/seal/src/validators/lazy-validator.mjs.map +0 -1
  490. package/esm/seal/src/validators/literal-validator.mjs.map +0 -1
  491. package/esm/seal/src/validators/managed-validator.mjs.map +0 -1
  492. package/esm/seal/src/validators/methods/equality-conditional-methods.mjs.map +0 -1
  493. package/esm/seal/src/validators/methods/forbidden-methods.mjs.map +0 -1
  494. package/esm/seal/src/validators/methods/present-methods.mjs.map +0 -1
  495. package/esm/seal/src/validators/methods/required-methods.mjs.map +0 -1
  496. package/esm/seal/src/validators/number-validator.mjs.map +0 -1
  497. package/esm/seal/src/validators/numeric-validator.mjs.map +0 -1
  498. package/esm/seal/src/validators/object-validator.mjs.map +0 -1
  499. package/esm/seal/src/validators/primitive-validator.mjs.map +0 -1
  500. package/esm/seal/src/validators/record-validator.mjs.map +0 -1
  501. package/esm/seal/src/validators/scalar-validator.mjs.map +0 -1
  502. package/esm/seal/src/validators/string-validator.mjs.map +0 -1
  503. package/esm/seal/src/validators/tuple-validator.mjs.map +0 -1
  504. package/esm/seal/src/validators/union-validator.mjs.map +0 -1
  505. /package/esm/{herald → packages/herald}/src/communicators/index.mjs +0 -0
  506. /package/esm/{herald → packages/herald}/src/decorators/index.mjs +0 -0
  507. /package/esm/{herald → packages/herald}/src/drivers/index.mjs +0 -0
  508. /package/esm/{herald → packages/herald}/src/drivers/rabbitmq/index.mjs +0 -0
  509. /package/esm/{herald → packages/herald}/src/index.mjs +0 -0
  510. /package/esm/{herald → packages/herald}/src/message-managers/index.mjs +0 -0
  511. /package/esm/{herald → packages/herald}/src/utils/index.mjs +0 -0
  512. /package/esm/{seal → packages/seal}/src/factory/index.mjs +0 -0
  513. /package/esm/{seal → packages/seal}/src/helpers/index.mjs +0 -0
  514. /package/esm/{seal → packages/seal}/src/index.mjs +0 -0
  515. /package/esm/{seal → packages/seal}/src/mutators/index.mjs +0 -0
  516. /package/esm/{seal → packages/seal}/src/rules/array/index.mjs +0 -0
  517. /package/esm/{seal → packages/seal}/src/rules/color/index.mjs +0 -0
  518. /package/esm/{seal → packages/seal}/src/rules/common/index.mjs +0 -0
  519. /package/esm/{seal → packages/seal}/src/rules/conditional/index.mjs +0 -0
  520. /package/esm/{seal → packages/seal}/src/rules/core/index.mjs +0 -0
  521. /package/esm/{seal → packages/seal}/src/rules/date/index.mjs +0 -0
  522. /package/esm/{seal → packages/seal}/src/rules/file/dimensions.mjs +0 -0
  523. /package/esm/{seal → packages/seal}/src/rules/file/file-size.mjs +0 -0
  524. /package/esm/{seal → packages/seal}/src/rules/file/index.mjs +0 -0
  525. /package/esm/{seal → packages/seal}/src/rules/index.mjs +0 -0
  526. /package/esm/{seal → packages/seal}/src/rules/length/index.mjs +0 -0
  527. /package/esm/{seal → packages/seal}/src/rules/number/index.mjs +0 -0
  528. /package/esm/{seal → packages/seal}/src/rules/scalar/index.mjs +0 -0
  529. /package/esm/{seal → packages/seal}/src/rules/string/index.mjs +0 -0
  530. /package/esm/{seal → packages/seal}/src/validators/index.mjs +0 -0
@@ -4,7 +4,7 @@ let node_crypto = require("node:crypto");
4
4
  let node_events = require("node:events");
5
5
  let crypto = require("crypto");
6
6
 
7
- //#region ../herald/src/message-managers/prepare-consumer-subscription.ts
7
+ //#region ../../packages/herald/src/message-managers/prepare-consumer-subscription.ts
8
8
  function prepareConsumerSubscription(Consumer, onError) {
9
9
  const callback = async (message, ctx) => {
10
10
  const envelope = message.payload;
@@ -44,7 +44,7 @@ function prepareConsumerSubscription(Consumer, onError) {
44
44
  }
45
45
 
46
46
  //#endregion
47
- //#region ../seal/src/standard-schema/json-schema.ts
47
+ //#region ../../packages/seal/src/standard-schema/json-schema.ts
48
48
  /**
49
49
  * Apply nullable to a JSON Schema object based on the target dialect.
50
50
  *
@@ -123,7 +123,7 @@ function getRuleOptions(rules, ruleName) {
123
123
  }
124
124
 
125
125
  //#endregion
126
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/get.mjs
126
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/get.mjs
127
127
  function get(object, path, defaultValue) {
128
128
  if (object === null || object === void 0) return defaultValue;
129
129
  if (path === "") return defaultValue;
@@ -139,7 +139,7 @@ function get(object, path, defaultValue) {
139
139
  }
140
140
 
141
141
  //#endregion
142
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs
142
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/mixed/clone/clone.mjs
143
143
  /**
144
144
  * Deep-clone a value. Supports plain objects, arrays, `Date`, `RegExp`,
145
145
  * `Map`, `Set`, `Error`, and typed arrays. Handles circular references
@@ -219,7 +219,7 @@ function clonePlainObject(value, seen) {
219
219
  }
220
220
 
221
221
  //#endregion
222
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/number/round.mjs
222
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/number/round.mjs
223
223
  /**
224
224
  * Round `value` to the given number of decimal places (banker's-style
225
225
  * `Math.round`).
@@ -234,7 +234,7 @@ function round(value, precision = 2) {
234
234
  }
235
235
 
236
236
  //#endregion
237
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/unset.mjs
237
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/unset.mjs
238
238
  /**
239
239
  * Remove one or more dot-notation paths from `object`. Mutates and
240
240
  * returns the input.
@@ -260,7 +260,7 @@ function deletePath(object, path) {
260
260
  }
261
261
 
262
262
  //#endregion
263
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/omit.mjs
263
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/omit.mjs
264
264
  function omit(object, keysOrPredicate) {
265
265
  if (!object || typeof object !== "object" || Array.isArray(object)) return object;
266
266
  if (typeof keysOrPredicate === "function") return omitByPredicate(object, keysOrPredicate);
@@ -273,7 +273,7 @@ function omitByPredicate(object, predicate) {
273
273
  }
274
274
 
275
275
  //#endregion
276
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/except.mjs
276
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/object/except.mjs
277
277
  /**
278
278
  * @deprecated Use {@link omit} instead. Will be removed in a future major release.
279
279
  */
@@ -282,11 +282,11 @@ function except(object, keys) {
282
282
  }
283
283
 
284
284
  //#endregion
285
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs
285
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/Random/_internal.mjs
286
286
  const cryptoRef = typeof globalThis !== "undefined" && globalThis.crypto ? globalThis.crypto : {};
287
287
 
288
288
  //#endregion
289
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs
289
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/ucfirst.mjs
290
290
  /**
291
291
  * Uppercase the first character of `string`.
292
292
  *
@@ -299,7 +299,7 @@ function ucfirst(string) {
299
299
  }
300
300
 
301
301
  //#endregion
302
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs
302
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/capitalize.mjs
303
303
  const WHITESPACE_RUN$1 = /\s+/;
304
304
  const WHITESPACE_GROUP = /(\s+)/;
305
305
  /**
@@ -314,7 +314,7 @@ function capitalize$1(string) {
314
314
  }
315
315
 
316
316
  //#endregion
317
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs
317
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/escapeRegex.mjs
318
318
  /**
319
319
  * Escape the regex of the given string
320
320
  */
@@ -323,7 +323,7 @@ function escapeRegex(string) {
323
323
  }
324
324
 
325
325
  //#endregion
326
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/trim.mjs
326
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/trim.mjs
327
327
  /**
328
328
  * Remove the given needle from the start and the end of string
329
329
  *
@@ -339,7 +339,7 @@ function trim(string, needle = " ") {
339
339
  }
340
340
 
341
341
  //#endregion
342
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs
342
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/ltrim.mjs
343
343
  /**
344
344
  * Remove the given needle from the start of string
345
345
  *
@@ -353,7 +353,7 @@ function ltrim(string, needle = " ") {
353
353
  }
354
354
 
355
355
  //#endregion
356
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs
356
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/readMoreChars.mjs
357
357
  /**
358
358
  * Cut string for the given length and append ... if string is larger than the given length
359
359
  *
@@ -365,7 +365,7 @@ function readMoreChars(string, length, readMoreDots = "...") {
365
365
  }
366
366
 
367
367
  //#endregion
368
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs
368
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/rtrim.mjs
369
369
  /**
370
370
  * Remove the given needle from the start of string
371
371
  *
@@ -379,7 +379,7 @@ function rtrim(string, needle = " ") {
379
379
  }
380
380
 
381
381
  //#endregion
382
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/words.mjs
382
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/words.mjs
383
383
  const SEPARATOR_PATTERN = /[-_./\\\s]+/g;
384
384
  const ACRONYM_BOUNDARY = /([A-Z]+)([A-Z][a-z])/g;
385
385
  const CAMEL_BOUNDARY = /([a-z\d])([A-Z])/g;
@@ -402,7 +402,7 @@ function words(input) {
402
402
  }
403
403
 
404
404
  //#endregion
405
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs
405
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toCamelCase.mjs
406
406
  /**
407
407
  * Convert a string to camelCase.
408
408
  *
@@ -420,7 +420,7 @@ function toSegment(word, index) {
420
420
  }
421
421
 
422
422
  //#endregion
423
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs
423
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toSnakeCase.mjs
424
424
  /**
425
425
  * Convert a string to snake_case (or any underscore-style with a
426
426
  * custom separator).
@@ -437,7 +437,7 @@ function toSnakeCase(string, separator = "_", lowerAll = true) {
437
437
  }
438
438
 
439
439
  //#endregion
440
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs
440
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toKebabCase.mjs
441
441
  /**
442
442
  * Convert a string to kebab-case.
443
443
  *
@@ -450,7 +450,7 @@ function toKebabCase(string, lowerAll = true) {
450
450
  }
451
451
 
452
452
  //#endregion
453
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs
453
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/string/toStudlyCase.mjs
454
454
  /**
455
455
  * Convert a string to StudlyCase (PascalCase).
456
456
  *
@@ -467,7 +467,7 @@ function capitalize(word) {
467
467
  }
468
468
 
469
469
  //#endregion
470
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs
470
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/lazy.mjs
471
471
  const LAZY = Symbol("lazy");
472
472
  /**
473
473
  * Wrap a value-producing function as a lazy reference. The producer
@@ -565,7 +565,7 @@ lazy.from = function lazyFrom(value) {
565
565
  };
566
566
 
567
567
  //#endregion
568
- //#region ../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/tap.mjs
568
+ //#region ../../node_modules/.pnpm/@mongez+reinforcements@4.0.2/node_modules/@mongez/reinforcements/esm/utils/tap.mjs
569
569
  /**
570
570
  * Run `sideEffect` against `value`, then return `value` unchanged.
571
571
  * Useful for inserting logging / instrumentation into a pipeline.
@@ -590,7 +590,7 @@ tap.with = function tapWith(sideEffect) {
590
590
  };
591
591
 
592
592
  //#endregion
593
- //#region ../seal/src/config.ts
593
+ //#region ../../packages/seal/src/config.ts
594
594
  /**
595
595
  * Global Seal configuration
596
596
  */
@@ -603,9 +603,12 @@ function getSealConfig() {
603
603
  }
604
604
 
605
605
  //#endregion
606
- //#region ../seal/src/factory/validate.ts
606
+ //#region ../../packages/seal/src/factory/validate.ts
607
607
  /**
608
- * Validate data against a schema
608
+ * Validate data against a schema.
609
+ *
610
+ * The result narrows on `isValid`: on success `data` is the schema's
611
+ * `Infer.Output`, on failure it is `undefined`.
609
612
  */
610
613
  const validate = async (schema, data, { context: extendedContext, ...configurations } = getSealConfig() || {}) => {
611
614
  const context = {
@@ -626,14 +629,19 @@ const validate = async (schema, data, { context: extendedContext, ...configurati
626
629
  };
627
630
  const result = await schema.validate(data, context);
628
631
  if (!result.isValid) return {
629
- ...result,
632
+ isValid: false,
633
+ errors: result.errors,
630
634
  data: void 0
631
635
  };
632
- return result;
636
+ return {
637
+ isValid: true,
638
+ errors: result.errors,
639
+ data: result.data
640
+ };
633
641
  };
634
642
 
635
643
  //#endregion
636
- //#region ../seal/src/helpers/validation-helpers.ts
644
+ //#region ../../packages/seal/src/helpers/validation-helpers.ts
637
645
  const VALID_RULE = { isValid: true };
638
646
  /**
639
647
  * Resolve a single attribute value through the full translation priority chain:
@@ -707,7 +715,7 @@ const invalidRule = (rule, context) => {
707
715
  };
708
716
 
709
717
  //#endregion
710
- //#region ../node_modules/.pnpm/@mongez+supportive-is@3.0.0/node_modules/@mongez/supportive-is/esm/index.mjs
718
+ //#region ../../node_modules/.pnpm/@mongez+supportive-is@3.0.0/node_modules/@mongez/supportive-is/esm/index.mjs
711
719
  /**
712
720
  * Determine whether the given value is a number whatever if its data type is String or Number
713
721
  */
@@ -1063,13 +1071,13 @@ const Is = {
1063
1071
  };
1064
1072
 
1065
1073
  //#endregion
1066
- //#region ../seal/src/helpers/is-empty-value.ts
1074
+ //#region ../../packages/seal/src/helpers/is-empty-value.ts
1067
1075
  function isEmptyValue(value) {
1068
1076
  return isEmpty(value) && !isObject(value);
1069
1077
  }
1070
1078
 
1071
1079
  //#endregion
1072
- //#region ../seal/src/helpers/date-helpers.ts
1080
+ //#region ../../packages/seal/src/helpers/date-helpers.ts
1073
1081
  /**
1074
1082
  * Detect if value is a date value or field name
1075
1083
  *
@@ -1091,7 +1099,7 @@ function isDateValue(value) {
1091
1099
  }
1092
1100
 
1093
1101
  //#endregion
1094
- //#region ../seal/src/helpers/get-field-value.ts
1102
+ //#region ../../packages/seal/src/helpers/get-field-value.ts
1095
1103
  /**
1096
1104
  * Get field value based on scope from rule options
1097
1105
  *
@@ -1132,7 +1140,7 @@ function getFieldValue(rule, context, fieldKey = "field") {
1132
1140
  }
1133
1141
 
1134
1142
  //#endregion
1135
- //#region ../seal/src/helpers/path-helpers.ts
1143
+ //#region ../../packages/seal/src/helpers/path-helpers.ts
1136
1144
  /**
1137
1145
  * Set the key path for nested validation
1138
1146
  */
@@ -1142,7 +1150,7 @@ const setKeyPath = (path, key) => {
1142
1150
  };
1143
1151
 
1144
1152
  //#endregion
1145
- //#region ../seal/src/rules/core/required.ts
1153
+ //#region ../../packages/seal/src/rules/core/required.ts
1146
1154
  /**
1147
1155
  * Required rule - value must be present and not empty
1148
1156
  */
@@ -1172,7 +1180,7 @@ const presentRule = {
1172
1180
  };
1173
1181
 
1174
1182
  //#endregion
1175
- //#region ../seal/src/standard-schema/map-result.ts
1183
+ //#region ../../packages/seal/src/standard-schema/map-result.ts
1176
1184
  /**
1177
1185
  * Maps a Seal ValidationResult to a Standard Schema result shape.
1178
1186
  *
@@ -1196,7 +1204,7 @@ function mapToStandardResult(result) {
1196
1204
  }
1197
1205
 
1198
1206
  //#endregion
1199
- //#region ../seal/src/validators/base-validator.ts
1207
+ //#region ../../packages/seal/src/validators/base-validator.ts
1200
1208
  /**
1201
1209
  * Base validator class - foundation for all validators
1202
1210
  */
@@ -1641,6 +1649,12 @@ var BaseValidator = class {
1641
1649
  }
1642
1650
  /**
1643
1651
  * Define custom rule
1652
+ *
1653
+ * `value` is deliberately untyped: custom rules run in the rule pipeline,
1654
+ * before a container validates its children (an object's fields are not yet
1655
+ * validated or defaulted) and, when `firstErrorOnly` is `false` (the default
1656
+ * is `true`), even after the type rule has failed. Typing it as the schema
1657
+ * output would promise a shape the callback does not always receive.
1644
1658
  */
1645
1659
  refine(callback) {
1646
1660
  return this.addRule({
@@ -1757,14 +1771,27 @@ var BaseValidator = class {
1757
1771
  errors: [],
1758
1772
  data: null
1759
1773
  };
1760
- const valueForRules = (isBlank ? void 0 : data) ?? this.getDefaultValue();
1774
+ const input = isBlank ? void 0 : data;
1775
+ let valueForRules = input ?? this.getDefaultValue();
1776
+ const parentFilledDefault = context?.valueIsDefault === true;
1777
+ if (parentFilledDefault) context.valueIsDefault = false;
1778
+ const isUsableDefault = (value) => value !== void 0 && (value !== null || this.isNullable);
1779
+ let blankMatchesDefault = false;
1780
+ if (typeof input === "string" && input.trim() === "" && this.defaultValue !== void 0) {
1781
+ const fallback = this.getDefaultValue();
1782
+ if (typeof fallback === "string" && fallback.trim() === "") {
1783
+ valueForRules = fallback;
1784
+ blankMatchesDefault = true;
1785
+ }
1786
+ }
1787
+ const usedDefault = blankMatchesDefault || input == null && isUsableDefault(valueForRules) || parentFilledDefault && isUsableDefault(input);
1761
1788
  const mutatedData = this.isOptional && valueForRules === void 0 ? void 0 : await this.mutate(valueForRules, context);
1762
1789
  const errors = [];
1763
1790
  let isValid = true;
1764
1791
  const isFirstErrorOnly = context.configurations?.firstErrorOnly ?? true;
1765
1792
  const isEmpty = isEmptyValue(valueForRules);
1766
- const skipEmptyRules = this.isOptional ? valueForRules === void 0 : isEmpty;
1767
- const rulesToRun = this.requiredRule ? [this.requiredRule, ...this.rules] : this.rules;
1793
+ const skipEmptyRules = usedDefault && isEmpty && valueForRules !== null && !this.matchesType(valueForRules) ? false : this.isOptional ? valueForRules === void 0 : isEmpty;
1794
+ const rulesToRun = this.requiredRule && !usedDefault ? [this.requiredRule, ...this.rules] : this.rules;
1768
1795
  for (const rule of rulesToRun) {
1769
1796
  if ((rule.requiresValue ?? true) && skipEmptyRules) continue;
1770
1797
  this.setRuleAttributesList(rule);
@@ -1887,7 +1914,7 @@ var BaseValidator = class {
1887
1914
  };
1888
1915
 
1889
1916
  //#endregion
1890
- //#region ../seal/src/validators/any-validator.ts
1917
+ //#region ../../packages/seal/src/validators/any-validator.ts
1891
1918
  /**
1892
1919
  * Any validator - accepts any value
1893
1920
  */
@@ -1920,7 +1947,7 @@ var AnyValidator = class extends BaseValidator {
1920
1947
  };
1921
1948
 
1922
1949
  //#endregion
1923
- //#region ../seal/src/mutators/array-mutators.ts
1950
+ //#region ../../packages/seal/src/mutators/array-mutators.ts
1924
1951
  /** Reverse array order */
1925
1952
  const flipArrayMutator = async (value) => {
1926
1953
  return value.reverse();
@@ -1947,7 +1974,7 @@ const uniqueArrayMutator = async (value) => {
1947
1974
  };
1948
1975
 
1949
1976
  //#endregion
1950
- //#region ../seal/src/rules/scalar/accepted-rule.ts
1977
+ //#region ../../packages/seal/src/rules/scalar/accepted-rule.ts
1951
1978
  /**
1952
1979
  * The full set of values treated as "accepted" by `acceptedRule` and its
1953
1980
  * conditional variants. Shared with `formBooleanMutator` (see
@@ -2063,7 +2090,7 @@ const acceptedWithoutRule = {
2063
2090
  };
2064
2091
 
2065
2092
  //#endregion
2066
- //#region ../seal/src/rules/scalar/declined-rule.ts
2093
+ //#region ../../packages/seal/src/rules/scalar/declined-rule.ts
2067
2094
  /**
2068
2095
  * The full set of values treated as "declined" by `declinedRule` and its
2069
2096
  * conditional variants. Shared with `formBooleanMutator` (see
@@ -2179,7 +2206,7 @@ const declinedWithoutRule = {
2179
2206
  };
2180
2207
 
2181
2208
  //#endregion
2182
- //#region ../seal/src/mutators/boolean-mutators.ts
2209
+ //#region ../../packages/seal/src/mutators/boolean-mutators.ts
2183
2210
  /**
2184
2211
  * Coerce a query-string-shaped boolean into a real boolean.
2185
2212
  *
@@ -2214,7 +2241,7 @@ const formBooleanMutator = async (value) => {
2214
2241
  };
2215
2242
 
2216
2243
  //#endregion
2217
- //#region ../node_modules/.pnpm/dayjs@1.11.23/node_modules/dayjs/dayjs.min.js
2244
+ //#region ../../node_modules/.pnpm/dayjs@1.11.23/node_modules/dayjs/dayjs.min.js
2218
2245
  var require_dayjs_min = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
2219
2246
  (function(t, e) {
2220
2247
  "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs = e();
@@ -2513,7 +2540,7 @@ var require_dayjs_min = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, m
2513
2540
  }));
2514
2541
 
2515
2542
  //#endregion
2516
- //#region ../seal/src/mutators/date-mutators.ts
2543
+ //#region ../../packages/seal/src/mutators/date-mutators.ts
2517
2544
  var import_dayjs_min = /* @__PURE__ */ require_chunk.__toESM(require_dayjs_min(), 1);
2518
2545
  /**
2519
2546
  * Convert value to Date object
@@ -2602,7 +2629,7 @@ const toEndOfYearMutator = async (value) => {
2602
2629
  };
2603
2630
 
2604
2631
  //#endregion
2605
- //#region ../seal/src/mutators/number-mutators.ts
2632
+ //#region ../../packages/seal/src/mutators/number-mutators.ts
2606
2633
  /** Convert value to number */
2607
2634
  const numberMutator = async (value) => {
2608
2635
  if (!value) return value;
@@ -2648,7 +2675,7 @@ const toFixedMutator = async (value, context) => {
2648
2675
  };
2649
2676
 
2650
2677
  //#endregion
2651
- //#region ../seal/src/mutators/object-mutators.ts
2678
+ //#region ../../packages/seal/src/mutators/object-mutators.ts
2652
2679
  /** Strip unknown keys from object */
2653
2680
  const stripUnknownMutator = async (value, context) => {
2654
2681
  const allowedKeys = [...context?.ctx.schema ? Object.keys(context.ctx.schema) : [], ...context?.options.allowedKeys ?? []];
@@ -2672,14 +2699,14 @@ const objectTrimMutator = async (value, context) => {
2672
2699
  };
2673
2700
 
2674
2701
  //#endregion
2675
- //#region ../seal/src/mutators/scalar-mutators.ts
2702
+ //#region ../../packages/seal/src/mutators/scalar-mutators.ts
2676
2703
  const stringMutator = async (value) => {
2677
2704
  if ([void 0, null].includes(value)) return value;
2678
2705
  return String(value);
2679
2706
  };
2680
2707
 
2681
2708
  //#endregion
2682
- //#region ../seal/src/mutators/string-mutators.ts
2709
+ //#region ../../packages/seal/src/mutators/string-mutators.ts
2683
2710
  /** Convert string to lowercase */
2684
2711
  const lowercaseMutator = async (value) => {
2685
2712
  return value?.toString().toLowerCase();
@@ -2852,7 +2879,7 @@ const removeNumbersMutator = async (value) => {
2852
2879
  };
2853
2880
 
2854
2881
  //#endregion
2855
- //#region ../seal/src/rules/core/equal.ts
2882
+ //#region ../../packages/seal/src/rules/core/equal.ts
2856
2883
  /**
2857
2884
  * Equal rule - value must be equal to a specific value
2858
2885
  */
@@ -2869,7 +2896,7 @@ const equalRule = {
2869
2896
  };
2870
2897
 
2871
2898
  //#endregion
2872
- //#region ../seal/src/rules/core/forbidden.ts
2899
+ //#region ../../packages/seal/src/rules/core/forbidden.ts
2873
2900
  /**
2874
2901
  * Forbidden rule - value must not be present
2875
2902
  */
@@ -2883,14 +2910,16 @@ const forbiddenRule = {
2883
2910
  };
2884
2911
 
2885
2912
  //#endregion
2886
- //#region ../seal/src/rules/core/union.ts
2913
+ //#region ../../packages/seal/src/rules/core/union.ts
2887
2914
  /**
2888
2915
  * Union rule - value must match at least one of the provided validators
2889
2916
  */
2890
2917
  const unionRule = {
2891
2918
  name: "union",
2919
+ requiresValue: false,
2892
2920
  defaultErrorMessage: "Value must match one of the allowed types",
2893
2921
  async validate(value, context) {
2922
+ if (value === void 0) return VALID_RULE;
2894
2923
  const validators = this.context.options.validators;
2895
2924
  const firstErrorOnly = context.configurations?.firstErrorOnly ?? true;
2896
2925
  const allErrors = [];
@@ -2908,7 +2937,7 @@ const unionRule = {
2908
2937
  };
2909
2938
 
2910
2939
  //#endregion
2911
- //#region ../seal/src/rules/core/when.ts
2940
+ //#region ../../packages/seal/src/rules/core/when.ts
2912
2941
  /**
2913
2942
  * When rule - conditional validation based on another field value
2914
2943
  */
@@ -2938,7 +2967,7 @@ const whenRule = {
2938
2967
  };
2939
2968
 
2940
2969
  //#endregion
2941
- //#region ../seal/src/rules/string/alpha.ts
2970
+ //#region ../../packages/seal/src/rules/string/alpha.ts
2942
2971
  /**
2943
2972
  * Alpha rule - allows only alphabetic characters
2944
2973
  */
@@ -2974,7 +3003,7 @@ const isNumericRule = {
2974
3003
  };
2975
3004
 
2976
3005
  //#endregion
2977
- //#region ../seal/src/rules/string/credit-card.ts
3006
+ //#region ../../packages/seal/src/rules/string/credit-card.ts
2978
3007
  /**
2979
3008
  * Credit card rule - validates credit card number
2980
3009
  */
@@ -3001,7 +3030,7 @@ const isCreditCardRule = {
3001
3030
  };
3002
3031
 
3003
3032
  //#endregion
3004
- //#region ../seal/src/rules/string/email.ts
3033
+ //#region ../../packages/seal/src/rules/string/email.ts
3005
3034
  /**
3006
3035
  * Email rule - validates email format
3007
3036
  */
@@ -3015,7 +3044,7 @@ const emailRule = {
3015
3044
  };
3016
3045
 
3017
3046
  //#endregion
3018
- //#region ../seal/src/rules/string/id-formats.ts
3047
+ //#region ../../packages/seal/src/rules/string/id-formats.ts
3019
3048
  /**
3020
3049
  * Modern ID format validators — UUID, CUID, ULID, nanoid.
3021
3050
  *
@@ -3114,7 +3143,7 @@ const nanoidRule = {
3114
3143
  };
3115
3144
 
3116
3145
  //#endregion
3117
- //#region ../seal/src/rules/string/ip.ts
3146
+ //#region ../../packages/seal/src/rules/string/ip.ts
3118
3147
  /**
3119
3148
  * Pure, dependency-free re-implementation of Node's `net.isIP`/`isIPv4`/`isIPv6`.
3120
3149
  * Mirrors the exact regex Node uses internally (lib/internal/net.js) so that
@@ -3175,7 +3204,7 @@ const ip6Rule = {
3175
3204
  };
3176
3205
 
3177
3206
  //#endregion
3178
- //#region ../seal/src/rules/string/pattern.ts
3207
+ //#region ../../packages/seal/src/rules/string/pattern.ts
3179
3208
  /**
3180
3209
  * Pattern rule - validates against regex pattern
3181
3210
  */
@@ -3190,7 +3219,7 @@ const patternRule = {
3190
3219
  };
3191
3220
 
3192
3221
  //#endregion
3193
- //#region ../seal/src/rules/string/string-comparison.ts
3222
+ //#region ../../packages/seal/src/rules/string/string-comparison.ts
3194
3223
  /**
3195
3224
  * Starts with rule
3196
3225
  */
@@ -3241,7 +3270,7 @@ const notContainsRule = {
3241
3270
  };
3242
3271
 
3243
3272
  //#endregion
3244
- //#region ../seal/src/rules/string/strong-password-rule.ts
3273
+ //#region ../../packages/seal/src/rules/string/strong-password-rule.ts
3245
3274
  /**
3246
3275
  * Strong Password rule - validates password strength
3247
3276
  * Requirements:
@@ -3267,7 +3296,7 @@ const strongPasswordRule = {
3267
3296
  };
3268
3297
 
3269
3298
  //#endregion
3270
- //#region ../seal/src/rules/string/url.ts
3299
+ //#region ../../packages/seal/src/rules/string/url.ts
3271
3300
  /**
3272
3301
  * URL rule - validates URL format
3273
3302
  */
@@ -3285,7 +3314,7 @@ const urlRule = {
3285
3314
  };
3286
3315
 
3287
3316
  //#endregion
3288
- //#region ../seal/src/rules/string/without-whitespace.ts
3317
+ //#region ../../packages/seal/src/rules/string/without-whitespace.ts
3289
3318
  /**
3290
3319
  * Without whitespace rule - value must not contain whitespace
3291
3320
  */
@@ -3299,7 +3328,7 @@ const withoutWhitespaceRule = {
3299
3328
  };
3300
3329
 
3301
3330
  //#endregion
3302
- //#region ../seal/src/rules/number/number-rules.ts
3331
+ //#region ../../packages/seal/src/rules/number/number-rules.ts
3303
3332
  /**
3304
3333
  * Min rule - value must be equal or greater than minimum
3305
3334
  * Supports field names with sibling scope
@@ -3489,7 +3518,7 @@ const betweenNumbersRule = {
3489
3518
  };
3490
3519
 
3491
3520
  //#endregion
3492
- //#region ../seal/src/rules/length/length-rules.ts
3521
+ //#region ../../packages/seal/src/rules/length/length-rules.ts
3493
3522
  /**
3494
3523
  * Min length rule - validates minimum length
3495
3524
  * Works for any value with a length property (strings, arrays, etc.)
@@ -3582,7 +3611,7 @@ const wordsRule = {
3582
3611
  };
3583
3612
 
3584
3613
  //#endregion
3585
- //#region ../seal/src/rules/array/array-rules.ts
3614
+ //#region ../../packages/seal/src/rules/array/array-rules.ts
3586
3615
  /**
3587
3616
  * Unique array rule - array must contain unique values
3588
3617
  */
@@ -3618,7 +3647,7 @@ const sortedArrayRule = {
3618
3647
  };
3619
3648
 
3620
3649
  //#endregion
3621
- //#region ../seal/src/types/date-types.ts
3650
+ //#region ../../packages/seal/src/types/date-types.ts
3622
3651
  /**
3623
3652
  * Week day numbers mapping
3624
3653
  */
@@ -3633,7 +3662,7 @@ const WEEK_DAYS = {
3633
3662
  };
3634
3663
 
3635
3664
  //#endregion
3636
- //#region ../seal/src/rules/date/date.ts
3665
+ //#region ../../packages/seal/src/rules/date/date.ts
3637
3666
  /**
3638
3667
  * Date rule - validates date format
3639
3668
  */
@@ -3859,7 +3888,7 @@ const weekDayRule = {
3859
3888
  };
3860
3889
 
3861
3890
  //#endregion
3862
- //#region ../seal/src/rules/date/date-comparison-rules.ts
3891
+ //#region ../../packages/seal/src/rules/date/date-comparison-rules.ts
3863
3892
  /**
3864
3893
  * Between dates rule - date must be between start and end dates
3865
3894
  */
@@ -3932,7 +3961,7 @@ const afterTodayRule = {
3932
3961
  };
3933
3962
 
3934
3963
  //#endregion
3935
- //#region ../seal/src/rules/date/date-day-rules.ts
3964
+ //#region ../../packages/seal/src/rules/date/date-day-rules.ts
3936
3965
  /**
3937
3966
  * Weekend rule - date must be Saturday or Sunday
3938
3967
  */
@@ -3975,7 +4004,7 @@ const businessDayRule = {
3975
4004
  };
3976
4005
 
3977
4006
  //#endregion
3978
- //#region ../seal/src/rules/date/date-field-comparison-rules.ts
4007
+ //#region ../../packages/seal/src/rules/date/date-field-comparison-rules.ts
3979
4008
  /**
3980
4009
  * Before field rule - date must be < given date or field
3981
4010
  * Smart detection: date value or field name
@@ -4049,7 +4078,7 @@ const sameAsFieldDateRule = {
4049
4078
  };
4050
4079
 
4051
4080
  //#endregion
4052
- //#region ../seal/src/rules/date/date-period-rules.ts
4081
+ //#region ../../packages/seal/src/rules/date/date-period-rules.ts
4053
4082
  const MONTHS = {
4054
4083
  1: "january",
4055
4084
  2: "february",
@@ -4443,7 +4472,7 @@ const maxDayRule = {
4443
4472
  };
4444
4473
 
4445
4474
  //#endregion
4446
- //#region ../seal/src/rules/date/date-relative-rules.ts
4475
+ //#region ../../packages/seal/src/rules/date/date-relative-rules.ts
4447
4476
  /**
4448
4477
  * Within days rule - date must be within X days from now (past or future)
4449
4478
  */
@@ -4493,7 +4522,7 @@ const withinFutureDaysRule = {
4493
4522
  };
4494
4523
 
4495
4524
  //#endregion
4496
- //#region ../seal/src/rules/date/date-special-rules.ts
4525
+ //#region ../../packages/seal/src/rules/date/date-special-rules.ts
4497
4526
  /**
4498
4527
  * Birthday rule - valid birthday (not in future, reasonable age)
4499
4528
  */
@@ -4546,7 +4575,7 @@ const leapYearRule = {
4546
4575
  };
4547
4576
 
4548
4577
  //#endregion
4549
- //#region ../seal/src/rules/color/color-rules.ts
4578
+ //#region ../../packages/seal/src/rules/color/color-rules.ts
4550
4579
  /**
4551
4580
  * Color validation regex patterns
4552
4581
  */
@@ -4645,7 +4674,7 @@ const darkColorRule = {
4645
4674
  };
4646
4675
 
4647
4676
  //#endregion
4648
- //#region ../seal/src/rules/conditional/required-if-rules.ts
4677
+ //#region ../../packages/seal/src/rules/conditional/required-if-rules.ts
4649
4678
  /**
4650
4679
  * Required if rule - field is required if another field equals a specific value
4651
4680
  * Supports both global and sibling scope
@@ -4840,7 +4869,7 @@ const requiredIfAnyNotEmptyRule = {
4840
4869
  };
4841
4870
 
4842
4871
  //#endregion
4843
- //#region ../seal/src/rules/conditional/required-unless-rules.ts
4872
+ //#region ../../packages/seal/src/rules/conditional/required-unless-rules.ts
4844
4873
  /**
4845
4874
  * Required unless rule - field is required unless another field equals a specific value
4846
4875
  * Supports both global and sibling scope
@@ -4864,7 +4893,7 @@ const requiredUnlessRule = {
4864
4893
  };
4865
4894
 
4866
4895
  //#endregion
4867
- //#region ../seal/src/rules/conditional/required-when-rule.ts
4896
+ //#region ../../packages/seal/src/rules/conditional/required-when-rule.ts
4868
4897
  /**
4869
4898
  * Required when callback returns true.
4870
4899
  *
@@ -4890,7 +4919,7 @@ const requiredWhenRule = {
4890
4919
  };
4891
4920
 
4892
4921
  //#endregion
4893
- //#region ../seal/src/rules/conditional/required-with-rules.ts
4922
+ //#region ../../packages/seal/src/rules/conditional/required-with-rules.ts
4894
4923
  /**
4895
4924
  * Required with rule - field is required if another field is present
4896
4925
  * Supports both global and sibling scope
@@ -4948,7 +4977,7 @@ const requiredWithAnyRule = {
4948
4977
  };
4949
4978
 
4950
4979
  //#endregion
4951
- //#region ../seal/src/rules/conditional/required-without-rules.ts
4980
+ //#region ../../packages/seal/src/rules/conditional/required-without-rules.ts
4952
4981
  /**
4953
4982
  * Required without rule - field is required if another field is missing
4954
4983
  * Supports both global and sibling scope
@@ -5006,7 +5035,7 @@ const requiredWithoutAnyRule = {
5006
5035
  };
5007
5036
 
5008
5037
  //#endregion
5009
- //#region ../seal/src/rules/conditional/present-if-rules.ts
5038
+ //#region ../../packages/seal/src/rules/conditional/present-if-rules.ts
5010
5039
  /**
5011
5040
  * Present if rule - field must be present if another field equals a specific value
5012
5041
  * Supports both global and sibling scope
@@ -5096,7 +5125,7 @@ const presentIfNotInRule = {
5096
5125
  };
5097
5126
 
5098
5127
  //#endregion
5099
- //#region ../seal/src/rules/conditional/present-unless-rules.ts
5128
+ //#region ../../packages/seal/src/rules/conditional/present-unless-rules.ts
5100
5129
  /**
5101
5130
  * Present unless rule - field must be present unless another field equals a specific value
5102
5131
  * Supports both global and sibling scope
@@ -5120,7 +5149,7 @@ const presentUnlessRule = {
5120
5149
  };
5121
5150
 
5122
5151
  //#endregion
5123
- //#region ../seal/src/rules/conditional/present-with-rules.ts
5152
+ //#region ../../packages/seal/src/rules/conditional/present-with-rules.ts
5124
5153
  /**
5125
5154
  * Present with rule - field must be present if another field is present
5126
5155
  * Supports both global and sibling scope
@@ -5188,7 +5217,7 @@ const presentWithAnyRule = {
5188
5217
  };
5189
5218
 
5190
5219
  //#endregion
5191
- //#region ../seal/src/rules/conditional/present-without-rules.ts
5220
+ //#region ../../packages/seal/src/rules/conditional/present-without-rules.ts
5192
5221
  /**
5193
5222
  * Present without rule - field must be present if another field is missing
5194
5223
  * Supports both global and sibling scope
@@ -5256,7 +5285,7 @@ const presentWithoutAnyRule = {
5256
5285
  };
5257
5286
 
5258
5287
  //#endregion
5259
- //#region ../seal/src/rules/conditional/forbidden-if-rules.ts
5288
+ //#region ../../packages/seal/src/rules/conditional/forbidden-if-rules.ts
5260
5289
  /**
5261
5290
  * Forbidden if rule - field is forbidden if another field equals a specific value
5262
5291
  * Supports both global and sibling scope
@@ -5365,7 +5394,7 @@ const forbiddenIfNotInRule = {
5365
5394
  };
5366
5395
 
5367
5396
  //#endregion
5368
- //#region ../seal/src/rules/common/enum.ts
5397
+ //#region ../../packages/seal/src/rules/common/enum.ts
5369
5398
  /**
5370
5399
  * Enum rule - value must be one of the enum values
5371
5400
  */
@@ -5437,7 +5466,7 @@ const notAllowedValuesRule = {
5437
5466
  };
5438
5467
 
5439
5468
  //#endregion
5440
- //#region ../seal/src/rules/common/equals-field-rules.ts
5469
+ //#region ../../packages/seal/src/rules/common/equals-field-rules.ts
5441
5470
  /**
5442
5471
  * Equals field rule - value must equal another field's value
5443
5472
  * Supports both global and sibling scope
@@ -5473,7 +5502,7 @@ const notEqualsFieldRule = {
5473
5502
  };
5474
5503
 
5475
5504
  //#endregion
5476
- //#region ../seal/src/rules/common/instanceof.ts
5505
+ //#region ../../packages/seal/src/rules/common/instanceof.ts
5477
5506
  /**
5478
5507
  * InstanceOf rule - value must be an instance of the given constructor.
5479
5508
  *
@@ -5491,7 +5520,7 @@ const instanceofRule = {
5491
5520
  };
5492
5521
 
5493
5522
  //#endregion
5494
- //#region ../seal/src/rules/common/literal.ts
5523
+ //#region ../../packages/seal/src/rules/common/literal.ts
5495
5524
  /**
5496
5525
  * Literal rule - value must be strictly equal to one of the literal values.
5497
5526
  *
@@ -5517,7 +5546,7 @@ const literalRule = {
5517
5546
  };
5518
5547
 
5519
5548
  //#endregion
5520
- //#region ../seal/src/rules/common/type-rules.ts
5549
+ //#region ../../packages/seal/src/rules/common/type-rules.ts
5521
5550
  /**
5522
5551
  * String rule - validates string type
5523
5552
  */
@@ -5608,7 +5637,7 @@ const arrayRule = {
5608
5637
  };
5609
5638
 
5610
5639
  //#endregion
5611
- //#region ../seal/src/rules/common/unknown-key.ts
5640
+ //#region ../../packages/seal/src/rules/common/unknown-key.ts
5612
5641
  /**
5613
5642
  * Unknown key rule - validates that object doesn't have unknown keys
5614
5643
  */
@@ -5628,7 +5657,7 @@ const unknownKeyRule = {
5628
5657
  };
5629
5658
 
5630
5659
  //#endregion
5631
- //#region ../seal/src/validators/array-validator.ts
5660
+ //#region ../../packages/seal/src/validators/array-validator.ts
5632
5661
  /**
5633
5662
  * Array validator class
5634
5663
  */
@@ -5801,7 +5830,7 @@ var ArrayValidator = class extends BaseValidator {
5801
5830
  };
5802
5831
 
5803
5832
  //#endregion
5804
- //#region ../seal/src/validators/methods/equality-conditional-methods.ts
5833
+ //#region ../../packages/seal/src/validators/methods/equality-conditional-methods.ts
5805
5834
  /**
5806
5835
  * Value must be equal to the given value
5807
5836
  */
@@ -5922,7 +5951,7 @@ BaseValidator.prototype.whenSibling = function(siblingField, options) {
5922
5951
  };
5923
5952
 
5924
5953
  //#endregion
5925
- //#region ../seal/src/validators/methods/forbidden-methods.ts
5954
+ //#region ../../packages/seal/src/validators/methods/forbidden-methods.ts
5926
5955
  /**
5927
5956
  * Value is forbidden to be present
5928
5957
  */
@@ -6047,7 +6076,7 @@ BaseValidator.prototype.forbiddenIfNotInSibling = function(field, values, errorM
6047
6076
  };
6048
6077
 
6049
6078
  //#endregion
6050
- //#region ../seal/src/validators/methods/present-methods.ts
6079
+ //#region ../../packages/seal/src/validators/methods/present-methods.ts
6051
6080
  /**
6052
6081
  * Field must be present if another field exists
6053
6082
  */
@@ -6274,7 +6303,7 @@ BaseValidator.prototype.presentWithoutAnySiblings = function(fields, errorMessag
6274
6303
  };
6275
6304
 
6276
6305
  //#endregion
6277
- //#region ../seal/src/validators/methods/required-methods.ts
6306
+ //#region ../../packages/seal/src/validators/methods/required-methods.ts
6278
6307
  /**
6279
6308
  * This value must be present and has a value
6280
6309
  */
@@ -6611,7 +6640,7 @@ BaseValidator.prototype.requiredWhen = function(callback, errorMessage) {
6611
6640
  };
6612
6641
 
6613
6642
  //#endregion
6614
- //#region ../seal/src/validators/primitive-validator.ts
6643
+ //#region ../../packages/seal/src/validators/primitive-validator.ts
6615
6644
  /**
6616
6645
  * Abstract base validator for primitive-typed fields (string, number, boolean).
6617
6646
  *
@@ -6694,7 +6723,7 @@ var PrimitiveValidator = class extends BaseValidator {
6694
6723
  };
6695
6724
 
6696
6725
  //#endregion
6697
- //#region ../seal/src/validators/boolean-validator.ts
6726
+ //#region ../../packages/seal/src/validators/boolean-validator.ts
6698
6727
  /**
6699
6728
  * Boolean validator class
6700
6729
  *
@@ -6858,7 +6887,7 @@ var BooleanValidator = class extends PrimitiveValidator {
6858
6887
  };
6859
6888
 
6860
6889
  //#endregion
6861
- //#region ../seal/src/validators/computed-validator.ts
6890
+ //#region ../../packages/seal/src/validators/computed-validator.ts
6862
6891
  /**
6863
6892
  * Computed field validator
6864
6893
  *
@@ -6972,7 +7001,7 @@ var ComputedValidator = class extends BaseValidator {
6972
7001
  };
6973
7002
 
6974
7003
  //#endregion
6975
- //#region ../seal/src/validators/date-validator.ts
7004
+ //#region ../../packages/seal/src/validators/date-validator.ts
6976
7005
  /**
6977
7006
  * Date validator class
6978
7007
  */
@@ -7593,7 +7622,7 @@ var DateValidator = class extends BaseValidator {
7593
7622
  };
7594
7623
 
7595
7624
  //#endregion
7596
- //#region ../seal/src/validators/literal-validator.ts
7625
+ //#region ../../packages/seal/src/validators/literal-validator.ts
7597
7626
  /**
7598
7627
  * Literal validator class
7599
7628
  *
@@ -7612,9 +7641,11 @@ var LiteralValidator = class extends BaseValidator {
7612
7641
  values;
7613
7642
  constructor(values, errorMessage) {
7614
7643
  super();
7615
- this.blankIsMissing = true;
7616
7644
  this.values = values;
7617
7645
  this.addMutableRule(literalRule, errorMessage, { values });
7646
+ const acceptsBlank = values.some((value) => typeof value === "string" && value.trim() === "");
7647
+ this.blankIsMissing = !acceptsBlank;
7648
+ if (acceptsBlank) this.requiredRule = this.createRule(presentRule);
7618
7649
  }
7619
7650
  /**
7620
7651
  * Check if value is one of the configured literals
@@ -7656,7 +7687,7 @@ var LiteralValidator = class extends BaseValidator {
7656
7687
  };
7657
7688
 
7658
7689
  //#endregion
7659
- //#region ../seal/src/validators/discriminated-union-validator.ts
7690
+ //#region ../../packages/seal/src/validators/discriminated-union-validator.ts
7660
7691
  /** Whether a value read from the payload can be a discriminator key. */
7661
7692
  function isDiscriminatorValue(value) {
7662
7693
  return typeof value === "string" || typeof value === "number" || typeof value === "boolean";
@@ -7730,6 +7761,11 @@ var DiscriminatedUnionValidator = class DiscriminatedUnionValidator extends Base
7730
7761
  errors: [],
7731
7762
  data: null
7732
7763
  };
7764
+ if (data == null) {
7765
+ const fallback = this.getDefaultValue();
7766
+ if (fallback == null) return super.validate(void 0, context);
7767
+ data = fallback;
7768
+ }
7733
7769
  if (!isPlainObject(data)) return {
7734
7770
  isValid: false,
7735
7771
  errors: [{
@@ -7782,7 +7818,7 @@ var DiscriminatedUnionValidator = class DiscriminatedUnionValidator extends Base
7782
7818
  };
7783
7819
 
7784
7820
  //#endregion
7785
- //#region ../seal/src/validators/number-validator.ts
7821
+ //#region ../../packages/seal/src/validators/number-validator.ts
7786
7822
  /**
7787
7823
  * Number validator class - base for Int and Float validators
7788
7824
  */
@@ -8102,7 +8138,7 @@ var NumberValidator = class extends PrimitiveValidator {
8102
8138
  };
8103
8139
 
8104
8140
  //#endregion
8105
- //#region ../seal/src/validators/float-validator.ts
8141
+ //#region ../../packages/seal/src/validators/float-validator.ts
8106
8142
  /**
8107
8143
  * Float validator class
8108
8144
  */
@@ -8114,7 +8150,7 @@ var FloatValidator = class extends NumberValidator {
8114
8150
  };
8115
8151
 
8116
8152
  //#endregion
8117
- //#region ../seal/src/validators/instanceof-validator.ts
8153
+ //#region ../../packages/seal/src/validators/instanceof-validator.ts
8118
8154
  /**
8119
8155
  * InstanceOf validator class
8120
8156
  *
@@ -8173,7 +8209,7 @@ var InstanceOfValidator = class extends BaseValidator {
8173
8209
  };
8174
8210
 
8175
8211
  //#endregion
8176
- //#region ../seal/src/validators/int-validator.ts
8212
+ //#region ../../packages/seal/src/validators/int-validator.ts
8177
8213
  /**
8178
8214
  * Integer validator class
8179
8215
  */
@@ -8197,7 +8233,7 @@ var IntValidator = class extends NumberValidator {
8197
8233
  };
8198
8234
 
8199
8235
  //#endregion
8200
- //#region ../seal/src/validators/lazy-validator.ts
8236
+ //#region ../../packages/seal/src/validators/lazy-validator.ts
8201
8237
  /**
8202
8238
  * Lazy validator — defers resolution of the inner validator until validate-time.
8203
8239
  *
@@ -8280,7 +8316,7 @@ var LazyValidator = class extends BaseValidator {
8280
8316
  };
8281
8317
 
8282
8318
  //#endregion
8283
- //#region ../seal/src/validators/managed-validator.ts
8319
+ //#region ../../packages/seal/src/validators/managed-validator.ts
8284
8320
  /**
8285
8321
  * Managed field validator
8286
8322
  *
@@ -8315,7 +8351,7 @@ var ManagedValidator = class extends ComputedValidator {
8315
8351
  };
8316
8352
 
8317
8353
  //#endregion
8318
- //#region ../seal/src/validators/numeric-validator.ts
8354
+ //#region ../../packages/seal/src/validators/numeric-validator.ts
8319
8355
  /**
8320
8356
  * Numeric validator class - base for Int and Float validators either as number or string
8321
8357
  */
@@ -8336,7 +8372,7 @@ var NumericValidator = class extends NumberValidator {
8336
8372
  };
8337
8373
 
8338
8374
  //#endregion
8339
- //#region ../seal/src/validators/object-validator.ts
8375
+ //#region ../../packages/seal/src/validators/object-validator.ts
8340
8376
  /**
8341
8377
  * Object validator class with generic schema type for proper type inference.
8342
8378
  *
@@ -8629,13 +8665,15 @@ var ObjectValidator = class ObjectValidator extends BaseValidator {
8629
8665
  const validatedData = {};
8630
8666
  const fieldErrors = [];
8631
8667
  const validationPromises = Object.entries(this.schema).filter(([, validator]) => !this.isComputedValidator(validator)).map(async ([key, validator], index) => {
8632
- const value = mutatedData?.[key] !== void 0 ? mutatedData[key] : validator.getDefaultValue();
8668
+ const isPresent = mutatedData?.[key] !== void 0;
8669
+ const value = isPresent ? mutatedData[key] : validator.getDefaultValue();
8633
8670
  const childContext = {
8634
8671
  ...context,
8635
8672
  parent: mutatedData,
8636
8673
  value,
8637
8674
  key,
8638
- path: setKeyPath(context.path, key)
8675
+ path: setKeyPath(context.path, key),
8676
+ valueIsDefault: !isPresent && value !== void 0
8639
8677
  };
8640
8678
  const childResult = await validator.validate(value, childContext);
8641
8679
  if (childResult.data !== void 0 && !validator.isOmitted()) validatedData[key] = childResult.data;
@@ -8766,7 +8804,7 @@ function removeUndefinedValues(obj, visited = /* @__PURE__ */ new WeakMap()) {
8766
8804
  }
8767
8805
 
8768
8806
  //#endregion
8769
- //#region ../seal/src/validators/record-validator.ts
8807
+ //#region ../../packages/seal/src/validators/record-validator.ts
8770
8808
  /**
8771
8809
  * Record validator class - validates objects with dynamic keys and consistent value types
8772
8810
  *
@@ -8868,7 +8906,7 @@ var RecordValidator = class extends BaseValidator {
8868
8906
  };
8869
8907
 
8870
8908
  //#endregion
8871
- //#region ../seal/src/validators/scalar-validator.ts
8909
+ //#region ../../packages/seal/src/validators/scalar-validator.ts
8872
8910
  /**
8873
8911
  * Scalar validator class
8874
8912
  *
@@ -9028,7 +9066,7 @@ var ScalarValidator = class extends PrimitiveValidator {
9028
9066
  };
9029
9067
 
9030
9068
  //#endregion
9031
- //#region ../seal/src/validators/string-validator.ts
9069
+ //#region ../../packages/seal/src/validators/string-validator.ts
9032
9070
  /**
9033
9071
  * String validator class
9034
9072
  */
@@ -9466,7 +9504,7 @@ var StringValidator = class extends PrimitiveValidator {
9466
9504
  };
9467
9505
 
9468
9506
  //#endregion
9469
- //#region ../seal/src/validators/tuple-validator.ts
9507
+ //#region ../../packages/seal/src/validators/tuple-validator.ts
9470
9508
  /**
9471
9509
  * Tuple validator class - validates fixed-length arrays with position-specific types
9472
9510
  *
@@ -9591,7 +9629,7 @@ var TupleValidator = class extends BaseValidator {
9591
9629
  };
9592
9630
 
9593
9631
  //#endregion
9594
- //#region ../seal/src/validators/union-validator.ts
9632
+ //#region ../../packages/seal/src/validators/union-validator.ts
9595
9633
  /**
9596
9634
  * Union validator class - validates value against multiple validator types
9597
9635
  *
@@ -9650,17 +9688,17 @@ var UnionValidator = class extends BaseValidator {
9650
9688
  };
9651
9689
 
9652
9690
  //#endregion
9653
- //#region ../seal/src/object.ts
9691
+ //#region ../../packages/seal/src/object.ts
9654
9692
  /** Create an object schema without importing the complete `v` factory. */
9655
9693
  const object = (schema, errorMessage) => new ObjectValidator(schema, errorMessage);
9656
9694
 
9657
9695
  //#endregion
9658
- //#region ../seal/src/string.ts
9696
+ //#region ../../packages/seal/src/string.ts
9659
9697
  /** Create a string schema without importing the complete `v` factory. */
9660
9698
  const string = (errorMessage) => new StringValidator(errorMessage);
9661
9699
 
9662
9700
  //#endregion
9663
- //#region ../seal/src/factory/validators.ts
9701
+ //#region ../../packages/seal/src/factory/validators.ts
9664
9702
  /**
9665
9703
  * Seal factory object - creates instances of validators
9666
9704
  *
@@ -9764,7 +9802,7 @@ const v = {
9764
9802
  };
9765
9803
 
9766
9804
  //#endregion
9767
- //#region ../herald/src/drivers/rabbitmq/rabbitmq-channel.ts
9805
+ //#region ../../packages/herald/src/drivers/rabbitmq/rabbitmq-channel.ts
9768
9806
  /**
9769
9807
  * RabbitMQ Channel Implementation
9770
9808
  *
@@ -10160,7 +10198,7 @@ var RabbitMQSubscription = class {
10160
10198
  };
10161
10199
 
10162
10200
  //#endregion
10163
- //#region ../herald/src/drivers/rabbitmq/rabbitmq-driver.ts
10201
+ //#region ../../packages/herald/src/drivers/rabbitmq/rabbitmq-driver.ts
10164
10202
  /**
10165
10203
  * The single amqplib load, shared by every caller.
10166
10204
  *
@@ -10205,7 +10243,7 @@ function redactAmqpCredentials(message) {
10205
10243
  * @returns The amqplib module, or `undefined` when it is not installed.
10206
10244
  */
10207
10245
  function loadAmqplibModule() {
10208
- if (!amqplibModulePromise) amqplibModulePromise = Promise.resolve().then(() => /* @__PURE__ */ require_chunk.__toESM(require("./channel_api-CBB_XoIl.cjs").default, 1)).catch(() => void 0);
10246
+ if (!amqplibModulePromise) amqplibModulePromise = Promise.resolve().then(() => /* @__PURE__ */ require_chunk.__toESM(require("./channel_api-C5ZZDkgQ.cjs").default, 1)).catch(() => void 0);
10209
10247
  return amqplibModulePromise;
10210
10248
  }
10211
10249
  /**
@@ -10456,7 +10494,7 @@ var RabbitMQDriver = class {
10456
10494
  };
10457
10495
 
10458
10496
  //#endregion
10459
- //#region ../herald/src/communicators/broker.ts
10497
+ //#region ../../packages/herald/src/communicators/broker.ts
10460
10498
  /**
10461
10499
  * Broker - wrapper around a driver with metadata
10462
10500
  *
@@ -10564,7 +10602,7 @@ var Broker = class {
10564
10602
  };
10565
10603
 
10566
10604
  //#endregion
10567
- //#region ../herald/src/communicators/broker-registry.ts
10605
+ //#region ../../packages/herald/src/communicators/broker-registry.ts
10568
10606
  /**
10569
10607
  * Error thrown when a broker is not found
10570
10608
  */
@@ -10763,7 +10801,7 @@ var BrokerRegistry = class {
10763
10801
  const brokerRegistry = new BrokerRegistry();
10764
10802
 
10765
10803
  //#endregion
10766
- //#region ../herald/src/utils/connect-to-broker.ts
10804
+ //#region ../../packages/herald/src/utils/connect-to-broker.ts
10767
10805
  /**
10768
10806
  * Connect to a message broker and register it.
10769
10807
  *
@@ -10825,7 +10863,7 @@ async function connectToBroker(options) {
10825
10863
  switch (driverType) {
10826
10864
  case "rabbitmq": {
10827
10865
  const rabbitOptions = options;
10828
- const { RabbitMQDriver } = await Promise.resolve().then(() => require("./rabbitmq-driver-CYeFwv0w.cjs"));
10866
+ const { RabbitMQDriver } = await Promise.resolve().then(() => require("./rabbitmq-driver-BFoWr21L.cjs"));
10829
10867
  driver = new RabbitMQDriver(rabbitOptions);
10830
10868
  break;
10831
10869
  }
@@ -10926,7 +10964,7 @@ async function subscribeConsumer(Consumer) {
10926
10964
  }
10927
10965
 
10928
10966
  //#endregion
10929
- //#region ../herald/src/decorators/consumable.ts
10967
+ //#region ../../packages/herald/src/decorators/consumable.ts
10930
10968
  const pendingSubscribers = /* @__PURE__ */ new Set();
10931
10969
  /**
10932
10970
  * Register the consumer to the broker
@@ -10957,7 +10995,7 @@ brokerRegistry.on("connected", (broker) => {
10957
10995
  });
10958
10996
 
10959
10997
  //#endregion
10960
- //#region ../herald/src/message-managers/event-consumer.ts
10998
+ //#region ../../packages/herald/src/message-managers/event-consumer.ts
10961
10999
  /**
10962
11000
  * This class is used to be part of the Herald Event Consumer Manager.
10963
11001
  * It should be used to consume events from Either RabbitMQ or Kafka through Herald
@@ -11025,7 +11063,7 @@ function defineConsumer(eventName, options) {
11025
11063
  }
11026
11064
 
11027
11065
  //#endregion
11028
- //#region ../herald/src/message-managers/event-message.ts
11066
+ //#region ../../packages/herald/src/message-managers/event-message.ts
11029
11067
  var EventMessage = class {
11030
11068
  data;
11031
11069
  /**
@@ -11106,7 +11144,7 @@ function defineEvent(eventName, options = {}) {
11106
11144
  }
11107
11145
 
11108
11146
  //#endregion
11109
- //#region ../herald/src/use-case-broadcast.ts
11147
+ //#region ../../packages/herald/src/use-case-broadcast.ts
11110
11148
  /**
11111
11149
  * Channel adapter that publishes use-case broadcast events onto a herald broker.
11112
11150
  *
@@ -11149,4 +11187,4 @@ exports.heraldChannel = heraldChannel;
11149
11187
  exports.pendingSubscribers = pendingSubscribers;
11150
11188
  exports.publishEvent = publishEvent;
11151
11189
  exports.subscribeConsumer = subscribeConsumer;
11152
- //# sourceMappingURL=src-B6UVThgW.cjs.map
11190
+ //# sourceMappingURL=src-eu2jxS21.cjs.map