@warlock.js/core 4.0.48 → 4.0.59

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 (723) hide show
  1. package/esm/application.d.ts +27 -0
  2. package/esm/application.d.ts.map +1 -0
  3. package/esm/bootstrap/setup.d.ts +2 -0
  4. package/esm/bootstrap/setup.d.ts.map +1 -0
  5. package/esm/bootstrap/setup.js +14 -0
  6. package/esm/bootstrap/setup.js.map +1 -0
  7. package/esm/bootstrap.d.ts +2 -0
  8. package/esm/bootstrap.d.ts.map +1 -0
  9. package/esm/bootstrap.js +5 -0
  10. package/esm/bootstrap.js.map +1 -0
  11. package/esm/cache/database-cache-driver.d.ts +56 -0
  12. package/esm/cache/database-cache-driver.d.ts.map +1 -0
  13. package/esm/cache/database-cache-driver.js +112 -0
  14. package/esm/cache/database-cache-driver.js.map +1 -0
  15. package/esm/cache/index.d.ts +3 -0
  16. package/esm/cache/index.d.ts.map +1 -0
  17. package/esm/cache/index.js +1 -0
  18. package/esm/cache/index.js.map +1 -0
  19. package/esm/cli/cli-command.d.ts +115 -0
  20. package/esm/cli/cli-command.d.ts.map +1 -0
  21. package/esm/cli/cli-command.js +227 -0
  22. package/esm/cli/cli-command.js.map +1 -0
  23. package/esm/cli/cli-commands.manager.d.ts +71 -0
  24. package/esm/cli/cli-commands.manager.d.ts.map +1 -0
  25. package/esm/cli/cli-commands.manager.js +348 -0
  26. package/esm/cli/cli-commands.manager.js.map +1 -0
  27. package/esm/cli/cli-commands.utils.d.ts +73 -0
  28. package/esm/cli/cli-commands.utils.d.ts.map +1 -0
  29. package/esm/cli/cli-commands.utils.js +195 -0
  30. package/esm/cli/cli-commands.utils.js.map +1 -0
  31. package/esm/cli/commands/add.command.d.ts +2 -0
  32. package/esm/cli/commands/add.command.d.ts.map +1 -0
  33. package/esm/cli/commands/add.command.js +15 -0
  34. package/esm/cli/commands/add.command.js.map +1 -0
  35. package/esm/cli/commands/build.command.d.ts +2 -0
  36. package/esm/cli/commands/build.command.d.ts.map +1 -0
  37. package/esm/cli/commands/build.command.js +8 -0
  38. package/esm/cli/commands/build.command.js.map +1 -0
  39. package/esm/cli/commands/dev-server.command.d.ts +2 -0
  40. package/esm/cli/commands/dev-server.command.d.ts.map +1 -0
  41. package/esm/cli/commands/dev-server.command.js +16 -0
  42. package/esm/cli/commands/dev-server.command.js.map +1 -0
  43. package/esm/cli/commands/migrate.command.d.ts +2 -0
  44. package/esm/cli/commands/migrate.command.d.ts.map +1 -0
  45. package/esm/cli/commands/migrate.command.js +37 -0
  46. package/esm/cli/commands/migrate.command.js.map +1 -0
  47. package/esm/cli/commands/seed.command.d.ts +2 -0
  48. package/esm/cli/commands/seed.command.d.ts.map +1 -0
  49. package/esm/cli/commands/seed.command.js +17 -0
  50. package/esm/cli/commands/seed.command.js.map +1 -0
  51. package/esm/cli/commands/start-production.command.d.ts +2 -0
  52. package/esm/cli/commands/start-production.command.d.ts.map +1 -0
  53. package/esm/cli/commands/start-production.command.js +65 -0
  54. package/esm/cli/commands/start-production.command.js.map +1 -0
  55. package/esm/cli/commands/typings-generator.command.d.ts +2 -0
  56. package/esm/cli/commands/typings-generator.command.d.ts.map +1 -0
  57. package/esm/cli/commands/typings-generator.command.js +37 -0
  58. package/esm/cli/commands/typings-generator.command.js.map +1 -0
  59. package/esm/cli/commands-loader.d.ts +18 -0
  60. package/esm/cli/commands-loader.d.ts.map +1 -0
  61. package/esm/cli/commands-loader.js +45 -0
  62. package/esm/cli/commands-loader.js.map +1 -0
  63. package/esm/cli/framework-cli-commands.d.ts +2 -0
  64. package/esm/cli/framework-cli-commands.d.ts.map +1 -0
  65. package/esm/cli/framework-cli-commands.js +11 -0
  66. package/esm/cli/framework-cli-commands.js.map +1 -0
  67. package/esm/cli/index.d.ts +3 -0
  68. package/esm/cli/index.d.ts.map +1 -0
  69. package/esm/cli/index.js +1 -4
  70. package/esm/cli/index.js.map +1 -1
  71. package/esm/cli/parse-cli-args.d.ts +18 -0
  72. package/esm/cli/parse-cli-args.d.ts.map +1 -0
  73. package/esm/cli/parse-cli-args.js +82 -0
  74. package/esm/cli/parse-cli-args.js.map +1 -0
  75. package/esm/cli/start.d.ts +2 -0
  76. package/esm/cli/start.d.ts.map +1 -0
  77. package/esm/cli/start.js +2 -6
  78. package/esm/cli/start.js.map +1 -1
  79. package/esm/cli/string-similarity.d.ts +44 -0
  80. package/esm/cli/string-similarity.d.ts.map +1 -0
  81. package/esm/cli/string-similarity.js +57 -0
  82. package/esm/cli/string-similarity.js.map +1 -0
  83. package/esm/cli/types.d.ts +206 -0
  84. package/esm/cli/types.d.ts.map +1 -0
  85. package/esm/config/config-getter.d.ts +35 -0
  86. package/esm/config/config-getter.d.ts.map +1 -0
  87. package/esm/config/config-getter.js +21 -0
  88. package/esm/config/config-getter.js.map +1 -0
  89. package/esm/config/config-handlers.d.ts +19 -0
  90. package/esm/config/config-handlers.d.ts.map +1 -0
  91. package/esm/config/config-handlers.js +47 -0
  92. package/esm/config/config-handlers.js.map +1 -0
  93. package/esm/config/config-loader.d.ts +37 -0
  94. package/esm/config/config-loader.d.ts.map +1 -0
  95. package/esm/config/config-loader.js +85 -0
  96. package/esm/config/config-loader.js.map +1 -0
  97. package/esm/config/config-manager.d.ts +22 -0
  98. package/esm/config/config-manager.d.ts.map +1 -0
  99. package/esm/config/config-manager.js +25 -0
  100. package/esm/config/config-manager.js.map +1 -0
  101. package/esm/config/config-special-handlers.d.ts +17 -0
  102. package/esm/config/config-special-handlers.d.ts.map +1 -0
  103. package/esm/config/config-special-handlers.js +23 -0
  104. package/esm/config/config-special-handlers.js.map +1 -0
  105. package/esm/config/index.d.ts +5 -0
  106. package/esm/config/index.d.ts.map +1 -0
  107. package/esm/config/load-config-files.d.ts +6 -0
  108. package/esm/config/load-config-files.d.ts.map +1 -0
  109. package/esm/config/load-config-files.js +19 -0
  110. package/esm/config/load-config-files.js.map +1 -0
  111. package/esm/config/types.d.ts +52 -0
  112. package/esm/config/types.d.ts.map +1 -0
  113. package/esm/database/index.d.ts +4 -0
  114. package/esm/database/index.d.ts.map +1 -0
  115. package/esm/database/migrate-action.d.ts +8 -0
  116. package/esm/database/migrate-action.d.ts.map +1 -0
  117. package/esm/database/migrate-action.js +95 -0
  118. package/esm/database/migrate-action.js.map +1 -0
  119. package/esm/database/models/database-log/database-log.d.ts +16 -0
  120. package/esm/database/models/database-log/database-log.d.ts.map +1 -0
  121. package/esm/database/models/database-log/database-log.js +17 -0
  122. package/esm/database/models/database-log/database-log.js.map +1 -0
  123. package/esm/database/models/database-log/index.d.ts +2 -0
  124. package/esm/database/models/database-log/index.d.ts.map +1 -0
  125. package/esm/database/seed-command-action.d.ts +3 -0
  126. package/esm/database/seed-command-action.d.ts.map +1 -0
  127. package/esm/database/seed-command-action.js +36 -0
  128. package/esm/database/seed-command-action.js.map +1 -0
  129. package/esm/database/seeds/index.d.ts +3 -0
  130. package/esm/database/seeds/index.d.ts.map +1 -0
  131. package/esm/database/seeds/seeder.d.ts +36 -0
  132. package/esm/database/seeds/seeder.d.ts.map +1 -0
  133. package/esm/database/seeds/seeder.js +6 -0
  134. package/esm/database/seeds/seeder.js.map +1 -0
  135. package/esm/database/seeds/seeders.manager.d.ts +47 -0
  136. package/esm/database/seeds/seeders.manager.d.ts.map +1 -0
  137. package/esm/database/seeds/seeders.manager.js +137 -0
  138. package/esm/database/seeds/seeders.manager.js.map +1 -0
  139. package/esm/database/seeds/seeds-table-migration.d.ts +8 -0
  140. package/esm/database/seeds/seeds-table-migration.d.ts.map +1 -0
  141. package/esm/database/seeds/seeds-table-migration.js +18 -0
  142. package/esm/database/seeds/seeds-table-migration.js.map +1 -0
  143. package/esm/database/seeds/types.d.ts +13 -0
  144. package/esm/database/seeds/types.d.ts.map +1 -0
  145. package/esm/database/seeds/utils.d.ts +2 -0
  146. package/esm/database/seeds/utils.d.ts.map +1 -0
  147. package/esm/database/seeds/utils.js +1 -0
  148. package/esm/database/seeds/utils.js.map +1 -0
  149. package/esm/database/utils.d.ts +18 -0
  150. package/esm/database/utils.d.ts.map +1 -0
  151. package/esm/database/utils.js +30 -0
  152. package/esm/database/utils.js.map +1 -0
  153. package/esm/dev2-server/connectors/base-connector.d.ts +49 -0
  154. package/esm/dev2-server/connectors/base-connector.d.ts.map +1 -0
  155. package/esm/dev2-server/connectors/base-connector.js +48 -0
  156. package/esm/dev2-server/connectors/base-connector.js.map +1 -0
  157. package/esm/dev2-server/connectors/cache-connector.d.ts +23 -0
  158. package/esm/dev2-server/connectors/cache-connector.d.ts.map +1 -0
  159. package/esm/dev2-server/connectors/cache-connector.js +35 -0
  160. package/esm/dev2-server/connectors/cache-connector.js.map +1 -0
  161. package/esm/dev2-server/connectors/connectors-manager.d.ts +38 -0
  162. package/esm/dev2-server/connectors/connectors-manager.d.ts.map +1 -0
  163. package/esm/dev2-server/connectors/connectors-manager.js +81 -0
  164. package/esm/dev2-server/connectors/connectors-manager.js.map +1 -0
  165. package/esm/dev2-server/connectors/database-connector.d.ts +23 -0
  166. package/esm/dev2-server/connectors/database-connector.d.ts.map +1 -0
  167. package/esm/dev2-server/connectors/database-connector.js +51 -0
  168. package/esm/dev2-server/connectors/database-connector.js.map +1 -0
  169. package/esm/dev2-server/connectors/http-connector.d.ts +29 -0
  170. package/esm/dev2-server/connectors/http-connector.d.ts.map +1 -0
  171. package/esm/dev2-server/connectors/http-connector.js +69 -0
  172. package/esm/dev2-server/connectors/http-connector.js.map +1 -0
  173. package/esm/dev2-server/connectors/index.d.ts +12 -0
  174. package/esm/dev2-server/connectors/index.d.ts.map +1 -0
  175. package/esm/dev2-server/connectors/storage.connector.d.ts +23 -0
  176. package/esm/dev2-server/connectors/storage.connector.d.ts.map +1 -0
  177. package/esm/dev2-server/connectors/storage.connector.js +29 -0
  178. package/esm/dev2-server/connectors/storage.connector.js.map +1 -0
  179. package/esm/dev2-server/connectors/types.d.ts +51 -0
  180. package/esm/dev2-server/connectors/types.d.ts.map +1 -0
  181. package/esm/dev2-server/connectors/types.js +10 -0
  182. package/esm/dev2-server/connectors/types.js.map +1 -0
  183. package/esm/dev2-server/create-worker.d.ts +34 -0
  184. package/esm/dev2-server/create-worker.d.ts.map +1 -0
  185. package/esm/dev2-server/create-worker.js +37 -0
  186. package/esm/dev2-server/create-worker.js.map +1 -0
  187. package/esm/dev2-server/dependency-graph.d.ts +93 -0
  188. package/esm/dev2-server/dependency-graph.d.ts.map +1 -0
  189. package/esm/dev2-server/dependency-graph.js +266 -0
  190. package/esm/dev2-server/dependency-graph.js.map +1 -0
  191. package/esm/dev2-server/dev-logger.d.ts +14 -0
  192. package/esm/dev2-server/dev-logger.d.ts.map +1 -0
  193. package/esm/dev2-server/dev-logger.js +130 -0
  194. package/esm/dev2-server/dev-logger.js.map +1 -0
  195. package/esm/dev2-server/development-server.d.ts +47 -0
  196. package/esm/dev2-server/development-server.d.ts.map +1 -0
  197. package/esm/dev2-server/development-server.js +149 -0
  198. package/esm/dev2-server/development-server.js.map +1 -0
  199. package/esm/dev2-server/events.d.ts +5 -0
  200. package/esm/dev2-server/events.d.ts.map +1 -0
  201. package/esm/dev2-server/events.js +4 -0
  202. package/esm/dev2-server/events.js.map +1 -0
  203. package/esm/dev2-server/export-analyzer.d.ts +84 -0
  204. package/esm/dev2-server/export-analyzer.d.ts.map +1 -0
  205. package/esm/dev2-server/export-analyzer.js +206 -0
  206. package/esm/dev2-server/export-analyzer.js.map +1 -0
  207. package/esm/dev2-server/file-event-handler.d.ts +156 -0
  208. package/esm/dev2-server/file-event-handler.d.ts.map +1 -0
  209. package/esm/dev2-server/file-event-handler.js +300 -0
  210. package/esm/dev2-server/file-event-handler.js.map +1 -0
  211. package/esm/dev2-server/file-manager.d.ts +385 -0
  212. package/esm/dev2-server/file-manager.d.ts.map +1 -0
  213. package/esm/dev2-server/file-manager.js +580 -0
  214. package/esm/dev2-server/file-manager.js.map +1 -0
  215. package/esm/dev2-server/file-operations.d.ts +203 -0
  216. package/esm/dev2-server/file-operations.d.ts.map +1 -0
  217. package/esm/dev2-server/file-operations.js +365 -0
  218. package/esm/dev2-server/file-operations.js.map +1 -0
  219. package/esm/dev2-server/files-orchestrator.d.ts +146 -0
  220. package/esm/dev2-server/files-orchestrator.d.ts.map +1 -0
  221. package/esm/dev2-server/files-orchestrator.js +314 -0
  222. package/esm/dev2-server/files-orchestrator.js.map +1 -0
  223. package/esm/dev2-server/files-watcher.d.ts +67 -0
  224. package/esm/dev2-server/files-watcher.d.ts.map +1 -0
  225. package/esm/dev2-server/files-watcher.js +95 -0
  226. package/esm/dev2-server/files-watcher.js.map +1 -0
  227. package/esm/dev2-server/flags.d.ts +10 -0
  228. package/esm/dev2-server/flags.d.ts.map +1 -0
  229. package/esm/dev2-server/flags.js +9 -0
  230. package/esm/dev2-server/flags.js.map +1 -0
  231. package/esm/dev2-server/health-checker/checkers/base-health-checker.d.ts +52 -0
  232. package/esm/dev2-server/health-checker/checkers/base-health-checker.d.ts.map +1 -0
  233. package/esm/dev2-server/health-checker/checkers/base-health-checker.js +71 -0
  234. package/esm/dev2-server/health-checker/checkers/base-health-checker.js.map +1 -0
  235. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.d.ts +40 -0
  236. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.d.ts.map +1 -0
  237. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js +217 -0
  238. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js.map +1 -0
  239. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.d.ts +56 -0
  240. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.d.ts.map +1 -0
  241. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js +279 -0
  242. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js.map +1 -0
  243. package/esm/dev2-server/health-checker/file-health-checker.contract.d.ts +59 -0
  244. package/esm/dev2-server/health-checker/file-health-checker.contract.d.ts.map +1 -0
  245. package/esm/dev2-server/health-checker/file-health-result.d.ts +68 -0
  246. package/esm/dev2-server/health-checker/file-health-result.d.ts.map +1 -0
  247. package/esm/dev2-server/health-checker/file-health-result.js +40 -0
  248. package/esm/dev2-server/health-checker/file-health-result.js.map +1 -0
  249. package/esm/dev2-server/health-checker/files-healthcare.manager.d.ts +115 -0
  250. package/esm/dev2-server/health-checker/files-healthcare.manager.d.ts.map +1 -0
  251. package/esm/dev2-server/health-checker/files-healthcare.manager.js +422 -0
  252. package/esm/dev2-server/health-checker/files-healthcare.manager.js.map +1 -0
  253. package/esm/dev2-server/health-checker/index.d.ts +6 -0
  254. package/esm/dev2-server/health-checker/index.d.ts.map +1 -0
  255. package/esm/dev2-server/health-checker/workers/eslint-health.worker.d.ts +2 -0
  256. package/esm/dev2-server/health-checker/workers/eslint-health.worker.d.ts.map +1 -0
  257. package/esm/dev2-server/health-checker/workers/eslint-health.worker.js +214 -0
  258. package/esm/dev2-server/health-checker/workers/eslint-health.worker.js.map +1 -0
  259. package/esm/dev2-server/health-checker/workers/ts-health.worker.d.ts +2 -0
  260. package/esm/dev2-server/health-checker/workers/ts-health.worker.d.ts.map +1 -0
  261. package/esm/dev2-server/health-checker/workers/ts-health.worker.js +261 -0
  262. package/esm/dev2-server/health-checker/workers/ts-health.worker.js.map +1 -0
  263. package/esm/dev2-server/import-transformer.d.ts +17 -0
  264. package/esm/dev2-server/import-transformer.d.ts.map +1 -0
  265. package/esm/dev2-server/import-transformer.js +280 -0
  266. package/esm/dev2-server/import-transformer.js.map +1 -0
  267. package/esm/dev2-server/index.d.ts +1 -0
  268. package/esm/dev2-server/index.d.ts.map +1 -0
  269. package/esm/dev2-server/layer-executor.d.ts +61 -0
  270. package/esm/dev2-server/layer-executor.d.ts.map +1 -0
  271. package/esm/dev2-server/layer-executor.js +314 -0
  272. package/esm/dev2-server/layer-executor.js.map +1 -0
  273. package/esm/dev2-server/manifest-manager.d.ts +80 -0
  274. package/esm/dev2-server/manifest-manager.d.ts.map +1 -0
  275. package/esm/dev2-server/manifest-manager.js +107 -0
  276. package/esm/dev2-server/manifest-manager.js.map +1 -0
  277. package/esm/dev2-server/module-loader.d.ts +108 -0
  278. package/esm/dev2-server/module-loader.d.ts.map +1 -0
  279. package/esm/dev2-server/module-loader.js +266 -0
  280. package/esm/dev2-server/module-loader.js.map +1 -0
  281. package/esm/dev2-server/package-json-manager.d.ts +16 -0
  282. package/esm/dev2-server/package-json-manager.d.ts.map +1 -0
  283. package/esm/dev2-server/package-json-manager.js +20 -0
  284. package/esm/dev2-server/package-json-manager.js.map +1 -0
  285. package/esm/dev2-server/parse-imports.d.ts +13 -0
  286. package/esm/dev2-server/parse-imports.d.ts.map +1 -0
  287. package/esm/dev2-server/parse-imports.js +329 -0
  288. package/esm/dev2-server/parse-imports.js.map +1 -0
  289. package/esm/dev2-server/path.d.ts +39 -0
  290. package/esm/dev2-server/path.d.ts.map +1 -0
  291. package/esm/dev2-server/path.js +56 -0
  292. package/esm/dev2-server/path.js.map +1 -0
  293. package/esm/dev2-server/runtime-import-helper.d.ts +8 -0
  294. package/esm/dev2-server/runtime-import-helper.d.ts.map +1 -0
  295. package/esm/dev2-server/runtime-import-helper.js +157 -0
  296. package/esm/dev2-server/runtime-import-helper.js.map +1 -0
  297. package/esm/dev2-server/special-files-collector.d.ts +114 -0
  298. package/esm/dev2-server/special-files-collector.d.ts.map +1 -0
  299. package/esm/dev2-server/special-files-collector.js +212 -0
  300. package/esm/dev2-server/special-files-collector.js.map +1 -0
  301. package/esm/dev2-server/start-development-server.d.ts +7 -0
  302. package/esm/dev2-server/start-development-server.d.ts.map +1 -0
  303. package/esm/dev2-server/start-development-server.js +21 -0
  304. package/esm/dev2-server/start-development-server.js.map +1 -0
  305. package/esm/dev2-server/transpile-file.d.ts +11 -0
  306. package/esm/dev2-server/transpile-file.d.ts.map +1 -0
  307. package/esm/dev2-server/transpile-file.js +21 -0
  308. package/esm/dev2-server/transpile-file.js.map +1 -0
  309. package/esm/dev2-server/tsconfig-manager.d.ts +45 -0
  310. package/esm/dev2-server/tsconfig-manager.d.ts.map +1 -0
  311. package/esm/dev2-server/tsconfig-manager.js +107 -0
  312. package/esm/dev2-server/tsconfig-manager.js.map +1 -0
  313. package/esm/dev2-server/type-generator.d.ts +115 -0
  314. package/esm/dev2-server/type-generator.d.ts.map +1 -0
  315. package/esm/dev2-server/type-generator.js +566 -0
  316. package/esm/dev2-server/type-generator.js.map +1 -0
  317. package/esm/dev2-server/types.d.ts +30 -0
  318. package/esm/dev2-server/types.d.ts.map +1 -0
  319. package/esm/dev2-server/utils.d.ts +15 -0
  320. package/esm/dev2-server/utils.d.ts.map +1 -0
  321. package/esm/dev2-server/utils.js +40 -0
  322. package/esm/dev2-server/utils.js.map +1 -0
  323. package/esm/generations/add-command.action.d.ts +3 -0
  324. package/esm/generations/add-command.action.d.ts.map +1 -0
  325. package/esm/generations/add-command.action.js +154 -0
  326. package/esm/generations/add-command.action.js.map +1 -0
  327. package/esm/http/config.d.ts +10 -0
  328. package/esm/http/config.d.ts.map +1 -0
  329. package/esm/http/config.js +22 -0
  330. package/esm/http/config.js.map +1 -0
  331. package/esm/http/context/request-context.d.ts +47 -0
  332. package/esm/http/context/request-context.d.ts.map +1 -0
  333. package/esm/http/context/request-context.js +52 -0
  334. package/esm/http/context/request-context.js.map +1 -0
  335. package/esm/http/createHttpApplication.d.ts +3 -0
  336. package/esm/http/createHttpApplication.d.ts.map +1 -0
  337. package/esm/http/createHttpApplication.js +28 -0
  338. package/esm/http/createHttpApplication.js.map +1 -0
  339. package/esm/http/database/RequestLog.d.ts +16 -0
  340. package/esm/http/database/RequestLog.d.ts.map +1 -0
  341. package/esm/http/database/RequestLog.js +26 -0
  342. package/esm/http/database/RequestLog.js.map +1 -0
  343. package/esm/http/errors/index.d.ts +2 -0
  344. package/esm/http/errors/index.d.ts.map +1 -0
  345. package/esm/http/errors/resource-not-found.error.d.ts +21 -0
  346. package/esm/http/errors/resource-not-found.error.d.ts.map +1 -0
  347. package/esm/http/errors/resource-not-found.error.js +40 -0
  348. package/esm/http/errors/resource-not-found.error.js.map +1 -0
  349. package/esm/http/events.d.ts +4 -0
  350. package/esm/http/events.d.ts.map +1 -0
  351. package/esm/http/events.js +26 -0
  352. package/esm/http/events.js.map +1 -0
  353. package/esm/http/index.d.ts +17 -0
  354. package/esm/http/index.d.ts.map +1 -0
  355. package/esm/http/middleware/cache-response-middleware.d.ts +34 -0
  356. package/esm/http/middleware/cache-response-middleware.d.ts.map +1 -0
  357. package/esm/http/middleware/cache-response-middleware.js +45 -0
  358. package/esm/http/middleware/cache-response-middleware.js.map +1 -0
  359. package/esm/http/middleware/index.d.ts +3 -0
  360. package/esm/http/middleware/index.d.ts.map +1 -0
  361. package/esm/http/middleware/inject-request-context.d.ts +21 -0
  362. package/esm/http/middleware/inject-request-context.d.ts.map +1 -0
  363. package/esm/http/middleware/inject-request-context.js +105 -0
  364. package/esm/http/middleware/inject-request-context.js.map +1 -0
  365. package/esm/http/plugins/index.d.ts +3 -0
  366. package/esm/http/plugins/index.d.ts.map +1 -0
  367. package/esm/http/plugins.d.ts +3 -0
  368. package/esm/http/plugins.d.ts.map +1 -0
  369. package/esm/http/plugins.js +31 -0
  370. package/esm/http/plugins.js.map +1 -0
  371. package/esm/http/request-controller.d.ts +11 -0
  372. package/esm/http/request-controller.d.ts.map +1 -0
  373. package/esm/http/request-controller.js +9 -0
  374. package/esm/http/request-controller.js.map +1 -0
  375. package/esm/http/request.d.ts +380 -0
  376. package/esm/http/request.d.ts.map +1 -0
  377. package/esm/http/request.js +733 -0
  378. package/esm/http/request.js.map +1 -0
  379. package/esm/http/response.js +914 -0
  380. package/esm/http/response.js.map +1 -0
  381. package/esm/http/server.d.ts +8 -0
  382. package/esm/http/server.d.ts.map +1 -0
  383. package/esm/http/server.js +15 -0
  384. package/esm/http/server.js.map +1 -0
  385. package/esm/http/types.d.ts +174 -0
  386. package/esm/http/types.d.ts.map +1 -0
  387. package/esm/http/uploaded-file.d.ts +459 -0
  388. package/esm/http/uploaded-file.d.ts.map +1 -0
  389. package/esm/http/uploaded-file.js +709 -0
  390. package/esm/http/uploaded-file.js.map +1 -0
  391. package/esm/http/uploads-config.d.ts +26 -0
  392. package/esm/http/uploads-config.d.ts.map +1 -0
  393. package/esm/http/uploads-config.js +35 -0
  394. package/esm/http/uploads-config.js.map +1 -0
  395. package/esm/http/uploads-types.d.ts +236 -0
  396. package/esm/http/uploads-types.d.ts.map +1 -0
  397. package/esm/image/image.d.ts +388 -0
  398. package/esm/image/image.d.ts.map +1 -0
  399. package/esm/image/image.js +602 -0
  400. package/esm/image/image.js.map +1 -0
  401. package/esm/image/index.d.ts +2 -0
  402. package/esm/image/index.d.ts.map +1 -0
  403. package/esm/index.d.ts +28 -0
  404. package/esm/index.d.ts.map +1 -0
  405. package/esm/index.js +1 -28
  406. package/esm/index.js.map +1 -1
  407. package/esm/logger/index.d.ts +3 -0
  408. package/esm/logger/index.d.ts.map +1 -0
  409. package/esm/logger/logger.d.ts +3 -0
  410. package/esm/logger/logger.d.ts.map +1 -0
  411. package/esm/logger/logger.js +16 -0
  412. package/esm/logger/logger.js.map +1 -0
  413. package/esm/logger/types.d.ts +39 -0
  414. package/esm/logger/types.d.ts.map +1 -0
  415. package/esm/mail/config.d.ts +83 -0
  416. package/esm/mail/config.d.ts.map +1 -0
  417. package/esm/mail/config.js +152 -0
  418. package/esm/mail/config.js.map +1 -0
  419. package/esm/mail/events.d.ts +96 -0
  420. package/esm/mail/events.d.ts.map +1 -0
  421. package/esm/mail/events.js +123 -0
  422. package/esm/mail/events.js.map +1 -0
  423. package/esm/mail/index.d.ts +10 -0
  424. package/esm/mail/index.d.ts.map +1 -0
  425. package/esm/mail/mail.d.ts +175 -0
  426. package/esm/mail/mail.d.ts.map +1 -0
  427. package/esm/mail/mail.js +286 -0
  428. package/esm/mail/mail.js.map +1 -0
  429. package/esm/mail/mailer-pool.d.ts +27 -0
  430. package/esm/mail/mailer-pool.d.ts.map +1 -0
  431. package/esm/mail/mailer-pool.js +143 -0
  432. package/esm/mail/mailer-pool.js.map +1 -0
  433. package/esm/mail/react-mail.d.ts +9 -0
  434. package/esm/mail/react-mail.d.ts.map +1 -0
  435. package/esm/mail/react-mail.js +28 -0
  436. package/esm/mail/react-mail.js.map +1 -0
  437. package/esm/mail/send-mail.d.ts +33 -0
  438. package/esm/mail/send-mail.d.ts.map +1 -0
  439. package/esm/mail/send-mail.js +309 -0
  440. package/esm/mail/send-mail.js.map +1 -0
  441. package/esm/mail/test-mailbox.d.ts +110 -0
  442. package/esm/mail/test-mailbox.d.ts.map +1 -0
  443. package/esm/mail/test-mailbox.js +143 -0
  444. package/esm/mail/test-mailbox.js.map +1 -0
  445. package/esm/mail/types.d.ts +245 -0
  446. package/esm/mail/types.d.ts.map +1 -0
  447. package/esm/mail/types.js +13 -0
  448. package/esm/mail/types.js.map +1 -0
  449. package/esm/manifest/manifest-manager.d.ts +74 -0
  450. package/esm/manifest/manifest-manager.d.ts.map +1 -0
  451. package/esm/manifest/manifest-manager.js +88 -0
  452. package/esm/manifest/manifest-manager.js.map +1 -0
  453. package/esm/production/build-app-production.d.ts +6 -0
  454. package/esm/production/build-app-production.d.ts.map +1 -0
  455. package/esm/production/build-app-production.js +8 -0
  456. package/esm/production/build-app-production.js.map +1 -0
  457. package/esm/production/esbuild-plugins.d.ts +5 -0
  458. package/esm/production/esbuild-plugins.d.ts.map +1 -0
  459. package/esm/production/esbuild-plugins.js +23 -0
  460. package/esm/production/esbuild-plugins.js.map +1 -0
  461. package/esm/production/production-builder.d.ts +76 -0
  462. package/esm/production/production-builder.d.ts.map +1 -0
  463. package/esm/production/production-builder.js +247 -0
  464. package/esm/production/production-builder.js.map +1 -0
  465. package/esm/react/index.d.ts +14 -0
  466. package/esm/react/index.d.ts.map +1 -0
  467. package/esm/react/index.js +65 -0
  468. package/esm/react/index.js.map +1 -0
  469. package/esm/repositories/adapters/cascade/cascade-adapter.d.ts +85 -0
  470. package/esm/repositories/adapters/cascade/cascade-adapter.d.ts.map +1 -0
  471. package/esm/repositories/adapters/cascade/cascade-adapter.js +179 -0
  472. package/esm/repositories/adapters/cascade/cascade-adapter.js.map +1 -0
  473. package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts +124 -0
  474. package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts.map +1 -0
  475. package/esm/repositories/adapters/cascade/cascade-query-builder.js +267 -0
  476. package/esm/repositories/adapters/cascade/cascade-query-builder.js.map +1 -0
  477. package/esm/repositories/adapters/cascade/filter-applicator.d.ts +62 -0
  478. package/esm/repositories/adapters/cascade/filter-applicator.d.ts.map +1 -0
  479. package/esm/repositories/adapters/cascade/filter-applicator.js +423 -0
  480. package/esm/repositories/adapters/cascade/filter-applicator.js.map +1 -0
  481. package/esm/repositories/adapters/cascade/index.d.ts +7 -0
  482. package/esm/repositories/adapters/cascade/index.d.ts.map +1 -0
  483. package/esm/repositories/contracts/index.d.ts +8 -0
  484. package/esm/repositories/contracts/index.d.ts.map +1 -0
  485. package/esm/repositories/contracts/query-builder.contract.d.ts +279 -0
  486. package/esm/repositories/contracts/query-builder.contract.d.ts.map +1 -0
  487. package/esm/repositories/contracts/repository-adapter.contract.d.ts +183 -0
  488. package/esm/repositories/contracts/repository-adapter.contract.d.ts.map +1 -0
  489. package/esm/repositories/contracts/types.d.ts +278 -0
  490. package/esm/repositories/contracts/types.d.ts.map +1 -0
  491. package/esm/repositories/index.d.ts +8 -0
  492. package/esm/repositories/index.d.ts.map +1 -0
  493. package/esm/repositories/repository.manager.d.ts +619 -0
  494. package/esm/repositories/repository.manager.d.ts.map +1 -0
  495. package/esm/repositories/repository.manager.js +978 -0
  496. package/esm/repositories/repository.manager.js.map +1 -0
  497. package/esm/resource/define-resource.js +58 -0
  498. package/esm/resource/define-resource.js.map +1 -0
  499. package/esm/resource/index.d.ts +5 -0
  500. package/esm/resource/index.d.ts.map +1 -0
  501. package/esm/resource/resource-field-builder.d.ts +83 -0
  502. package/esm/resource/resource-field-builder.d.ts.map +1 -0
  503. package/esm/resource/resource-field-builder.js +189 -0
  504. package/esm/resource/resource-field-builder.js.map +1 -0
  505. package/esm/resource/resource.d.ts +105 -0
  506. package/esm/resource/resource.d.ts.map +1 -0
  507. package/esm/resource/resource.js +231 -0
  508. package/esm/resource/resource.js.map +1 -0
  509. package/esm/resource/types.d.ts +40 -0
  510. package/esm/resource/types.d.ts.map +1 -0
  511. package/esm/restful/index.d.ts +2 -0
  512. package/esm/restful/index.d.ts.map +1 -0
  513. package/esm/restful/restful.d.ts +110 -0
  514. package/esm/restful/restful.d.ts.map +1 -0
  515. package/esm/restful/restful.js +317 -0
  516. package/esm/restful/restful.js.map +1 -0
  517. package/esm/router/index.d.ts +4 -0
  518. package/esm/router/index.d.ts.map +1 -0
  519. package/esm/router/route-registry.d.ts +30 -0
  520. package/esm/router/route-registry.d.ts.map +1 -0
  521. package/esm/router/route-registry.js +67 -0
  522. package/esm/router/route-registry.js.map +1 -0
  523. package/esm/router/route.d.ts +34 -0
  524. package/esm/router/route.d.ts.map +1 -0
  525. package/esm/router/router.d.ts +169 -0
  526. package/esm/router/router.d.ts.map +1 -0
  527. package/esm/router/router.js +578 -0
  528. package/esm/router/router.js.map +1 -0
  529. package/esm/router/types.d.ts +267 -0
  530. package/esm/router/types.d.ts.map +1 -0
  531. package/esm/router/utils.d.ts +5 -0
  532. package/esm/router/utils.d.ts.map +1 -0
  533. package/esm/router/utils.js +6 -0
  534. package/esm/router/utils.js.map +1 -0
  535. package/esm/storage/config.d.ts +15 -0
  536. package/esm/storage/config.d.ts.map +1 -0
  537. package/esm/storage/config.js +32 -0
  538. package/esm/storage/config.js.map +1 -0
  539. package/esm/storage/context/storage-driver-context.d.ts +69 -0
  540. package/esm/storage/context/storage-driver-context.d.ts.map +1 -0
  541. package/esm/storage/context/storage-driver-context.js +80 -0
  542. package/esm/storage/context/storage-driver-context.js.map +1 -0
  543. package/esm/storage/drivers/cloud-driver.d.ts +196 -0
  544. package/esm/storage/drivers/cloud-driver.d.ts.map +1 -0
  545. package/esm/storage/drivers/cloud-driver.js +697 -0
  546. package/esm/storage/drivers/cloud-driver.js.map +1 -0
  547. package/esm/storage/drivers/do-spaces-driver.d.ts +43 -0
  548. package/esm/storage/drivers/do-spaces-driver.d.ts.map +1 -0
  549. package/esm/storage/drivers/do-spaces-driver.js +50 -0
  550. package/esm/storage/drivers/do-spaces-driver.js.map +1 -0
  551. package/esm/storage/drivers/local-driver.d.ts +151 -0
  552. package/esm/storage/drivers/local-driver.d.ts.map +1 -0
  553. package/esm/storage/drivers/local-driver.js +448 -0
  554. package/esm/storage/drivers/local-driver.js.map +1 -0
  555. package/esm/storage/drivers/r2-driver.d.ts +47 -0
  556. package/esm/storage/drivers/r2-driver.d.ts.map +1 -0
  557. package/esm/storage/drivers/r2-driver.js +60 -0
  558. package/esm/storage/drivers/r2-driver.js.map +1 -0
  559. package/esm/storage/drivers/s3-driver.d.ts +32 -0
  560. package/esm/storage/drivers/s3-driver.d.ts.map +1 -0
  561. package/esm/storage/drivers/s3-driver.js +37 -0
  562. package/esm/storage/drivers/s3-driver.js.map +1 -0
  563. package/esm/storage/index.d.ts +13 -0
  564. package/esm/storage/index.d.ts.map +1 -0
  565. package/esm/storage/scoped-storage.d.ts +514 -0
  566. package/esm/storage/scoped-storage.d.ts.map +1 -0
  567. package/esm/storage/scoped-storage.js +656 -0
  568. package/esm/storage/scoped-storage.js.map +1 -0
  569. package/esm/storage/storage-file.d.ts +216 -0
  570. package/esm/storage/storage-file.d.ts.map +1 -0
  571. package/esm/storage/storage-file.js +358 -0
  572. package/esm/storage/storage-file.js.map +1 -0
  573. package/esm/storage/storage.d.ts +583 -0
  574. package/esm/storage/storage.d.ts.map +1 -0
  575. package/esm/storage/storage.js +945 -0
  576. package/esm/storage/storage.js.map +1 -0
  577. package/esm/storage/types.d.ts +909 -0
  578. package/esm/storage/types.d.ts.map +1 -0
  579. package/esm/storage/utils/mime.d.ts +33 -0
  580. package/esm/storage/utils/mime.d.ts.map +1 -0
  581. package/esm/storage/utils/mime.js +45 -0
  582. package/esm/storage/utils/mime.js.map +1 -0
  583. package/esm/store/index.d.ts +25 -0
  584. package/esm/store/index.d.ts.map +1 -0
  585. package/esm/store/index.js +52 -0
  586. package/esm/store/index.js.map +1 -0
  587. package/esm/utils/app-log.d.ts +8 -0
  588. package/esm/utils/app-log.d.ts.map +1 -0
  589. package/esm/utils/app-log.js +7 -0
  590. package/esm/utils/app-log.js.map +1 -0
  591. package/esm/utils/cleanup-temp-files.d.ts +5 -0
  592. package/esm/utils/cleanup-temp-files.d.ts.map +1 -0
  593. package/esm/utils/database-log.d.ts +25 -0
  594. package/esm/utils/database-log.d.ts.map +1 -0
  595. package/esm/utils/database-log.js +43 -0
  596. package/esm/utils/database-log.js.map +1 -0
  597. package/esm/utils/download-file.d.ts +3 -0
  598. package/esm/utils/download-file.d.ts.map +1 -0
  599. package/esm/utils/environment.d.ts +4 -0
  600. package/esm/utils/environment.d.ts.map +1 -0
  601. package/esm/utils/environment.js +6 -0
  602. package/esm/utils/environment.js.map +1 -0
  603. package/esm/utils/get-localized.d.ts +10 -0
  604. package/esm/utils/get-localized.d.ts.map +1 -0
  605. package/esm/utils/get-localized.js +15 -0
  606. package/esm/utils/get-localized.js.map +1 -0
  607. package/esm/utils/index.d.ts +12 -0
  608. package/esm/utils/index.d.ts.map +1 -0
  609. package/esm/utils/internal.d.ts +4 -0
  610. package/esm/utils/internal.d.ts.map +1 -0
  611. package/esm/utils/paths.d.ts +55 -0
  612. package/esm/utils/paths.d.ts.map +1 -0
  613. package/esm/utils/paths.js +89 -0
  614. package/esm/utils/paths.js.map +1 -0
  615. package/esm/utils/promise-all-object.d.ts +8 -0
  616. package/esm/utils/promise-all-object.d.ts.map +1 -0
  617. package/esm/utils/promise-all-object.js +12 -0
  618. package/esm/utils/promise-all-object.js.map +1 -0
  619. package/esm/utils/queue.d.ts +49 -0
  620. package/esm/utils/queue.d.ts.map +1 -0
  621. package/esm/utils/queue.js +89 -0
  622. package/esm/utils/queue.js.map +1 -0
  623. package/esm/utils/sleep.d.ts +2 -0
  624. package/esm/utils/sleep.d.ts.map +1 -0
  625. package/esm/utils/sleep.js +3 -0
  626. package/esm/utils/sleep.js.map +1 -0
  627. package/esm/utils/sluggable.d.ts +5 -0
  628. package/esm/utils/sluggable.d.ts.map +1 -0
  629. package/esm/utils/sluggable.js +15 -0
  630. package/esm/utils/sluggable.js.map +1 -0
  631. package/esm/utils/to-json.d.ts +2 -0
  632. package/esm/utils/to-json.d.ts.map +1 -0
  633. package/esm/utils/to-json.js +26 -0
  634. package/esm/utils/to-json.js.map +1 -0
  635. package/esm/utils/types.d.ts +22 -0
  636. package/esm/utils/types.d.ts.map +1 -0
  637. package/esm/utils/urls.d.ts +21 -0
  638. package/esm/utils/urls.d.ts.map +1 -0
  639. package/esm/utils/urls.js +31 -0
  640. package/esm/utils/urls.js.map +1 -0
  641. package/esm/validation/database/exists-except-current-id.d.ts +7 -0
  642. package/esm/validation/database/exists-except-current-id.d.ts.map +1 -0
  643. package/esm/validation/database/exists-except-current-id.js +23 -0
  644. package/esm/validation/database/exists-except-current-id.js.map +1 -0
  645. package/esm/validation/database/exists-except-current-user.d.ts +7 -0
  646. package/esm/validation/database/exists-except-current-user.d.ts.map +1 -0
  647. package/esm/validation/database/exists-except-current-user.js +25 -0
  648. package/esm/validation/database/exists-except-current-user.js.map +1 -0
  649. package/esm/validation/database/exists.d.ts +7 -0
  650. package/esm/validation/database/exists.d.ts.map +1 -0
  651. package/esm/validation/database/exists.js +21 -0
  652. package/esm/validation/database/exists.js.map +1 -0
  653. package/esm/validation/database/index.d.ts +12 -0
  654. package/esm/validation/database/index.d.ts.map +1 -0
  655. package/esm/validation/database/types.d.ts +68 -0
  656. package/esm/validation/database/types.d.ts.map +1 -0
  657. package/esm/validation/database/unique-except-current-id.d.ts +7 -0
  658. package/esm/validation/database/unique-except-current-id.d.ts.map +1 -0
  659. package/esm/validation/database/unique-except-current-id.js +23 -0
  660. package/esm/validation/database/unique-except-current-id.js.map +1 -0
  661. package/esm/validation/database/unique-except-current-user.d.ts +7 -0
  662. package/esm/validation/database/unique-except-current-user.d.ts.map +1 -0
  663. package/esm/validation/database/unique-except-current-user.js +25 -0
  664. package/esm/validation/database/unique-except-current-user.js.map +1 -0
  665. package/esm/validation/database/unique.d.ts +7 -0
  666. package/esm/validation/database/unique.d.ts.map +1 -0
  667. package/esm/validation/database/unique.js +30 -0
  668. package/esm/validation/database/unique.js.map +1 -0
  669. package/esm/validation/file/file.d.ts +22 -0
  670. package/esm/validation/file/file.d.ts.map +1 -0
  671. package/esm/validation/file/file.js +60 -0
  672. package/esm/validation/file/file.js.map +1 -0
  673. package/esm/validation/file/index.d.ts +6 -0
  674. package/esm/validation/file/index.d.ts.map +1 -0
  675. package/esm/validation/index.d.ts +16 -0
  676. package/esm/validation/index.d.ts.map +1 -0
  677. package/esm/validation/init.d.ts +7 -0
  678. package/esm/validation/init.d.ts.map +1 -0
  679. package/esm/validation/init.js +36 -0
  680. package/esm/validation/init.js.map +1 -0
  681. package/esm/validation/plugins/database-plugin.d.ts +14 -0
  682. package/esm/validation/plugins/database-plugin.d.ts.map +1 -0
  683. package/esm/validation/plugins/database-plugin.js +95 -0
  684. package/esm/validation/plugins/database-plugin.js.map +1 -0
  685. package/esm/validation/plugins/file-plugin.d.ts +11 -0
  686. package/esm/validation/plugins/file-plugin.d.ts.map +1 -0
  687. package/esm/validation/plugins/file-plugin.js +17 -0
  688. package/esm/validation/plugins/file-plugin.js.map +1 -0
  689. package/esm/validation/plugins/index.d.ts +9 -0
  690. package/esm/validation/plugins/index.d.ts.map +1 -0
  691. package/esm/validation/plugins/localized-plugin.d.ts +11 -0
  692. package/esm/validation/plugins/localized-plugin.d.ts.map +1 -0
  693. package/esm/validation/plugins/localized-plugin.js +19 -0
  694. package/esm/validation/plugins/localized-plugin.js.map +1 -0
  695. package/esm/validation/types.d.ts +87 -0
  696. package/esm/validation/types.d.ts.map +1 -0
  697. package/esm/validation/validateAll.d.ts +7 -0
  698. package/esm/validation/validateAll.d.ts.map +1 -0
  699. package/esm/validation/validateAll.js +60 -0
  700. package/esm/validation/validateAll.js.map +1 -0
  701. package/esm/validation/validators/file-validator.d.ts +46 -0
  702. package/esm/validation/validators/file-validator.d.ts.map +1 -0
  703. package/esm/validation/validators/file-validator.js +112 -0
  704. package/esm/validation/validators/file-validator.js.map +1 -0
  705. package/esm/validation/validators/index.d.ts +7 -0
  706. package/esm/validation/validators/index.d.ts.map +1 -0
  707. package/esm/warlock-config/default-configurations.d.ts +3 -0
  708. package/esm/warlock-config/default-configurations.d.ts.map +1 -0
  709. package/esm/warlock-config/default-configurations.js +8 -0
  710. package/esm/warlock-config/default-configurations.js.map +1 -0
  711. package/esm/warlock-config/define-config.d.ts +3 -0
  712. package/esm/warlock-config/define-config.d.ts.map +1 -0
  713. package/esm/warlock-config/define-config.js +3 -0
  714. package/esm/warlock-config/define-config.js.map +1 -0
  715. package/esm/warlock-config/index.d.ts +4 -0
  716. package/esm/warlock-config/index.d.ts.map +1 -0
  717. package/esm/warlock-config/types.d.ts +79 -0
  718. package/esm/warlock-config/types.d.ts.map +1 -0
  719. package/esm/warlock-config/warlock-config.manager.d.ts +83 -0
  720. package/esm/warlock-config/warlock-config.manager.d.ts.map +1 -0
  721. package/esm/warlock-config/warlock-config.manager.js +141 -0
  722. package/esm/warlock-config/warlock-config.manager.js.map +1 -0
  723. package/package.json +66 -71
@@ -0,0 +1,656 @@
1
+ import {fileExistsAsync}from'@mongez/fs';import fs from'fs/promises';import {StorageFile}from'./storage-file.js';/**
2
+ * ScopedStorage - Base class for storage operations
3
+ *
4
+ * Wraps a storage driver and provides a consistent, developer-friendly API
5
+ * that returns `StorageFile` instances instead of raw data objects.
6
+ *
7
+ * This class serves as the base for both direct driver usage and the
8
+ * full `Storage` manager class.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Using via storage.use()
13
+ * const s3Storage = storage.use("s3");
14
+ * const file = await s3Storage.put(buffer, "images/photo.jpg");
15
+ *
16
+ * // file is a StorageFile instance with rich API
17
+ * console.log(file.name); // "photo.jpg"
18
+ * console.log(file.url); // "https://..."
19
+ * await file.copy("backup/photo.jpg");
20
+ * ```
21
+ */
22
+ class ScopedStorage {
23
+ /**
24
+ * The underlying storage driver instance
25
+ * @internal
26
+ */
27
+ _driver;
28
+ /**
29
+ * Create a new ScopedStorage instance
30
+ *
31
+ * @param driver - The storage driver to wrap
32
+ */
33
+ constructor(driver) {
34
+ this._driver = driver;
35
+ }
36
+ // ============================================================
37
+ // Properties
38
+ // ============================================================
39
+ /**
40
+ * Get the driver name
41
+ *
42
+ * @returns The name identifier of the underlying driver (e.g., "local", "s3", "r2")
43
+ */
44
+ get name() {
45
+ return this.activeDriver.name;
46
+ }
47
+ /**
48
+ * Get the default driver instance
49
+ *
50
+ * Use this for advanced operations that require direct driver access.
51
+ *
52
+ * @returns The raw storage driver
53
+ */
54
+ get defaultDriver() {
55
+ return this._driver;
56
+ }
57
+ /**
58
+ * Get the currently active driver
59
+ *
60
+ * Returns the driver being used for storage operations.
61
+ * Can be overridden in subclasses for dynamic driver resolution (e.g., multi-tenant contexts).
62
+ *
63
+ * @returns The active storage driver
64
+ */
65
+ get activeDriver() {
66
+ return this._driver;
67
+ }
68
+ // ============================================================
69
+ // File Operations
70
+ // ============================================================
71
+ /**
72
+ * Store a file in storage
73
+ *
74
+ * Accepts multiple input types and stores the file at the specified location.
75
+ * Returns a `StorageFile` instance for further operations.
76
+ *
77
+ * @param file - File content as Buffer, string path, UploadedFile, or Readable stream
78
+ * @param location - Destination path in storage (e.g., "uploads/images/photo.jpg")
79
+ * @param options - Optional storage options
80
+ * @returns StorageFile instance with cached metadata
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * // From buffer
85
+ * const file = await storage.put(buffer, "documents/report.pdf");
86
+ *
87
+ * // From uploaded file
88
+ * const file = await storage.put(uploadedFile, "avatars/user-123.jpg");
89
+ *
90
+ * // With options
91
+ * const file = await storage.put(buffer, "images/photo.jpg", {
92
+ * mimeType: "image/jpeg",
93
+ * cacheControl: "max-age=31536000"
94
+ * });
95
+ * ```
96
+ */
97
+ async put(file, location, options) {
98
+ const buffer = await this.toBuffer(file);
99
+ const data = await this.activeDriver.put(buffer, location, options);
100
+ return StorageFile.fromData(data, this.activeDriver);
101
+ }
102
+ /**
103
+ * Store a file from a readable stream
104
+ *
105
+ * Optimized for large files - streams data directly without full buffering.
106
+ * Ideal for file uploads, remote file fetching, or processing pipelines.
107
+ *
108
+ * @param stream - Readable stream of file content
109
+ * @param location - Destination path in storage
110
+ * @param options - Optional storage options
111
+ * @returns StorageFile instance with cached metadata
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * import { createReadStream } from "fs";
116
+ *
117
+ * const stream = createReadStream("./large-video.mp4");
118
+ * const file = await storage.putStream(stream, "videos/upload.mp4");
119
+ * ```
120
+ */
121
+ async putStream(stream, location, options) {
122
+ const data = await this.activeDriver.putStream(stream, location, options);
123
+ return StorageFile.fromData(data, this.activeDriver);
124
+ }
125
+ /**
126
+ * Store a file from a URL
127
+ *
128
+ * Downloads the file from the URL and stores it.
129
+ *
130
+ * @param url - URL to download from
131
+ * @param location - Destination path in storage
132
+ * @param options - Optional storage options
133
+ * @returns StorageFile instance
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * const file = await storage.putFromUrl(
138
+ * "https://example.com/image.jpg",
139
+ * "images/downloaded.jpg"
140
+ * );
141
+ * ```
142
+ */
143
+ async putFromUrl(url, location, options) {
144
+ const response = await fetch(url);
145
+ if (!response.ok) {
146
+ throw new Error(`Failed to fetch file from ${url}: ${response.statusText}`);
147
+ }
148
+ const buffer = Buffer.from(await response.arrayBuffer());
149
+ return this.put(buffer, location, options);
150
+ }
151
+ /**
152
+ * Store a file from base64 data URL
153
+ *
154
+ * @param dataUrl - Data URL (data:image/png;base64,iVBORw0KG...)
155
+ * @param location - Destination path in storage
156
+ * @param options - Optional storage options
157
+ * @returns StorageFile instance
158
+ *
159
+ * @example
160
+ * ```typescript
161
+ * const file = await storage.putFromBase64(
162
+ * "data:image/png;base64,iVBORw0KGgoAAAANS...",
163
+ * "images/upload.png"
164
+ * );
165
+ * ```
166
+ */
167
+ async putFromBase64(dataUrl, location, options) {
168
+ // Parse data URL: data:image/png;base64,iVBORw0KG...
169
+ const matches = dataUrl.match(/^data:([^;]+);base64,(.+)$/);
170
+ if (!matches) {
171
+ throw new Error("Invalid base64 data URL format. Expected: data:mime/type;base64,<data>");
172
+ }
173
+ const [, mimeType, base64Data] = matches;
174
+ const buffer = Buffer.from(base64Data, "base64");
175
+ return this.put(buffer, location, {
176
+ ...options,
177
+ mimeType: options?.mimeType || mimeType,
178
+ });
179
+ }
180
+ /**
181
+ * Retrieve file contents as a Buffer
182
+ *
183
+ * Downloads the entire file into memory. For large files,
184
+ * consider using `getStream()` instead.
185
+ *
186
+ * @param location - Path to the file in storage
187
+ * @returns Buffer containing file contents
188
+ * @throws Error if file not found
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * const buffer = await storage.get("documents/report.pdf");
193
+ * const content = buffer.toString("utf-8");
194
+ * ```
195
+ */
196
+ async get(location) {
197
+ return this.activeDriver.get(location);
198
+ }
199
+ /**
200
+ * Retrieve file contents as a readable stream
201
+ *
202
+ * Streams file data without loading entire file into memory.
203
+ * Ideal for large files or when piping to a response.
204
+ *
205
+ * @param location - Path to the file in storage
206
+ * @returns Readable stream of file contents
207
+ * @throws Error if file not found
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * const stream = await storage.getStream("videos/large.mp4");
212
+ * stream.pipe(response.raw);
213
+ * ```
214
+ */
215
+ async getStream(location) {
216
+ return this.activeDriver.getStream(location);
217
+ }
218
+ /**
219
+ * Delete a file from storage
220
+ *
221
+ * @param location - Path to the file, or a StorageFile instance
222
+ * @returns `true` if deleted, `false` if file not found
223
+ *
224
+ * @example
225
+ * ```typescript
226
+ * // By path
227
+ * await storage.delete("temp/old-file.txt");
228
+ *
229
+ * // From StorageFile instance
230
+ * const file = await storage.put(buffer, "temp/file.txt");
231
+ * await storage.delete(file);
232
+ * ```
233
+ */
234
+ async delete(location) {
235
+ const path = typeof location === "string" ? location : location.path;
236
+ return this.activeDriver.delete(path);
237
+ }
238
+ /**
239
+ * Delete multiple files at once
240
+ *
241
+ * Performs batch deletion for efficiency. Returns results for each file
242
+ * including success/failure status.
243
+ *
244
+ * @param locations - Array of file paths to delete
245
+ * @returns Array of delete results with status for each file
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * const results = await storage.deleteMany([
250
+ * "temp/file1.txt",
251
+ * "temp/file2.txt",
252
+ * "temp/file3.txt"
253
+ * ]);
254
+ *
255
+ * for (const result of results) {
256
+ * console.log(`${result.location}: ${result.deleted ? "deleted" : result.error}`);
257
+ * }
258
+ * ```
259
+ */
260
+ async deleteMany(locations) {
261
+ return this.activeDriver.deleteMany(locations);
262
+ }
263
+ /**
264
+ * Delete a directory
265
+ *
266
+ * @param directoryPath - Path to the directory
267
+ */
268
+ async deleteDirectory(directoryPath) {
269
+ return await this.activeDriver.deleteDirectory(directoryPath);
270
+ }
271
+ /**
272
+ * Check if a file exists in storage
273
+ *
274
+ * @param location - Path to check
275
+ * @returns `true` if file exists, `false` otherwise
276
+ *
277
+ * @example
278
+ * ```typescript
279
+ * if (await storage.exists("config/settings.json")) {
280
+ * const config = await storage.get("config/settings.json");
281
+ * }
282
+ * ```
283
+ */
284
+ async exists(location) {
285
+ return this.activeDriver.exists(location);
286
+ }
287
+ /**
288
+ * Copy a file to a new location
289
+ *
290
+ * Creates a copy of the file at the destination path.
291
+ * The original file remains unchanged.
292
+ *
293
+ * @param from - Source path or StorageFile instance
294
+ * @param to - Destination path
295
+ * @returns StorageFile instance at the new location
296
+ *
297
+ * @example
298
+ * ```typescript
299
+ * // Copy by path
300
+ * const backup = await storage.copy("documents/report.pdf", "backups/report.pdf");
301
+ *
302
+ * // Copy from StorageFile
303
+ * const original = await storage.file("documents/report.pdf");
304
+ * const backup = await storage.copy(original, "backups/report.pdf");
305
+ * ```
306
+ */
307
+ async copy(from, to) {
308
+ const fromPath = typeof from === "string" ? from : from.path;
309
+ const data = await this.activeDriver.copy(fromPath, to);
310
+ return StorageFile.fromData(data, this.activeDriver);
311
+ }
312
+ /**
313
+ * Move a file to a new location
314
+ *
315
+ * Moves the file to the destination path. The original file
316
+ * is deleted after successful copy.
317
+ *
318
+ * @param from - Source path or StorageFile instance
319
+ * @param to - Destination path
320
+ * @returns StorageFile instance at the new location
321
+ *
322
+ * @example
323
+ * ```typescript
324
+ * // Move by path
325
+ * const file = await storage.move("uploads/temp.jpg", "images/photo.jpg");
326
+ *
327
+ * // Move from StorageFile
328
+ * const temp = await storage.file("uploads/temp.jpg");
329
+ * const final = await storage.move(temp, "images/photo.jpg");
330
+ * ```
331
+ */
332
+ async move(from, to) {
333
+ const fromPath = typeof from === "string" ? from : from.path;
334
+ const data = await this.activeDriver.move(fromPath, to);
335
+ return StorageFile.fromData(data, this.activeDriver);
336
+ }
337
+ /**
338
+ * Copy an entire directory recursively
339
+ *
340
+ * Copies all files from the source directory to the destination directory,
341
+ * preserving the directory structure.
342
+ *
343
+ * @param from - Source directory path
344
+ * @param to - Destination directory path
345
+ * @param options - Optional concurrency control
346
+ * @returns Number of files copied
347
+ *
348
+ * @example
349
+ * ```typescript
350
+ * // Copy entire directory
351
+ * const count = await storage.copyDirectory("uploads/temp", "uploads/final");
352
+ * console.log(`Copied ${count} files`);
353
+ *
354
+ * // With concurrency limit
355
+ * const count = await storage.copyDirectory("large-dir", "backup", {
356
+ * concurrency: 10
357
+ * });
358
+ * ```
359
+ */
360
+ async copyDirectory(from, to, options) {
361
+ const concurrency = options?.concurrency || 5;
362
+ // List all files recursively
363
+ const files = await this.list(from, { recursive: true });
364
+ const filesToCopy = files.filter((f) => !f.isDirectory);
365
+ // Copy files in batches for efficiency
366
+ let copied = 0;
367
+ for (let i = 0; i < filesToCopy.length; i += concurrency) {
368
+ const batch = filesToCopy.slice(i, i + concurrency);
369
+ await Promise.all(batch.map(async (file) => {
370
+ // Calculate relative path and new destination
371
+ const relativePath = file.path.substring(from.length).replace(/^\//, "");
372
+ const newPath = `${to}/${relativePath}`;
373
+ await this.copy(file.path, newPath);
374
+ copied++;
375
+ }));
376
+ }
377
+ return copied;
378
+ }
379
+ /**
380
+ * Move an entire directory recursively
381
+ *
382
+ * Moves all files from the source directory to the destination directory,
383
+ * then deletes the source directory.
384
+ *
385
+ * @param from - Source directory path
386
+ * @param to - Destination directory path
387
+ * @param options - Optional concurrency control
388
+ * @returns Number of files moved
389
+ *
390
+ * @example
391
+ * ```typescript
392
+ * const count = await storage.moveDirectory("uploads/temp", "uploads/final");
393
+ * console.log(`Moved ${count} files`);
394
+ * ```
395
+ */
396
+ async moveDirectory(from, to, options) {
397
+ // Copy all files first
398
+ const count = await this.copyDirectory(from, to, options);
399
+ // Delete source directory
400
+ await this.deleteDirectory(from);
401
+ return count;
402
+ }
403
+ /**
404
+ * Empty a directory without deleting the directory itself
405
+ *
406
+ * Deletes all files within the directory but preserves the directory structure.
407
+ *
408
+ * @param path - Directory path to empty
409
+ * @returns Number of files deleted
410
+ *
411
+ * @example
412
+ * ```typescript
413
+ * const count = await storage.emptyDirectory("uploads/temp");
414
+ * console.log(`Deleted ${count} files`);
415
+ * ```
416
+ */
417
+ async emptyDirectory(path) {
418
+ // List all files in directory
419
+ const files = await this.list(path, { recursive: true });
420
+ const filePaths = files.filter((f) => !f.isDirectory).map((f) => f.path);
421
+ if (filePaths.length === 0) {
422
+ return 0;
423
+ }
424
+ // Delete all files
425
+ await this.deleteMany(filePaths);
426
+ return filePaths.length;
427
+ }
428
+ /**
429
+ * List files in a directory
430
+ *
431
+ * Returns file information for all files in the specified directory.
432
+ * Supports recursive listing and pagination.
433
+ *
434
+ * @param directory - Directory path (defaults to root)
435
+ * @param options - List options (recursive, limit, cursor)
436
+ * @returns Array of file information objects
437
+ *
438
+ * @example
439
+ * ```typescript
440
+ * // List all files in uploads
441
+ * const files = await storage.list("uploads");
442
+ *
443
+ * // Recursive listing with limit
444
+ * const files = await storage.list("uploads", {
445
+ * recursive: true,
446
+ * limit: 100
447
+ * });
448
+ * ```
449
+ */
450
+ async list(directory, options) {
451
+ return this.activeDriver.list(directory || "", options);
452
+ }
453
+ // ============================================================
454
+ // URL Operations
455
+ // ============================================================
456
+ /**
457
+ * Get the public URL for a file
458
+ *
459
+ * Returns the URL where the file can be accessed. For local storage,
460
+ * this is typically a path prefix. For cloud storage, this is the
461
+ * bucket URL or CDN URL.
462
+ *
463
+ * @param location - File path
464
+ * @returns Public URL string
465
+ *
466
+ * @example
467
+ * ```typescript
468
+ * const url = storage.url("images/photo.jpg");
469
+ * // Local: "/uploads/images/photo.jpg"
470
+ * // S3: "https://bucket.s3.amazonaws.com/images/photo.jpg"
471
+ * ```
472
+ */
473
+ url(location) {
474
+ return this.activeDriver.url(location);
475
+ }
476
+ /**
477
+ * Get a temporary signed URL with expiration
478
+ *
479
+ * Creates a URL that provides temporary access to the file.
480
+ * For cloud storage, this uses presigned URLs.
481
+ * For local storage, this uses HMAC-signed tokens.
482
+ *
483
+ * @param location - File path
484
+ * @param expiresIn - Seconds until URL expires (default: 3600)
485
+ * @returns Signed URL string
486
+ *
487
+ * @example
488
+ * ```typescript
489
+ * // URL valid for 1 hour
490
+ * const url = await storage.temporaryUrl("private/document.pdf");
491
+ *
492
+ * // URL valid for 24 hours
493
+ * const url = await storage.temporaryUrl("private/document.pdf", 86400);
494
+ * ```
495
+ */
496
+ async temporaryUrl(location, expiresIn) {
497
+ return this.activeDriver.temporaryUrl(location, expiresIn);
498
+ }
499
+ // ============================================================
500
+ // Metadata Operations
501
+ // ============================================================
502
+ /**
503
+ * Get file metadata without downloading the file
504
+ *
505
+ * Retrieves information about a file including size, last modified date,
506
+ * and MIME type without downloading the file contents.
507
+ *
508
+ * @param location - File path
509
+ * @returns File information object
510
+ * @throws Error if file not found
511
+ *
512
+ * @example
513
+ * ```typescript
514
+ * const info = await storage.getInfo("documents/report.pdf");
515
+ * console.log(`Size: ${info.size} bytes`);
516
+ * console.log(`Type: ${info.mimeType}`);
517
+ * console.log(`Modified: ${info.lastModified}`);
518
+ * ```
519
+ */
520
+ async getInfo(location) {
521
+ return this.activeDriver.getInfo(location);
522
+ }
523
+ /**
524
+ * Get file size in bytes
525
+ *
526
+ * Shortcut for `getInfo(location).size`.
527
+ *
528
+ * @param location - File path
529
+ * @returns File size in bytes
530
+ * @throws Error if file not found
531
+ */
532
+ async size(location) {
533
+ return this.activeDriver.size(location);
534
+ }
535
+ /**
536
+ * Get a StorageFile instance for OOP-style operations
537
+ *
538
+ * Creates a `StorageFile` wrapper for the specified path,
539
+ * allowing fluent method chaining for file operations.
540
+ *
541
+ * @param location - File path
542
+ * @returns StorageFile instance
543
+ *
544
+ * @example
545
+ * ```typescript
546
+ * const file = await storage.file("uploads/image.jpg");
547
+ *
548
+ * // Properties
549
+ * console.log(file.name); // "image.jpg"
550
+ * console.log(file.extension); // "jpg"
551
+ *
552
+ * // Operations
553
+ * await file.copy("backup/image.jpg");
554
+ * await file.delete();
555
+ * ```
556
+ */
557
+ async file(location) {
558
+ return new StorageFile(location, this.activeDriver);
559
+ }
560
+ // ============================================================
561
+ // Utilities
562
+ // ============================================================
563
+ /**
564
+ * Convert various input types to Buffer
565
+ *
566
+ * @param file - Input file in various formats
567
+ * @returns Buffer containing file contents
568
+ * @internal
569
+ */
570
+ async toBuffer(file) {
571
+ // Already a buffer
572
+ if (Buffer.isBuffer(file)) {
573
+ return file;
574
+ }
575
+ // Readable stream - collect into buffer
576
+ if (this.isReadable(file)) {
577
+ return this.streamToBuffer(file);
578
+ }
579
+ // String content
580
+ if (typeof file === "string") {
581
+ if (await fileExistsAsync(file)) {
582
+ return fs.readFile(file);
583
+ }
584
+ return Buffer.from(file);
585
+ }
586
+ // UploadedFile
587
+ return file.buffer();
588
+ }
589
+ /**
590
+ * Check if value is a Readable stream
591
+ *
592
+ * @param value - Value to check
593
+ * @returns True if value is a Readable stream
594
+ * @internal
595
+ */
596
+ isReadable(value) {
597
+ return (typeof value === "object" &&
598
+ value !== null &&
599
+ "pipe" in value &&
600
+ typeof value.pipe === "function");
601
+ }
602
+ /**
603
+ * Convert a Readable stream to Buffer
604
+ *
605
+ * @param stream - Readable stream
606
+ * @returns Buffer containing stream contents
607
+ * @internal
608
+ */
609
+ async streamToBuffer(stream) {
610
+ const chunks = [];
611
+ for await (const chunk of stream) {
612
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
613
+ }
614
+ return Buffer.concat(chunks);
615
+ }
616
+ /**
617
+ * Prepend a prefix to a location path
618
+ *
619
+ * Useful for organizing files into directories.
620
+ *
621
+ * @param prefix - Prefix to add (e.g., "uploads")
622
+ * @param location - Original location path
623
+ * @returns Combined path with prefix
624
+ *
625
+ * @example
626
+ * ```typescript
627
+ * storage.prepend("uploads", "image.jpg"); // "uploads/image.jpg"
628
+ * storage.prepend("uploads/", "/image.jpg"); // "uploads/image.jpg"
629
+ * ```
630
+ */
631
+ prepend(prefix, location) {
632
+ return `${prefix.replace(/\/$/, "")}/${location.replace(/^\//, "")}`;
633
+ }
634
+ /**
635
+ * Append a suffix to a location path (before extension)
636
+ *
637
+ * Useful for creating variants of files (thumbnails, etc.).
638
+ *
639
+ * @param location - Original location path
640
+ * @param suffix - Suffix to add before extension
641
+ * @returns Path with suffix added before extension
642
+ *
643
+ * @example
644
+ * ```typescript
645
+ * storage.append("image.jpg", "_thumb"); // "image_thumb.jpg"
646
+ * storage.append("document.pdf", "_v2"); // "document_v2.pdf"
647
+ * ```
648
+ */
649
+ append(location, suffix) {
650
+ const lastDot = location.lastIndexOf(".");
651
+ if (lastDot === -1) {
652
+ return `${location}${suffix}`;
653
+ }
654
+ return `${location.substring(0, lastDot)}${suffix}${location.substring(lastDot)}`;
655
+ }
656
+ }export{ScopedStorage};//# sourceMappingURL=scoped-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped-storage.js","sources":["../../src/storage/scoped-storage.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}