@warlock.js/core 4.1.14 → 4.2.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 (785) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/LICENSE +21 -0
  3. package/esm/application/app.d.mts +1 -1
  4. package/esm/application/app.d.mts.map +1 -1
  5. package/esm/application/app.mjs +1 -1
  6. package/esm/application/app.mjs.map +1 -1
  7. package/esm/application/application-config-types.d.mts +1 -1
  8. package/esm/application/application-config-types.d.mts.map +1 -1
  9. package/esm/application/application.d.mts +1 -1
  10. package/esm/application/application.d.mts.map +1 -1
  11. package/esm/application/application.mjs +1 -1
  12. package/esm/application/application.mjs.map +1 -1
  13. package/esm/benchmark/benchmark-snapshots.d.mts +1 -1
  14. package/esm/benchmark/benchmark-snapshots.d.mts.map +1 -1
  15. package/esm/benchmark/benchmark-snapshots.mjs +1 -1
  16. package/esm/benchmark/benchmark-snapshots.mjs.map +1 -1
  17. package/esm/benchmark/benchmark.d.mts +1 -1
  18. package/esm/benchmark/benchmark.d.mts.map +1 -1
  19. package/esm/benchmark/benchmark.mjs +1 -1
  20. package/esm/benchmark/benchmark.mjs.map +1 -1
  21. package/esm/benchmark/channels/console.channel.d.mts +1 -1
  22. package/esm/benchmark/channels/console.channel.d.mts.map +1 -1
  23. package/esm/benchmark/channels/console.channel.mjs +1 -1
  24. package/esm/benchmark/channels/console.channel.mjs.map +1 -1
  25. package/esm/benchmark/channels/noop.channel.d.mts +1 -1
  26. package/esm/benchmark/channels/noop.channel.d.mts.map +1 -1
  27. package/esm/benchmark/channels/noop.channel.mjs +1 -1
  28. package/esm/benchmark/channels/noop.channel.mjs.map +1 -1
  29. package/esm/benchmark/profiler.d.mts +1 -1
  30. package/esm/benchmark/profiler.d.mts.map +1 -1
  31. package/esm/benchmark/profiler.mjs +1 -1
  32. package/esm/benchmark/profiler.mjs.map +1 -1
  33. package/esm/benchmark/types.d.mts +1 -1
  34. package/esm/benchmark/types.d.mts.map +1 -1
  35. package/esm/bootstrap/setup.d.mts +1 -1
  36. package/esm/bootstrap/setup.d.mts.map +1 -1
  37. package/esm/bootstrap/setup.mjs +1 -1
  38. package/esm/bootstrap/setup.mjs.map +1 -1
  39. package/esm/bootstrap.d.mts +1 -1
  40. package/esm/bootstrap.d.mts.map +1 -1
  41. package/esm/bootstrap.mjs +1 -1
  42. package/esm/bootstrap.mjs.map +1 -1
  43. package/esm/cache/database-cache-driver.d.mts +1 -1
  44. package/esm/cache/database-cache-driver.d.mts.map +1 -1
  45. package/esm/cache/database-cache-driver.mjs +1 -1
  46. package/esm/cache/database-cache-driver.mjs.map +1 -1
  47. package/esm/cache/index.mjs +1 -1
  48. package/esm/cache/index.mjs.map +1 -1
  49. package/esm/cli/cli-command.d.mts +1 -1
  50. package/esm/cli/cli-command.d.mts.map +1 -1
  51. package/esm/cli/cli-command.mjs +1 -1
  52. package/esm/cli/cli-command.mjs.map +1 -1
  53. package/esm/cli/types.d.mts +1 -1
  54. package/esm/cli/types.d.mts.map +1 -1
  55. package/esm/config/config-getter.d.mts +1 -1
  56. package/esm/config/config-getter.d.mts.map +1 -1
  57. package/esm/config/config-getter.mjs +1 -1
  58. package/esm/config/config-getter.mjs.map +1 -1
  59. package/esm/config/config-handlers.d.mts +1 -1
  60. package/esm/config/config-handlers.d.mts.map +1 -1
  61. package/esm/config/config-handlers.mjs +1 -1
  62. package/esm/config/config-handlers.mjs.map +1 -1
  63. package/esm/config/config-loader.d.mts +1 -1
  64. package/esm/config/config-loader.d.mts.map +1 -1
  65. package/esm/config/config-loader.mjs +1 -1
  66. package/esm/config/config-loader.mjs.map +1 -1
  67. package/esm/config/config-manager.mjs +1 -1
  68. package/esm/config/config-manager.mjs.map +1 -1
  69. package/esm/config/config-special-handlers.d.mts +1 -1
  70. package/esm/config/config-special-handlers.d.mts.map +1 -1
  71. package/esm/config/config-special-handlers.mjs +1 -1
  72. package/esm/config/config-special-handlers.mjs.map +1 -1
  73. package/esm/config/load-config-files.mjs +1 -1
  74. package/esm/config/load-config-files.mjs.map +1 -1
  75. package/esm/config/types.d.mts +1 -1
  76. package/esm/config/types.d.mts.map +1 -1
  77. package/esm/connectors/access-connector.d.mts +39 -0
  78. package/esm/connectors/access-connector.d.mts.map +1 -0
  79. package/esm/connectors/access-connector.mjs +54 -0
  80. package/esm/connectors/access-connector.mjs.map +1 -0
  81. package/esm/connectors/base-connector.d.mts +1 -1
  82. package/esm/connectors/base-connector.d.mts.map +1 -1
  83. package/esm/connectors/base-connector.mjs +1 -1
  84. package/esm/connectors/base-connector.mjs.map +1 -1
  85. package/esm/connectors/cache-connector.d.mts +1 -1
  86. package/esm/connectors/cache-connector.d.mts.map +1 -1
  87. package/esm/connectors/cache-connector.mjs +1 -1
  88. package/esm/connectors/cache-connector.mjs.map +1 -1
  89. package/esm/connectors/connectors-manager.d.mts +1 -1
  90. package/esm/connectors/connectors-manager.d.mts.map +1 -1
  91. package/esm/connectors/connectors-manager.mjs +5 -1
  92. package/esm/connectors/connectors-manager.mjs.map +1 -1
  93. package/esm/connectors/database-connector.d.mts +1 -1
  94. package/esm/connectors/database-connector.d.mts.map +1 -1
  95. package/esm/connectors/database-connector.mjs +1 -1
  96. package/esm/connectors/database-connector.mjs.map +1 -1
  97. package/esm/connectors/herald-connector.d.mts +1 -1
  98. package/esm/connectors/herald-connector.d.mts.map +1 -1
  99. package/esm/connectors/herald-connector.mjs +2 -2
  100. package/esm/connectors/herald-connector.mjs.map +1 -1
  101. package/esm/connectors/http-connector.d.mts +1 -1
  102. package/esm/connectors/http-connector.d.mts.map +1 -1
  103. package/esm/connectors/http-connector.mjs +3 -1
  104. package/esm/connectors/http-connector.mjs.map +1 -1
  105. package/esm/connectors/index.d.mts +2 -0
  106. package/esm/connectors/index.mjs +2 -0
  107. package/esm/connectors/logger-connector.d.mts +1 -1
  108. package/esm/connectors/logger-connector.d.mts.map +1 -1
  109. package/esm/connectors/logger-connector.mjs +1 -1
  110. package/esm/connectors/logger-connector.mjs.map +1 -1
  111. package/esm/connectors/mail-connector.d.mts +1 -1
  112. package/esm/connectors/mail-connector.d.mts.map +1 -1
  113. package/esm/connectors/mail-connector.mjs +1 -1
  114. package/esm/connectors/mail-connector.mjs.map +1 -1
  115. package/esm/connectors/notifications-connector.d.mts +38 -0
  116. package/esm/connectors/notifications-connector.d.mts.map +1 -0
  117. package/esm/connectors/notifications-connector.mjs +51 -0
  118. package/esm/connectors/notifications-connector.mjs.map +1 -0
  119. package/esm/connectors/socket-connector.d.mts +1 -1
  120. package/esm/connectors/socket-connector.d.mts.map +1 -1
  121. package/esm/connectors/socket-connector.mjs +1 -1
  122. package/esm/connectors/socket-connector.mjs.map +1 -1
  123. package/esm/connectors/storage.connector.d.mts +1 -1
  124. package/esm/connectors/storage.connector.d.mts.map +1 -1
  125. package/esm/connectors/storage.connector.mjs +1 -1
  126. package/esm/connectors/storage.connector.mjs.map +1 -1
  127. package/esm/connectors/types.d.mts +5 -3
  128. package/esm/connectors/types.d.mts.map +1 -1
  129. package/esm/connectors/types.mjs +3 -1
  130. package/esm/connectors/types.mjs.map +1 -1
  131. package/esm/container/index.d.mts +1 -1
  132. package/esm/container/index.d.mts.map +1 -1
  133. package/esm/container/index.mjs +1 -1
  134. package/esm/container/index.mjs.map +1 -1
  135. package/esm/database/models/database-log/database-log.d.mts +1 -1
  136. package/esm/database/models/database-log/database-log.d.mts.map +1 -1
  137. package/esm/database/models/database-log/database-log.mjs +1 -1
  138. package/esm/database/models/database-log/database-log.mjs.map +1 -1
  139. package/esm/database/seeds/seeder.d.mts +1 -1
  140. package/esm/database/seeds/seeder.d.mts.map +1 -1
  141. package/esm/database/seeds/seeder.mjs +1 -1
  142. package/esm/database/seeds/seeder.mjs.map +1 -1
  143. package/esm/database/seeds/types.d.mts +1 -1
  144. package/esm/database/seeds/types.d.mts.map +1 -1
  145. package/esm/database/utils.d.mts +1 -1
  146. package/esm/database/utils.d.mts.map +1 -1
  147. package/esm/database/utils.mjs +1 -1
  148. package/esm/database/utils.mjs.map +1 -1
  149. package/esm/dev-server/create-worker.mjs +1 -1
  150. package/esm/dev-server/create-worker.mjs.map +1 -1
  151. package/esm/dev-server/dependency-graph.d.mts +1 -1
  152. package/esm/dev-server/dependency-graph.d.mts.map +1 -1
  153. package/esm/dev-server/dependency-graph.mjs +1 -1
  154. package/esm/dev-server/dependency-graph.mjs.map +1 -1
  155. package/esm/dev-server/dev-logger.mjs +2 -13
  156. package/esm/dev-server/dev-logger.mjs.map +1 -1
  157. package/esm/dev-server/events.mjs +1 -1
  158. package/esm/dev-server/events.mjs.map +1 -1
  159. package/esm/dev-server/file-event-handler.mjs +1 -1
  160. package/esm/dev-server/file-event-handler.mjs.map +1 -1
  161. package/esm/dev-server/file-manager.d.mts +1 -1
  162. package/esm/dev-server/file-manager.d.mts.map +1 -1
  163. package/esm/dev-server/file-manager.mjs +1 -1
  164. package/esm/dev-server/file-manager.mjs.map +1 -1
  165. package/esm/dev-server/file-operations.d.mts +1 -1
  166. package/esm/dev-server/file-operations.d.mts.map +1 -1
  167. package/esm/dev-server/file-operations.mjs +1 -1
  168. package/esm/dev-server/file-operations.mjs.map +1 -1
  169. package/esm/dev-server/files-orchestrator.d.mts +1 -1
  170. package/esm/dev-server/files-orchestrator.d.mts.map +1 -1
  171. package/esm/dev-server/files-orchestrator.mjs +1 -1
  172. package/esm/dev-server/files-orchestrator.mjs.map +1 -1
  173. package/esm/dev-server/files-watcher.d.mts +1 -1
  174. package/esm/dev-server/files-watcher.d.mts.map +1 -1
  175. package/esm/dev-server/files-watcher.mjs +1 -1
  176. package/esm/dev-server/files-watcher.mjs.map +1 -1
  177. package/esm/dev-server/flags.mjs +1 -1
  178. package/esm/dev-server/flags.mjs.map +1 -1
  179. package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts +1 -1
  180. package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts.map +1 -1
  181. package/esm/dev-server/health-checker/checkers/base-health-checker.mjs +1 -1
  182. package/esm/dev-server/health-checker/checkers/base-health-checker.mjs.map +1 -1
  183. package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts +1 -1
  184. package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts.map +1 -1
  185. package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs +1 -1
  186. package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs.map +1 -1
  187. package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts +1 -1
  188. package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts.map +1 -1
  189. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs +1 -1
  190. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs.map +1 -1
  191. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts +1 -1
  192. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts.map +1 -1
  193. package/esm/dev-server/health-checker/file-health-result.d.mts +1 -1
  194. package/esm/dev-server/health-checker/file-health-result.d.mts.map +1 -1
  195. package/esm/dev-server/health-checker/file-health-result.mjs +1 -1
  196. package/esm/dev-server/health-checker/file-health-result.mjs.map +1 -1
  197. package/esm/dev-server/health-checker/files-healthcare.manager.d.mts +1 -1
  198. package/esm/dev-server/health-checker/files-healthcare.manager.d.mts.map +1 -1
  199. package/esm/dev-server/health-checker/files-healthcare.manager.mjs +1 -1
  200. package/esm/dev-server/health-checker/files-healthcare.manager.mjs.map +1 -1
  201. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs +1 -1
  202. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs.map +1 -1
  203. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs +1 -1
  204. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs.map +1 -1
  205. package/esm/dev-server/loader/build-transpile-init.mjs +1 -1
  206. package/esm/dev-server/loader/build-transpile-init.mjs.map +1 -1
  207. package/esm/dev-server/loader/register-loader.mjs +1 -1
  208. package/esm/dev-server/loader/register-loader.mjs.map +1 -1
  209. package/esm/dev-server/loader/transpile-cache.mjs +2 -164
  210. package/esm/dev-server/loader/transpile-cache.mjs.map +1 -1
  211. package/esm/dev-server/manifest-manager.d.mts +1 -1
  212. package/esm/dev-server/manifest-manager.d.mts.map +1 -1
  213. package/esm/dev-server/manifest-manager.mjs +1 -1
  214. package/esm/dev-server/manifest-manager.mjs.map +1 -1
  215. package/esm/dev-server/module-loader.d.mts +1 -1
  216. package/esm/dev-server/module-loader.d.mts.map +1 -1
  217. package/esm/dev-server/module-loader.mjs +1 -1
  218. package/esm/dev-server/module-loader.mjs.map +1 -1
  219. package/esm/dev-server/package-json-manager.mjs +1 -1
  220. package/esm/dev-server/package-json-manager.mjs.map +1 -1
  221. package/esm/dev-server/parse-imports.mjs +1 -1
  222. package/esm/dev-server/parse-imports.mjs.map +1 -1
  223. package/esm/dev-server/path.mjs +1 -1
  224. package/esm/dev-server/path.mjs.map +1 -1
  225. package/esm/dev-server/special-files-collector.d.mts +1 -1
  226. package/esm/dev-server/special-files-collector.d.mts.map +1 -1
  227. package/esm/dev-server/special-files-collector.mjs +1 -1
  228. package/esm/dev-server/special-files-collector.mjs.map +1 -1
  229. package/esm/dev-server/tsconfig-manager.mjs +1 -1
  230. package/esm/dev-server/tsconfig-manager.mjs.map +1 -1
  231. package/esm/dev-server/types.d.mts +1 -1
  232. package/esm/dev-server/types.d.mts.map +1 -1
  233. package/esm/dev-server/utils.mjs +1 -1
  234. package/esm/dev-server/utils.mjs.map +1 -1
  235. package/esm/encryption/encrypt.d.mts +1 -1
  236. package/esm/encryption/encrypt.d.mts.map +1 -1
  237. package/esm/encryption/encrypt.mjs +1 -1
  238. package/esm/encryption/encrypt.mjs.map +1 -1
  239. package/esm/encryption/hash.d.mts +1 -1
  240. package/esm/encryption/hash.d.mts.map +1 -1
  241. package/esm/encryption/hash.mjs +1 -1
  242. package/esm/encryption/hash.mjs.map +1 -1
  243. package/esm/encryption/password.d.mts +1 -1
  244. package/esm/encryption/password.d.mts.map +1 -1
  245. package/esm/encryption/password.mjs +1 -1
  246. package/esm/encryption/password.mjs.map +1 -1
  247. package/esm/encryption/types.d.mts +1 -1
  248. package/esm/encryption/types.d.mts.map +1 -1
  249. package/esm/http/config.d.mts +1 -1
  250. package/esm/http/config.d.mts.map +1 -1
  251. package/esm/http/config.mjs +1 -1
  252. package/esm/http/config.mjs.map +1 -1
  253. package/esm/http/context/request-context.d.mts +1 -1
  254. package/esm/http/context/request-context.d.mts.map +1 -1
  255. package/esm/http/context/request-context.mjs +1 -1
  256. package/esm/http/context/request-context.mjs.map +1 -1
  257. package/esm/http/createHttpApplication.d.mts +1 -1
  258. package/esm/http/createHttpApplication.d.mts.map +1 -1
  259. package/esm/http/createHttpApplication.mjs +1 -1
  260. package/esm/http/createHttpApplication.mjs.map +1 -1
  261. package/esm/http/database/RequestLog.d.mts +1 -1
  262. package/esm/http/database/RequestLog.d.mts.map +1 -1
  263. package/esm/http/database/RequestLog.mjs +1 -1
  264. package/esm/http/database/RequestLog.mjs.map +1 -1
  265. package/esm/http/error-codes.d.mts +1 -1
  266. package/esm/http/error-codes.d.mts.map +1 -1
  267. package/esm/http/error-codes.mjs +1 -1
  268. package/esm/http/error-codes.mjs.map +1 -1
  269. package/esm/http/errors/errors.d.mts +1 -1
  270. package/esm/http/errors/errors.d.mts.map +1 -1
  271. package/esm/http/errors/errors.mjs +1 -1
  272. package/esm/http/errors/errors.mjs.map +1 -1
  273. package/esm/http/events.d.mts +1 -1
  274. package/esm/http/events.d.mts.map +1 -1
  275. package/esm/http/events.mjs +1 -1
  276. package/esm/http/events.mjs.map +1 -1
  277. package/esm/http/middleware/cache-response-middleware.d.mts +1 -1
  278. package/esm/http/middleware/cache-response-middleware.d.mts.map +1 -1
  279. package/esm/http/middleware/cache-response-middleware.mjs +1 -1
  280. package/esm/http/middleware/cache-response-middleware.mjs.map +1 -1
  281. package/esm/http/middleware/concurrency-limit.middleware.d.mts +1 -1
  282. package/esm/http/middleware/concurrency-limit.middleware.d.mts.map +1 -1
  283. package/esm/http/middleware/concurrency-limit.middleware.mjs +1 -1
  284. package/esm/http/middleware/concurrency-limit.middleware.mjs.map +1 -1
  285. package/esm/http/middleware/idempotency.middleware.d.mts +1 -1
  286. package/esm/http/middleware/idempotency.middleware.d.mts.map +1 -1
  287. package/esm/http/middleware/idempotency.middleware.mjs +1 -1
  288. package/esm/http/middleware/idempotency.middleware.mjs.map +1 -1
  289. package/esm/http/middleware/inject-request-context.d.mts +1 -1
  290. package/esm/http/middleware/inject-request-context.d.mts.map +1 -1
  291. package/esm/http/middleware/inject-request-context.mjs +1 -1
  292. package/esm/http/middleware/inject-request-context.mjs.map +1 -1
  293. package/esm/http/middleware/ip-filter.middleware.d.mts +1 -1
  294. package/esm/http/middleware/ip-filter.middleware.d.mts.map +1 -1
  295. package/esm/http/middleware/ip-filter.middleware.mjs +1 -1
  296. package/esm/http/middleware/ip-filter.middleware.mjs.map +1 -1
  297. package/esm/http/middleware/maintenance.middleware.d.mts +1 -1
  298. package/esm/http/middleware/maintenance.middleware.d.mts.map +1 -1
  299. package/esm/http/middleware/maintenance.middleware.mjs +1 -1
  300. package/esm/http/middleware/maintenance.middleware.mjs.map +1 -1
  301. package/esm/http/middleware/max-body-size.middleware.d.mts +1 -1
  302. package/esm/http/middleware/max-body-size.middleware.d.mts.map +1 -1
  303. package/esm/http/middleware/max-body-size.middleware.mjs +1 -1
  304. package/esm/http/middleware/max-body-size.middleware.mjs.map +1 -1
  305. package/esm/http/middleware/middleware-list.d.mts +1 -1
  306. package/esm/http/middleware/middleware-list.d.mts.map +1 -1
  307. package/esm/http/middleware/middleware-list.mjs +1 -1
  308. package/esm/http/middleware/middleware-list.mjs.map +1 -1
  309. package/esm/http/middleware/rate-limit.middleware.d.mts +1 -1
  310. package/esm/http/middleware/rate-limit.middleware.d.mts.map +1 -1
  311. package/esm/http/middleware/rate-limit.middleware.mjs +1 -1
  312. package/esm/http/middleware/rate-limit.middleware.mjs.map +1 -1
  313. package/esm/http/middleware/utils/cidr-match.d.mts +1 -1
  314. package/esm/http/middleware/utils/cidr-match.d.mts.map +1 -1
  315. package/esm/http/middleware/utils/cidr-match.mjs +1 -1
  316. package/esm/http/middleware/utils/cidr-match.mjs.map +1 -1
  317. package/esm/http/middleware/utils/idempotency-key.d.mts +1 -1
  318. package/esm/http/middleware/utils/idempotency-key.d.mts.map +1 -1
  319. package/esm/http/middleware/utils/idempotency-key.mjs +1 -1
  320. package/esm/http/middleware/utils/idempotency-key.mjs.map +1 -1
  321. package/esm/http/middleware/utils/parse-size.d.mts +1 -1
  322. package/esm/http/middleware/utils/parse-size.d.mts.map +1 -1
  323. package/esm/http/middleware/utils/parse-size.mjs +1 -1
  324. package/esm/http/middleware/utils/parse-size.mjs.map +1 -1
  325. package/esm/http/plugins.d.mts +1 -1
  326. package/esm/http/plugins.d.mts.map +1 -1
  327. package/esm/http/plugins.mjs +1 -1
  328. package/esm/http/plugins.mjs.map +1 -1
  329. package/esm/http/request-controller.d.mts +1 -1
  330. package/esm/http/request-controller.d.mts.map +1 -1
  331. package/esm/http/request-controller.mjs +1 -1
  332. package/esm/http/request-controller.mjs.map +1 -1
  333. package/esm/http/request.d.mts +1 -1
  334. package/esm/http/request.d.mts.map +1 -1
  335. package/esm/http/request.mjs +1 -1
  336. package/esm/http/request.mjs.map +1 -1
  337. package/esm/http/response.d.mts +4 -4
  338. package/esm/http/response.d.mts.map +1 -1
  339. package/esm/http/response.mjs +1 -1
  340. package/esm/http/response.mjs.map +1 -1
  341. package/esm/http/server.d.mts +1 -1
  342. package/esm/http/server.d.mts.map +1 -1
  343. package/esm/http/server.mjs +1 -1
  344. package/esm/http/server.mjs.map +1 -1
  345. package/esm/http/types.d.mts +1 -1
  346. package/esm/http/types.d.mts.map +1 -1
  347. package/esm/http/uploaded-file.d.mts +1 -1
  348. package/esm/http/uploaded-file.d.mts.map +1 -1
  349. package/esm/http/uploaded-file.mjs +1 -1
  350. package/esm/http/uploaded-file.mjs.map +1 -1
  351. package/esm/http/uploads-config.d.mts +1 -1
  352. package/esm/http/uploads-config.d.mts.map +1 -1
  353. package/esm/http/uploads-config.mjs +1 -1
  354. package/esm/http/uploads-config.mjs.map +1 -1
  355. package/esm/http/uploads-types.d.mts +1 -1
  356. package/esm/http/uploads-types.d.mts.map +1 -1
  357. package/esm/image/image.d.mts +1 -1
  358. package/esm/image/image.d.mts.map +1 -1
  359. package/esm/image/image.mjs +1 -1
  360. package/esm/image/image.mjs.map +1 -1
  361. package/esm/index.d.mts +5 -2
  362. package/esm/index.mjs +6 -2
  363. package/esm/logger/logger.d.mts +1 -1
  364. package/esm/logger/logger.d.mts.map +1 -1
  365. package/esm/logger/logger.mjs +1 -1
  366. package/esm/logger/logger.mjs.map +1 -1
  367. package/esm/logger/types.d.mts +1 -1
  368. package/esm/logger/types.d.mts.map +1 -1
  369. package/esm/mail/config.d.mts +1 -1
  370. package/esm/mail/config.d.mts.map +1 -1
  371. package/esm/mail/config.mjs +1 -1
  372. package/esm/mail/config.mjs.map +1 -1
  373. package/esm/mail/events.d.mts +1 -1
  374. package/esm/mail/events.d.mts.map +1 -1
  375. package/esm/mail/events.mjs +1 -1
  376. package/esm/mail/events.mjs.map +1 -1
  377. package/esm/mail/mail.d.mts +1 -1
  378. package/esm/mail/mail.d.mts.map +1 -1
  379. package/esm/mail/mail.mjs +1 -1
  380. package/esm/mail/mail.mjs.map +1 -1
  381. package/esm/mail/mailer-pool.d.mts +1 -1
  382. package/esm/mail/mailer-pool.d.mts.map +1 -1
  383. package/esm/mail/mailer-pool.mjs +1 -1
  384. package/esm/mail/mailer-pool.mjs.map +1 -1
  385. package/esm/mail/react-mail.d.mts +1 -1
  386. package/esm/mail/react-mail.d.mts.map +1 -1
  387. package/esm/mail/react-mail.mjs +1 -1
  388. package/esm/mail/react-mail.mjs.map +1 -1
  389. package/esm/mail/send-mail.d.mts +1 -1
  390. package/esm/mail/send-mail.d.mts.map +1 -1
  391. package/esm/mail/send-mail.mjs +1 -1
  392. package/esm/mail/send-mail.mjs.map +1 -1
  393. package/esm/mail/test-mailbox.d.mts +1 -1
  394. package/esm/mail/test-mailbox.d.mts.map +1 -1
  395. package/esm/mail/test-mailbox.mjs +1 -1
  396. package/esm/mail/test-mailbox.mjs.map +1 -1
  397. package/esm/mail/types.d.mts +1 -1
  398. package/esm/mail/types.d.mts.map +1 -1
  399. package/esm/mail/types.mjs +1 -1
  400. package/esm/mail/types.mjs.map +1 -1
  401. package/esm/react/index.d.mts +1 -1
  402. package/esm/react/index.d.mts.map +1 -1
  403. package/esm/react/index.mjs +1 -1
  404. package/esm/react/index.mjs.map +1 -1
  405. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts +1 -1
  406. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts.map +1 -1
  407. package/esm/repositories/adapters/cascade/cascade-adapter.mjs +1 -1
  408. package/esm/repositories/adapters/cascade/cascade-adapter.mjs.map +1 -1
  409. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts +1 -1
  410. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts.map +1 -1
  411. package/esm/repositories/adapters/cascade/cascade-query-builder.mjs +1 -1
  412. package/esm/repositories/adapters/cascade/cascade-query-builder.mjs.map +1 -1
  413. package/esm/repositories/adapters/cascade/filter-applicator.mjs +1 -1
  414. package/esm/repositories/adapters/cascade/filter-applicator.mjs.map +1 -1
  415. package/esm/repositories/contracts/query-builder.contract.d.mts +1 -1
  416. package/esm/repositories/contracts/query-builder.contract.d.mts.map +1 -1
  417. package/esm/repositories/contracts/repository-adapter.contract.d.mts +1 -1
  418. package/esm/repositories/contracts/repository-adapter.contract.d.mts.map +1 -1
  419. package/esm/repositories/contracts/types.d.mts +1 -1
  420. package/esm/repositories/contracts/types.d.mts.map +1 -1
  421. package/esm/repositories/repository.manager.d.mts +1 -1
  422. package/esm/repositories/repository.manager.d.mts.map +1 -1
  423. package/esm/repositories/repository.manager.mjs +1 -1
  424. package/esm/repositories/repository.manager.mjs.map +1 -1
  425. package/esm/resource/define-resource.d.mts +1 -1
  426. package/esm/resource/define-resource.d.mts.map +1 -1
  427. package/esm/resource/define-resource.mjs +1 -1
  428. package/esm/resource/define-resource.mjs.map +1 -1
  429. package/esm/resource/register-resource.d.mts +1 -1
  430. package/esm/resource/register-resource.d.mts.map +1 -1
  431. package/esm/resource/register-resource.mjs +1 -1
  432. package/esm/resource/register-resource.mjs.map +1 -1
  433. package/esm/resource/resource-field-builder.d.mts +1 -1
  434. package/esm/resource/resource-field-builder.d.mts.map +1 -1
  435. package/esm/resource/resource-field-builder.mjs +1 -1
  436. package/esm/resource/resource-field-builder.mjs.map +1 -1
  437. package/esm/resource/resource.d.mts +1 -1
  438. package/esm/resource/resource.d.mts.map +1 -1
  439. package/esm/resource/resource.mjs +1 -1
  440. package/esm/resource/resource.mjs.map +1 -1
  441. package/esm/resource/types.d.mts +1 -1
  442. package/esm/resource/types.d.mts.map +1 -1
  443. package/esm/restful/restful.d.mts +1 -1
  444. package/esm/restful/restful.d.mts.map +1 -1
  445. package/esm/restful/restful.mjs +1 -1
  446. package/esm/restful/restful.mjs.map +1 -1
  447. package/esm/router/route-builder.d.mts +1 -1
  448. package/esm/router/route-builder.d.mts.map +1 -1
  449. package/esm/router/route-builder.mjs +1 -1
  450. package/esm/router/route-builder.mjs.map +1 -1
  451. package/esm/router/route-registry.mjs +1 -1
  452. package/esm/router/route-registry.mjs.map +1 -1
  453. package/esm/router/router.d.mts +1 -1
  454. package/esm/router/router.d.mts.map +1 -1
  455. package/esm/router/router.mjs +1 -1
  456. package/esm/router/router.mjs.map +1 -1
  457. package/esm/router/types.d.mts +1 -1
  458. package/esm/router/types.d.mts.map +1 -1
  459. package/esm/socket/types.d.mts +1 -1
  460. package/esm/socket/types.d.mts.map +1 -1
  461. package/esm/socket/utils.d.mts +1 -1
  462. package/esm/socket/utils.d.mts.map +1 -1
  463. package/esm/socket/utils.mjs +1 -1
  464. package/esm/socket/utils.mjs.map +1 -1
  465. package/esm/storage/config.d.mts +1 -1
  466. package/esm/storage/config.d.mts.map +1 -1
  467. package/esm/storage/config.mjs +1 -1
  468. package/esm/storage/config.mjs.map +1 -1
  469. package/esm/storage/context/storage-driver-context.d.mts +1 -1
  470. package/esm/storage/context/storage-driver-context.d.mts.map +1 -1
  471. package/esm/storage/context/storage-driver-context.mjs +1 -1
  472. package/esm/storage/context/storage-driver-context.mjs.map +1 -1
  473. package/esm/storage/drivers/cloud-driver.d.mts +1 -1
  474. package/esm/storage/drivers/cloud-driver.d.mts.map +1 -1
  475. package/esm/storage/drivers/cloud-driver.mjs +1 -1
  476. package/esm/storage/drivers/cloud-driver.mjs.map +1 -1
  477. package/esm/storage/drivers/do-spaces-driver.d.mts +1 -1
  478. package/esm/storage/drivers/do-spaces-driver.d.mts.map +1 -1
  479. package/esm/storage/drivers/do-spaces-driver.mjs +1 -1
  480. package/esm/storage/drivers/do-spaces-driver.mjs.map +1 -1
  481. package/esm/storage/drivers/local-driver.d.mts +1 -1
  482. package/esm/storage/drivers/local-driver.d.mts.map +1 -1
  483. package/esm/storage/drivers/local-driver.mjs +1 -1
  484. package/esm/storage/drivers/local-driver.mjs.map +1 -1
  485. package/esm/storage/drivers/r2-driver.d.mts +1 -1
  486. package/esm/storage/drivers/r2-driver.d.mts.map +1 -1
  487. package/esm/storage/drivers/r2-driver.mjs +1 -1
  488. package/esm/storage/drivers/r2-driver.mjs.map +1 -1
  489. package/esm/storage/drivers/s3-driver.d.mts +1 -1
  490. package/esm/storage/drivers/s3-driver.d.mts.map +1 -1
  491. package/esm/storage/drivers/s3-driver.mjs +1 -1
  492. package/esm/storage/drivers/s3-driver.mjs.map +1 -1
  493. package/esm/storage/scoped-storage.d.mts +1 -1
  494. package/esm/storage/scoped-storage.d.mts.map +1 -1
  495. package/esm/storage/scoped-storage.mjs +1 -1
  496. package/esm/storage/scoped-storage.mjs.map +1 -1
  497. package/esm/storage/storage-file.d.mts +1 -1
  498. package/esm/storage/storage-file.d.mts.map +1 -1
  499. package/esm/storage/storage-file.mjs +1 -1
  500. package/esm/storage/storage-file.mjs.map +1 -1
  501. package/esm/storage/storage.d.mts +1 -1
  502. package/esm/storage/storage.d.mts.map +1 -1
  503. package/esm/storage/storage.mjs +1 -1
  504. package/esm/storage/storage.mjs.map +1 -1
  505. package/esm/storage/types.d.mts +1 -1
  506. package/esm/storage/types.d.mts.map +1 -1
  507. package/esm/storage/utils/mime.d.mts +1 -1
  508. package/esm/storage/utils/mime.d.mts.map +1 -1
  509. package/esm/storage/utils/mime.mjs +1 -1
  510. package/esm/storage/utils/mime.mjs.map +1 -1
  511. package/esm/tests/start-http-development-server.d.mts +1 -1
  512. package/esm/tests/start-http-development-server.d.mts.map +1 -1
  513. package/esm/tests/start-http-development-server.mjs +4 -2
  514. package/esm/tests/start-http-development-server.mjs.map +1 -1
  515. package/esm/tests/test-helpers.d.mts +1 -1
  516. package/esm/tests/test-helpers.d.mts.map +1 -1
  517. package/esm/tests/test-helpers.mjs +1 -1
  518. package/esm/tests/test-helpers.mjs.map +1 -1
  519. package/esm/tests/vitest-setup.d.mts +1 -1
  520. package/esm/tests/vitest-setup.d.mts.map +1 -1
  521. package/esm/tests/vitest-setup.mjs +1 -1
  522. package/esm/tests/vitest-setup.mjs.map +1 -1
  523. package/esm/use-cases/types.d.mts +1 -1
  524. package/esm/use-cases/types.d.mts.map +1 -1
  525. package/esm/use-cases/use-case-broadcast.d.mts +1 -1
  526. package/esm/use-cases/use-case-broadcast.d.mts.map +1 -1
  527. package/esm/use-cases/use-case-broadcast.mjs +1 -1
  528. package/esm/use-cases/use-case-broadcast.mjs.map +1 -1
  529. package/esm/use-cases/use-case-events.d.mts +1 -1
  530. package/esm/use-cases/use-case-events.d.mts.map +1 -1
  531. package/esm/use-cases/use-case-events.mjs +1 -1
  532. package/esm/use-cases/use-case-events.mjs.map +1 -1
  533. package/esm/use-cases/use-case-pipeline.d.mts +1 -1
  534. package/esm/use-cases/use-case-pipeline.d.mts.map +1 -1
  535. package/esm/use-cases/use-case-pipeline.mjs +1 -1
  536. package/esm/use-cases/use-case-pipeline.mjs.map +1 -1
  537. package/esm/use-cases/use-case.d.mts +1 -1
  538. package/esm/use-cases/use-case.d.mts.map +1 -1
  539. package/esm/use-cases/use-case.errors.d.mts +1 -1
  540. package/esm/use-cases/use-case.errors.d.mts.map +1 -1
  541. package/esm/use-cases/use-case.errors.mjs +1 -1
  542. package/esm/use-cases/use-case.errors.mjs.map +1 -1
  543. package/esm/use-cases/use-case.mjs +1 -1
  544. package/esm/use-cases/use-case.mjs.map +1 -1
  545. package/esm/use-cases/use-cases-registry.d.mts +1 -1
  546. package/esm/use-cases/use-cases-registry.d.mts.map +1 -1
  547. package/esm/use-cases/use-cases-registry.mjs +1 -1
  548. package/esm/use-cases/use-cases-registry.mjs.map +1 -1
  549. package/esm/utils/app-log.d.mts +1 -1
  550. package/esm/utils/app-log.d.mts.map +1 -1
  551. package/esm/utils/app-log.mjs +1 -1
  552. package/esm/utils/app-log.mjs.map +1 -1
  553. package/esm/utils/database-log.d.mts +1 -1
  554. package/esm/utils/database-log.d.mts.map +1 -1
  555. package/esm/utils/database-log.mjs +1 -1
  556. package/esm/utils/database-log.mjs.map +1 -1
  557. package/esm/utils/environment.d.mts +1 -1
  558. package/esm/utils/environment.d.mts.map +1 -1
  559. package/esm/utils/environment.mjs +1 -1
  560. package/esm/utils/environment.mjs.map +1 -1
  561. package/esm/utils/framework-vesion.mjs +2 -11
  562. package/esm/utils/framework-vesion.mjs.map +1 -1
  563. package/esm/utils/get-localized.d.mts +1 -1
  564. package/esm/utils/get-localized.d.mts.map +1 -1
  565. package/esm/utils/get-localized.mjs +1 -1
  566. package/esm/utils/get-localized.mjs.map +1 -1
  567. package/esm/utils/paths.d.mts +1 -1
  568. package/esm/utils/paths.d.mts.map +1 -1
  569. package/esm/utils/paths.mjs +1 -1
  570. package/esm/utils/paths.mjs.map +1 -1
  571. package/esm/utils/promise-all-object.d.mts +1 -1
  572. package/esm/utils/promise-all-object.d.mts.map +1 -1
  573. package/esm/utils/promise-all-object.mjs +1 -1
  574. package/esm/utils/promise-all-object.mjs.map +1 -1
  575. package/esm/utils/queue.d.mts +1 -1
  576. package/esm/utils/queue.d.mts.map +1 -1
  577. package/esm/utils/queue.mjs +1 -1
  578. package/esm/utils/queue.mjs.map +1 -1
  579. package/esm/utils/sleep.d.mts +1 -1
  580. package/esm/utils/sleep.d.mts.map +1 -1
  581. package/esm/utils/sleep.mjs +1 -1
  582. package/esm/utils/sleep.mjs.map +1 -1
  583. package/esm/utils/sluggable.d.mts +1 -1
  584. package/esm/utils/sluggable.d.mts.map +1 -1
  585. package/esm/utils/sluggable.mjs +1 -1
  586. package/esm/utils/sluggable.mjs.map +1 -1
  587. package/esm/utils/to-json.d.mts +1 -1
  588. package/esm/utils/to-json.d.mts.map +1 -1
  589. package/esm/utils/to-json.mjs +1 -1
  590. package/esm/utils/to-json.mjs.map +1 -1
  591. package/esm/utils/types.d.mts +1 -1
  592. package/esm/utils/types.d.mts.map +1 -1
  593. package/esm/utils/urls.d.mts +1 -1
  594. package/esm/utils/urls.d.mts.map +1 -1
  595. package/esm/utils/urls.mjs +1 -1
  596. package/esm/utils/urls.mjs.map +1 -1
  597. package/esm/validation/database/exists-except-current-id.d.mts +1 -1
  598. package/esm/validation/database/exists-except-current-id.d.mts.map +1 -1
  599. package/esm/validation/database/exists-except-current-id.mjs +1 -1
  600. package/esm/validation/database/exists-except-current-id.mjs.map +1 -1
  601. package/esm/validation/database/exists-except-current-user.d.mts +1 -1
  602. package/esm/validation/database/exists-except-current-user.d.mts.map +1 -1
  603. package/esm/validation/database/exists-except-current-user.mjs +1 -1
  604. package/esm/validation/database/exists-except-current-user.mjs.map +1 -1
  605. package/esm/validation/database/types.d.mts +1 -1
  606. package/esm/validation/database/types.d.mts.map +1 -1
  607. package/esm/validation/database/unique-except-current-id.d.mts +1 -1
  608. package/esm/validation/database/unique-except-current-id.d.mts.map +1 -1
  609. package/esm/validation/database/unique-except-current-id.mjs +1 -1
  610. package/esm/validation/database/unique-except-current-id.mjs.map +1 -1
  611. package/esm/validation/database/unique-except-current-user.d.mts +1 -1
  612. package/esm/validation/database/unique-except-current-user.d.mts.map +1 -1
  613. package/esm/validation/database/unique-except-current-user.mjs +1 -1
  614. package/esm/validation/database/unique-except-current-user.mjs.map +1 -1
  615. package/esm/validation/file/file.d.mts +1 -1
  616. package/esm/validation/file/file.d.mts.map +1 -1
  617. package/esm/validation/file/file.mjs +1 -1
  618. package/esm/validation/file/file.mjs.map +1 -1
  619. package/esm/validation/init.mjs +1 -1
  620. package/esm/validation/init.mjs.map +1 -1
  621. package/esm/validation/plugins/database-plugin.mjs +1 -1
  622. package/esm/validation/plugins/database-plugin.mjs.map +1 -1
  623. package/esm/validation/plugins/file-plugin.mjs +1 -1
  624. package/esm/validation/plugins/file-plugin.mjs.map +1 -1
  625. package/esm/validation/plugins/localized-plugin.mjs +1 -1
  626. package/esm/validation/plugins/localized-plugin.mjs.map +1 -1
  627. package/esm/validation/types.d.mts +1 -1
  628. package/esm/validation/types.d.mts.map +1 -1
  629. package/esm/validation/validateAll.mjs +1 -1
  630. package/esm/validation/validateAll.mjs.map +1 -1
  631. package/esm/validation/validators/file-validator.d.mts +1 -1
  632. package/esm/validation/validators/file-validator.d.mts.map +1 -1
  633. package/esm/validation/validators/file-validator.mjs +1 -1
  634. package/esm/validation/validators/file-validator.mjs.map +1 -1
  635. package/esm/vite/index.mjs +3 -0
  636. package/esm/vite/lower-stage3-decorators.d.mts +53 -0
  637. package/esm/vite/lower-stage3-decorators.d.mts.map +1 -0
  638. package/esm/vite/lower-stage3-decorators.mjs +63 -0
  639. package/esm/vite/lower-stage3-decorators.mjs.map +1 -0
  640. package/esm/warlock-config/default-configurations.mjs +1 -1
  641. package/esm/warlock-config/default-configurations.mjs.map +1 -1
  642. package/esm/warlock-config/define-config.d.mts +1 -1
  643. package/esm/warlock-config/define-config.d.mts.map +1 -1
  644. package/esm/warlock-config/define-config.mjs +1 -1
  645. package/esm/warlock-config/define-config.mjs.map +1 -1
  646. package/esm/warlock-config/index.d.mts +1 -1
  647. package/esm/warlock-config/index.mjs +1 -1
  648. package/esm/warlock-config/types.d.mts +1 -1
  649. package/esm/warlock-config/types.d.mts.map +1 -1
  650. package/esm/warlock-config/warlock-config.manager.d.mts +20 -2
  651. package/esm/warlock-config/warlock-config.manager.d.mts.map +1 -1
  652. package/esm/warlock-config/warlock-config.manager.mjs +39 -2
  653. package/esm/warlock-config/warlock-config.manager.mjs.map +1 -1
  654. package/llms-full.txt +66 -4
  655. package/llms.txt +1 -0
  656. package/package.json +9 -33
  657. package/skills/lower-stage3-decorators/SKILL.md +54 -0
  658. package/skills/run-app/SKILL.md +2 -0
  659. package/skills/test-http/SKILL.md +3 -2
  660. package/skills/test-service/SKILL.md +3 -2
  661. package/bin/warlock.js +0 -3
  662. package/esm/_virtual/_rolldown/runtime.mjs +0 -7
  663. package/esm/cli/cli-commands.manager.mjs +0 -290
  664. package/esm/cli/cli-commands.manager.mjs.map +0 -1
  665. package/esm/cli/cli-commands.utils.mjs +0 -217
  666. package/esm/cli/cli-commands.utils.mjs.map +0 -1
  667. package/esm/cli/commands/add.command.mjs +0 -27
  668. package/esm/cli/commands/add.command.mjs.map +0 -1
  669. package/esm/cli/commands/build.command.mjs +0 -14
  670. package/esm/cli/commands/build.command.mjs.map +0 -1
  671. package/esm/cli/commands/create-database.command.mjs +0 -24
  672. package/esm/cli/commands/create-database.command.mjs.map +0 -1
  673. package/esm/cli/commands/dev-server.command.mjs +0 -48
  674. package/esm/cli/commands/dev-server.command.mjs.map +0 -1
  675. package/esm/cli/commands/drop-tables.command.mjs +0 -23
  676. package/esm/cli/commands/drop-tables.command.mjs.map +0 -1
  677. package/esm/cli/commands/generate/generate.command.mjs +0 -201
  678. package/esm/cli/commands/generate/generate.command.mjs.map +0 -1
  679. package/esm/cli/commands/generate/generators/column-dsl-parser.mjs +0 -49
  680. package/esm/cli/commands/generate/generators/column-dsl-parser.mjs.map +0 -1
  681. package/esm/cli/commands/generate/generators/controller.generator.mjs +0 -48
  682. package/esm/cli/commands/generate/generators/controller.generator.mjs.map +0 -1
  683. package/esm/cli/commands/generate/generators/migration.generator.mjs +0 -81
  684. package/esm/cli/commands/generate/generators/migration.generator.mjs.map +0 -1
  685. package/esm/cli/commands/generate/generators/model.generator.mjs +0 -60
  686. package/esm/cli/commands/generate/generators/model.generator.mjs.map +0 -1
  687. package/esm/cli/commands/generate/generators/module.generator.mjs +0 -113
  688. package/esm/cli/commands/generate/generators/module.generator.mjs.map +0 -1
  689. package/esm/cli/commands/generate/generators/repository.generator.mjs +0 -42
  690. package/esm/cli/commands/generate/generators/repository.generator.mjs.map +0 -1
  691. package/esm/cli/commands/generate/generators/resource.generator.mjs +0 -42
  692. package/esm/cli/commands/generate/generators/resource.generator.mjs.map +0 -1
  693. package/esm/cli/commands/generate/generators/service.generator.mjs +0 -42
  694. package/esm/cli/commands/generate/generators/service.generator.mjs.map +0 -1
  695. package/esm/cli/commands/generate/templates/stubs.mjs +0 -514
  696. package/esm/cli/commands/generate/templates/stubs.mjs.map +0 -1
  697. package/esm/cli/commands/generate/utils/name-parser.mjs +0 -69
  698. package/esm/cli/commands/generate/utils/name-parser.mjs.map +0 -1
  699. package/esm/cli/commands/generate/utils/path-resolver.mjs +0 -56
  700. package/esm/cli/commands/generate/utils/path-resolver.mjs.map +0 -1
  701. package/esm/cli/commands/generate/utils/prompt.mjs +0 -28
  702. package/esm/cli/commands/generate/utils/prompt.mjs.map +0 -1
  703. package/esm/cli/commands/generate/utils/writer.mjs +0 -60
  704. package/esm/cli/commands/generate/utils/writer.mjs.map +0 -1
  705. package/esm/cli/commands/migrate.command.mjs +0 -60
  706. package/esm/cli/commands/migrate.command.mjs.map +0 -1
  707. package/esm/cli/commands/seed.command.mjs +0 -41
  708. package/esm/cli/commands/seed.command.mjs.map +0 -1
  709. package/esm/cli/commands/start-production.command.mjs +0 -50
  710. package/esm/cli/commands/start-production.command.mjs.map +0 -1
  711. package/esm/cli/commands/storage-put.action.mjs +0 -75
  712. package/esm/cli/commands/storage-put.action.mjs.map +0 -1
  713. package/esm/cli/commands/storage-put.command.mjs +0 -46
  714. package/esm/cli/commands/storage-put.command.mjs.map +0 -1
  715. package/esm/cli/commands/typings-generator.command.mjs +0 -38
  716. package/esm/cli/commands/typings-generator.command.mjs.map +0 -1
  717. package/esm/cli/commands-loader.mjs +0 -50
  718. package/esm/cli/commands-loader.mjs.map +0 -1
  719. package/esm/cli/framework-cli-commands.mjs +0 -37
  720. package/esm/cli/framework-cli-commands.mjs.map +0 -1
  721. package/esm/cli/parse-cli-args.mjs +0 -62
  722. package/esm/cli/parse-cli-args.mjs.map +0 -1
  723. package/esm/cli/start.d.mts +0 -1
  724. package/esm/cli/start.mjs +0 -8
  725. package/esm/cli/start.mjs.map +0 -1
  726. package/esm/cli/string-similarity.mjs +0 -56
  727. package/esm/cli/string-similarity.mjs.map +0 -1
  728. package/esm/database/create-database-action.mjs +0 -32
  729. package/esm/database/create-database-action.mjs.map +0 -1
  730. package/esm/database/drop-tables-action.mjs +0 -35
  731. package/esm/database/drop-tables-action.mjs.map +0 -1
  732. package/esm/database/migrate-action.mjs +0 -99
  733. package/esm/database/migrate-action.mjs.map +0 -1
  734. package/esm/database/seed-command-action.mjs +0 -74
  735. package/esm/database/seed-command-action.mjs.map +0 -1
  736. package/esm/database/seeds/seeders.manager.mjs +0 -129
  737. package/esm/database/seeds/seeders.manager.mjs.map +0 -1
  738. package/esm/database/seeds/seeds-table-migration.mjs +0 -31
  739. package/esm/database/seeds/seeds-table-migration.mjs.map +0 -1
  740. package/esm/database/seeds/utils.mjs +0 -6
  741. package/esm/database/seeds/utils.mjs.map +0 -1
  742. package/esm/dev-server/development-server.mjs +0 -115
  743. package/esm/dev-server/development-server.mjs.map +0 -1
  744. package/esm/dev-server/health-checker/workers/eslint-health.worker.d.mts +0 -1
  745. package/esm/dev-server/health-checker/workers/ts-health.worker.d.mts +0 -1
  746. package/esm/dev-server/layer-executor.mjs +0 -114
  747. package/esm/dev-server/layer-executor.mjs.map +0 -1
  748. package/esm/dev-server/loader/hook-thread.d.mts +0 -48
  749. package/esm/dev-server/loader/hook-thread.d.mts.map +0 -1
  750. package/esm/dev-server/loader/hook-thread.mjs +0 -47
  751. package/esm/dev-server/loader/hook-thread.mjs.map +0 -1
  752. package/esm/dev-server/loader/load-hook.d.mts +0 -58
  753. package/esm/dev-server/loader/load-hook.d.mts.map +0 -1
  754. package/esm/dev-server/loader/load-hook.mjs +0 -86
  755. package/esm/dev-server/loader/load-hook.mjs.map +0 -1
  756. package/esm/dev-server/loader/own-resolver.mjs +0 -69
  757. package/esm/dev-server/loader/own-resolver.mjs.map +0 -1
  758. package/esm/dev-server/loader/resolve-capture.mjs +0 -43
  759. package/esm/dev-server/loader/resolve-capture.mjs.map +0 -1
  760. package/esm/dev-server/loader/resolve-hook.d.mts +0 -41
  761. package/esm/dev-server/loader/resolve-hook.d.mts.map +0 -1
  762. package/esm/dev-server/loader/resolve-hook.mjs +0 -87
  763. package/esm/dev-server/loader/resolve-hook.mjs.map +0 -1
  764. package/esm/dev-server/loader/source-slug.mjs +0 -22
  765. package/esm/dev-server/loader/source-slug.mjs.map +0 -1
  766. package/esm/dev-server/loader/version-registry.mjs +0 -45
  767. package/esm/dev-server/loader/version-registry.mjs.map +0 -1
  768. package/esm/dev-server/start-development-server.mjs +0 -63
  769. package/esm/dev-server/start-development-server.mjs.map +0 -1
  770. package/esm/dev-server/type-generator.mjs +0 -453
  771. package/esm/dev-server/type-generator.mjs.map +0 -1
  772. package/esm/generations/add-command.action.mjs +0 -376
  773. package/esm/generations/add-command.action.mjs.map +0 -1
  774. package/esm/generations/stubs.mjs +0 -103
  775. package/esm/generations/stubs.mjs.map +0 -1
  776. package/esm/manifest/manifest-manager.mjs +0 -79
  777. package/esm/manifest/manifest-manager.mjs.map +0 -1
  778. package/esm/production/build-app-production.mjs +0 -14
  779. package/esm/production/build-app-production.mjs.map +0 -1
  780. package/esm/production/esbuild-plugins.mjs +0 -37
  781. package/esm/production/esbuild-plugins.mjs.map +0 -1
  782. package/esm/production/production-builder.mjs +0 -264
  783. package/esm/production/production-builder.mjs.map +0 -1
  784. package/esm/production/resolve-build-config.mjs +0 -28
  785. package/esm/production/resolve-build-config.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"to-json.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/utils/to-json.ts"],"sourcesContent":["import { isIterable, isPlainObject, isScalar } from \"@mongez/supportive-is\";\n\nexport async function toJson(value: any): Promise<any> {\n // if it is a falsy value, return it\n if (!value || isScalar(value)) return value;\n\n // if it has a `toJSON` method, call it and await the result then return it\n if (value.toJSON) {\n return await value.toJSON();\n }\n\n // if it is iterable, an array or array-like object then parse each item\n if (isIterable(value)) {\n const values = Array.from(value);\n\n return Promise.all(\n values.map(async (item: any) => {\n return await toJson(item);\n }),\n );\n }\n\n // if not plain object, then return it\n if (!isPlainObject(value)) {\n return value;\n }\n\n // loop over the object and check if the value and call `parse` on it\n for (const key in value) {\n const subValue = value[key];\n\n value[key] = await toJson(subValue);\n }\n\n return value;\n}\n"],"mappings":";;;AAEA,eAAsB,OAAO,OAA0B;CAErD,IAAI,CAAC,SAAS,SAAS,KAAK,GAAG,OAAO;CAGtC,IAAI,MAAM,QACR,OAAO,MAAM,MAAM,OAAO;CAI5B,IAAI,WAAW,KAAK,GAAG;EACrB,MAAM,SAAS,MAAM,KAAK,KAAK;EAE/B,OAAO,QAAQ,IACb,OAAO,IAAI,OAAO,SAAc;GAC9B,OAAO,MAAM,OAAO,IAAI;EAC1B,CAAC,CACH;CACF;CAGA,IAAI,CAAC,cAAc,KAAK,GACtB,OAAO;CAIT,KAAK,MAAM,OAAO,OAAO;EACvB,MAAM,WAAW,MAAM;EAEvB,MAAM,OAAO,MAAM,OAAO,QAAQ;CACpC;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"to-json.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/utils/to-json.ts"],"sourcesContent":["import { isIterable, isPlainObject, isScalar } from \"@mongez/supportive-is\";\n\nexport async function toJson(value: any): Promise<any> {\n // if it is a falsy value, return it\n if (!value || isScalar(value)) return value;\n\n // if it has a `toJSON` method, call it and await the result then return it\n if (value.toJSON) {\n return await value.toJSON();\n }\n\n // if it is iterable, an array or array-like object then parse each item\n if (isIterable(value)) {\n const values = Array.from(value);\n\n return Promise.all(\n values.map(async (item: any) => {\n return await toJson(item);\n }),\n );\n }\n\n // if not plain object, then return it\n if (!isPlainObject(value)) {\n return value;\n }\n\n // loop over the object and check if the value and call `parse` on it\n for (const key in value) {\n const subValue = value[key];\n\n value[key] = await toJson(subValue);\n }\n\n return value;\n}\n"],"mappings":";;;AAEA,eAAsB,OAAO,OAA0B;CAErD,IAAI,CAAC,SAAS,SAAS,KAAK,GAAG,OAAO;CAGtC,IAAI,MAAM,QACR,OAAO,MAAM,MAAM,OAAO;CAI5B,IAAI,WAAW,KAAK,GAAG;EACrB,MAAM,SAAS,MAAM,KAAK,KAAK;EAE/B,OAAO,QAAQ,IACb,OAAO,IAAI,OAAO,SAAc;GAC9B,OAAO,MAAM,OAAO,IAAI;EAC1B,CAAC,CACH;CACF;CAGA,IAAI,CAAC,cAAc,KAAK,GACtB,OAAO;CAIT,KAAK,MAAM,OAAO,OAAO;EACvB,MAAM,WAAW,MAAM;EAEvB,MAAM,OAAO,MAAM,OAAO,QAAQ;CACpC;CAEA,OAAO;AACT"}
@@ -1,4 +1,4 @@
1
- //#region ../../@warlock.js/core/src/utils/types.d.ts
1
+ //#region ../@warlock.js/core/src/utils/types.d.ts
2
2
  type AppConfigurations = {
3
3
  /**
4
4
  * Set default timezone
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/utils/types.ts"],"mappings":";KAAY,iBAAA;EAAA;;;EAIV,QAAA;EAAA;;;EAIA,OAAA;EAUO;AAAA;;;;EAJP,UAAA;;;;EAIA,OAAA;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/utils/types.ts"],"mappings":";KAAY,iBAAA;EAAA;;;EAIV,QAAA;EAAA;;;EAIA,OAAA;EAUO;AAAA;;;;EAJP,UAAA;;;;EAIA,OAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../../@warlock.js/core/src/utils/urls.d.ts
1
+ //#region ../@warlock.js/core/src/utils/urls.d.ts
2
2
  /**
3
3
  * Set base url
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"urls.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/utils/urls.ts"],"mappings":";;AAOA;;iBAAgB,UAAA,CAAW,GAAW;;AAAA;AAOtC;iBAAgB,GAAA,CAAI,IAAS;;;AAAA;iBAOb,UAAA,CAAW,IAAS;;;;iBAOpB,SAAA,CAAU,IAAS;AAAnC;;;AAAA,iBAOgB,SAAA,CAAU,IAAS"}
1
+ {"version":3,"file":"urls.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/utils/urls.ts"],"mappings":";;AAOA;;iBAAgB,UAAA,CAAW,GAAW;;AAAA;AAOtC;iBAAgB,GAAA,CAAI,IAAS;;;AAAA;iBAOb,UAAA,CAAW,IAAS;;;;iBAOpB,SAAA,CAAU,IAAS;AAAnC;;;AAAA,iBAOgB,SAAA,CAAU,IAAS"}
@@ -1,6 +1,6 @@
1
1
  import { ltrim, rtrim } from "@mongez/reinforcements";
2
2
 
3
- //#region ../../@warlock.js/core/src/utils/urls.ts
3
+ //#region ../@warlock.js/core/src/utils/urls.ts
4
4
  let baseUrl = "";
5
5
  /**
6
6
  * Set base url
@@ -1 +1 @@
1
- {"version":3,"file":"urls.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/utils/urls.ts"],"sourcesContent":["import { ltrim, rtrim } from \"@mongez/reinforcements\";\n\nlet baseUrl = \"\";\n\n/**\n * Set base url\n */\nexport function setBaseUrl(url: string) {\n baseUrl = url;\n}\n\n/**\n * Get full path for the given path\n */\nexport function url(path = \"\") {\n return rtrim(baseUrl, \"/\") + \"/\" + ltrim(path, \"/\");\n}\n\n/**\n * Get uploads url\n */\nexport function uploadsUrl(path = \"\") {\n return url(\"/uploads/\" + ltrim(path, \"/\"));\n}\n\n/**\n * Get full path for the given path related to public route\n */\nexport function publicUrl(path = \"\") {\n return url(\"/public/\" + ltrim(path, \"/\"));\n}\n\n/**\n * Assets url\n */\nexport function assetsUrl(path = \"\") {\n return publicUrl(\"/assets/\" + ltrim(path, \"/\"));\n}\n"],"mappings":";;;AAEA,IAAI,UAAU;;;;AAKd,SAAgB,WAAW,KAAa;CACtC,UAAU;AACZ;;;;AAKA,SAAgB,IAAI,OAAO,IAAI;CAC7B,OAAO,MAAM,SAAS,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG;AACpD;;;;AAKA,SAAgB,WAAW,OAAO,IAAI;CACpC,OAAO,IAAI,cAAc,MAAM,MAAM,GAAG,CAAC;AAC3C;;;;AAKA,SAAgB,UAAU,OAAO,IAAI;CACnC,OAAO,IAAI,aAAa,MAAM,MAAM,GAAG,CAAC;AAC1C;;;;AAKA,SAAgB,UAAU,OAAO,IAAI;CACnC,OAAO,UAAU,aAAa,MAAM,MAAM,GAAG,CAAC;AAChD"}
1
+ {"version":3,"file":"urls.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/utils/urls.ts"],"sourcesContent":["import { ltrim, rtrim } from \"@mongez/reinforcements\";\n\nlet baseUrl = \"\";\n\n/**\n * Set base url\n */\nexport function setBaseUrl(url: string) {\n baseUrl = url;\n}\n\n/**\n * Get full path for the given path\n */\nexport function url(path = \"\") {\n return rtrim(baseUrl, \"/\") + \"/\" + ltrim(path, \"/\");\n}\n\n/**\n * Get uploads url\n */\nexport function uploadsUrl(path = \"\") {\n return url(\"/uploads/\" + ltrim(path, \"/\"));\n}\n\n/**\n * Get full path for the given path related to public route\n */\nexport function publicUrl(path = \"\") {\n return url(\"/public/\" + ltrim(path, \"/\"));\n}\n\n/**\n * Assets url\n */\nexport function assetsUrl(path = \"\") {\n return publicUrl(\"/assets/\" + ltrim(path, \"/\"));\n}\n"],"mappings":";;;AAEA,IAAI,UAAU;;;;AAKd,SAAgB,WAAW,KAAa;CACtC,UAAU;AACZ;;;;AAKA,SAAgB,IAAI,OAAO,IAAI;CAC7B,OAAO,MAAM,SAAS,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG;AACpD;;;;AAKA,SAAgB,WAAW,OAAO,IAAI;CACpC,OAAO,IAAI,cAAc,MAAM,MAAM,GAAG,CAAC;AAC3C;;;;AAKA,SAAgB,UAAU,OAAO,IAAI;CACnC,OAAO,IAAI,aAAa,MAAM,MAAM,GAAG,CAAC;AAC1C;;;;AAKA,SAAgB,UAAU,OAAO,IAAI;CACnC,OAAO,UAAU,aAAa,MAAM,MAAM,GAAG,CAAC;AAChD"}
@@ -1,7 +1,7 @@
1
1
  import { ExistsExceptCurrentIdRuleOptions } from "./types.mjs";
2
2
  import { SchemaRule } from "@warlock.js/seal";
3
3
 
4
- //#region ../../@warlock.js/core/src/validation/database/exists-except-current-id.d.ts
4
+ //#region ../@warlock.js/core/src/validation/database/exists-except-current-id.d.ts
5
5
  /**
6
6
  * Exists except current ID rule
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"exists-except-current-id.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-id.ts"],"mappings":";;;;;;;cAQa,yBAAA,EAA2B,UAAU,CAAC,gCAAA"}
1
+ {"version":3,"file":"exists-except-current-id.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-id.ts"],"mappings":";;;;;;;cAQa,yBAAA,EAA2B,UAAU,CAAC,gCAAA"}
@@ -3,7 +3,7 @@ import "../../http/index.mjs";
3
3
  import { VALID_RULE, invalidRule } from "@warlock.js/seal";
4
4
  import { resolveModelClass } from "@warlock.js/cascade";
5
5
 
6
- //#region ../../@warlock.js/core/src/validation/database/exists-except-current-id.ts
6
+ //#region ../@warlock.js/core/src/validation/database/exists-except-current-id.ts
7
7
  /**
8
8
  * Exists except current ID rule
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"exists-except-current-id.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-id.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useRequestStore } from \"../../http\";\nimport type { ExistsExceptCurrentIdRuleOptions } from \"../types\";\n\n/**\n * Exists except current ID rule\n */\nexport const existsExceptCurrentIdRule: SchemaRule<ExistsExceptCurrentIdRuleOptions> = {\n name: \"existsExceptCurrentId\",\n defaultErrorMessage: \"The :input must exist\",\n async validate(value: any, context) {\n const {\n Model,\n query,\n column = context.key,\n exceptCurrentIdColumn = \"id\",\n } = this.context.options;\n\n const { request } = useRequestStore();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n dbQuery.where(exceptCurrentIdColumn, \"!=\", request.int(\"id\"));\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? VALID_RULE : invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;;AAQA,MAAa,4BAA0E;CACrF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,OACA,SAAS,QAAQ,KACjB,wBAAwB,SACtB,KAAK,QAAQ;EAEjB,MAAM,EAAE,YAAY,gBAAgB;EAIpC,MAAM,UAFqB,kBAAkB,KAEZ,EAAE,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAC3B,QAAQ,MAAM,uBAAuB,MAAM,QAAQ,IAAI,IAAI,CAAC;EAE5D,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,aAAa,YAAY,MAAM,OAAO;CAC1D;AACF"}
1
+ {"version":3,"file":"exists-except-current-id.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-id.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useRequestStore } from \"../../http\";\nimport type { ExistsExceptCurrentIdRuleOptions } from \"../types\";\n\n/**\n * Exists except current ID rule\n */\nexport const existsExceptCurrentIdRule: SchemaRule<ExistsExceptCurrentIdRuleOptions> = {\n name: \"existsExceptCurrentId\",\n defaultErrorMessage: \"The :input must exist\",\n async validate(value: any, context) {\n const {\n Model,\n query,\n column = context.key,\n exceptCurrentIdColumn = \"id\",\n } = this.context.options;\n\n const { request } = useRequestStore();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n dbQuery.where(exceptCurrentIdColumn, \"!=\", request.int(\"id\"));\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? VALID_RULE : invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;;AAQA,MAAa,4BAA0E;CACrF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,OACA,SAAS,QAAQ,KACjB,wBAAwB,SACtB,KAAK,QAAQ;EAEjB,MAAM,EAAE,YAAY,gBAAgB;EAIpC,MAAM,UAFqB,kBAAkB,KAEZ,CAAC,CAAC,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAC3B,QAAQ,MAAM,uBAAuB,MAAM,QAAQ,IAAI,IAAI,CAAC;EAE5D,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,aAAa,YAAY,MAAM,OAAO;CAC1D;AACF"}
@@ -1,7 +1,7 @@
1
1
  import { ExistsExceptCurrentUserRuleOptions } from "./types.mjs";
2
2
  import { SchemaRule } from "@warlock.js/seal";
3
3
 
4
- //#region ../../@warlock.js/core/src/validation/database/exists-except-current-user.d.ts
4
+ //#region ../@warlock.js/core/src/validation/database/exists-except-current-user.d.ts
5
5
  /**
6
6
  * Exists except current user rule
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"exists-except-current-user.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-user.ts"],"mappings":";;;;;;;cAQa,2BAAA,EAA6B,UAAU,CAAC,kCAAA"}
1
+ {"version":3,"file":"exists-except-current-user.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-user.ts"],"mappings":";;;;;;;cAQa,2BAAA,EAA6B,UAAU,CAAC,kCAAA"}
@@ -3,7 +3,7 @@ import "../../http/index.mjs";
3
3
  import { VALID_RULE, invalidRule } from "@warlock.js/seal";
4
4
  import { resolveModelClass } from "@warlock.js/cascade";
5
5
 
6
- //#region ../../@warlock.js/core/src/validation/database/exists-except-current-user.ts
6
+ //#region ../@warlock.js/core/src/validation/database/exists-except-current-user.ts
7
7
  /**
8
8
  * Exists except current user rule
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"exists-except-current-user.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-user.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useCurrentUser } from \"../../http\";\nimport type { ExistsExceptCurrentUserRuleOptions } from \"../types\";\n\n/**\n * Exists except current user rule\n */\nexport const existsExceptCurrentUserRule: SchemaRule<ExistsExceptCurrentUserRuleOptions> = {\n name: \"existsExceptCurrentUser\",\n defaultErrorMessage: \"The :input must exist\",\n async validate(value: any, context) {\n const {\n Model,\n query,\n column = context.key,\n exceptCurrentUserColumn = \"id\",\n exceptCurrentUserValue = \"id\",\n } = this.context.options;\n\n const user = useCurrentUser();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n\n if (user) {\n dbQuery.where(exceptCurrentUserColumn, \"!=\", user.get(exceptCurrentUserValue));\n }\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? VALID_RULE : invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;;AAQA,MAAa,8BAA8E;CACzF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,OACA,SAAS,QAAQ,KACjB,0BAA0B,MAC1B,yBAAyB,SACvB,KAAK,QAAQ;EAEjB,MAAM,OAAO,eAAe;EAI5B,MAAM,UAFqB,kBAAkB,KAEZ,EAAE,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAE3B,IAAI,MACF,QAAQ,MAAM,yBAAyB,MAAM,KAAK,IAAI,sBAAsB,CAAC;EAG/E,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,aAAa,YAAY,MAAM,OAAO;CAC1D;AACF"}
1
+ {"version":3,"file":"exists-except-current-user.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-user.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useCurrentUser } from \"../../http\";\nimport type { ExistsExceptCurrentUserRuleOptions } from \"../types\";\n\n/**\n * Exists except current user rule\n */\nexport const existsExceptCurrentUserRule: SchemaRule<ExistsExceptCurrentUserRuleOptions> = {\n name: \"existsExceptCurrentUser\",\n defaultErrorMessage: \"The :input must exist\",\n async validate(value: any, context) {\n const {\n Model,\n query,\n column = context.key,\n exceptCurrentUserColumn = \"id\",\n exceptCurrentUserValue = \"id\",\n } = this.context.options;\n\n const user = useCurrentUser();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n\n if (user) {\n dbQuery.where(exceptCurrentUserColumn, \"!=\", user.get(exceptCurrentUserValue));\n }\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? VALID_RULE : invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;;AAQA,MAAa,8BAA8E;CACzF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,OACA,SAAS,QAAQ,KACjB,0BAA0B,MAC1B,yBAAyB,SACvB,KAAK,QAAQ;EAEjB,MAAM,OAAO,eAAe;EAI5B,MAAM,UAFqB,kBAAkB,KAEZ,CAAC,CAAC,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAE3B,IAAI,MACF,QAAQ,MAAM,yBAAyB,MAAM,KAAK,IAAI,sBAAsB,CAAC;EAG/E,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,aAAa,YAAY,MAAM,OAAO;CAC1D;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { BaseQueryRuleOptions, BaseUniqueRuleOptions } from "@warlock.js/cascade";
2
2
 
3
- //#region ../../@warlock.js/core/src/validation/database/types.d.ts
3
+ //#region ../@warlock.js/core/src/validation/database/types.d.ts
4
4
  /**
5
5
  * Options for unique except current user rule
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/database/types.ts"],"mappings":";;;;;AAKA;KAAY,kCAAA,GAAqC,qBAAqB;qDAEpE,uBAAA,WAF+C;EAI/C,sBAAA;AAAA;;AAAsB;AAMxB;KAAY,gCAAA,GAAmC,qBAAqB;mDAElE,qBAAqB;AAAA;AAMvB;;;AAAA,KAAY,kCAAA,GAAqC,oBAAoB;EAApB,mDAE/C,uBAAA,WAEA;EAAA,sBAAA;AAAA;AAMF;;;AAAA,KAAY,gCAAA,GAAmC,oBAAoB;EAE5C,iDAArB,qBAAqB;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/types.ts"],"mappings":";;;;;AAKA;KAAY,kCAAA,GAAqC,qBAAqB;qDAEpE,uBAAA,WAF+C;EAI/C,sBAAA;AAAA;;AAAsB;AAMxB;KAAY,gCAAA,GAAmC,qBAAqB;mDAElE,qBAAqB;AAAA;AAMvB;;;AAAA,KAAY,kCAAA,GAAqC,oBAAoB;EAApB,mDAE/C,uBAAA,WAEA;EAAA,sBAAA;AAAA;AAMF;;;AAAA,KAAY,gCAAA,GAAmC,oBAAoB;EAE5C,iDAArB,qBAAqB;AAAA"}
@@ -1,7 +1,7 @@
1
1
  import { UniqueExceptCurrentIdRuleOptions } from "./types.mjs";
2
2
  import { SchemaRule } from "@warlock.js/seal";
3
3
 
4
- //#region ../../@warlock.js/core/src/validation/database/unique-except-current-id.d.ts
4
+ //#region ../@warlock.js/core/src/validation/database/unique-except-current-id.d.ts
5
5
  /**
6
6
  * Unique except current ID rule
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unique-except-current-id.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-id.ts"],"mappings":";;;;;;;cAOa,yBAAA,EAA2B,UAAU,CAAC,gCAAA"}
1
+ {"version":3,"file":"unique-except-current-id.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-id.ts"],"mappings":";;;;;;;cAOa,yBAAA,EAA2B,UAAU,CAAC,gCAAA"}
@@ -3,7 +3,7 @@ import "../../http/index.mjs";
3
3
  import { VALID_RULE, invalidRule } from "@warlock.js/seal";
4
4
  import { resolveModelClass } from "@warlock.js/cascade";
5
5
 
6
- //#region ../../@warlock.js/core/src/validation/database/unique-except-current-id.ts
6
+ //#region ../@warlock.js/core/src/validation/database/unique-except-current-id.ts
7
7
  /**
8
8
  * Unique except current ID rule
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unique-except-current-id.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-id.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useRequestStore } from \"../../http\";\nimport type { UniqueExceptCurrentIdRuleOptions } from \"../types\";\n/**\n * Unique except current ID rule\n */\nexport const uniqueExceptCurrentIdRule: SchemaRule<UniqueExceptCurrentIdRuleOptions> = {\n name: \"uniqueExceptCurrentId\",\n defaultErrorMessage: \"The :input must be unique\",\n async validate(value: any, context) {\n const {\n Model,\n column = context.key,\n exceptCurrentIdColumn = \"id\",\n query,\n } = this.context.options;\n\n const { request } = useRequestStore();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n dbQuery.where(exceptCurrentIdColumn, \"!=\", request.input(\"id\"));\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? invalidRule(this, context) : VALID_RULE;\n },\n};\n"],"mappings":";;;;;;;;;AAOA,MAAa,4BAA0E;CACrF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,SAAS,QAAQ,KACjB,wBAAwB,MACxB,UACE,KAAK,QAAQ;EAEjB,MAAM,EAAE,YAAY,gBAAgB;EAIpC,MAAM,UAFqB,kBAAkB,KAEZ,EAAE,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAC3B,QAAQ,MAAM,uBAAuB,MAAM,QAAQ,MAAM,IAAI,CAAC;EAE9D,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,YAAY,MAAM,OAAO,IAAI;CACjD;AACF"}
1
+ {"version":3,"file":"unique-except-current-id.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-id.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useRequestStore } from \"../../http\";\nimport type { UniqueExceptCurrentIdRuleOptions } from \"../types\";\n/**\n * Unique except current ID rule\n */\nexport const uniqueExceptCurrentIdRule: SchemaRule<UniqueExceptCurrentIdRuleOptions> = {\n name: \"uniqueExceptCurrentId\",\n defaultErrorMessage: \"The :input must be unique\",\n async validate(value: any, context) {\n const {\n Model,\n column = context.key,\n exceptCurrentIdColumn = \"id\",\n query,\n } = this.context.options;\n\n const { request } = useRequestStore();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n dbQuery.where(exceptCurrentIdColumn, \"!=\", request.input(\"id\"));\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? invalidRule(this, context) : VALID_RULE;\n },\n};\n"],"mappings":";;;;;;;;;AAOA,MAAa,4BAA0E;CACrF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,SAAS,QAAQ,KACjB,wBAAwB,MACxB,UACE,KAAK,QAAQ;EAEjB,MAAM,EAAE,YAAY,gBAAgB;EAIpC,MAAM,UAFqB,kBAAkB,KAEZ,CAAC,CAAC,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAC3B,QAAQ,MAAM,uBAAuB,MAAM,QAAQ,MAAM,IAAI,CAAC;EAE9D,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,YAAY,MAAM,OAAO,IAAI;CACjD;AACF"}
@@ -1,7 +1,7 @@
1
1
  import { UniqueExceptCurrentUserRuleOptions } from "./types.mjs";
2
2
  import { SchemaRule } from "@warlock.js/seal";
3
3
 
4
- //#region ../../@warlock.js/core/src/validation/database/unique-except-current-user.d.ts
4
+ //#region ../@warlock.js/core/src/validation/database/unique-except-current-user.d.ts
5
5
  /**
6
6
  * Unique except current user rule
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unique-except-current-user.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-user.ts"],"mappings":";;;;;;;cASa,2BAAA,EAA6B,UAAU,CAAC,kCAAA"}
1
+ {"version":3,"file":"unique-except-current-user.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-user.ts"],"mappings":";;;;;;;cASa,2BAAA,EAA6B,UAAU,CAAC,kCAAA"}
@@ -4,7 +4,7 @@ import { VALID_RULE, invalidRule } from "@warlock.js/seal";
4
4
  import { resolveModelClass } from "@warlock.js/cascade";
5
5
  import { get } from "@mongez/reinforcements";
6
6
 
7
- //#region ../../@warlock.js/core/src/validation/database/unique-except-current-user.ts
7
+ //#region ../@warlock.js/core/src/validation/database/unique-except-current-user.ts
8
8
  /**
9
9
  * Unique except current user rule
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unique-except-current-user.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-user.ts"],"sourcesContent":["import { get } from \"@mongez/reinforcements\";\nimport { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useCurrentUser } from \"../../http\";\nimport type { UniqueExceptCurrentUserRuleOptions } from \"../types\";\n\n/**\n * Unique except current user rule\n */\nexport const uniqueExceptCurrentUserRule: SchemaRule<UniqueExceptCurrentUserRuleOptions> = {\n name: \"uniqueExceptCurrentUser\",\n defaultErrorMessage: \"The :input must be unique\",\n async validate(value: any, context) {\n const {\n Model,\n column = context.key,\n exceptCurrentUserColumn = \"id\",\n exceptCurrentUserValue = \"id\",\n query,\n } = this.context.options;\n\n const user = useCurrentUser();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n\n if (user) {\n const value =\n user instanceof ResolvedModelClass\n ? user.get(exceptCurrentUserValue)\n : get(user, exceptCurrentUserValue);\n dbQuery.where(exceptCurrentUserColumn, \"!=\", value);\n }\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? invalidRule(this, context) : VALID_RULE;\n },\n};\n"],"mappings":";;;;;;;;;;AASA,MAAa,8BAA8E;CACzF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,SAAS,QAAQ,KACjB,0BAA0B,MAC1B,yBAAyB,MACzB,UACE,KAAK,QAAQ;EAEjB,MAAM,OAAO,eAAe;EAE5B,MAAM,qBAAqB,kBAAkB,KAAK;EAElD,MAAM,UAAU,mBAAmB,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAE3B,IAAI,MAAM;GACR,MAAM,QACJ,gBAAgB,qBACZ,KAAK,IAAI,sBAAsB,IAC/B,IAAI,MAAM,sBAAsB;GACtC,QAAQ,MAAM,yBAAyB,MAAM,KAAK;EACpD;EAEA,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,YAAY,MAAM,OAAO,IAAI;CACjD;AACF"}
1
+ {"version":3,"file":"unique-except-current-user.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-user.ts"],"sourcesContent":["import { get } from \"@mongez/reinforcements\";\nimport { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useCurrentUser } from \"../../http\";\nimport type { UniqueExceptCurrentUserRuleOptions } from \"../types\";\n\n/**\n * Unique except current user rule\n */\nexport const uniqueExceptCurrentUserRule: SchemaRule<UniqueExceptCurrentUserRuleOptions> = {\n name: \"uniqueExceptCurrentUser\",\n defaultErrorMessage: \"The :input must be unique\",\n async validate(value: any, context) {\n const {\n Model,\n column = context.key,\n exceptCurrentUserColumn = \"id\",\n exceptCurrentUserValue = \"id\",\n query,\n } = this.context.options;\n\n const user = useCurrentUser();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n\n if (user) {\n const value =\n user instanceof ResolvedModelClass\n ? user.get(exceptCurrentUserValue)\n : get(user, exceptCurrentUserValue);\n dbQuery.where(exceptCurrentUserColumn, \"!=\", value);\n }\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? invalidRule(this, context) : VALID_RULE;\n },\n};\n"],"mappings":";;;;;;;;;;AASA,MAAa,8BAA8E;CACzF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,SAAS,QAAQ,KACjB,0BAA0B,MAC1B,yBAAyB,MACzB,UACE,KAAK,QAAQ;EAEjB,MAAM,OAAO,eAAe;EAE5B,MAAM,qBAAqB,kBAAkB,KAAK;EAElD,MAAM,UAAU,mBAAmB,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAE3B,IAAI,MAAM;GACR,MAAM,QACJ,gBAAgB,qBACZ,KAAK,IAAI,sBAAsB,IAC/B,IAAI,MAAM,sBAAsB;GACtC,QAAQ,MAAM,yBAAyB,MAAM,KAAK;EACpD;EAEA,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,YAAY,MAAM,OAAO,IAAI;CACjD;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { SchemaRule } from "@warlock.js/seal";
2
2
 
3
- //#region ../../@warlock.js/core/src/validation/file/file.d.ts
3
+ //#region ../@warlock.js/core/src/validation/file/file.d.ts
4
4
  /**
5
5
  * File rule - validates uploaded file
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/file/file.ts"],"mappings":";;;;;AAMA;cAAa,QAAA,EAAU,UAStB;;;AAAA;cAKY,SAAA,EAAW,UAUvB;;;;cAKY,iBAAA,EAAmB,UAAU;EACxC,UAAU;AAAA;;;AAAA;cAsBC,YAAA,EAAc,UAAU;EAAG,SAAS;AAAA"}
1
+ {"version":3,"file":"file.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/file/file.ts"],"mappings":";;;;;AAMA;cAAa,QAAA,EAAU,UAStB;;;AAAA;cAKY,SAAA,EAAW,UAUvB;;;;cAKY,iBAAA,EAAmB,UAAU;EACxC,UAAU;AAAA;;;AAAA;cAsBC,YAAA,EAAc,UAAU;EAAG,SAAS;AAAA"}
@@ -2,7 +2,7 @@ import { UploadedFile } from "../../http/uploaded-file.mjs";
2
2
  import "../../http/index.mjs";
3
3
  import { VALID_RULE, invalidRule } from "@warlock.js/seal";
4
4
 
5
- //#region ../../@warlock.js/core/src/validation/file/file.ts
5
+ //#region ../@warlock.js/core/src/validation/file/file.ts
6
6
  /**
7
7
  * File rule - validates uploaded file
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/file/file.ts"],"sourcesContent":["import { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { UploadedFile } from \"../../http\";\n\n/**\n * File rule - validates uploaded file\n */\nexport const fileRule: SchemaRule = {\n name: \"file\",\n defaultErrorMessage: \"The :input must be a file\",\n async validate(value: any, context) {\n if (value instanceof UploadedFile) {\n return VALID_RULE;\n }\n return invalidRule(this, context);\n },\n};\n\n/**\n * Image rule - validates uploaded image\n */\nexport const imageRule: SchemaRule = {\n name: \"image\",\n defaultErrorMessage: \"The :input must be an image\",\n async validate(value: any, context) {\n if (value instanceof UploadedFile && value.isImage) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n\n/**\n * File extension rule - validates file extension\n */\nexport const fileExtensionRule: SchemaRule<{\n extensions: string | string[];\n}> = {\n name: \"fileExtension\",\n errorMessage: \"The :input must have one of the following extensions: :extensions\",\n async validate(value: any, context) {\n let extensions = this.context.options.extensions;\n\n if (typeof extensions === \"string\") {\n extensions = [extensions];\n }\n\n if (extensions.includes(value.extension)) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n\n/**\n * File type rule - validates MIME type\n */\nexport const fileTypeRule: SchemaRule<{ mimeTypes: string | string[] }> = {\n name: \"fileType\",\n defaultErrorMessage: \"The :input must be a :types file\",\n async validate(value: any, context) {\n let mimeTypes = this.context.options.mimeTypes;\n\n if (typeof mimeTypes === \"string\") {\n mimeTypes = [mimeTypes];\n }\n\n if (mimeTypes.includes(value.mimeType)) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;AAMA,MAAa,WAAuB;CAClC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,cACnB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,YAAwB;CACnC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,gBAAgB,MAAM,SACzC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,oBAER;CACH,MAAM;CACN,cAAc;CACd,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,aAAa,KAAK,QAAQ,QAAQ;EAEtC,IAAI,OAAO,eAAe,UACxB,aAAa,CAAC,UAAU;EAG1B,IAAI,WAAW,SAAS,MAAM,SAAS,GACrC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,eAA6D;CACxE,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,YAAY,KAAK,QAAQ,QAAQ;EAErC,IAAI,OAAO,cAAc,UACvB,YAAY,CAAC,SAAS;EAGxB,IAAI,UAAU,SAAS,MAAM,QAAQ,GACnC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
1
+ {"version":3,"file":"file.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/file/file.ts"],"sourcesContent":["import { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { UploadedFile } from \"../../http\";\n\n/**\n * File rule - validates uploaded file\n */\nexport const fileRule: SchemaRule = {\n name: \"file\",\n defaultErrorMessage: \"The :input must be a file\",\n async validate(value: any, context) {\n if (value instanceof UploadedFile) {\n return VALID_RULE;\n }\n return invalidRule(this, context);\n },\n};\n\n/**\n * Image rule - validates uploaded image\n */\nexport const imageRule: SchemaRule = {\n name: \"image\",\n defaultErrorMessage: \"The :input must be an image\",\n async validate(value: any, context) {\n if (value instanceof UploadedFile && value.isImage) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n\n/**\n * File extension rule - validates file extension\n */\nexport const fileExtensionRule: SchemaRule<{\n extensions: string | string[];\n}> = {\n name: \"fileExtension\",\n errorMessage: \"The :input must have one of the following extensions: :extensions\",\n async validate(value: any, context) {\n let extensions = this.context.options.extensions;\n\n if (typeof extensions === \"string\") {\n extensions = [extensions];\n }\n\n if (extensions.includes(value.extension)) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n\n/**\n * File type rule - validates MIME type\n */\nexport const fileTypeRule: SchemaRule<{ mimeTypes: string | string[] }> = {\n name: \"fileType\",\n defaultErrorMessage: \"The :input must be a :types file\",\n async validate(value: any, context) {\n let mimeTypes = this.context.options.mimeTypes;\n\n if (typeof mimeTypes === \"string\") {\n mimeTypes = [mimeTypes];\n }\n\n if (mimeTypes.includes(value.mimeType)) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;AAMA,MAAa,WAAuB;CAClC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,cACnB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,YAAwB;CACnC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,gBAAgB,MAAM,SACzC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,oBAER;CACH,MAAM;CACN,cAAc;CACd,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,aAAa,KAAK,QAAQ,QAAQ;EAEtC,IAAI,OAAO,eAAe,UACxB,aAAa,CAAC,UAAU;EAG1B,IAAI,WAAW,SAAS,MAAM,SAAS,GACrC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,eAA6D;CACxE,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,YAAY,KAAK,QAAQ,QAAQ;EAErC,IAAI,OAAO,cAAc,UACvB,YAAY,CAAC,SAAS;EAGxB,IAAI,UAAU,SAAS,MAAM,QAAQ,GACnC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
@@ -7,7 +7,7 @@ import { localizedPlugin } from "./plugins/localized-plugin.mjs";
7
7
  import "./plugins/index.mjs";
8
8
  import { configureSeal, registerPlugin } from "@warlock.js/seal";
9
9
 
10
- //#region ../../@warlock.js/core/src/validation/init.ts
10
+ //#region ../@warlock.js/core/src/validation/init.ts
11
11
  /**
12
12
  * Initialize Seal with Warlock Framework Settings
13
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"init.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/validation/init.ts"],"sourcesContent":["/**\n * Initialize Seal with Warlock Framework Settings\n *\n * This file configures Seal to use Warlock's localization system\n */\n\n// Auto-register framework plugins\nimport { configureSeal, registerPlugin } from \"@warlock.js/seal\";\nimport { config } from \"../config\";\nimport { t } from \"../http/middleware/inject-request-context\";\nimport { databasePlugin, filePlugin, localizedPlugin } from \"./plugins\";\n\n// Configure Seal to use Warlock's localization\nconfigureSeal({\n firstErrorOnly: config.key(\"validation.firstErrorOnly\", true),\n translateRule({ rule, attributes }) {\n const translateRule = config.key(\"validation.translateRule\");\n\n if (translateRule) {\n return translateRule({ rule, attributes });\n }\n\n const translationGroup = config.key(\"validation.translationGroup\", \"validation\");\n\n const translationKey = `${translationGroup}.${rule.name}`;\n const translation = t(translationKey, attributes);\n\n return translation === translationKey\n ? rule.errorMessage || rule.defaultErrorMessage\n : translation;\n },\n\n translateAttribute({ attribute, context, rule }) {\n const translateAttribute = config.key(\"validation.translateAttribute\");\n\n if (translateAttribute) {\n return translateAttribute({ attribute, context, rule });\n }\n\n const attributeGroup = config.key(\"validation.attributeGroup\") ?? \"attributes\";\n\n const translationKey = `${attributeGroup ? attributeGroup + \".\" : \"\"}${attribute}`;\n\n const output = t(translationKey, context.allValues);\n return output === translationKey ? attribute : output;\n },\n});\n\n// Register plugins to inject methods\nregisterPlugin(databasePlugin);\nregisterPlugin(filePlugin);\nregisterPlugin(localizedPlugin);\n"],"mappings":";;;;;;;;;;;;;;;AAaA,cAAc;CACZ,gBAAgB,OAAO,IAAI,6BAA6B,IAAI;CAC5D,cAAc,EAAE,MAAM,cAAc;EAClC,MAAM,gBAAgB,OAAO,IAAI,0BAA0B;EAE3D,IAAI,eACF,OAAO,cAAc;GAAE;GAAM;EAAW,CAAC;EAK3C,MAAM,iBAAiB,GAFE,OAAO,IAAI,+BAA+B,YAE1B,EAAE,GAAG,KAAK;EACnD,MAAM,cAAc,EAAE,gBAAgB,UAAU;EAEhD,OAAO,gBAAgB,iBACnB,KAAK,gBAAgB,KAAK,sBAC1B;CACN;CAEA,mBAAmB,EAAE,WAAW,SAAS,QAAQ;EAC/C,MAAM,qBAAqB,OAAO,IAAI,+BAA+B;EAErE,IAAI,oBACF,OAAO,mBAAmB;GAAE;GAAW;GAAS;EAAK,CAAC;EAGxD,MAAM,iBAAiB,OAAO,IAAI,2BAA2B,KAAK;EAElE,MAAM,iBAAiB,GAAG,iBAAiB,iBAAiB,MAAM,KAAK;EAEvE,MAAM,SAAS,EAAE,gBAAgB,QAAQ,SAAS;EAClD,OAAO,WAAW,iBAAiB,YAAY;CACjD;AACF,CAAC;AAGD,eAAe,cAAc;AAC7B,eAAe,UAAU;AACzB,eAAe,eAAe"}
1
+ {"version":3,"file":"init.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/init.ts"],"sourcesContent":["/**\n * Initialize Seal with Warlock Framework Settings\n *\n * This file configures Seal to use Warlock's localization system\n */\n\n// Auto-register framework plugins\nimport { configureSeal, registerPlugin } from \"@warlock.js/seal\";\nimport { config } from \"../config\";\nimport { t } from \"../http/middleware/inject-request-context\";\nimport { databasePlugin, filePlugin, localizedPlugin } from \"./plugins\";\n\n// Configure Seal to use Warlock's localization\nconfigureSeal({\n firstErrorOnly: config.key(\"validation.firstErrorOnly\", true),\n translateRule({ rule, attributes }) {\n const translateRule = config.key(\"validation.translateRule\");\n\n if (translateRule) {\n return translateRule({ rule, attributes });\n }\n\n const translationGroup = config.key(\"validation.translationGroup\", \"validation\");\n\n const translationKey = `${translationGroup}.${rule.name}`;\n const translation = t(translationKey, attributes);\n\n return translation === translationKey\n ? rule.errorMessage || rule.defaultErrorMessage\n : translation;\n },\n\n translateAttribute({ attribute, context, rule }) {\n const translateAttribute = config.key(\"validation.translateAttribute\");\n\n if (translateAttribute) {\n return translateAttribute({ attribute, context, rule });\n }\n\n const attributeGroup = config.key(\"validation.attributeGroup\") ?? \"attributes\";\n\n const translationKey = `${attributeGroup ? attributeGroup + \".\" : \"\"}${attribute}`;\n\n const output = t(translationKey, context.allValues);\n return output === translationKey ? attribute : output;\n },\n});\n\n// Register plugins to inject methods\nregisterPlugin(databasePlugin);\nregisterPlugin(filePlugin);\nregisterPlugin(localizedPlugin);\n"],"mappings":";;;;;;;;;;;;;;;AAaA,cAAc;CACZ,gBAAgB,OAAO,IAAI,6BAA6B,IAAI;CAC5D,cAAc,EAAE,MAAM,cAAc;EAClC,MAAM,gBAAgB,OAAO,IAAI,0BAA0B;EAE3D,IAAI,eACF,OAAO,cAAc;GAAE;GAAM;EAAW,CAAC;EAK3C,MAAM,iBAAiB,GAFE,OAAO,IAAI,+BAA+B,YAE1B,EAAE,GAAG,KAAK;EACnD,MAAM,cAAc,EAAE,gBAAgB,UAAU;EAEhD,OAAO,gBAAgB,iBACnB,KAAK,gBAAgB,KAAK,sBAC1B;CACN;CAEA,mBAAmB,EAAE,WAAW,SAAS,QAAQ;EAC/C,MAAM,qBAAqB,OAAO,IAAI,+BAA+B;EAErE,IAAI,oBACF,OAAO,mBAAmB;GAAE;GAAW;GAAS;EAAK,CAAC;EAGxD,MAAM,iBAAiB,OAAO,IAAI,2BAA2B,KAAK;EAElE,MAAM,iBAAiB,GAAG,iBAAiB,iBAAiB,MAAM,KAAK;EAEvE,MAAM,SAAS,EAAE,gBAAgB,QAAQ,SAAS;EAClD,OAAO,WAAW,iBAAiB,YAAY;CACjD;AACF,CAAC;AAGD,eAAe,cAAc;AAC7B,eAAe,UAAU;AACzB,eAAe,eAAe"}
@@ -5,7 +5,7 @@ import { uniqueExceptCurrentUserRule } from "../database/unique-except-current-u
5
5
  import "../database/index.mjs";
6
6
  import { NumberValidator, ScalarValidator, StringValidator } from "@warlock.js/seal";
7
7
 
8
- //#region ../../@warlock.js/core/src/validation/plugins/database-plugin.ts
8
+ //#region ../@warlock.js/core/src/validation/plugins/database-plugin.ts
9
9
  /**
10
10
  * Database validation plugin for Seal
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"database-plugin.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/plugins/database-plugin.ts"],"sourcesContent":["/**\r\n * Database Validation Plugin (core)\r\n *\r\n * Injects the request-aware database validation methods onto Seal scalar\r\n * validators:\r\n * - uniqueExceptCurrentUser / uniqueExceptCurrentId\r\n * - existsExceptCurrentUser / existsExceptCurrentId\r\n *\r\n * The base `unique()` / `exists()` methods are owned by\r\n * `@warlock.js/cascade` and registered by its own seal plugin.\r\n */\r\n\r\nimport { type ChildModel, type Model } from \"@warlock.js/cascade\";\r\nimport type { SealPlugin } from \"@warlock.js/seal\";\r\nimport { NumberValidator, ScalarValidator, StringValidator } from \"@warlock.js/seal\";\r\nimport {\r\n existsExceptCurrentIdRule,\r\n existsExceptCurrentUserRule,\r\n uniqueExceptCurrentIdRule,\r\n uniqueExceptCurrentUserRule,\r\n} from \"../database\";\r\nimport type {\r\n ExistsExceptCurrentIdRuleOptions,\r\n ExistsExceptCurrentUserRuleOptions,\r\n UniqueExceptCurrentIdRuleOptions,\r\n UniqueExceptCurrentUserRuleOptions,\r\n} from \"../database\";\r\n\r\n/**\r\n * Database validation plugin for Seal\r\n */\r\nexport const databasePlugin: SealPlugin = {\r\n name: \"database\",\r\n version: \"1.0.0\",\r\n description: \"Adds request-aware database validation methods (except-current-user/id) to validators\",\r\n\r\n install() {\r\n Object.assign(ScalarValidator.prototype, {\r\n uniqueExceptCurrentUser(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<UniqueExceptCurrentUserRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(uniqueExceptCurrentUserRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n uniqueExceptCurrentId(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<UniqueExceptCurrentIdRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(uniqueExceptCurrentIdRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n existsExceptCurrentUser(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<ExistsExceptCurrentUserRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(existsExceptCurrentUserRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n existsExceptCurrentId(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<ExistsExceptCurrentIdRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(existsExceptCurrentIdRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n });\r\n\r\n Object.assign(StringValidator.prototype, {\r\n uniqueExceptCurrentUser: ScalarValidator.prototype.uniqueExceptCurrentUser,\r\n uniqueExceptCurrentId: ScalarValidator.prototype.uniqueExceptCurrentId,\r\n existsExceptCurrentUser: ScalarValidator.prototype.existsExceptCurrentUser,\r\n existsExceptCurrentId: ScalarValidator.prototype.existsExceptCurrentId,\r\n });\r\n\r\n Object.assign(NumberValidator.prototype, {});\r\n },\r\n};\r\n"],"mappings":";;;;;;;;;;;AA+BA,MAAa,iBAA6B;CACxC,MAAM;CACN,SAAS;CACT,aAAa;CAEb,UAAU;EACR,OAAO,OAAO,gBAAgB,WAAW;GACvC,wBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,6BAA6B,cAAc;KAC7D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,sBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,2BAA2B,cAAc;KAC3D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,wBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,6BAA6B,cAAc;KAC7D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,sBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,2BAA2B,cAAc;KAC3D,OAAO;KACP,GAAG;IACL,CAAC;GACH;EACF,CAAC;EAED,OAAO,OAAO,gBAAgB,WAAW;GACvC,yBAAyB,gBAAgB,UAAU;GACnD,uBAAuB,gBAAgB,UAAU;GACjD,yBAAyB,gBAAgB,UAAU;GACnD,uBAAuB,gBAAgB,UAAU;EACnD,CAAC;EAED,OAAO,OAAO,gBAAgB,WAAW,CAAC,CAAC;CAC7C;AACF"}
1
+ {"version":3,"file":"database-plugin.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/plugins/database-plugin.ts"],"sourcesContent":["/**\r\n * Database Validation Plugin (core)\r\n *\r\n * Injects the request-aware database validation methods onto Seal scalar\r\n * validators:\r\n * - uniqueExceptCurrentUser / uniqueExceptCurrentId\r\n * - existsExceptCurrentUser / existsExceptCurrentId\r\n *\r\n * The base `unique()` / `exists()` methods are owned by\r\n * `@warlock.js/cascade` and registered by its own seal plugin.\r\n */\r\n\r\nimport { type ChildModel, type Model } from \"@warlock.js/cascade\";\r\nimport type { SealPlugin } from \"@warlock.js/seal\";\r\nimport { NumberValidator, ScalarValidator, StringValidator } from \"@warlock.js/seal\";\r\nimport {\r\n existsExceptCurrentIdRule,\r\n existsExceptCurrentUserRule,\r\n uniqueExceptCurrentIdRule,\r\n uniqueExceptCurrentUserRule,\r\n} from \"../database\";\r\nimport type {\r\n ExistsExceptCurrentIdRuleOptions,\r\n ExistsExceptCurrentUserRuleOptions,\r\n UniqueExceptCurrentIdRuleOptions,\r\n UniqueExceptCurrentUserRuleOptions,\r\n} from \"../database\";\r\n\r\n/**\r\n * Database validation plugin for Seal\r\n */\r\nexport const databasePlugin: SealPlugin = {\r\n name: \"database\",\r\n version: \"1.0.0\",\r\n description: \"Adds request-aware database validation methods (except-current-user/id) to validators\",\r\n\r\n install() {\r\n Object.assign(ScalarValidator.prototype, {\r\n uniqueExceptCurrentUser(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<UniqueExceptCurrentUserRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(uniqueExceptCurrentUserRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n uniqueExceptCurrentId(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<UniqueExceptCurrentIdRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(uniqueExceptCurrentIdRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n existsExceptCurrentUser(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<ExistsExceptCurrentUserRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(existsExceptCurrentUserRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n existsExceptCurrentId(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<ExistsExceptCurrentIdRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(existsExceptCurrentIdRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n });\r\n\r\n Object.assign(StringValidator.prototype, {\r\n uniqueExceptCurrentUser: ScalarValidator.prototype.uniqueExceptCurrentUser,\r\n uniqueExceptCurrentId: ScalarValidator.prototype.uniqueExceptCurrentId,\r\n existsExceptCurrentUser: ScalarValidator.prototype.existsExceptCurrentUser,\r\n existsExceptCurrentId: ScalarValidator.prototype.existsExceptCurrentId,\r\n });\r\n\r\n Object.assign(NumberValidator.prototype, {});\r\n },\r\n};\r\n"],"mappings":";;;;;;;;;;;AA+BA,MAAa,iBAA6B;CACxC,MAAM;CACN,SAAS;CACT,aAAa;CAEb,UAAU;EACR,OAAO,OAAO,gBAAgB,WAAW;GACvC,wBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,6BAA6B,cAAc;KAC7D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,sBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,2BAA2B,cAAc;KAC3D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,wBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,6BAA6B,cAAc;KAC7D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,sBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,2BAA2B,cAAc;KAC3D,OAAO;KACP,GAAG;IACL,CAAC;GACH;EACF,CAAC;EAED,OAAO,OAAO,gBAAgB,WAAW;GACvC,yBAAyB,gBAAgB,UAAU;GACnD,uBAAuB,gBAAgB,UAAU;GACjD,yBAAyB,gBAAgB,UAAU;GACnD,uBAAuB,gBAAgB,UAAU;EACnD,CAAC;EAED,OAAO,OAAO,gBAAgB,WAAW,CAAC,CAAC;CAC7C;AACF"}
@@ -2,7 +2,7 @@ import { FileValidator } from "../validators/file-validator.mjs";
2
2
  import "../validators/index.mjs";
3
3
  import { v } from "@warlock.js/seal";
4
4
 
5
- //#region ../../@warlock.js/core/src/validation/plugins/file-plugin.ts
5
+ //#region ../@warlock.js/core/src/validation/plugins/file-plugin.ts
6
6
  /**
7
7
  * File validation plugin for Seal
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file-plugin.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/plugins/file-plugin.ts"],"sourcesContent":["/**\n * File Validator Plugin\n *\n * Adds file validation to Seal v factory\n */\n\nimport type { SealPlugin } from \"@warlock.js/seal\";\nimport { v } from \"@warlock.js/seal\";\nimport { FileValidator } from \"../validators\";\n\n/**\n * File validation plugin for Seal\n */\nexport const filePlugin: SealPlugin = {\n name: \"file\",\n version: \"1.0.0\",\n description: \"Adds file upload validation (v.file())\",\n install() {\n // Inject file() method into v factory\n v.file = (errorMessage?: string) => new FileValidator(errorMessage);\n },\n};\n"],"mappings":";;;;;;;;AAaA,MAAa,aAAyB;CACpC,MAAM;CACN,SAAS;CACT,aAAa;CACb,UAAU;EAER,EAAE,QAAQ,iBAA0B,IAAI,cAAc,YAAY;CACpE;AACF"}
1
+ {"version":3,"file":"file-plugin.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/plugins/file-plugin.ts"],"sourcesContent":["/**\n * File Validator Plugin\n *\n * Adds file validation to Seal v factory\n */\n\nimport type { SealPlugin } from \"@warlock.js/seal\";\nimport { v } from \"@warlock.js/seal\";\nimport { FileValidator } from \"../validators\";\n\n/**\n * File validation plugin for Seal\n */\nexport const filePlugin: SealPlugin = {\n name: \"file\",\n version: \"1.0.0\",\n description: \"Adds file upload validation (v.file())\",\n install() {\n // Inject file() method into v factory\n v.file = (errorMessage?: string) => new FileValidator(errorMessage);\n },\n};\n"],"mappings":";;;;;;;;AAaA,MAAa,aAAyB;CACpC,MAAM;CACN,SAAS;CACT,aAAa;CACb,UAAU;EAER,EAAE,QAAQ,iBAA0B,IAAI,cAAc,YAAY;CACpE;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { v } from "@warlock.js/seal";
2
2
 
3
- //#region ../../@warlock.js/core/src/validation/plugins/localized-plugin.ts
3
+ //#region ../@warlock.js/core/src/validation/plugins/localized-plugin.ts
4
4
  /**
5
5
  * Localized validation plugin for Seal
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"localized-plugin.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/plugins/localized-plugin.ts"],"sourcesContent":["/**\n * Localized Validator Plugin\n *\n * Adds localized() method to Seal v factory\n */\n\nimport type { ArrayValidator, BaseValidator, SealPlugin } from \"@warlock.js/seal\";\nimport { v } from \"@warlock.js/seal\";\n\ntype LocalizedReturn = ArrayValidator & {\n validator: BaseValidator;\n};\n\n/**\n * Localized validation plugin for Seal\n */\nexport const localizedPlugin: SealPlugin = {\n name: \"localized\",\n version: \"1.0.0\",\n description: \"Adds localized validation (v.localized())\",\n install() {\n v.localized = (valueValidator?: BaseValidator, errorMessage?: string): LocalizedReturn =>\n v.array(\n v.object({\n localeCode: v.string().required(),\n value: valueValidator || v.scalar(),\n }),\n errorMessage,\n ) as LocalizedReturn;\n },\n};\n"],"mappings":";;;;;;AAgBA,MAAa,kBAA8B;CACzC,MAAM;CACN,SAAS;CACT,aAAa;CACb,UAAU;EACR,EAAE,aAAa,gBAAgC,iBAC7C,EAAE,MACA,EAAE,OAAO;GACP,YAAY,EAAE,OAAO,EAAE,SAAS;GAChC,OAAO,kBAAkB,EAAE,OAAO;EACpC,CAAC,GACD,YACF;CACJ;AACF"}
1
+ {"version":3,"file":"localized-plugin.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/plugins/localized-plugin.ts"],"sourcesContent":["/**\n * Localized Validator Plugin\n *\n * Adds localized() method to Seal v factory\n */\n\nimport type { ArrayValidator, BaseValidator, SealPlugin } from \"@warlock.js/seal\";\nimport { v } from \"@warlock.js/seal\";\n\ntype LocalizedReturn = ArrayValidator & {\n validator: BaseValidator;\n};\n\n/**\n * Localized validation plugin for Seal\n */\nexport const localizedPlugin: SealPlugin = {\n name: \"localized\",\n version: \"1.0.0\",\n description: \"Adds localized validation (v.localized())\",\n install() {\n v.localized = (valueValidator?: BaseValidator, errorMessage?: string): LocalizedReturn =>\n v.array(\n v.object({\n localeCode: v.string().required(),\n value: valueValidator || v.scalar(),\n }),\n errorMessage,\n ) as LocalizedReturn;\n },\n};\n"],"mappings":";;;;;;AAgBA,MAAa,kBAA8B;CACzC,MAAM;CACN,SAAS;CACT,aAAa;CACb,UAAU;EACR,EAAE,aAAa,gBAAgC,iBAC7C,EAAE,MACA,EAAE,OAAO;GACP,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS;GAChC,OAAO,kBAAkB,EAAE,OAAO;EACpC,CAAC,GACD,YACF;CACJ;AACF"}
@@ -3,7 +3,7 @@ import { FileValidator } from "./validators/file-validator.mjs";
3
3
  import { ArrayValidator, BaseValidator, TranslateAttributeCallback, TranslateRuleCallback } from "@warlock.js/seal";
4
4
  import { ChildModel, Model } from "@warlock.js/cascade";
5
5
 
6
- //#region ../../@warlock.js/core/src/validation/types.d.ts
6
+ //#region ../@warlock.js/core/src/validation/types.d.ts
7
7
  declare module "@warlock.js/seal" {
8
8
  interface ValidatorV {
9
9
  file: (errorMessage?: string) => FileValidator;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/validation/types.ts"],"mappings":";;;;;;;YA2BmB,UAAA;IACf,IAAA,GAAO,YAAA,cAA0B,aAAA;IACjC,SAAA,GACE,cAAA,GAAiB,aAAA,EACjB,YAAA,cACG,cAAA;MACH,SAAA,EAAW,aAAA;IAAA;EAAA;EAAA,UAIL,eAAA;IAWC;IATT,uBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,kCAAA;MACpB,YAAA;IAAA;IAcK;IATT,qBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,gCAAA;MACpB,YAAA;IAAA;IAcK;IATT,uBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,kCAAA;MACpB,YAAA;IAAA;IAgBmB;IAXvB,qBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,gCAAA;MACpB,YAAA;IAAA;EAAA;EAAA,UAMI,eAAA;IACR,uBAAA,EAAyB,eAAA;IACzB,qBAAA,EAAuB,eAAA;IACvB,uBAAA,EAAyB,eAAA;IACzB,qBAAA,EAAuB,eAAA;EAAA;AAAA;AAAA,KAYf,uBAAA;EAvDN;;;;;;EA+DJ,gBAAA;EAvDkB;;;;;;EA8DlB,cAAA;EAvDI;;;;EA4DJ,cAAA;EArDE;;;;EA0DF,aAAA,GAAgB,qBAAA;EAxDU;;;EA4D1B,kBAAA,GAAqB,0BAA0B;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/types.ts"],"mappings":";;;;;;;YA2BmB,UAAA;IACf,IAAA,GAAO,YAAA,cAA0B,aAAA;IACjC,SAAA,GACE,cAAA,GAAiB,aAAA,EACjB,YAAA,cACG,cAAA;MACH,SAAA,EAAW,aAAA;IAAA;EAAA;EAAA,UAIL,eAAA;IAWC;IATT,uBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,kCAAA;MACpB,YAAA;IAAA;IAcK;IATT,qBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,gCAAA;MACpB,YAAA;IAAA;IAcK;IATT,uBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,kCAAA;MACpB,YAAA;IAAA;IAgBmB;IAXvB,qBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,gCAAA;MACpB,YAAA;IAAA;EAAA;EAAA,UAMI,eAAA;IACR,uBAAA,EAAyB,eAAA;IACzB,qBAAA,EAAuB,eAAA;IACvB,uBAAA,EAAyB,eAAA;IACzB,qBAAA,EAAuB,eAAA;EAAA;AAAA;AAAA,KAYf,uBAAA;EAvDN;;;;;;EA+DJ,gBAAA;EAvDkB;;;;;;EA8DlB,cAAA;EAvDI;;;;EA4DJ,cAAA;EArDE;;;;EA0DF,aAAA,GAAgB,qBAAA;EAxDU;;;EA4D1B,kBAAA,GAAqB,0BAA0B;AAAA"}
@@ -3,7 +3,7 @@ import config from "@mongez/config";
3
3
  import { log } from "@warlock.js/logger";
4
4
  import { merge } from "@mongez/reinforcements";
5
5
 
6
- //#region ../../@warlock.js/core/src/validation/validateAll.ts
6
+ //#region ../@warlock.js/core/src/validation/validateAll.ts
7
7
  function resolveDataToParse(validating, request) {
8
8
  if (!validating || validating.length === 0) return request.allExceptParams();
9
9
  let data = {};
@@ -1 +1 @@
1
- {"version":3,"file":"validateAll.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/validation/validateAll.ts"],"sourcesContent":["import config from \"@mongez/config\";\nimport { merge } from \"@mongez/reinforcements\";\nimport { log } from \"@warlock.js/logger\";\nimport { v } from \"@warlock.js/seal\";\nimport type { Request, Response } from \"../http\";\nimport type { RequestHandlerValidation, Route } from \"../router\";\n\nfunction resolveDataToParse(validating: RequestHandlerValidation[\"validating\"], request: Request) {\n if (!validating || validating.length === 0) return request.allExceptParams();\n\n let data: any = {};\n\n for (const validatingType of validating) {\n if (validatingType === \"body\") {\n data = merge(data, request.body);\n }\n\n if (validatingType === \"query\") {\n data = merge(data, request.query);\n }\n\n if (validatingType === \"params\") {\n data = merge(data, request.params);\n }\n\n if (validatingType === \"headers\") {\n data = merge(data, request.headers);\n }\n }\n\n return data;\n}\n\n/**\n * Validate the request route\n */\nexport async function validateAll(\n validation: Route[\"handler\"][\"validation\"],\n request: Request,\n response: Response,\n) {\n if (!validation) return;\n\n log.info(\"validation\", \"started\", \"Start validating the request\");\n\n if (validation.schema) {\n log.info(\"validation\", \"schema\", \"Validating request schema\");\n try {\n const data = resolveDataToParse(validation.validating, request);\n const result = await v.validate(validation.schema, data);\n\n if (result.data && result.isValid) {\n request.setValidatedData(result.data);\n }\n\n if (!result.isValid) {\n log.warn(\"validation\", \"schema\", \"Schema Validation failed\");\n return response.failedSchema(result);\n }\n\n log.success(\"validation\", \"schema\", \"Schema Validation passed\");\n } catch (error) {\n log.warn(\"app.validation\", \"error\", error);\n throw error;\n }\n }\n\n if (validation.validate) {\n const result = await validation.validate(request, response);\n\n // if there is a result, it means it failed\n if (result) {\n // check if there is no response status code, then set it to config value or 400 as default\n if (!response.statusCode) {\n response.setStatusCode(config.get(\"validation.responseStatus\", 400));\n }\n\n log.info(\"validation\", \"failed\", \"Validation failed\");\n\n return result;\n }\n\n log.info(\"validation\", \"passed\", \"Validation passed\");\n }\n}\n"],"mappings":";;;;;;AAOA,SAAS,mBAAmB,YAAoD,SAAkB;CAChG,IAAI,CAAC,cAAc,WAAW,WAAW,GAAG,OAAO,QAAQ,gBAAgB;CAE3E,IAAI,OAAY,CAAC;CAEjB,KAAK,MAAM,kBAAkB,YAAY;EACvC,IAAI,mBAAmB,QACrB,OAAO,MAAM,MAAM,QAAQ,IAAI;EAGjC,IAAI,mBAAmB,SACrB,OAAO,MAAM,MAAM,QAAQ,KAAK;EAGlC,IAAI,mBAAmB,UACrB,OAAO,MAAM,MAAM,QAAQ,MAAM;EAGnC,IAAI,mBAAmB,WACrB,OAAO,MAAM,MAAM,QAAQ,OAAO;CAEtC;CAEA,OAAO;AACT;;;;AAKA,eAAsB,YACpB,YACA,SACA,UACA;CACA,IAAI,CAAC,YAAY;CAEjB,IAAI,KAAK,cAAc,WAAW,8BAA8B;CAEhE,IAAI,WAAW,QAAQ;EACrB,IAAI,KAAK,cAAc,UAAU,2BAA2B;EAC5D,IAAI;GACF,MAAM,OAAO,mBAAmB,WAAW,YAAY,OAAO;GAC9D,MAAM,SAAS,MAAM,EAAE,SAAS,WAAW,QAAQ,IAAI;GAEvD,IAAI,OAAO,QAAQ,OAAO,SACxB,QAAQ,iBAAiB,OAAO,IAAI;GAGtC,IAAI,CAAC,OAAO,SAAS;IACnB,IAAI,KAAK,cAAc,UAAU,0BAA0B;IAC3D,OAAO,SAAS,aAAa,MAAM;GACrC;GAEA,IAAI,QAAQ,cAAc,UAAU,0BAA0B;EAChE,SAAS,OAAO;GACd,IAAI,KAAK,kBAAkB,SAAS,KAAK;GACzC,MAAM;EACR;CACF;CAEA,IAAI,WAAW,UAAU;EACvB,MAAM,SAAS,MAAM,WAAW,SAAS,SAAS,QAAQ;EAG1D,IAAI,QAAQ;GAEV,IAAI,CAAC,SAAS,YACZ,SAAS,cAAc,OAAO,IAAI,6BAA6B,GAAG,CAAC;GAGrE,IAAI,KAAK,cAAc,UAAU,mBAAmB;GAEpD,OAAO;EACT;EAEA,IAAI,KAAK,cAAc,UAAU,mBAAmB;CACtD;AACF"}
1
+ {"version":3,"file":"validateAll.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/validateAll.ts"],"sourcesContent":["import config from \"@mongez/config\";\nimport { merge } from \"@mongez/reinforcements\";\nimport { log } from \"@warlock.js/logger\";\nimport { v } from \"@warlock.js/seal\";\nimport type { Request, Response } from \"../http\";\nimport type { RequestHandlerValidation, Route } from \"../router\";\n\nfunction resolveDataToParse(validating: RequestHandlerValidation[\"validating\"], request: Request) {\n if (!validating || validating.length === 0) return request.allExceptParams();\n\n let data: any = {};\n\n for (const validatingType of validating) {\n if (validatingType === \"body\") {\n data = merge(data, request.body);\n }\n\n if (validatingType === \"query\") {\n data = merge(data, request.query);\n }\n\n if (validatingType === \"params\") {\n data = merge(data, request.params);\n }\n\n if (validatingType === \"headers\") {\n data = merge(data, request.headers);\n }\n }\n\n return data;\n}\n\n/**\n * Validate the request route\n */\nexport async function validateAll(\n validation: Route[\"handler\"][\"validation\"],\n request: Request,\n response: Response,\n) {\n if (!validation) return;\n\n log.info(\"validation\", \"started\", \"Start validating the request\");\n\n if (validation.schema) {\n log.info(\"validation\", \"schema\", \"Validating request schema\");\n try {\n const data = resolveDataToParse(validation.validating, request);\n const result = await v.validate(validation.schema, data);\n\n if (result.data && result.isValid) {\n request.setValidatedData(result.data);\n }\n\n if (!result.isValid) {\n log.warn(\"validation\", \"schema\", \"Schema Validation failed\");\n return response.failedSchema(result);\n }\n\n log.success(\"validation\", \"schema\", \"Schema Validation passed\");\n } catch (error) {\n log.warn(\"app.validation\", \"error\", error);\n throw error;\n }\n }\n\n if (validation.validate) {\n const result = await validation.validate(request, response);\n\n // if there is a result, it means it failed\n if (result) {\n // check if there is no response status code, then set it to config value or 400 as default\n if (!response.statusCode) {\n response.setStatusCode(config.get(\"validation.responseStatus\", 400));\n }\n\n log.info(\"validation\", \"failed\", \"Validation failed\");\n\n return result;\n }\n\n log.info(\"validation\", \"passed\", \"Validation passed\");\n }\n}\n"],"mappings":";;;;;;AAOA,SAAS,mBAAmB,YAAoD,SAAkB;CAChG,IAAI,CAAC,cAAc,WAAW,WAAW,GAAG,OAAO,QAAQ,gBAAgB;CAE3E,IAAI,OAAY,CAAC;CAEjB,KAAK,MAAM,kBAAkB,YAAY;EACvC,IAAI,mBAAmB,QACrB,OAAO,MAAM,MAAM,QAAQ,IAAI;EAGjC,IAAI,mBAAmB,SACrB,OAAO,MAAM,MAAM,QAAQ,KAAK;EAGlC,IAAI,mBAAmB,UACrB,OAAO,MAAM,MAAM,QAAQ,MAAM;EAGnC,IAAI,mBAAmB,WACrB,OAAO,MAAM,MAAM,QAAQ,OAAO;CAEtC;CAEA,OAAO;AACT;;;;AAKA,eAAsB,YACpB,YACA,SACA,UACA;CACA,IAAI,CAAC,YAAY;CAEjB,IAAI,KAAK,cAAc,WAAW,8BAA8B;CAEhE,IAAI,WAAW,QAAQ;EACrB,IAAI,KAAK,cAAc,UAAU,2BAA2B;EAC5D,IAAI;GACF,MAAM,OAAO,mBAAmB,WAAW,YAAY,OAAO;GAC9D,MAAM,SAAS,MAAM,EAAE,SAAS,WAAW,QAAQ,IAAI;GAEvD,IAAI,OAAO,QAAQ,OAAO,SACxB,QAAQ,iBAAiB,OAAO,IAAI;GAGtC,IAAI,CAAC,OAAO,SAAS;IACnB,IAAI,KAAK,cAAc,UAAU,0BAA0B;IAC3D,OAAO,SAAS,aAAa,MAAM;GACrC;GAEA,IAAI,QAAQ,cAAc,UAAU,0BAA0B;EAChE,SAAS,OAAO;GACd,IAAI,KAAK,kBAAkB,SAAS,KAAK;GACzC,MAAM;EACR;CACF;CAEA,IAAI,WAAW,UAAU;EACvB,MAAM,SAAS,MAAM,WAAW,SAAS,SAAS,QAAQ;EAG1D,IAAI,QAAQ;GAEV,IAAI,CAAC,SAAS,YACZ,SAAS,cAAc,OAAO,IAAI,6BAA6B,GAAG,CAAC;GAGrE,IAAI,KAAK,cAAc,UAAU,mBAAmB;GAEpD,OAAO;EACT;EAEA,IAAI,KAAK,cAAc,UAAU,mBAAmB;CACtD;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { BaseValidator, FileSizeOption, JsonSchemaResult, JsonSchemaTarget } from "@warlock.js/seal";
2
2
 
3
- //#region ../../@warlock.js/core/src/validation/validators/file-validator.d.ts
3
+ //#region ../@warlock.js/core/src/validation/validators/file-validator.d.ts
4
4
  declare const uploadedFileMetadataSchema: any;
5
5
  /**
6
6
  * File validator class
@@ -1 +1 @@
1
- {"version":3,"file":"file-validator.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/validators/file-validator.ts"],"mappings":";;;cAea,0BAAA;AAAb;;;AAAA,cAaa,aAAA,SAAsB,aAAA;cACd,YAAA;EADR;;;EASJ,WAAA,CAAY,KAAA;EAUkD;EAL9D,KAAA,CAAM,YAAA,YAAwB,aAAA;EAmBF;EAd5B,MAAA,CAAO,UAAA,qBAA+B,YAAA,YAAwB,aAAA;EA8BjC;EAvB7B,QAAA,CAAS,SAAA,qBAA8B,YAAA,YAAwB,aAAA;EAkCA;EA3B/D,GAAA,CAAI,YAAA,YAAwB,aAAA;EAkC+B;EA7B3D,KAAA,CAAM,YAAA,YAAwB,aAAA;EAkCiC;EAvB/D,IAAA,CAAK,YAAA,YAAwB,aAAA;EAmCmB;EAxBhD,OAAA,CAAQ,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EAsCb;EA/BlD,GAAA,CAAI,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EA+CxB;EA1CnC,OAAA,CAAQ,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EAiEI;EA1DnE,GAAA,CAAI,IAAA,UAAc,YAAA,YAAwB,aAAA;EA/EH;EAoFvC,QAAA,CAAS,KAAA,UAAe,YAAA,YAAwB,aAAA;EApFtB;EA2F1B,QAAA,CAAS,KAAA,UAAe,YAAA,YAAwB,aAAA;EA1FpC;EAiGZ,SAAA,CAAU,MAAA,UAAgB,YAAA,YAAwB,aAAA;EAzFtC;EAgGZ,SAAA,CAAU,MAAA,UAAgB,YAAA,YAAwB,aAAA;EA3F5C;;;EAoGN,MAAA,CAAO,iBAAA,WAA4B,aAAA;EA/FG;;;;;;;;;;;;;;;EAsH7B,YAAA,CAAa,MAAA,GAAQ,gBAAA,GAAqC,gBAAA;AAAA"}
1
+ {"version":3,"file":"file-validator.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/validators/file-validator.ts"],"mappings":";;;cAea,0BAAA;AAAb;;;AAAA,cAaa,aAAA,SAAsB,aAAA;cACd,YAAA;EADR;;;EASJ,WAAA,CAAY,KAAA;EAUkD;EAL9D,KAAA,CAAM,YAAA,YAAwB,aAAA;EAmBF;EAd5B,MAAA,CAAO,UAAA,qBAA+B,YAAA,YAAwB,aAAA;EA8BjC;EAvB7B,QAAA,CAAS,SAAA,qBAA8B,YAAA,YAAwB,aAAA;EAkCA;EA3B/D,GAAA,CAAI,YAAA,YAAwB,aAAA;EAkC+B;EA7B3D,KAAA,CAAM,YAAA,YAAwB,aAAA;EAkCiC;EAvB/D,IAAA,CAAK,YAAA,YAAwB,aAAA;EAmCmB;EAxBhD,OAAA,CAAQ,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EAsCb;EA/BlD,GAAA,CAAI,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EA+CxB;EA1CnC,OAAA,CAAQ,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EAiEI;EA1DnE,GAAA,CAAI,IAAA,UAAc,YAAA,YAAwB,aAAA;EA/EH;EAoFvC,QAAA,CAAS,KAAA,UAAe,YAAA,YAAwB,aAAA;EApFtB;EA2F1B,QAAA,CAAS,KAAA,UAAe,YAAA,YAAwB,aAAA;EA1FpC;EAiGZ,SAAA,CAAU,MAAA,UAAgB,YAAA,YAAwB,aAAA;EAzFtC;EAgGZ,SAAA,CAAU,MAAA,UAAgB,YAAA,YAAwB,aAAA;EA3F5C;;;EAoGN,MAAA,CAAO,iBAAA,WAA4B,aAAA;EA/FG;;;;;;;;;;;;;;;EAsH7B,YAAA,CAAa,MAAA,GAAQ,gBAAA,GAAqC,gBAAA;AAAA"}
@@ -4,7 +4,7 @@ import { fileExtensionRule, fileRule, fileTypeRule, imageRule } from "../file/fi
4
4
  import "../file/index.mjs";
5
5
  import { BaseValidator, maxFileSizeRule, maxHeightRule, maxWidthRule, minFileSizeRule, minHeightRule, minWidthRule, resolveFileSize, v } from "@warlock.js/seal";
6
6
 
7
- //#region ../../@warlock.js/core/src/validation/validators/file-validator.ts
7
+ //#region ../@warlock.js/core/src/validation/validators/file-validator.ts
8
8
  const uploadedFileMetadataSchema = v.object({
9
9
  location: v.string().oneOf(["local", "cloud"]),
10
10
  width: v.int().positive(),
@@ -1 +1 @@
1
- {"version":3,"file":"file-validator.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/validators/file-validator.ts"],"sourcesContent":["import type { FileSizeOption, JsonSchemaResult, JsonSchemaTarget } from \"@warlock.js/seal\";\nimport {\n BaseValidator,\n maxFileSizeRule,\n maxHeightRule,\n maxWidthRule,\n minFileSizeRule,\n minHeightRule,\n minWidthRule,\n resolveFileSize,\n v,\n} from \"@warlock.js/seal\";\nimport { UploadedFile } from \"../../http\";\nimport { fileExtensionRule, fileRule, fileTypeRule, imageRule } from \"../file\";\n\nexport const uploadedFileMetadataSchema = v.object({\n location: v.string().oneOf([\"local\", \"cloud\"]),\n width: v.int().positive(),\n height: v.int().positive(),\n size: v.int().positive(),\n mimeType: v.string(),\n extension: v.string(),\n name: v.string(),\n});\n\n/**\n * File validator class\n */\nexport class FileValidator extends BaseValidator {\n public constructor(errorMessage?: string) {\n super();\n this.addMutableRule(fileRule, errorMessage);\n }\n\n /**\n * Check if value is a File type\n */\n public matchesType(value: any): boolean {\n return value instanceof UploadedFile;\n }\n\n /** Value must be an image */\n public image(errorMessage?: string): FileValidator {\n return this.addRule(imageRule, errorMessage);\n }\n\n /** Accept specific file extensions */\n public accept(extensions: string | string[], errorMessage?: string): FileValidator {\n return this.addRule(fileExtensionRule, errorMessage, {\n extensions,\n });\n }\n\n /** Allow specific MIME types */\n public mimeType(mimeTypes: string | string[], errorMessage?: string): FileValidator {\n return this.addRule(fileTypeRule, errorMessage, {\n mimeTypes,\n });\n }\n\n /** Allow only pdf files */\n public pdf(errorMessage?: string): FileValidator {\n return this.mimeType(\"application/pdf\", errorMessage);\n }\n\n /** Allow only excel files */\n public excel(errorMessage?: string): FileValidator {\n return this.mimeType(\n [\n \"application/vnd.ms-excel\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n ],\n errorMessage,\n );\n }\n\n /** Allow only word files */\n public word(errorMessage?: string): FileValidator {\n return this.mimeType(\n [\n \"application/msword\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n errorMessage,\n );\n }\n\n /** Minimum file size */\n public minSize(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.addRule(minFileSizeRule, errorMessage, {\n minSize: resolveFileSize(size),\n });\n }\n\n /** @alias minSize */\n public min(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.minSize(size, errorMessage);\n }\n\n /** Maximum file size */\n public maxSize(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.addRule(maxFileSizeRule, errorMessage, {\n maxSize: resolveFileSize(size),\n });\n }\n\n /** @alias maxSize */\n public max(size: number, errorMessage?: string): FileValidator {\n return this.maxSize(size, errorMessage);\n }\n\n /** Minimum image width */\n public minWidth(width: number, errorMessage?: string): FileValidator {\n return this.addRule(minWidthRule, errorMessage, {\n minWidth: width,\n });\n }\n\n /** Maximum image width */\n public maxWidth(width: number, errorMessage?: string): FileValidator {\n return this.addRule(maxWidthRule, errorMessage, {\n maxWidth: width,\n });\n }\n\n /** Minimum image height */\n public minHeight(height: number, errorMessage?: string): FileValidator {\n return this.addRule(minHeightRule, errorMessage, {\n minHeight: height,\n });\n }\n\n /** Maximum image height */\n public maxHeight(height: number, errorMessage?: string): FileValidator {\n return this.addRule(maxHeightRule, errorMessage, {\n maxHeight: height,\n });\n }\n\n /**\n * Save the file and return it as a string\n */\n public saveTo(relativeDirectory: string): FileValidator {\n return this.addTransformer(async (file: UploadedFile) => {\n const output = await file.save(relativeDirectory);\n\n return output.path;\n });\n }\n\n /**\n * @inheritdoc\n *\n * File uploads are not natively representable in JSON Schema.\n * The output varies by target:\n * - `openapi-3.0` → `{ type: \"string\", format: \"binary\" }` (standard for multipart/form-data uploads)\n * - `draft-2020-12` → `{ type: \"string\", contentEncoding: \"binary\" }`\n * - `draft-07` → `{}` (no standard binary representation — permissive fallback)\n *\n * @example\n * ```ts\n * v.file().toJsonSchema(\"openapi-3.0\")\n * // → { type: \"string\", format: \"binary\" }\n * ```\n */\n public override toJsonSchema(target: JsonSchemaTarget = \"draft-2020-12\"): JsonSchemaResult {\n if (target === \"openapi-3.0\") {\n return { type: \"string\", format: \"binary\" };\n }\n\n if (target === \"draft-2020-12\") {\n return { type: \"string\", contentEncoding: \"binary\" };\n }\n\n // draft-07: no standard binary representation\n return {};\n }\n}\n"],"mappings":";;;;;;;AAeA,MAAa,6BAA6B,EAAE,OAAO;CACjD,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,OAAO,CAAC;CAC7C,OAAO,EAAE,IAAI,EAAE,SAAS;CACxB,QAAQ,EAAE,IAAI,EAAE,SAAS;CACzB,MAAM,EAAE,IAAI,EAAE,SAAS;CACvB,UAAU,EAAE,OAAO;CACnB,WAAW,EAAE,OAAO;CACpB,MAAM,EAAE,OAAO;AACjB,CAAC;;;;AAKD,IAAa,gBAAb,cAAmC,cAAc;CAC/C,AAAO,YAAY,cAAuB;EACxC,MAAM;EACN,KAAK,eAAe,UAAU,YAAY;CAC5C;;;;CAKA,AAAO,YAAY,OAAqB;EACtC,OAAO,iBAAiB;CAC1B;;CAGA,AAAO,MAAM,cAAsC;EACjD,OAAO,KAAK,QAAQ,WAAW,YAAY;CAC7C;;CAGA,AAAO,OAAO,YAA+B,cAAsC;EACjF,OAAO,KAAK,QAAQ,mBAAmB,cAAc,EACnD,WACF,CAAC;CACH;;CAGA,AAAO,SAAS,WAA8B,cAAsC;EAClF,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UACF,CAAC;CACH;;CAGA,AAAO,IAAI,cAAsC;EAC/C,OAAO,KAAK,SAAS,mBAAmB,YAAY;CACtD;;CAGA,AAAO,MAAM,cAAsC;EACjD,OAAO,KAAK,SACV,CACE,4BACA,mEACF,GACA,YACF;CACF;;CAGA,AAAO,KAAK,cAAsC;EAChD,OAAO,KAAK,SACV,CACE,sBACA,yEACF,GACA,YACF;CACF;;CAGA,AAAO,QAAQ,MAA+B,cAAsC;EAClF,OAAO,KAAK,QAAQ,iBAAiB,cAAc,EACjD,SAAS,gBAAgB,IAAI,EAC/B,CAAC;CACH;;CAGA,AAAO,IAAI,MAA+B,cAAsC;EAC9E,OAAO,KAAK,QAAQ,MAAM,YAAY;CACxC;;CAGA,AAAO,QAAQ,MAA+B,cAAsC;EAClF,OAAO,KAAK,QAAQ,iBAAiB,cAAc,EACjD,SAAS,gBAAgB,IAAI,EAC/B,CAAC;CACH;;CAGA,AAAO,IAAI,MAAc,cAAsC;EAC7D,OAAO,KAAK,QAAQ,MAAM,YAAY;CACxC;;CAGA,AAAO,SAAS,OAAe,cAAsC;EACnE,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UAAU,MACZ,CAAC;CACH;;CAGA,AAAO,SAAS,OAAe,cAAsC;EACnE,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UAAU,MACZ,CAAC;CACH;;CAGA,AAAO,UAAU,QAAgB,cAAsC;EACrE,OAAO,KAAK,QAAQ,eAAe,cAAc,EAC/C,WAAW,OACb,CAAC;CACH;;CAGA,AAAO,UAAU,QAAgB,cAAsC;EACrE,OAAO,KAAK,QAAQ,eAAe,cAAc,EAC/C,WAAW,OACb,CAAC;CACH;;;;CAKA,AAAO,OAAO,mBAA0C;EACtD,OAAO,KAAK,eAAe,OAAO,SAAuB;GAGvD,QAAO,MAFc,KAAK,KAAK,iBAAiB,GAElC;EAChB,CAAC;CACH;;;;;;;;;;;;;;;;CAiBA,AAAgB,aAAa,SAA2B,iBAAmC;EACzF,IAAI,WAAW,eACb,OAAO;GAAE,MAAM;GAAU,QAAQ;EAAS;EAG5C,IAAI,WAAW,iBACb,OAAO;GAAE,MAAM;GAAU,iBAAiB;EAAS;EAIrD,OAAO,CAAC;CACV;AACF"}
1
+ {"version":3,"file":"file-validator.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/validators/file-validator.ts"],"sourcesContent":["import type { FileSizeOption, JsonSchemaResult, JsonSchemaTarget } from \"@warlock.js/seal\";\nimport {\n BaseValidator,\n maxFileSizeRule,\n maxHeightRule,\n maxWidthRule,\n minFileSizeRule,\n minHeightRule,\n minWidthRule,\n resolveFileSize,\n v,\n} from \"@warlock.js/seal\";\nimport { UploadedFile } from \"../../http\";\nimport { fileExtensionRule, fileRule, fileTypeRule, imageRule } from \"../file\";\n\nexport const uploadedFileMetadataSchema = v.object({\n location: v.string().oneOf([\"local\", \"cloud\"]),\n width: v.int().positive(),\n height: v.int().positive(),\n size: v.int().positive(),\n mimeType: v.string(),\n extension: v.string(),\n name: v.string(),\n});\n\n/**\n * File validator class\n */\nexport class FileValidator extends BaseValidator {\n public constructor(errorMessage?: string) {\n super();\n this.addMutableRule(fileRule, errorMessage);\n }\n\n /**\n * Check if value is a File type\n */\n public matchesType(value: any): boolean {\n return value instanceof UploadedFile;\n }\n\n /** Value must be an image */\n public image(errorMessage?: string): FileValidator {\n return this.addRule(imageRule, errorMessage);\n }\n\n /** Accept specific file extensions */\n public accept(extensions: string | string[], errorMessage?: string): FileValidator {\n return this.addRule(fileExtensionRule, errorMessage, {\n extensions,\n });\n }\n\n /** Allow specific MIME types */\n public mimeType(mimeTypes: string | string[], errorMessage?: string): FileValidator {\n return this.addRule(fileTypeRule, errorMessage, {\n mimeTypes,\n });\n }\n\n /** Allow only pdf files */\n public pdf(errorMessage?: string): FileValidator {\n return this.mimeType(\"application/pdf\", errorMessage);\n }\n\n /** Allow only excel files */\n public excel(errorMessage?: string): FileValidator {\n return this.mimeType(\n [\n \"application/vnd.ms-excel\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n ],\n errorMessage,\n );\n }\n\n /** Allow only word files */\n public word(errorMessage?: string): FileValidator {\n return this.mimeType(\n [\n \"application/msword\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n errorMessage,\n );\n }\n\n /** Minimum file size */\n public minSize(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.addRule(minFileSizeRule, errorMessage, {\n minSize: resolveFileSize(size),\n });\n }\n\n /** @alias minSize */\n public min(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.minSize(size, errorMessage);\n }\n\n /** Maximum file size */\n public maxSize(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.addRule(maxFileSizeRule, errorMessage, {\n maxSize: resolveFileSize(size),\n });\n }\n\n /** @alias maxSize */\n public max(size: number, errorMessage?: string): FileValidator {\n return this.maxSize(size, errorMessage);\n }\n\n /** Minimum image width */\n public minWidth(width: number, errorMessage?: string): FileValidator {\n return this.addRule(minWidthRule, errorMessage, {\n minWidth: width,\n });\n }\n\n /** Maximum image width */\n public maxWidth(width: number, errorMessage?: string): FileValidator {\n return this.addRule(maxWidthRule, errorMessage, {\n maxWidth: width,\n });\n }\n\n /** Minimum image height */\n public minHeight(height: number, errorMessage?: string): FileValidator {\n return this.addRule(minHeightRule, errorMessage, {\n minHeight: height,\n });\n }\n\n /** Maximum image height */\n public maxHeight(height: number, errorMessage?: string): FileValidator {\n return this.addRule(maxHeightRule, errorMessage, {\n maxHeight: height,\n });\n }\n\n /**\n * Save the file and return it as a string\n */\n public saveTo(relativeDirectory: string): FileValidator {\n return this.addTransformer(async (file: UploadedFile) => {\n const output = await file.save(relativeDirectory);\n\n return output.path;\n });\n }\n\n /**\n * @inheritdoc\n *\n * File uploads are not natively representable in JSON Schema.\n * The output varies by target:\n * - `openapi-3.0` → `{ type: \"string\", format: \"binary\" }` (standard for multipart/form-data uploads)\n * - `draft-2020-12` → `{ type: \"string\", contentEncoding: \"binary\" }`\n * - `draft-07` → `{}` (no standard binary representation — permissive fallback)\n *\n * @example\n * ```ts\n * v.file().toJsonSchema(\"openapi-3.0\")\n * // → { type: \"string\", format: \"binary\" }\n * ```\n */\n public override toJsonSchema(target: JsonSchemaTarget = \"draft-2020-12\"): JsonSchemaResult {\n if (target === \"openapi-3.0\") {\n return { type: \"string\", format: \"binary\" };\n }\n\n if (target === \"draft-2020-12\") {\n return { type: \"string\", contentEncoding: \"binary\" };\n }\n\n // draft-07: no standard binary representation\n return {};\n }\n}\n"],"mappings":";;;;;;;AAeA,MAAa,6BAA6B,EAAE,OAAO;CACjD,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC;CAC7C,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS;CACxB,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS;CACzB,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS;CACvB,UAAU,EAAE,OAAO;CACnB,WAAW,EAAE,OAAO;CACpB,MAAM,EAAE,OAAO;AACjB,CAAC;;;;AAKD,IAAa,gBAAb,cAAmC,cAAc;CAC/C,AAAO,YAAY,cAAuB;EACxC,MAAM;EACN,KAAK,eAAe,UAAU,YAAY;CAC5C;;;;CAKA,AAAO,YAAY,OAAqB;EACtC,OAAO,iBAAiB;CAC1B;;CAGA,AAAO,MAAM,cAAsC;EACjD,OAAO,KAAK,QAAQ,WAAW,YAAY;CAC7C;;CAGA,AAAO,OAAO,YAA+B,cAAsC;EACjF,OAAO,KAAK,QAAQ,mBAAmB,cAAc,EACnD,WACF,CAAC;CACH;;CAGA,AAAO,SAAS,WAA8B,cAAsC;EAClF,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UACF,CAAC;CACH;;CAGA,AAAO,IAAI,cAAsC;EAC/C,OAAO,KAAK,SAAS,mBAAmB,YAAY;CACtD;;CAGA,AAAO,MAAM,cAAsC;EACjD,OAAO,KAAK,SACV,CACE,4BACA,mEACF,GACA,YACF;CACF;;CAGA,AAAO,KAAK,cAAsC;EAChD,OAAO,KAAK,SACV,CACE,sBACA,yEACF,GACA,YACF;CACF;;CAGA,AAAO,QAAQ,MAA+B,cAAsC;EAClF,OAAO,KAAK,QAAQ,iBAAiB,cAAc,EACjD,SAAS,gBAAgB,IAAI,EAC/B,CAAC;CACH;;CAGA,AAAO,IAAI,MAA+B,cAAsC;EAC9E,OAAO,KAAK,QAAQ,MAAM,YAAY;CACxC;;CAGA,AAAO,QAAQ,MAA+B,cAAsC;EAClF,OAAO,KAAK,QAAQ,iBAAiB,cAAc,EACjD,SAAS,gBAAgB,IAAI,EAC/B,CAAC;CACH;;CAGA,AAAO,IAAI,MAAc,cAAsC;EAC7D,OAAO,KAAK,QAAQ,MAAM,YAAY;CACxC;;CAGA,AAAO,SAAS,OAAe,cAAsC;EACnE,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UAAU,MACZ,CAAC;CACH;;CAGA,AAAO,SAAS,OAAe,cAAsC;EACnE,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UAAU,MACZ,CAAC;CACH;;CAGA,AAAO,UAAU,QAAgB,cAAsC;EACrE,OAAO,KAAK,QAAQ,eAAe,cAAc,EAC/C,WAAW,OACb,CAAC;CACH;;CAGA,AAAO,UAAU,QAAgB,cAAsC;EACrE,OAAO,KAAK,QAAQ,eAAe,cAAc,EAC/C,WAAW,OACb,CAAC;CACH;;;;CAKA,AAAO,OAAO,mBAA0C;EACtD,OAAO,KAAK,eAAe,OAAO,SAAuB;GAGvD,QAAO,MAFc,KAAK,KAAK,iBAAiB,EAEnC,CAAC;EAChB,CAAC;CACH;;;;;;;;;;;;;;;;CAiBA,AAAgB,aAAa,SAA2B,iBAAmC;EACzF,IAAI,WAAW,eACb,OAAO;GAAE,MAAM;GAAU,QAAQ;EAAS;EAG5C,IAAI,WAAW,iBACb,OAAO;GAAE,MAAM;GAAU,iBAAiB;EAAS;EAIrD,OAAO,CAAC;CACV;AACF"}
@@ -0,0 +1,3 @@
1
+ import { lowerStage3Decorators } from "./lower-stage3-decorators.mjs";
2
+
3
+ export { };
@@ -0,0 +1,53 @@
1
+ //#region ../@warlock.js/core/src/vite/lower-stage3-decorators.d.ts
2
+ /**
3
+ * The Vite/Vitest plugin object returned by {@link lowerStage3Decorators}.
4
+ *
5
+ * Declared structurally so `@warlock.js/core` needn't take a `vite` dependency
6
+ * just for one type — the shape is assignable to Vite's `PluginOption` wherever
7
+ * it's placed in a config's `plugins` array.
8
+ */
9
+ interface DecoratorLoweringPlugin {
10
+ name: string;
11
+ enforce: "pre";
12
+ transform(code: string, id: string): Promise<{
13
+ code: string;
14
+ map: string;
15
+ } | null>;
16
+ }
17
+ /**
18
+ * Vite/Vitest plugin that lowers TC39 Stage-3 (native) decorators to plain JS
19
+ * **before** the rest of the transform pipeline runs.
20
+ *
21
+ * Cascade models declare relations with native decorators (`@RegisterModel`,
22
+ * `@BelongsTo`, `@HasMany`, …). Vitest's bundled rolldown-vite transforms `.ts`
23
+ * with **oxc**, and Vite's SSR `moduleRunnerTransform` rewrites the decorator's
24
+ * import reference into `@(0, __vite_ssr_import__.RegisterModel)()` — invalid
25
+ * decorator syntax that throws "SyntaxError: Invalid or unexpected token" on
26
+ * every model load. oxc can only lower *legacy* decorators, and legacy lowering
27
+ * would mangle the Stage-3 `(value, context)` signature these decorators rely on
28
+ * (they read `context.kind` / `context.metadata`).
29
+ *
30
+ * esbuild lowers Stage-3 decorators correctly while preserving their runtime
31
+ * semantics — the same transform the production `tsx`/build path uses, so a file
32
+ * lowered here behaves identically in dev, test, and prod. Running `enforce:
33
+ * "pre"` hands oxc / the SSR rewrite already-lowered, decorator-free code. Files
34
+ * with no decorator skip esbuild entirely, so the fast path is untouched.
35
+ *
36
+ * Keep it **first** in the `plugins` array so it runs ahead of `@mongez/vite`
37
+ * and Vite's core transform.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * // vite.config.ts / vitest.config.ts
42
+ * import { lowerStage3Decorators } from "@warlock.js/core";
43
+ * import { defineConfig } from "vitest/config";
44
+ *
45
+ * export default defineConfig({
46
+ * plugins: [lowerStage3Decorators(), mongezVite()],
47
+ * });
48
+ * ```
49
+ */
50
+ declare function lowerStage3Decorators(): DecoratorLoweringPlugin;
51
+ //#endregion
52
+ export { DecoratorLoweringPlugin, lowerStage3Decorators };
53
+ //# sourceMappingURL=lower-stage3-decorators.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lower-stage3-decorators.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/vite/lower-stage3-decorators.ts"],"mappings":";;AASA;;;;;;UAAiB,uBAAA;EACf,IAAA;EACA,OAAA;EACA,SAAA,CAAU,IAAA,UAAc,EAAA,WAAa,OAAO;IAAG,IAAA;IAAc,GAAA;EAAA;AAAA;AAoC/D;;;;AAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAhE,iBAAgB,qBAAA,IAAyB,uBAAuB"}