velocious 1.0.431 → 1.0.433

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 (794) hide show
  1. package/build/application.js +229 -0
  2. package/build/authorization/ability.js +329 -0
  3. package/build/authorization/base-resource.js +143 -0
  4. package/build/background-jobs/client.js +50 -0
  5. package/build/background-jobs/cron-expression.js +277 -0
  6. package/build/background-jobs/forked-runner-child.js +86 -0
  7. package/build/background-jobs/job-record.js +13 -0
  8. package/build/background-jobs/job-registry.js +92 -0
  9. package/build/background-jobs/job-runner.js +107 -0
  10. package/build/background-jobs/job.js +77 -0
  11. package/build/background-jobs/json-socket.js +78 -0
  12. package/build/background-jobs/main.js +926 -0
  13. package/build/background-jobs/normalize-error.js +26 -0
  14. package/build/background-jobs/scheduler.js +274 -0
  15. package/build/background-jobs/socket-request.js +68 -0
  16. package/build/background-jobs/status-reporter.js +101 -0
  17. package/build/background-jobs/store.js +994 -0
  18. package/build/background-jobs/types.js +70 -0
  19. package/build/background-jobs/web/authorization.js +89 -0
  20. package/build/background-jobs/web/controller.js +280 -0
  21. package/build/background-jobs/web/index.js +57 -0
  22. package/build/background-jobs/web/path-matcher.js +74 -0
  23. package/build/background-jobs/web/registry.js +49 -0
  24. package/build/background-jobs/worker.js +683 -0
  25. package/build/beacon/client.js +330 -0
  26. package/build/beacon/in-process-broker.js +71 -0
  27. package/build/beacon/in-process-client.js +139 -0
  28. package/build/beacon/server.js +148 -0
  29. package/build/beacon/types.js +55 -0
  30. package/build/cli/base-command.js +67 -0
  31. package/build/cli/browser-cli.js +45 -0
  32. package/build/cli/commands/background-jobs-main.js +7 -0
  33. package/build/cli/commands/background-jobs-runner.js +7 -0
  34. package/build/cli/commands/background-jobs-worker.js +7 -0
  35. package/build/cli/commands/beacon.js +7 -0
  36. package/build/cli/commands/console.js +12 -0
  37. package/build/cli/commands/db/base-command.js +82 -0
  38. package/build/cli/commands/db/create.js +64 -0
  39. package/build/cli/commands/db/drop.js +75 -0
  40. package/build/cli/commands/db/migrate.js +17 -0
  41. package/build/cli/commands/db/reset.js +22 -0
  42. package/build/cli/commands/db/rollback.js +15 -0
  43. package/build/cli/commands/db/schema/dump.js +12 -0
  44. package/build/cli/commands/db/schema/load.js +12 -0
  45. package/build/cli/commands/db/seed.js +12 -0
  46. package/build/cli/commands/db/tenants/check.js +38 -0
  47. package/build/cli/commands/db/tenants/create.js +33 -0
  48. package/build/cli/commands/db/tenants/migrate.js +49 -0
  49. package/build/cli/commands/destroy/migration.js +7 -0
  50. package/build/cli/commands/generate/base-models.js +7 -0
  51. package/build/cli/commands/generate/frontend-models.js +12 -0
  52. package/build/cli/commands/generate/migration.js +7 -0
  53. package/build/cli/commands/generate/model.js +7 -0
  54. package/build/cli/commands/init.js +11 -0
  55. package/build/cli/commands/routes.js +7 -0
  56. package/build/cli/commands/run-script.js +12 -0
  57. package/build/cli/commands/runner.js +12 -0
  58. package/build/cli/commands/server.js +7 -0
  59. package/build/cli/commands/test.js +9 -0
  60. package/build/cli/index.js +152 -0
  61. package/build/cli/tenant-database-command-helper.js +198 -0
  62. package/build/cli/use-browser-cli.js +30 -0
  63. package/build/configuration-resolver.js +65 -0
  64. package/build/configuration-types.js +429 -0
  65. package/build/configuration.js +2590 -0
  66. package/build/controller.js +421 -0
  67. package/build/current-configuration.js +31 -0
  68. package/build/current.js +80 -0
  69. package/build/database/annotations-async-hooks.js +47 -0
  70. package/build/database/annotations.js +40 -0
  71. package/build/database/drivers/base-column.js +182 -0
  72. package/build/database/drivers/base-columns-index.js +81 -0
  73. package/build/database/drivers/base-foreign-key.js +104 -0
  74. package/build/database/drivers/base-table.js +156 -0
  75. package/build/database/drivers/base.js +1609 -0
  76. package/build/database/drivers/mssql/column.js +74 -0
  77. package/build/database/drivers/mssql/columns-index.js +6 -0
  78. package/build/database/drivers/mssql/connect-connection.js +16 -0
  79. package/build/database/drivers/mssql/foreign-key.js +12 -0
  80. package/build/database/drivers/mssql/index.js +590 -0
  81. package/build/database/drivers/mssql/options.js +79 -0
  82. package/build/database/drivers/mssql/query-parser.js +6 -0
  83. package/build/database/drivers/mssql/sql/alter-table.js +4 -0
  84. package/build/database/drivers/mssql/sql/create-database.js +36 -0
  85. package/build/database/drivers/mssql/sql/create-index.js +4 -0
  86. package/build/database/drivers/mssql/sql/create-table.js +4 -0
  87. package/build/database/drivers/mssql/sql/delete.js +19 -0
  88. package/build/database/drivers/mssql/sql/drop-database.js +36 -0
  89. package/build/database/drivers/mssql/sql/drop-table.js +4 -0
  90. package/build/database/drivers/mssql/sql/insert.js +4 -0
  91. package/build/database/drivers/mssql/sql/update.js +31 -0
  92. package/build/database/drivers/mssql/sql/upsert.js +23 -0
  93. package/build/database/drivers/mssql/structure-sql.js +120 -0
  94. package/build/database/drivers/mssql/table.js +145 -0
  95. package/build/database/drivers/mysql/column.js +112 -0
  96. package/build/database/drivers/mysql/columns-index.js +22 -0
  97. package/build/database/drivers/mysql/foreign-key.js +12 -0
  98. package/build/database/drivers/mysql/index.js +473 -0
  99. package/build/database/drivers/mysql/options.js +34 -0
  100. package/build/database/drivers/mysql/query-parser.js +6 -0
  101. package/build/database/drivers/mysql/query.js +37 -0
  102. package/build/database/drivers/mysql/sql/alter-table.js +6 -0
  103. package/build/database/drivers/mysql/sql/create-database.js +39 -0
  104. package/build/database/drivers/mysql/sql/create-index.js +6 -0
  105. package/build/database/drivers/mysql/sql/create-table.js +6 -0
  106. package/build/database/drivers/mysql/sql/delete.js +21 -0
  107. package/build/database/drivers/mysql/sql/drop-database.js +6 -0
  108. package/build/database/drivers/mysql/sql/drop-table.js +6 -0
  109. package/build/database/drivers/mysql/sql/insert.js +6 -0
  110. package/build/database/drivers/mysql/sql/update.js +33 -0
  111. package/build/database/drivers/mysql/sql/upsert.js +13 -0
  112. package/build/database/drivers/mysql/structure-sql.js +93 -0
  113. package/build/database/drivers/mysql/table.js +121 -0
  114. package/build/database/drivers/pgsql/column.js +90 -0
  115. package/build/database/drivers/pgsql/columns-index.js +6 -0
  116. package/build/database/drivers/pgsql/foreign-key.js +12 -0
  117. package/build/database/drivers/pgsql/index.js +441 -0
  118. package/build/database/drivers/pgsql/options.js +32 -0
  119. package/build/database/drivers/pgsql/query-parser.js +6 -0
  120. package/build/database/drivers/pgsql/sql/alter-table.js +6 -0
  121. package/build/database/drivers/pgsql/sql/create-database.js +38 -0
  122. package/build/database/drivers/pgsql/sql/create-index.js +6 -0
  123. package/build/database/drivers/pgsql/sql/create-table.js +6 -0
  124. package/build/database/drivers/pgsql/sql/delete.js +21 -0
  125. package/build/database/drivers/pgsql/sql/drop-database.js +6 -0
  126. package/build/database/drivers/pgsql/sql/drop-table.js +6 -0
  127. package/build/database/drivers/pgsql/sql/insert.js +6 -0
  128. package/build/database/drivers/pgsql/sql/update.js +33 -0
  129. package/build/database/drivers/pgsql/sql/upsert.js +14 -0
  130. package/build/database/drivers/pgsql/structure-sql.js +126 -0
  131. package/build/database/drivers/pgsql/table.js +135 -0
  132. package/build/database/drivers/sqlite/base.js +509 -0
  133. package/build/database/drivers/sqlite/column.js +75 -0
  134. package/build/database/drivers/sqlite/columns-index.js +30 -0
  135. package/build/database/drivers/sqlite/connection-sql-js.js +46 -0
  136. package/build/database/drivers/sqlite/foreign-key.js +24 -0
  137. package/build/database/drivers/sqlite/index.js +394 -0
  138. package/build/database/drivers/sqlite/index.native.js +72 -0
  139. package/build/database/drivers/sqlite/index.web.js +99 -0
  140. package/build/database/drivers/sqlite/options.js +32 -0
  141. package/build/database/drivers/sqlite/query-parser.js +6 -0
  142. package/build/database/drivers/sqlite/query.js +35 -0
  143. package/build/database/drivers/sqlite/query.native.js +35 -0
  144. package/build/database/drivers/sqlite/query.web.js +49 -0
  145. package/build/database/drivers/sqlite/sql/alter-table.js +187 -0
  146. package/build/database/drivers/sqlite/sql/create-index.js +6 -0
  147. package/build/database/drivers/sqlite/sql/create-table.js +6 -0
  148. package/build/database/drivers/sqlite/sql/delete.js +26 -0
  149. package/build/database/drivers/sqlite/sql/drop-table.js +6 -0
  150. package/build/database/drivers/sqlite/sql/insert.js +6 -0
  151. package/build/database/drivers/sqlite/sql/update.js +33 -0
  152. package/build/database/drivers/sqlite/sql/upsert.js +14 -0
  153. package/build/database/drivers/sqlite/structure-sql.js +56 -0
  154. package/build/database/drivers/sqlite/table-rebuilder.js +96 -0
  155. package/build/database/drivers/sqlite/table.js +131 -0
  156. package/build/database/drivers/structure-sql/utils.js +35 -0
  157. package/build/database/handler.js +13 -0
  158. package/build/database/initializer-from-require-context.js +101 -0
  159. package/build/database/migration/index.js +438 -0
  160. package/build/database/migrator/files-finder.js +55 -0
  161. package/build/database/migrator/types.js +31 -0
  162. package/build/database/migrator.js +557 -0
  163. package/build/database/pool/async-tracked-multi-connection.js +1164 -0
  164. package/build/database/pool/base-methods-forward.js +52 -0
  165. package/build/database/pool/base.js +380 -0
  166. package/build/database/pool/single-multi-use.js +118 -0
  167. package/build/database/query/alter-table-base.js +104 -0
  168. package/build/database/query/base.js +49 -0
  169. package/build/database/query/create-database-base.js +42 -0
  170. package/build/database/query/create-index-base.js +117 -0
  171. package/build/database/query/create-table-base.js +205 -0
  172. package/build/database/query/delete-base.js +19 -0
  173. package/build/database/query/drop-database-base.js +38 -0
  174. package/build/database/query/drop-table-base.js +58 -0
  175. package/build/database/query/from-base.js +36 -0
  176. package/build/database/query/from-plain.js +16 -0
  177. package/build/database/query/from-table.js +18 -0
  178. package/build/database/query/index.js +533 -0
  179. package/build/database/query/insert-base.js +172 -0
  180. package/build/database/query/join-base.js +43 -0
  181. package/build/database/query/join-object.js +167 -0
  182. package/build/database/query/join-plain.js +18 -0
  183. package/build/database/query/join-tracker.js +93 -0
  184. package/build/database/query/model-class-query.js +1577 -0
  185. package/build/database/query/order-base.js +33 -0
  186. package/build/database/query/order-column.js +77 -0
  187. package/build/database/query/order-plain.js +28 -0
  188. package/build/database/query/preloader/belongs-to.js +267 -0
  189. package/build/database/query/preloader/ensure-model-class-initialized.js +18 -0
  190. package/build/database/query/preloader/has-many.js +316 -0
  191. package/build/database/query/preloader/has-one.js +123 -0
  192. package/build/database/query/preloader/selection.js +152 -0
  193. package/build/database/query/preloader.js +201 -0
  194. package/build/database/query/query-data.js +305 -0
  195. package/build/database/query/select-base.js +30 -0
  196. package/build/database/query/select-plain.js +18 -0
  197. package/build/database/query/select-table-and-column.js +28 -0
  198. package/build/database/query/update-base.js +41 -0
  199. package/build/database/query/upsert-base.js +103 -0
  200. package/build/database/query/where-base.js +38 -0
  201. package/build/database/query/where-combinator.js +31 -0
  202. package/build/database/query/where-hash.js +77 -0
  203. package/build/database/query/where-model-class-hash.js +505 -0
  204. package/build/database/query/where-not.js +23 -0
  205. package/build/database/query/where-plain.js +20 -0
  206. package/build/database/query/with-count.js +219 -0
  207. package/build/database/query-parser/base-query-parser.js +40 -0
  208. package/build/database/query-parser/from-parser.js +49 -0
  209. package/build/database/query-parser/group-parser.js +55 -0
  210. package/build/database/query-parser/joins-parser.js +37 -0
  211. package/build/database/query-parser/limit-parser.js +77 -0
  212. package/build/database/query-parser/options.js +94 -0
  213. package/build/database/query-parser/order-parser.js +45 -0
  214. package/build/database/query-parser/select-parser.js +67 -0
  215. package/build/database/query-parser/where-parser.js +46 -0
  216. package/build/database/record/acts-as-list.js +374 -0
  217. package/build/database/record/attachments/download.js +49 -0
  218. package/build/database/record/attachments/handle.js +188 -0
  219. package/build/database/record/attachments/normalize-input.js +213 -0
  220. package/build/database/record/attachments/storage-drivers/filesystem.js +114 -0
  221. package/build/database/record/attachments/storage-drivers/native.js +146 -0
  222. package/build/database/record/attachments/storage-drivers/s3.js +245 -0
  223. package/build/database/record/attachments/store.js +591 -0
  224. package/build/database/record/index.js +4119 -0
  225. package/build/database/record/instance-relationships/base.js +289 -0
  226. package/build/database/record/instance-relationships/belongs-to.js +84 -0
  227. package/build/database/record/instance-relationships/has-many.js +284 -0
  228. package/build/database/record/instance-relationships/has-one.js +117 -0
  229. package/build/database/record/record-not-found-error.js +3 -0
  230. package/build/database/record/relationships/base.js +195 -0
  231. package/build/database/record/relationships/belongs-to.js +57 -0
  232. package/build/database/record/relationships/has-many.js +46 -0
  233. package/build/database/record/relationships/has-one.js +46 -0
  234. package/build/database/record/state-machine.js +278 -0
  235. package/build/database/record/user-module.js +43 -0
  236. package/build/database/record/validators/base.js +27 -0
  237. package/build/database/record/validators/format.js +50 -0
  238. package/build/database/record/validators/presence.js +24 -0
  239. package/build/database/record/validators/uniqueness.js +124 -0
  240. package/build/database/table-data/index.js +241 -0
  241. package/build/database/table-data/table-column.js +416 -0
  242. package/build/database/table-data/table-foreign-key.js +69 -0
  243. package/build/database/table-data/table-index.js +46 -0
  244. package/build/database/table-data/table-reference.js +13 -0
  245. package/build/database/use-database.js +48 -0
  246. package/build/environment-handlers/base.js +561 -0
  247. package/build/environment-handlers/browser.js +338 -0
  248. package/build/environment-handlers/node/cli/commands/background-jobs-main.js +21 -0
  249. package/build/environment-handlers/node/cli/commands/background-jobs-runner.js +24 -0
  250. package/build/environment-handlers/node/cli/commands/background-jobs-worker.js +47 -0
  251. package/build/environment-handlers/node/cli/commands/beacon.js +21 -0
  252. package/build/environment-handlers/node/cli/commands/cli-command-context.js +31 -0
  253. package/build/environment-handlers/node/cli/commands/console.js +149 -0
  254. package/build/environment-handlers/node/cli/commands/db/schema/dump.js +43 -0
  255. package/build/environment-handlers/node/cli/commands/db/schema/load.js +69 -0
  256. package/build/environment-handlers/node/cli/commands/db/seed.js +79 -0
  257. package/build/environment-handlers/node/cli/commands/destroy/migration.js +47 -0
  258. package/build/environment-handlers/node/cli/commands/generate/base-models.js +396 -0
  259. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +872 -0
  260. package/build/environment-handlers/node/cli/commands/generate/migration.js +45 -0
  261. package/build/environment-handlers/node/cli/commands/generate/model.js +45 -0
  262. package/build/environment-handlers/node/cli/commands/init.js +68 -0
  263. package/build/environment-handlers/node/cli/commands/routes.js +63 -0
  264. package/build/environment-handlers/node/cli/commands/run-script.js +85 -0
  265. package/build/environment-handlers/node/cli/commands/runner.js +84 -0
  266. package/build/environment-handlers/node/cli/commands/server.js +151 -0
  267. package/build/environment-handlers/node/cli/commands/test.js +118 -0
  268. package/build/environment-handlers/node.js +887 -0
  269. package/build/error-logger.js +30 -0
  270. package/build/frontend-model-controller.js +3491 -0
  271. package/build/frontend-model-resource/base-resource.js +939 -0
  272. package/build/frontend-models/base.js +4004 -0
  273. package/build/frontend-models/clear-pending-debounced-callback.js +16 -0
  274. package/build/frontend-models/event-hook-models.js +49 -0
  275. package/build/frontend-models/model-registry.js +28 -0
  276. package/build/frontend-models/outgoing-event-buffer.js +51 -0
  277. package/build/frontend-models/preloader.js +169 -0
  278. package/build/frontend-models/query.js +2245 -0
  279. package/build/frontend-models/resource-config-validation.js +56 -0
  280. package/build/frontend-models/resource-definition.js +399 -0
  281. package/build/frontend-models/transport-serialization.js +369 -0
  282. package/build/frontend-models/use-created-event.js +21 -0
  283. package/build/frontend-models/use-destroyed-event.js +148 -0
  284. package/build/frontend-models/use-model-class-event.js +164 -0
  285. package/build/frontend-models/use-updated-event.js +152 -0
  286. package/build/frontend-models/websocket-channel.js +494 -0
  287. package/build/frontend-models/websocket-publishers.js +224 -0
  288. package/build/http-client/header.js +17 -0
  289. package/build/http-client/index.js +139 -0
  290. package/build/http-client/request.js +94 -0
  291. package/build/http-client/response.js +151 -0
  292. package/build/http-client/websocket-client.js +27 -0
  293. package/build/http-server/client/index.js +507 -0
  294. package/build/http-server/client/params-to-object.js +152 -0
  295. package/build/http-server/client/request-buffer/form-data-part.js +139 -0
  296. package/build/http-server/client/request-buffer/header.js +19 -0
  297. package/build/http-server/client/request-buffer/index.js +535 -0
  298. package/build/http-server/client/request-parser.js +195 -0
  299. package/build/http-server/client/request-runner.js +321 -0
  300. package/build/http-server/client/request-timing.js +171 -0
  301. package/build/http-server/client/request.js +114 -0
  302. package/build/http-server/client/response.js +251 -0
  303. package/build/http-server/client/uploaded-file/memory-uploaded-file.js +32 -0
  304. package/build/http-server/client/uploaded-file/temporary-uploaded-file.js +32 -0
  305. package/build/http-server/client/uploaded-file/uploaded-file.js +36 -0
  306. package/build/http-server/client/websocket-request.js +147 -0
  307. package/build/http-server/client/websocket-session.js +1755 -0
  308. package/build/http-server/cookie.js +245 -0
  309. package/build/http-server/development-reloader.js +240 -0
  310. package/build/http-server/index.js +561 -0
  311. package/build/http-server/remote-address.js +77 -0
  312. package/build/http-server/server-client.js +222 -0
  313. package/build/http-server/server-lock.js +178 -0
  314. package/build/http-server/websocket-channel-subscribers.js +110 -0
  315. package/build/http-server/websocket-channel.js +137 -0
  316. package/build/http-server/websocket-connection.js +118 -0
  317. package/build/http-server/websocket-event-log-store.js +433 -0
  318. package/build/http-server/websocket-events-host.js +170 -0
  319. package/build/http-server/websocket-events.js +50 -0
  320. package/build/http-server/worker-handler/channel-subscriber-dispatch.js +28 -0
  321. package/build/http-server/worker-handler/in-process.js +155 -0
  322. package/build/http-server/worker-handler/index.js +370 -0
  323. package/build/http-server/worker-handler/worker-script.js +6 -0
  324. package/build/http-server/worker-handler/worker-thread.js +286 -0
  325. package/build/initializer.js +39 -0
  326. package/build/jobs/mail-delivery.js +22 -0
  327. package/build/logger/base-logger.js +34 -0
  328. package/build/logger/console-logger.js +28 -0
  329. package/build/logger/file-logger.js +36 -0
  330. package/build/logger/outputs/array-output.js +50 -0
  331. package/build/logger/outputs/console-output.js +32 -0
  332. package/build/logger/outputs/file-output.js +55 -0
  333. package/build/logger/outputs/stdout-output.js +64 -0
  334. package/build/logger.js +507 -0
  335. package/build/mailer/backends/smtp.js +197 -0
  336. package/build/mailer/base.js +337 -0
  337. package/build/mailer/delivery.js +70 -0
  338. package/build/mailer/index.js +24 -0
  339. package/build/mailer.js +15 -0
  340. package/build/plugins/sqljs-wasm-route-controller.js +70 -0
  341. package/build/plugins/sqljs-wasm-route.js +71 -0
  342. package/build/record-payload-values.js +83 -0
  343. package/build/routes/app-routes.js +17 -0
  344. package/build/routes/base-route.js +133 -0
  345. package/build/routes/basic-route.js +109 -0
  346. package/build/routes/built-in/debug/controller.js +12 -0
  347. package/build/routes/built-in/errors/controller.js +7 -0
  348. package/build/routes/get-route.js +75 -0
  349. package/build/routes/hooks/frontend-model-command-route-hook.js +100 -0
  350. package/build/routes/index.js +50 -0
  351. package/build/routes/namespace-route.js +51 -0
  352. package/build/routes/plugin-routes.js +141 -0
  353. package/build/routes/post-route.js +74 -0
  354. package/build/routes/resolver.js +535 -0
  355. package/build/routes/resource-route.js +154 -0
  356. package/build/routes/root-route.js +11 -0
  357. package/build/src/application.js +187 -214
  358. package/build/src/authorization/ability.js +250 -297
  359. package/build/src/authorization/base-resource.js +120 -136
  360. package/build/src/background-jobs/client.js +43 -47
  361. package/build/src/background-jobs/cron-expression.js +127 -166
  362. package/build/src/background-jobs/forked-runner-child.js +37 -47
  363. package/build/src/background-jobs/job-record.js +8 -10
  364. package/build/src/background-jobs/job-registry.js +72 -84
  365. package/build/src/background-jobs/job-runner.js +74 -81
  366. package/build/src/background-jobs/job.js +62 -72
  367. package/build/src/background-jobs/json-socket.js +65 -70
  368. package/build/src/background-jobs/main.js +841 -900
  369. package/build/src/background-jobs/normalize-error.js +12 -11
  370. package/build/src/background-jobs/scheduler.js +205 -247
  371. package/build/src/background-jobs/socket-request.js +60 -65
  372. package/build/src/background-jobs/status-reporter.js +86 -96
  373. package/build/src/background-jobs/store.js +862 -980
  374. package/build/src/background-jobs/types.js +2 -3
  375. package/build/src/background-jobs/web/authorization.js +38 -50
  376. package/build/src/background-jobs/web/controller.js +232 -268
  377. package/build/src/background-jobs/web/index.js +36 -40
  378. package/build/src/background-jobs/web/path-matcher.js +45 -48
  379. package/build/src/background-jobs/web/registry.js +9 -14
  380. package/build/src/background-jobs/worker.js +585 -639
  381. package/build/src/beacon/client.js +264 -293
  382. package/build/src/beacon/in-process-broker.js +20 -25
  383. package/build/src/beacon/in-process-client.js +104 -116
  384. package/build/src/beacon/server.js +110 -126
  385. package/build/src/beacon/types.js +2 -8
  386. package/build/src/cli/base-command.js +49 -57
  387. package/build/src/cli/browser-cli.js +37 -42
  388. package/build/src/cli/commands/background-jobs-main.js +5 -5
  389. package/build/src/cli/commands/background-jobs-runner.js +5 -5
  390. package/build/src/cli/commands/background-jobs-worker.js +5 -5
  391. package/build/src/cli/commands/beacon.js +5 -5
  392. package/build/src/cli/commands/console.js +10 -10
  393. package/build/src/cli/commands/db/base-command.js +71 -76
  394. package/build/src/cli/commands/db/create.js +53 -61
  395. package/build/src/cli/commands/db/drop.js +62 -71
  396. package/build/src/cli/commands/db/migrate.js +13 -15
  397. package/build/src/cli/commands/db/reset.js +16 -19
  398. package/build/src/cli/commands/db/rollback.js +12 -13
  399. package/build/src/cli/commands/db/schema/dump.js +9 -9
  400. package/build/src/cli/commands/db/schema/load.js +9 -9
  401. package/build/src/cli/commands/db/seed.js +9 -9
  402. package/build/src/cli/commands/db/tenants/check.js +32 -35
  403. package/build/src/cli/commands/db/tenants/create.js +26 -29
  404. package/build/src/cli/commands/db/tenants/migrate.js +40 -44
  405. package/build/src/cli/commands/destroy/migration.js +5 -5
  406. package/build/src/cli/commands/generate/base-models.js +5 -5
  407. package/build/src/cli/commands/generate/frontend-models.js +9 -9
  408. package/build/src/cli/commands/generate/migration.js +5 -5
  409. package/build/src/cli/commands/generate/model.js +5 -5
  410. package/build/src/cli/commands/init.js +7 -9
  411. package/build/src/cli/commands/routes.js +6 -6
  412. package/build/src/cli/commands/run-script.js +9 -9
  413. package/build/src/cli/commands/runner.js +9 -9
  414. package/build/src/cli/commands/server.js +6 -6
  415. package/build/src/cli/commands/test.js +6 -7
  416. package/build/src/cli/index.js +127 -141
  417. package/build/src/cli/tenant-database-command-helper.js +154 -185
  418. package/build/src/cli/use-browser-cli.js +15 -20
  419. package/build/src/configuration-resolver.js +47 -54
  420. package/build/src/configuration-types.d.ts +5 -3
  421. package/build/src/configuration-types.d.ts.map +1 -1
  422. package/build/src/configuration-types.js +3 -54
  423. package/build/src/configuration.js +2240 -2547
  424. package/build/src/controller.js +363 -407
  425. package/build/src/current-configuration.js +9 -12
  426. package/build/src/current.js +70 -75
  427. package/build/src/database/annotations-async-hooks.js +16 -22
  428. package/build/src/database/annotations.js +12 -18
  429. package/build/src/database/drivers/base-column.js +155 -179
  430. package/build/src/database/drivers/base-columns-index.js +69 -78
  431. package/build/src/database/drivers/base-foreign-key.js +89 -101
  432. package/build/src/database/drivers/base-table.js +124 -149
  433. package/build/src/database/drivers/base.js +1306 -1489
  434. package/build/src/database/drivers/mssql/column.js +39 -50
  435. package/build/src/database/drivers/mssql/columns-index.js +2 -3
  436. package/build/src/database/drivers/mssql/connect-connection.js +11 -9
  437. package/build/src/database/drivers/mssql/foreign-key.js +8 -9
  438. package/build/src/database/drivers/mssql/index.js +507 -587
  439. package/build/src/database/drivers/mssql/options.js +68 -75
  440. package/build/src/database/drivers/mssql/query-parser.js +2 -3
  441. package/build/src/database/drivers/mssql/sql/alter-table.js +2 -2
  442. package/build/src/database/drivers/mssql/sql/create-database.js +24 -31
  443. package/build/src/database/drivers/mssql/sql/create-index.js +2 -2
  444. package/build/src/database/drivers/mssql/sql/create-table.js +2 -2
  445. package/build/src/database/drivers/mssql/sql/delete.js +14 -16
  446. package/build/src/database/drivers/mssql/sql/drop-database.js +24 -31
  447. package/build/src/database/drivers/mssql/sql/drop-table.js +2 -2
  448. package/build/src/database/drivers/mssql/sql/insert.js +2 -2
  449. package/build/src/database/drivers/mssql/sql/update.js +24 -28
  450. package/build/src/database/drivers/mssql/sql/upsert.js +18 -20
  451. package/build/src/database/drivers/mssql/structure-sql.js +102 -114
  452. package/build/src/database/drivers/mssql/table.js +81 -96
  453. package/build/src/database/drivers/mysql/column.js +75 -92
  454. package/build/src/database/drivers/mysql/columns-index.js +16 -19
  455. package/build/src/database/drivers/mysql/foreign-key.js +8 -9
  456. package/build/src/database/drivers/mysql/index.js +396 -457
  457. package/build/src/database/drivers/mysql/options.js +26 -30
  458. package/build/src/database/drivers/mysql/query-parser.js +2 -3
  459. package/build/src/database/drivers/mysql/query.js +26 -29
  460. package/build/src/database/drivers/mysql/sql/alter-table.js +2 -3
  461. package/build/src/database/drivers/mysql/sql/create-database.js +23 -28
  462. package/build/src/database/drivers/mysql/sql/create-index.js +2 -3
  463. package/build/src/database/drivers/mysql/sql/create-table.js +2 -3
  464. package/build/src/database/drivers/mysql/sql/delete.js +14 -17
  465. package/build/src/database/drivers/mysql/sql/drop-database.js +2 -3
  466. package/build/src/database/drivers/mysql/sql/drop-table.js +2 -3
  467. package/build/src/database/drivers/mysql/sql/insert.js +2 -3
  468. package/build/src/database/drivers/mysql/sql/update.js +24 -29
  469. package/build/src/database/drivers/mysql/sql/upsert.js +8 -10
  470. package/build/src/database/drivers/mysql/structure-sql.js +79 -88
  471. package/build/src/database/drivers/mysql/table.js +83 -98
  472. package/build/src/database/drivers/pgsql/column.js +56 -72
  473. package/build/src/database/drivers/pgsql/columns-index.js +2 -3
  474. package/build/src/database/drivers/pgsql/foreign-key.js +8 -9
  475. package/build/src/database/drivers/pgsql/index.js +377 -438
  476. package/build/src/database/drivers/pgsql/options.js +25 -28
  477. package/build/src/database/drivers/pgsql/query-parser.js +2 -3
  478. package/build/src/database/drivers/pgsql/sql/alter-table.js +2 -3
  479. package/build/src/database/drivers/pgsql/sql/create-database.js +19 -23
  480. package/build/src/database/drivers/pgsql/sql/create-index.js +2 -3
  481. package/build/src/database/drivers/pgsql/sql/create-table.js +2 -3
  482. package/build/src/database/drivers/pgsql/sql/delete.js +14 -17
  483. package/build/src/database/drivers/pgsql/sql/drop-database.js +2 -3
  484. package/build/src/database/drivers/pgsql/sql/drop-table.js +2 -3
  485. package/build/src/database/drivers/pgsql/sql/insert.js +2 -3
  486. package/build/src/database/drivers/pgsql/sql/update.js +24 -29
  487. package/build/src/database/drivers/pgsql/sql/upsert.js +9 -11
  488. package/build/src/database/drivers/pgsql/structure-sql.js +108 -120
  489. package/build/src/database/drivers/pgsql/table.js +60 -77
  490. package/build/src/database/drivers/sqlite/base.js +405 -478
  491. package/build/src/database/drivers/sqlite/column.js +54 -69
  492. package/build/src/database/drivers/sqlite/columns-index.js +22 -27
  493. package/build/src/database/drivers/sqlite/connection-sql-js.js +35 -42
  494. package/build/src/database/drivers/sqlite/foreign-key.js +18 -21
  495. package/build/src/database/drivers/sqlite/index.js +330 -373
  496. package/build/src/database/drivers/sqlite/index.native.js +55 -64
  497. package/build/src/database/drivers/sqlite/index.web.js +69 -87
  498. package/build/src/database/drivers/sqlite/options.js +25 -28
  499. package/build/src/database/drivers/sqlite/query-parser.js +2 -3
  500. package/build/src/database/drivers/sqlite/query.js +21 -24
  501. package/build/src/database/drivers/sqlite/query.native.js +20 -25
  502. package/build/src/database/drivers/sqlite/query.web.js +30 -37
  503. package/build/src/database/drivers/sqlite/sql/alter-table.js +159 -179
  504. package/build/src/database/drivers/sqlite/sql/create-index.js +2 -3
  505. package/build/src/database/drivers/sqlite/sql/create-table.js +2 -3
  506. package/build/src/database/drivers/sqlite/sql/delete.js +17 -22
  507. package/build/src/database/drivers/sqlite/sql/drop-table.js +2 -3
  508. package/build/src/database/drivers/sqlite/sql/insert.js +2 -3
  509. package/build/src/database/drivers/sqlite/sql/update.js +24 -29
  510. package/build/src/database/drivers/sqlite/sql/upsert.js +9 -11
  511. package/build/src/database/drivers/sqlite/structure-sql.js +49 -52
  512. package/build/src/database/drivers/sqlite/table-rebuilder.js +62 -75
  513. package/build/src/database/drivers/sqlite/table.js +102 -125
  514. package/build/src/database/drivers/structure-sql/utils.js +14 -17
  515. package/build/src/database/handler.js +9 -10
  516. package/build/src/database/initializer-from-require-context.js +76 -87
  517. package/build/src/database/migration/index.js +332 -395
  518. package/build/src/database/migrator/files-finder.js +40 -50
  519. package/build/src/database/migrator/types.js +2 -30
  520. package/build/src/database/migrator.js +454 -526
  521. package/build/src/database/pool/async-tracked-multi-connection.js +997 -1147
  522. package/build/src/database/pool/base-methods-forward.js +40 -43
  523. package/build/src/database/pool/base.js +298 -343
  524. package/build/src/database/pool/single-multi-use.js +93 -110
  525. package/build/src/database/query/alter-table-base.js +84 -99
  526. package/build/src/database/query/base.js +39 -46
  527. package/build/src/database/query/create-database-base.js +25 -30
  528. package/build/src/database/query/create-index-base.js +75 -94
  529. package/build/src/database/query/create-table-base.js +151 -193
  530. package/build/src/database/query/delete-base.js +14 -16
  531. package/build/src/database/query/drop-database-base.js +23 -28
  532. package/build/src/database/query/drop-table-base.js +42 -53
  533. package/build/src/database/query/from-base.js +30 -33
  534. package/build/src/database/query/from-plain.js +11 -13
  535. package/build/src/database/query/from-table.js +13 -15
  536. package/build/src/database/query/index.js +410 -472
  537. package/build/src/database/query/insert-base.js +143 -164
  538. package/build/src/database/query/join-base.js +35 -40
  539. package/build/src/database/query/join-object.js +128 -153
  540. package/build/src/database/query/join-plain.js +13 -15
  541. package/build/src/database/query/join-tracker.js +76 -90
  542. package/build/src/database/query/model-class-query.js +1134 -1370
  543. package/build/src/database/query/order-base.js +27 -30
  544. package/build/src/database/query/order-column.js +44 -53
  545. package/build/src/database/query/order-plain.js +20 -24
  546. package/build/src/database/query/preloader/belongs-to.js +210 -258
  547. package/build/src/database/query/preloader/ensure-model-class-initialized.js +8 -9
  548. package/build/src/database/query/preloader/has-many.js +240 -301
  549. package/build/src/database/query/preloader/has-one.js +91 -117
  550. package/build/src/database/query/preloader/selection.js +117 -129
  551. package/build/src/database/query/preloader.js +160 -185
  552. package/build/src/database/query/query-data.js +157 -201
  553. package/build/src/database/query/select-base.js +25 -27
  554. package/build/src/database/query/select-plain.js +13 -15
  555. package/build/src/database/query/select-table-and-column.js +21 -25
  556. package/build/src/database/query/update-base.js +35 -38
  557. package/build/src/database/query/upsert-base.js +93 -100
  558. package/build/src/database/query/where-base.js +32 -35
  559. package/build/src/database/query/where-combinator.js +25 -28
  560. package/build/src/database/query/where-hash.js +61 -68
  561. package/build/src/database/query/where-model-class-hash.js +414 -469
  562. package/build/src/database/query/where-not.js +18 -20
  563. package/build/src/database/query/where-plain.js +15 -17
  564. package/build/src/database/query/with-count.js +125 -159
  565. package/build/src/database/query-parser/base-query-parser.js +32 -37
  566. package/build/src/database/query-parser/from-parser.js +36 -45
  567. package/build/src/database/query-parser/group-parser.js +42 -50
  568. package/build/src/database/query-parser/joins-parser.js +28 -33
  569. package/build/src/database/query-parser/limit-parser.js +67 -70
  570. package/build/src/database/query-parser/options.js +75 -82
  571. package/build/src/database/query-parser/order-parser.js +36 -40
  572. package/build/src/database/query-parser/select-parser.js +49 -60
  573. package/build/src/database/query-parser/where-parser.js +36 -41
  574. package/build/src/database/record/acts-as-list.js +235 -273
  575. package/build/src/database/record/attachments/download.js +44 -45
  576. package/build/src/database/record/attachments/handle.js +141 -161
  577. package/build/src/database/record/attachments/normalize-input.js +128 -138
  578. package/build/src/database/record/attachments/storage-drivers/filesystem.js +77 -91
  579. package/build/src/database/record/attachments/storage-drivers/native.js +112 -121
  580. package/build/src/database/record/attachments/storage-drivers/s3.js +177 -208
  581. package/build/src/database/record/attachments/store.js +467 -539
  582. package/build/src/database/record/index.d.ts +109 -25
  583. package/build/src/database/record/index.d.ts.map +1 -1
  584. package/build/src/database/record/index.js +3502 -3898
  585. package/build/src/database/record/instance-relationships/base.js +234 -268
  586. package/build/src/database/record/instance-relationships/belongs-to.js +58 -73
  587. package/build/src/database/record/instance-relationships/has-many.js +225 -264
  588. package/build/src/database/record/instance-relationships/has-one.js +85 -105
  589. package/build/src/database/record/record-not-found-error.js +3 -2
  590. package/build/src/database/record/relationships/base.js +144 -166
  591. package/build/src/database/record/relationships/belongs-to.js +44 -51
  592. package/build/src/database/record/relationships/has-many.js +32 -40
  593. package/build/src/database/record/relationships/has-one.js +32 -40
  594. package/build/src/database/record/state-machine.js +156 -208
  595. package/build/src/database/record/user-module.js +32 -38
  596. package/build/src/database/record/validators/base.js +22 -24
  597. package/build/src/database/record/validators/format.js +36 -46
  598. package/build/src/database/record/validators/presence.js +18 -20
  599. package/build/src/database/record/validators/uniqueness.js +99 -117
  600. package/build/src/database/table-data/index.js +199 -231
  601. package/build/src/database/table-data/table-column.js +338 -382
  602. package/build/src/database/table-data/table-foreign-key.js +57 -66
  603. package/build/src/database/table-data/table-index.js +29 -36
  604. package/build/src/database/table-data/table-reference.js +10 -10
  605. package/build/src/database/use-database.js +32 -40
  606. package/build/src/environment-handlers/base.js +484 -544
  607. package/build/src/environment-handlers/browser.js +241 -294
  608. package/build/src/environment-handlers/node/cli/commands/background-jobs-main.js +16 -19
  609. package/build/src/environment-handlers/node/cli/commands/background-jobs-runner.js +18 -21
  610. package/build/src/environment-handlers/node/cli/commands/background-jobs-worker.js +22 -29
  611. package/build/src/environment-handlers/node/cli/commands/beacon.js +16 -19
  612. package/build/src/environment-handlers/node/cli/commands/cli-command-context.js +14 -15
  613. package/build/src/environment-handlers/node/cli/commands/console.js +99 -120
  614. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.js +34 -39
  615. package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +57 -63
  616. package/build/src/environment-handlers/node/cli/commands/db/seed.js +51 -63
  617. package/build/src/environment-handlers/node/cli/commands/destroy/migration.js +32 -40
  618. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +4 -2
  619. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
  620. package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +326 -358
  621. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +10 -10
  622. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  623. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +729 -844
  624. package/build/src/environment-handlers/node/cli/commands/generate/migration.js +34 -38
  625. package/build/src/environment-handlers/node/cli/commands/generate/model.js +34 -38
  626. package/build/src/environment-handlers/node/cli/commands/init.js +56 -61
  627. package/build/src/environment-handlers/node/cli/commands/routes.js +51 -59
  628. package/build/src/environment-handlers/node/cli/commands/run-script.js +54 -68
  629. package/build/src/environment-handlers/node/cli/commands/runner.js +56 -74
  630. package/build/src/environment-handlers/node/cli/commands/server.js +93 -106
  631. package/build/src/environment-handlers/node/cli/commands/test.js +97 -113
  632. package/build/src/environment-handlers/node.js +753 -874
  633. package/build/src/error-logger.js +22 -21
  634. package/build/src/frontend-model-controller.js +2791 -3291
  635. package/build/src/frontend-model-resource/base-resource.d.ts +8 -3
  636. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  637. package/build/src/frontend-model-resource/base-resource.js +770 -865
  638. package/build/src/frontend-models/base.js +3136 -3593
  639. package/build/src/frontend-models/clear-pending-debounced-callback.js +7 -8
  640. package/build/src/frontend-models/event-hook-models.js +16 -21
  641. package/build/src/frontend-models/model-registry.js +9 -11
  642. package/build/src/frontend-models/outgoing-event-buffer.js +10 -17
  643. package/build/src/frontend-models/preloader.js +131 -149
  644. package/build/src/frontend-models/query.js +1557 -1855
  645. package/build/src/frontend-models/resource-config-validation.js +27 -37
  646. package/build/src/frontend-models/resource-definition.d.ts +6 -7
  647. package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
  648. package/build/src/frontend-models/resource-definition.js +237 -291
  649. package/build/src/frontend-models/transport-serialization.js +203 -266
  650. package/build/src/frontend-models/use-created-event.js +5 -7
  651. package/build/src/frontend-models/use-destroyed-event.js +80 -93
  652. package/build/src/frontend-models/use-model-class-event.js +79 -91
  653. package/build/src/frontend-models/use-updated-event.js +84 -97
  654. package/build/src/frontend-models/websocket-channel.js +381 -441
  655. package/build/src/frontend-models/websocket-publishers.js +142 -175
  656. package/build/src/http-client/header.js +13 -14
  657. package/build/src/http-client/index.js +116 -132
  658. package/build/src/http-client/request.js +71 -87
  659. package/build/src/http-client/response.js +122 -140
  660. package/build/src/http-client/websocket-client.js +15 -17
  661. package/build/src/http-server/client/index.js +409 -465
  662. package/build/src/http-server/client/params-to-object.js +124 -135
  663. package/build/src/http-server/client/request-buffer/form-data-part.js +111 -132
  664. package/build/src/http-server/client/request-buffer/header.js +15 -16
  665. package/build/src/http-server/client/request-buffer/index.js +446 -506
  666. package/build/src/http-server/client/request-parser.js +163 -186
  667. package/build/src/http-server/client/request-runner.js +226 -259
  668. package/build/src/http-server/client/request-timing.js +132 -151
  669. package/build/src/http-server/client/request.js +96 -108
  670. package/build/src/http-server/client/response.js +213 -235
  671. package/build/src/http-server/client/uploaded-file/memory-uploaded-file.js +25 -29
  672. package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.js +25 -29
  673. package/build/src/http-server/client/uploaded-file/uploaded-file.js +33 -33
  674. package/build/src/http-server/client/websocket-request.js +114 -137
  675. package/build/src/http-server/client/websocket-session.js +1452 -1657
  676. package/build/src/http-server/cookie.js +216 -236
  677. package/build/src/http-server/development-reloader.js +190 -221
  678. package/build/src/http-server/index.js +451 -525
  679. package/build/src/http-server/remote-address.js +38 -50
  680. package/build/src/http-server/server-client.js +181 -208
  681. package/build/src/http-server/server-lock.js +153 -167
  682. package/build/src/http-server/websocket-channel-subscribers.js +81 -93
  683. package/build/src/http-server/websocket-channel.js +104 -117
  684. package/build/src/http-server/websocket-connection.js +96 -104
  685. package/build/src/http-server/websocket-event-log-store.js +350 -404
  686. package/build/src/http-server/websocket-events-host.js +145 -164
  687. package/build/src/http-server/websocket-events.js +47 -47
  688. package/build/src/http-server/worker-handler/channel-subscriber-dispatch.js +13 -14
  689. package/build/src/http-server/worker-handler/in-process.js +123 -141
  690. package/build/src/http-server/worker-handler/index.js +313 -349
  691. package/build/src/http-server/worker-handler/worker-script.js +4 -5
  692. package/build/src/http-server/worker-handler/worker-thread.js +240 -269
  693. package/build/src/initializer.js +31 -36
  694. package/build/src/jobs/mail-delivery.js +13 -15
  695. package/build/src/logger/base-logger.js +24 -26
  696. package/build/src/logger/console-logger.js +21 -23
  697. package/build/src/logger/file-logger.js +29 -31
  698. package/build/src/logger/outputs/array-output.js +37 -42
  699. package/build/src/logger/outputs/console-output.js +20 -24
  700. package/build/src/logger/outputs/file-output.js +43 -48
  701. package/build/src/logger/outputs/stdout-output.js +39 -48
  702. package/build/src/logger.js +338 -394
  703. package/build/src/mailer/backends/smtp.js +134 -163
  704. package/build/src/mailer/base.js +211 -251
  705. package/build/src/mailer/delivery.js +56 -64
  706. package/build/src/mailer/index.js +4 -22
  707. package/build/src/mailer.js +4 -13
  708. package/build/src/plugins/sqljs-wasm-route-controller.js +42 -52
  709. package/build/src/plugins/sqljs-wasm-route.js +28 -38
  710. package/build/src/record-payload-values.js +25 -28
  711. package/build/src/routes/app-routes.js +12 -14
  712. package/build/src/routes/base-route.js +112 -130
  713. package/build/src/routes/basic-route.js +83 -102
  714. package/build/src/routes/built-in/debug/controller.js +10 -10
  715. package/build/src/routes/built-in/errors/controller.js +5 -5
  716. package/build/src/routes/get-route.js +50 -63
  717. package/build/src/routes/hooks/frontend-model-command-route-hook.js +66 -80
  718. package/build/src/routes/index.js +36 -43
  719. package/build/src/routes/namespace-route.js +38 -47
  720. package/build/src/routes/plugin-routes.js +107 -124
  721. package/build/src/routes/post-route.js +51 -62
  722. package/build/src/routes/resolver.js +422 -494
  723. package/build/src/routes/resource-route.js +124 -143
  724. package/build/src/routes/root-route.js +7 -8
  725. package/build/src/testing/base-expect.js +13 -14
  726. package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +329 -405
  727. package/build/src/testing/browser-test-app.js +23 -29
  728. package/build/src/testing/expect-to-change.js +41 -50
  729. package/build/src/testing/expect-utils.js +139 -184
  730. package/build/src/testing/expect.js +638 -731
  731. package/build/src/testing/request-client.js +70 -85
  732. package/build/src/testing/test-files-finder.js +285 -339
  733. package/build/src/testing/test-filter-parser.js +124 -155
  734. package/build/src/testing/test-runner.js +883 -1020
  735. package/build/src/testing/test-suite-splitter.js +114 -142
  736. package/build/src/testing/test.js +216 -256
  737. package/build/src/utils/backtrace-cleaner-node.js +62 -69
  738. package/build/src/utils/backtrace-cleaner.js +188 -216
  739. package/build/src/utils/ensure-error.js +7 -7
  740. package/build/src/utils/event-emitter.js +4 -6
  741. package/build/src/utils/file-exists.js +9 -10
  742. package/build/src/utils/format-value.js +67 -76
  743. package/build/src/utils/model-scope.js +27 -31
  744. package/build/src/utils/nest-callbacks.js +10 -13
  745. package/build/src/utils/plain-object.js +5 -6
  746. package/build/src/utils/ransack.js +448 -563
  747. package/build/src/utils/rest-args-error.js +5 -6
  748. package/build/src/utils/singularize-model-name.js +9 -11
  749. package/build/src/utils/split-sql-statements.js +68 -79
  750. package/build/src/utils/to-import-specifier.js +24 -30
  751. package/build/src/utils/with-tracked-stack-async-hooks.js +60 -74
  752. package/build/src/utils/with-tracked-stack.js +14 -18
  753. package/build/src/velocious-error.js +27 -30
  754. package/build/templates/configuration.js +61 -0
  755. package/build/templates/generate-migration.js +11 -0
  756. package/build/templates/generate-model.js +6 -0
  757. package/build/templates/routes.js +11 -0
  758. package/build/testing/base-expect.js +17 -0
  759. package/build/testing/browser-frontend-model-event-hook-scenarios.js +520 -0
  760. package/build/testing/browser-test-app.js +32 -0
  761. package/build/testing/expect-to-change.js +55 -0
  762. package/build/testing/expect-utils.js +269 -0
  763. package/build/testing/expect.js +763 -0
  764. package/build/testing/request-client.js +90 -0
  765. package/build/testing/test-files-finder.js +364 -0
  766. package/build/testing/test-filter-parser.js +198 -0
  767. package/build/testing/test-runner.js +1168 -0
  768. package/build/testing/test-suite-splitter.js +177 -0
  769. package/build/testing/test.js +370 -0
  770. package/build/utils/backtrace-cleaner-node.js +87 -0
  771. package/build/utils/backtrace-cleaner.js +266 -0
  772. package/build/utils/ensure-error.js +15 -0
  773. package/build/utils/event-emitter.js +8 -0
  774. package/build/utils/file-exists.js +18 -0
  775. package/build/utils/format-value.js +101 -0
  776. package/build/utils/model-scope.js +56 -0
  777. package/build/utils/nest-callbacks.js +22 -0
  778. package/build/utils/plain-object.js +14 -0
  779. package/build/utils/ransack.js +859 -0
  780. package/build/utils/rest-args-error.js +14 -0
  781. package/build/utils/singularize-model-name.js +18 -0
  782. package/build/utils/split-sql-statements.js +88 -0
  783. package/build/utils/to-import-specifier.js +53 -0
  784. package/build/utils/with-tracked-stack-async-hooks.js +103 -0
  785. package/build/utils/with-tracked-stack.js +38 -0
  786. package/build/velocious-error.js +34 -0
  787. package/package.json +3 -3
  788. package/src/configuration-types.js +1 -1
  789. package/src/database/record/index.js +174 -25
  790. package/src/environment-handlers/node/cli/commands/generate/base-models.js +50 -21
  791. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +5 -5
  792. package/src/frontend-model-resource/base-resource.js +6 -2
  793. package/src/frontend-models/resource-definition.js +3 -3
  794. package/src/frontend-models/websocket-publishers.js +6 -6
@@ -1,170 +1,151 @@
1
1
  // @ts-check
2
-
3
- import {websocketEventLogStoreForConfiguration} from "./websocket-event-log-store.js"
4
-
2
+ import { websocketEventLogStoreForConfiguration } from "./websocket-event-log-store.js";
5
3
  export class VelociousHttpServerWebsocketEventsHost {
6
- constructor() {
7
- /**
8
- * Narrows the runtime value to the documented type.
9
- @type {Set<import("./worker-handler/index.js").default>} */
10
- this.handlers = new Set()
11
- this.publishQueue = Promise.resolve()
12
- }
13
-
14
- /**
15
- * Returns a promise that resolves when all pending publish/broadcast
16
- * operations have completed (including event-log persistence). Useful
17
- * when a request handler needs to guarantee its broadcast is persisted
18
- * before responding — without this, the HTTP response can return before
19
- * the async event-log write finishes.
20
- * @returns {Promise<void>}
21
- */
22
- async awaitPendingBroadcasts() {
23
- await this.publishQueue
24
- }
25
-
26
- /**
27
- * Runs register.
28
- * @param {import("./worker-handler/index.js").default} handler - Handler instance.
29
- * @returns {() => void} - The register.
30
- */
31
- register(handler) {
32
- this.handlers.add(handler)
33
-
34
- return () => this.handlers.delete(handler)
35
- }
36
-
37
- /**
38
- * Runs publish.
39
- * @param {object | string} channelOrArgs - Channel name or options object.
40
- * @param {?} [payloadArg] - Payload data when channel is passed separately.
41
- * @returns {void} - No return value.
42
- */
43
- publish(channelOrArgs, payloadArg) {
44
- const publishArgs = typeof channelOrArgs === "string"
45
- ? {channel: channelOrArgs, payload: payloadArg}
46
- : /**
4
+ constructor() {
5
+ /**
47
6
  * Narrows the runtime value to the documented type.
48
- @type {{channel: string, payload: ?}} */ (channelOrArgs)
49
- const channel = publishArgs.channel
50
- const payload = publishArgs.payload
51
-
52
- this._queuePublish(async () => {
53
- const persistedEvent = await this._persistEventIfNeeded({channel, payload})
54
-
55
- for (const handler of this.handlers) {
56
- handler.dispatchWebsocketEvent({
57
- channel,
58
- createdAt: persistedEvent?.createdAt,
59
- eventId: persistedEvent?.id,
60
- payload
61
- })
62
- }
63
- }, "Failed to publish websocket event")
64
- }
65
-
66
- /**
67
- * Fan a V2 channel broadcast out to every registered worker handler.
68
- * Persists the event to the event-log store (if the channel is marked
69
- * interested) so clients can resume from a `lastEventId` checkpoint.
70
- * @param {object} args - Options object.
71
- * @param {string} args.channel - Channel name.
72
- * @param {Record<string, ?>} args.broadcastParams - Routing filter params.
73
- * @param {?} args.body - Message body.
74
- * @returns {void}
75
- */
76
- broadcastV2({body, broadcastParams, channel}) {
77
- // Chain onto publishQueue so persistence completes before
78
- // the next broadcast — without this, a subscriber that connects
79
- // immediately after a broadcast could miss the just-persisted
80
- // event when replaying from lastEventId on a slow DB.
81
- this._queuePublish(async () => {
82
- const persistedEvent = await this._persistV2EventIfNeeded({body, channel})
83
-
84
- for (const handler of this.handlers) {
85
- handler.dispatchWebsocketV2Broadcast({
86
- body,
87
- broadcastParams,
88
- channel,
89
- eventId: persistedEvent?.id,
90
- createdAt: persistedEvent?.createdAt
7
+ @type {Set<import("./worker-handler/index.js").default>} */
8
+ this.handlers = new Set();
9
+ this.publishQueue = Promise.resolve();
10
+ }
11
+ /**
12
+ * Returns a promise that resolves when all pending publish/broadcast
13
+ * operations have completed (including event-log persistence). Useful
14
+ * when a request handler needs to guarantee its broadcast is persisted
15
+ * before responding — without this, the HTTP response can return before
16
+ * the async event-log write finishes.
17
+ * @returns {Promise<void>}
18
+ */
19
+ async awaitPendingBroadcasts() {
20
+ await this.publishQueue;
21
+ }
22
+ /**
23
+ * Runs register.
24
+ * @param {import("./worker-handler/index.js").default} handler - Handler instance.
25
+ * @returns {() => void} - The register.
26
+ */
27
+ register(handler) {
28
+ this.handlers.add(handler);
29
+ return () => this.handlers.delete(handler);
30
+ }
31
+ /**
32
+ * Runs publish.
33
+ * @param {object | string} channelOrArgs - Channel name or options object.
34
+ * @param {?} [payloadArg] - Payload data when channel is passed separately.
35
+ * @returns {void} - No return value.
36
+ */
37
+ publish(channelOrArgs, payloadArg) {
38
+ const publishArgs = typeof channelOrArgs === "string"
39
+ ? { channel: channelOrArgs, payload: payloadArg }
40
+ : /**
41
+ * Narrows the runtime value to the documented type.
42
+ @type {{channel: string, payload: ?}} */
43
+ (channelOrArgs);
44
+ const channel = publishArgs.channel;
45
+ const payload = publishArgs.payload;
46
+ this._queuePublish(async () => {
47
+ const persistedEvent = await this._persistEventIfNeeded({ channel, payload });
48
+ for (const handler of this.handlers) {
49
+ handler.dispatchWebsocketEvent({
50
+ channel,
51
+ createdAt: persistedEvent?.createdAt,
52
+ eventId: persistedEvent?.id,
53
+ payload
54
+ });
55
+ }
56
+ }, "Failed to publish websocket event");
57
+ }
58
+ /**
59
+ * Fan a V2 channel broadcast out to every registered worker handler.
60
+ * Persists the event to the event-log store (if the channel is marked
61
+ * interested) so clients can resume from a `lastEventId` checkpoint.
62
+ * @param {object} args - Options object.
63
+ * @param {string} args.channel - Channel name.
64
+ * @param {Record<string, ?>} args.broadcastParams - Routing filter params.
65
+ * @param {?} args.body - Message body.
66
+ * @returns {void}
67
+ */
68
+ broadcastV2({ body, broadcastParams, channel }) {
69
+ // Chain onto publishQueue so persistence completes before
70
+ // the next broadcast — without this, a subscriber that connects
71
+ // immediately after a broadcast could miss the just-persisted
72
+ // event when replaying from lastEventId on a slow DB.
73
+ this._queuePublish(async () => {
74
+ const persistedEvent = await this._persistV2EventIfNeeded({ body, channel });
75
+ for (const handler of this.handlers) {
76
+ handler.dispatchWebsocketV2Broadcast({
77
+ body,
78
+ broadcastParams,
79
+ channel,
80
+ eventId: persistedEvent?.id,
81
+ createdAt: persistedEvent?.createdAt
82
+ });
83
+ }
84
+ }, "Failed to persist/broadcast V2 event");
85
+ }
86
+ /**
87
+ * Runs queue publish.
88
+ * @param {() => Promise<void>} callback - Publish work to run in order.
89
+ * @param {string} errorMessage - Message logged when publish work fails.
90
+ * @returns {void}
91
+ */
92
+ _queuePublish(callback, errorMessage) {
93
+ const handler = this.handlers.values().next().value;
94
+ const configuration = handler?.configuration;
95
+ this.publishQueue = this.publishQueue
96
+ .then(async () => {
97
+ if (configuration) {
98
+ return await configuration.withoutCurrentConnectionContexts(callback);
99
+ }
100
+ return await callback();
91
101
  })
92
- }
93
- }, "Failed to persist/broadcast V2 event")
94
- }
95
-
96
- /**
97
- * Runs queue publish.
98
- * @param {() => Promise<void>} callback - Publish work to run in order.
99
- * @param {string} errorMessage - Message logged when publish work fails.
100
- * @returns {void}
101
- */
102
- _queuePublish(callback, errorMessage) {
103
- const handler = this.handlers.values().next().value
104
- const configuration = handler?.configuration
105
-
106
- this.publishQueue = this.publishQueue
107
- .then(async () => {
108
- if (configuration) {
109
- return await configuration.withoutCurrentConnectionContexts(callback)
110
- }
111
-
112
- return await callback()
113
- })
114
- .catch((error) => {
115
- console.error(errorMessage, error)
116
- throw error
117
- })
118
- }
119
-
120
- /**
121
- * Runs persist v2 event if needed.
122
- * @param {object} args - Options.
123
- * @param {?} args.body - Event body.
124
- * @param {string} args.channel - Channel name.
125
- * @returns {Promise<{createdAt: string, id: string} | null>}
126
- */
127
- async _persistV2EventIfNeeded({body, channel}) {
128
- return await this._persistChannelEventIfNeeded({channel, payload: body})
129
- }
130
-
131
- /**
132
- * Runs persist event if needed.
133
- * @param {object} args - Options object.
134
- * @param {string} args.channel - Channel name.
135
- * @param {?} args.payload - Payload data.
136
- * @returns {Promise<{createdAt: string, id: string} | null>} - Persisted event metadata.
137
- */
138
- async _persistEventIfNeeded({channel, payload}) {
139
- return await this._persistChannelEventIfNeeded({channel, payload})
140
- }
141
-
142
- /**
143
- * Runs persist channel event if needed.
144
- * @param {object} args - Options object.
145
- * @param {string} args.channel - Channel name.
146
- * @param {?} args.payload - Payload data.
147
- * @returns {Promise<{createdAt: string, id: string} | null>} - Persisted event metadata.
148
- */
149
- async _persistChannelEventIfNeeded({channel, payload}) {
150
- const handler = this.handlers.values().next().value
151
-
152
- if (!handler?.configuration) return null
153
-
154
- const websocketEventLogStore = websocketEventLogStoreForConfiguration(handler.configuration)
155
- const shouldPersist = await websocketEventLogStore.shouldPersistChannel(channel)
156
-
157
- if (!shouldPersist) return null
158
-
159
- const persistedEvent = await websocketEventLogStore.appendEvent({channel, payload})
160
-
161
- return {
162
- createdAt: persistedEvent.createdAt,
163
- id: persistedEvent.id
102
+ .catch((error) => {
103
+ console.error(errorMessage, error);
104
+ throw error;
105
+ });
106
+ }
107
+ /**
108
+ * Runs persist v2 event if needed.
109
+ * @param {object} args - Options.
110
+ * @param {?} args.body - Event body.
111
+ * @param {string} args.channel - Channel name.
112
+ * @returns {Promise<{createdAt: string, id: string} | null>}
113
+ */
114
+ async _persistV2EventIfNeeded({ body, channel }) {
115
+ return await this._persistChannelEventIfNeeded({ channel, payload: body });
116
+ }
117
+ /**
118
+ * Runs persist event if needed.
119
+ * @param {object} args - Options object.
120
+ * @param {string} args.channel - Channel name.
121
+ * @param {?} args.payload - Payload data.
122
+ * @returns {Promise<{createdAt: string, id: string} | null>} - Persisted event metadata.
123
+ */
124
+ async _persistEventIfNeeded({ channel, payload }) {
125
+ return await this._persistChannelEventIfNeeded({ channel, payload });
126
+ }
127
+ /**
128
+ * Runs persist channel event if needed.
129
+ * @param {object} args - Options object.
130
+ * @param {string} args.channel - Channel name.
131
+ * @param {?} args.payload - Payload data.
132
+ * @returns {Promise<{createdAt: string, id: string} | null>} - Persisted event metadata.
133
+ */
134
+ async _persistChannelEventIfNeeded({ channel, payload }) {
135
+ const handler = this.handlers.values().next().value;
136
+ if (!handler?.configuration)
137
+ return null;
138
+ const websocketEventLogStore = websocketEventLogStoreForConfiguration(handler.configuration);
139
+ const shouldPersist = await websocketEventLogStore.shouldPersistChannel(channel);
140
+ if (!shouldPersist)
141
+ return null;
142
+ const persistedEvent = await websocketEventLogStore.appendEvent({ channel, payload });
143
+ return {
144
+ createdAt: persistedEvent.createdAt,
145
+ id: persistedEvent.id
146
+ };
164
147
  }
165
- }
166
148
  }
167
-
168
- const websocketEventsHost = new VelociousHttpServerWebsocketEventsHost()
169
-
170
- export default websocketEventsHost
149
+ const websocketEventsHost = new VelociousHttpServerWebsocketEventsHost();
150
+ export default websocketEventsHost;
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWV2ZW50cy1ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2h0dHAtc2VydmVyL3dlYnNvY2tldC1ldmVudHMtaG9zdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLHNDQUFzQyxFQUFDLE1BQU0sZ0NBQWdDLENBQUE7QUFFckYsTUFBTSxPQUFPLHNDQUFzQztJQUNqRDtRQUNFOztxRUFFNkQ7UUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLHNCQUFzQjtRQUMxQixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsT0FBTztRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTFCLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLGFBQWEsRUFBRSxVQUFVO1FBQy9CLE1BQU0sV0FBVyxHQUFHLE9BQU8sYUFBYSxLQUFLLFFBQVE7WUFDbkQsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDO1lBQy9DLENBQUMsQ0FBQzs7d0RBRTBDO2dCQUFDLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDOUQsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQTtRQUNuQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFBO1FBRW5DLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDNUIsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQTtZQUUzRSxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxDQUFDLHNCQUFzQixDQUFDO29CQUM3QixPQUFPO29CQUNQLFNBQVMsRUFBRSxjQUFjLEVBQUUsU0FBUztvQkFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxFQUFFO29CQUMzQixPQUFPO2lCQUNSLENBQUMsQ0FBQTtZQUNKLENBQUM7UUFDSCxDQUFDLEVBQUUsbUNBQW1DLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsV0FBVyxDQUFDLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUM7UUFDMUMsMERBQTBEO1FBQzFELGdFQUFnRTtRQUNoRSw4REFBOEQ7UUFDOUQsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDNUIsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQTtZQUUxRSxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxDQUFDLDRCQUE0QixDQUFDO29CQUNuQyxJQUFJO29CQUNKLGVBQWU7b0JBQ2YsT0FBTztvQkFDUCxPQUFPLEVBQUUsY0FBYyxFQUFFLEVBQUU7b0JBQzNCLFNBQVMsRUFBRSxjQUFjLEVBQUUsU0FBUztpQkFDckMsQ0FBQyxDQUFBO1lBQ0osQ0FBQztRQUNILENBQUMsRUFBRSxzQ0FBc0MsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxRQUFRLEVBQUUsWUFBWTtRQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQTtRQUNuRCxNQUFNLGFBQWEsR0FBRyxPQUFPLEVBQUUsYUFBYSxDQUFBO1FBRTVDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVk7YUFDbEMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2YsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxNQUFNLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN2RSxDQUFDO1lBRUQsT0FBTyxNQUFNLFFBQVEsRUFBRSxDQUFBO1FBQ3pCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDbEMsTUFBTSxLQUFLLENBQUE7UUFDYixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsdUJBQXVCLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDO1FBQzNDLE9BQU8sTUFBTSxJQUFJLENBQUMsNEJBQTRCLENBQUMsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUM7UUFDNUMsT0FBTyxNQUFNLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsNEJBQTRCLENBQUMsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFBO1FBRW5ELElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYTtZQUFFLE9BQU8sSUFBSSxDQUFBO1FBRXhDLE1BQU0sc0JBQXNCLEdBQUcsc0NBQXNDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzVGLE1BQU0sYUFBYSxHQUFHLE1BQU0sc0JBQXNCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFaEYsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUUvQixNQUFNLGNBQWMsR0FBRyxNQUFNLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFBO1FBRW5GLE9BQU87WUFDTCxTQUFTLEVBQUUsY0FBYyxDQUFDLFNBQVM7WUFDbkMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxFQUFFO1NBQ3RCLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLG1CQUFtQixHQUFHLElBQUksc0NBQXNDLEVBQUUsQ0FBQTtBQUV4RSxlQUFlLG1CQUFtQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7d2Vic29ja2V0RXZlbnRMb2dTdG9yZUZvckNvbmZpZ3VyYXRpb259IGZyb20gXCIuL3dlYnNvY2tldC1ldmVudC1sb2ctc3RvcmUuanNcIlxuXG5leHBvcnQgY2xhc3MgVmVsb2Npb3VzSHR0cFNlcnZlcldlYnNvY2tldEV2ZW50c0hvc3Qge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvKipcbiAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICBAdHlwZSB7U2V0PGltcG9ydChcIi4vd29ya2VyLWhhbmRsZXIvaW5kZXguanNcIikuZGVmYXVsdD59ICovXG4gICAgdGhpcy5oYW5kbGVycyA9IG5ldyBTZXQoKVxuICAgIHRoaXMucHVibGlzaFF1ZXVlID0gUHJvbWlzZS5yZXNvbHZlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gYWxsIHBlbmRpbmcgcHVibGlzaC9icm9hZGNhc3RcbiAgICogb3BlcmF0aW9ucyBoYXZlIGNvbXBsZXRlZCAoaW5jbHVkaW5nIGV2ZW50LWxvZyBwZXJzaXN0ZW5jZSkuIFVzZWZ1bFxuICAgKiB3aGVuIGEgcmVxdWVzdCBoYW5kbGVyIG5lZWRzIHRvIGd1YXJhbnRlZSBpdHMgYnJvYWRjYXN0IGlzIHBlcnNpc3RlZFxuICAgKiBiZWZvcmUgcmVzcG9uZGluZyDigJQgd2l0aG91dCB0aGlzLCB0aGUgSFRUUCByZXNwb25zZSBjYW4gcmV0dXJuIGJlZm9yZVxuICAgKiB0aGUgYXN5bmMgZXZlbnQtbG9nIHdyaXRlIGZpbmlzaGVzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIGF3YWl0UGVuZGluZ0Jyb2FkY2FzdHMoKSB7XG4gICAgYXdhaXQgdGhpcy5wdWJsaXNoUXVldWVcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHJlZ2lzdGVyLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vd29ya2VyLWhhbmRsZXIvaW5kZXguanNcIikuZGVmYXVsdH0gaGFuZGxlciAtIEhhbmRsZXIgaW5zdGFuY2UuXG4gICAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfSAtIFRoZSByZWdpc3Rlci5cbiAgICovXG4gIHJlZ2lzdGVyKGhhbmRsZXIpIHtcbiAgICB0aGlzLmhhbmRsZXJzLmFkZChoYW5kbGVyKVxuXG4gICAgcmV0dXJuICgpID0+IHRoaXMuaGFuZGxlcnMuZGVsZXRlKGhhbmRsZXIpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBwdWJsaXNoLlxuICAgKiBAcGFyYW0ge29iamVjdCB8IHN0cmluZ30gY2hhbm5lbE9yQXJncyAtIENoYW5uZWwgbmFtZSBvciBvcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHs/fSBbcGF5bG9hZEFyZ10gLSBQYXlsb2FkIGRhdGEgd2hlbiBjaGFubmVsIGlzIHBhc3NlZCBzZXBhcmF0ZWx5LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBwdWJsaXNoKGNoYW5uZWxPckFyZ3MsIHBheWxvYWRBcmcpIHtcbiAgICBjb25zdCBwdWJsaXNoQXJncyA9IHR5cGVvZiBjaGFubmVsT3JBcmdzID09PSBcInN0cmluZ1wiXG4gICAgICA/IHtjaGFubmVsOiBjaGFubmVsT3JBcmdzLCBwYXlsb2FkOiBwYXlsb2FkQXJnfVxuICAgICAgOiAvKipcbiAgICAgICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAgICAgIEB0eXBlIHt7Y2hhbm5lbDogc3RyaW5nLCBwYXlsb2FkOiA/fX0gKi8gKGNoYW5uZWxPckFyZ3MpXG4gICAgY29uc3QgY2hhbm5lbCA9IHB1Ymxpc2hBcmdzLmNoYW5uZWxcbiAgICBjb25zdCBwYXlsb2FkID0gcHVibGlzaEFyZ3MucGF5bG9hZFxuXG4gICAgdGhpcy5fcXVldWVQdWJsaXNoKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHBlcnNpc3RlZEV2ZW50ID0gYXdhaXQgdGhpcy5fcGVyc2lzdEV2ZW50SWZOZWVkZWQoe2NoYW5uZWwsIHBheWxvYWR9KVxuXG4gICAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgdGhpcy5oYW5kbGVycykge1xuICAgICAgICBoYW5kbGVyLmRpc3BhdGNoV2Vic29ja2V0RXZlbnQoe1xuICAgICAgICAgIGNoYW5uZWwsXG4gICAgICAgICAgY3JlYXRlZEF0OiBwZXJzaXN0ZWRFdmVudD8uY3JlYXRlZEF0LFxuICAgICAgICAgIGV2ZW50SWQ6IHBlcnNpc3RlZEV2ZW50Py5pZCxcbiAgICAgICAgICBwYXlsb2FkXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSwgXCJGYWlsZWQgdG8gcHVibGlzaCB3ZWJzb2NrZXQgZXZlbnRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBGYW4gYSBWMiBjaGFubmVsIGJyb2FkY2FzdCBvdXQgdG8gZXZlcnkgcmVnaXN0ZXJlZCB3b3JrZXIgaGFuZGxlci5cbiAgICogUGVyc2lzdHMgdGhlIGV2ZW50IHRvIHRoZSBldmVudC1sb2cgc3RvcmUgKGlmIHRoZSBjaGFubmVsIGlzIG1hcmtlZFxuICAgKiBpbnRlcmVzdGVkKSBzbyBjbGllbnRzIGNhbiByZXN1bWUgZnJvbSBhIGBsYXN0RXZlbnRJZGAgY2hlY2twb2ludC5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MuY2hhbm5lbCAtIENoYW5uZWwgbmFtZS5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gYXJncy5icm9hZGNhc3RQYXJhbXMgLSBSb3V0aW5nIGZpbHRlciBwYXJhbXMuXG4gICAqIEBwYXJhbSB7P30gYXJncy5ib2R5IC0gTWVzc2FnZSBib2R5LlxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGJyb2FkY2FzdFYyKHtib2R5LCBicm9hZGNhc3RQYXJhbXMsIGNoYW5uZWx9KSB7XG4gICAgLy8gQ2hhaW4gb250byBwdWJsaXNoUXVldWUgc28gcGVyc2lzdGVuY2UgY29tcGxldGVzIGJlZm9yZVxuICAgIC8vIHRoZSBuZXh0IGJyb2FkY2FzdCDigJQgd2l0aG91dCB0aGlzLCBhIHN1YnNjcmliZXIgdGhhdCBjb25uZWN0c1xuICAgIC8vIGltbWVkaWF0ZWx5IGFmdGVyIGEgYnJvYWRjYXN0IGNvdWxkIG1pc3MgdGhlIGp1c3QtcGVyc2lzdGVkXG4gICAgLy8gZXZlbnQgd2hlbiByZXBsYXlpbmcgZnJvbSBsYXN0RXZlbnRJZCBvbiBhIHNsb3cgREIuXG4gICAgdGhpcy5fcXVldWVQdWJsaXNoKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHBlcnNpc3RlZEV2ZW50ID0gYXdhaXQgdGhpcy5fcGVyc2lzdFYyRXZlbnRJZk5lZWRlZCh7Ym9keSwgY2hhbm5lbH0pXG5cbiAgICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiB0aGlzLmhhbmRsZXJzKSB7XG4gICAgICAgIGhhbmRsZXIuZGlzcGF0Y2hXZWJzb2NrZXRWMkJyb2FkY2FzdCh7XG4gICAgICAgICAgYm9keSxcbiAgICAgICAgICBicm9hZGNhc3RQYXJhbXMsXG4gICAgICAgICAgY2hhbm5lbCxcbiAgICAgICAgICBldmVudElkOiBwZXJzaXN0ZWRFdmVudD8uaWQsXG4gICAgICAgICAgY3JlYXRlZEF0OiBwZXJzaXN0ZWRFdmVudD8uY3JlYXRlZEF0XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSwgXCJGYWlsZWQgdG8gcGVyc2lzdC9icm9hZGNhc3QgVjIgZXZlbnRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHF1ZXVlIHB1Ymxpc2guXG4gICAqIEBwYXJhbSB7KCkgPT4gUHJvbWlzZTx2b2lkPn0gY2FsbGJhY2sgLSBQdWJsaXNoIHdvcmsgdG8gcnVuIGluIG9yZGVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXJyb3JNZXNzYWdlIC0gTWVzc2FnZSBsb2dnZWQgd2hlbiBwdWJsaXNoIHdvcmsgZmFpbHMuXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgX3F1ZXVlUHVibGlzaChjYWxsYmFjaywgZXJyb3JNZXNzYWdlKSB7XG4gICAgY29uc3QgaGFuZGxlciA9IHRoaXMuaGFuZGxlcnMudmFsdWVzKCkubmV4dCgpLnZhbHVlXG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGhhbmRsZXI/LmNvbmZpZ3VyYXRpb25cblxuICAgIHRoaXMucHVibGlzaFF1ZXVlID0gdGhpcy5wdWJsaXNoUXVldWVcbiAgICAgIC50aGVuKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgY29uZmlndXJhdGlvbi53aXRob3V0Q3VycmVudENvbm5lY3Rpb25Db250ZXh0cyhjYWxsYmFjaylcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhd2FpdCBjYWxsYmFjaygpXG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yTWVzc2FnZSwgZXJyb3IpXG4gICAgICAgIHRocm93IGVycm9yXG4gICAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcGVyc2lzdCB2MiBldmVudCBpZiBuZWVkZWQuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucy5cbiAgICogQHBhcmFtIHs/fSBhcmdzLmJvZHkgLSBFdmVudCBib2R5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jaGFubmVsIC0gQ2hhbm5lbCBuYW1lLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7Y3JlYXRlZEF0OiBzdHJpbmcsIGlkOiBzdHJpbmd9IHwgbnVsbD59XG4gICAqL1xuICBhc3luYyBfcGVyc2lzdFYyRXZlbnRJZk5lZWRlZCh7Ym9keSwgY2hhbm5lbH0pIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fcGVyc2lzdENoYW5uZWxFdmVudElmTmVlZGVkKHtjaGFubmVsLCBwYXlsb2FkOiBib2R5fSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHBlcnNpc3QgZXZlbnQgaWYgbmVlZGVkLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jaGFubmVsIC0gQ2hhbm5lbCBuYW1lLlxuICAgKiBAcGFyYW0gez99IGFyZ3MucGF5bG9hZCAtIFBheWxvYWQgZGF0YS5cbiAgICogQHJldHVybnMge1Byb21pc2U8e2NyZWF0ZWRBdDogc3RyaW5nLCBpZDogc3RyaW5nfSB8IG51bGw+fSAtIFBlcnNpc3RlZCBldmVudCBtZXRhZGF0YS5cbiAgICovXG4gIGFzeW5jIF9wZXJzaXN0RXZlbnRJZk5lZWRlZCh7Y2hhbm5lbCwgcGF5bG9hZH0pIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fcGVyc2lzdENoYW5uZWxFdmVudElmTmVlZGVkKHtjaGFubmVsLCBwYXlsb2FkfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHBlcnNpc3QgY2hhbm5lbCBldmVudCBpZiBuZWVkZWQuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmNoYW5uZWwgLSBDaGFubmVsIG5hbWUuXG4gICAqIEBwYXJhbSB7P30gYXJncy5wYXlsb2FkIC0gUGF5bG9hZCBkYXRhLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7Y3JlYXRlZEF0OiBzdHJpbmcsIGlkOiBzdHJpbmd9IHwgbnVsbD59IC0gUGVyc2lzdGVkIGV2ZW50IG1ldGFkYXRhLlxuICAgKi9cbiAgYXN5bmMgX3BlcnNpc3RDaGFubmVsRXZlbnRJZk5lZWRlZCh7Y2hhbm5lbCwgcGF5bG9hZH0pIHtcbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5oYW5kbGVycy52YWx1ZXMoKS5uZXh0KCkudmFsdWVcblxuICAgIGlmICghaGFuZGxlcj8uY29uZmlndXJhdGlvbikgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHdlYnNvY2tldEV2ZW50TG9nU3RvcmUgPSB3ZWJzb2NrZXRFdmVudExvZ1N0b3JlRm9yQ29uZmlndXJhdGlvbihoYW5kbGVyLmNvbmZpZ3VyYXRpb24pXG4gICAgY29uc3Qgc2hvdWxkUGVyc2lzdCA9IGF3YWl0IHdlYnNvY2tldEV2ZW50TG9nU3RvcmUuc2hvdWxkUGVyc2lzdENoYW5uZWwoY2hhbm5lbClcblxuICAgIGlmICghc2hvdWxkUGVyc2lzdCkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHBlcnNpc3RlZEV2ZW50ID0gYXdhaXQgd2Vic29ja2V0RXZlbnRMb2dTdG9yZS5hcHBlbmRFdmVudCh7Y2hhbm5lbCwgcGF5bG9hZH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgY3JlYXRlZEF0OiBwZXJzaXN0ZWRFdmVudC5jcmVhdGVkQXQsXG4gICAgICBpZDogcGVyc2lzdGVkRXZlbnQuaWRcbiAgICB9XG4gIH1cbn1cblxuY29uc3Qgd2Vic29ja2V0RXZlbnRzSG9zdCA9IG5ldyBWZWxvY2lvdXNIdHRwU2VydmVyV2Vic29ja2V0RXZlbnRzSG9zdCgpXG5cbmV4cG9ydCBkZWZhdWx0IHdlYnNvY2tldEV2ZW50c0hvc3RcbiJdfQ==
@@ -1,50 +1,50 @@
1
1
  // @ts-check
2
-
3
2
  export default class VelociousHttpServerWebsocketEvents {
4
- /**
5
- * Runs constructor.
6
- * @param {object} args - Options object.
7
- * @param {import("worker_threads").parentPort} args.parentPort - Parent port.
8
- * @param {number} args.workerCount - Worker count.
9
- */
10
- constructor({parentPort, workerCount}) {
11
- this.parentPort = parentPort
12
- this.workerCount = workerCount
13
- }
14
-
15
- /**
16
- * Runs publish.
17
- * @param {string} channel - Channel name.
18
- * @param {?} payload - Payload data.
19
- * @returns {void} - No return value.
20
- */
21
- publish(channel, payload) {
22
- if (!channel) throw new Error("channel is required")
23
- if (!this.parentPort) throw new Error("parentPort is required")
24
-
25
- this.parentPort.postMessage({channel, command: "websocketPublish", payload, workerCount: this.workerCount})
26
- }
27
-
28
- /**
29
- * Fan-out entry point for `configuration.broadcastToChannel` on V2
30
- * channels. The worker posts to the main process, which fans out to
31
- * every worker so subscribers on any worker receive the broadcast.
32
- * @param {object} args - Options object.
33
- * @param {string} args.channel - Channel name.
34
- * @param {Record<string, ?>} args.broadcastParams - Filter params forwarded to `matches()`.
35
- * @param {?} args.body - Message body delivered via `sendMessage()`.
36
- * @returns {void}
37
- */
38
- publishV2Broadcast({channel, broadcastParams, body}) {
39
- if (!channel) throw new Error("channel is required")
40
- if (!this.parentPort) throw new Error("parentPort is required")
41
-
42
- this.parentPort.postMessage({
43
- body,
44
- broadcastParams,
45
- channel,
46
- command: "websocketV2Broadcast",
47
- workerCount: this.workerCount
48
- })
49
- }
3
+ /**
4
+ * Runs constructor.
5
+ * @param {object} args - Options object.
6
+ * @param {import("worker_threads").parentPort} args.parentPort - Parent port.
7
+ * @param {number} args.workerCount - Worker count.
8
+ */
9
+ constructor({ parentPort, workerCount }) {
10
+ this.parentPort = parentPort;
11
+ this.workerCount = workerCount;
12
+ }
13
+ /**
14
+ * Runs publish.
15
+ * @param {string} channel - Channel name.
16
+ * @param {?} payload - Payload data.
17
+ * @returns {void} - No return value.
18
+ */
19
+ publish(channel, payload) {
20
+ if (!channel)
21
+ throw new Error("channel is required");
22
+ if (!this.parentPort)
23
+ throw new Error("parentPort is required");
24
+ this.parentPort.postMessage({ channel, command: "websocketPublish", payload, workerCount: this.workerCount });
25
+ }
26
+ /**
27
+ * Fan-out entry point for `configuration.broadcastToChannel` on V2
28
+ * channels. The worker posts to the main process, which fans out to
29
+ * every worker so subscribers on any worker receive the broadcast.
30
+ * @param {object} args - Options object.
31
+ * @param {string} args.channel - Channel name.
32
+ * @param {Record<string, ?>} args.broadcastParams - Filter params forwarded to `matches()`.
33
+ * @param {?} args.body - Message body delivered via `sendMessage()`.
34
+ * @returns {void}
35
+ */
36
+ publishV2Broadcast({ channel, broadcastParams, body }) {
37
+ if (!channel)
38
+ throw new Error("channel is required");
39
+ if (!this.parentPort)
40
+ throw new Error("parentPort is required");
41
+ this.parentPort.postMessage({
42
+ body,
43
+ broadcastParams,
44
+ channel,
45
+ command: "websocketV2Broadcast",
46
+ workerCount: this.workerCount
47
+ });
48
+ }
50
49
  }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWV2ZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci93ZWJzb2NrZXQtZXZlbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixNQUFNLENBQUMsT0FBTyxPQUFPLGtDQUFrQztJQUNyRDs7Ozs7T0FLRztJQUNILFlBQVksRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBQ2hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTztRQUN0QixJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFFL0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBQyxDQUFDLENBQUE7SUFDN0csQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILGtCQUFrQixDQUFDLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUM7UUFDakQsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRS9ELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQzFCLElBQUk7WUFDSixlQUFlO1lBQ2YsT0FBTztZQUNQLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzlCLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNIdHRwU2VydmVyV2Vic29ja2V0RXZlbnRzIHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwid29ya2VyX3RocmVhZHNcIikucGFyZW50UG9ydH0gYXJncy5wYXJlbnRQb3J0IC0gUGFyZW50IHBvcnQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBhcmdzLndvcmtlckNvdW50IC0gV29ya2VyIGNvdW50LlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe3BhcmVudFBvcnQsIHdvcmtlckNvdW50fSkge1xuICAgIHRoaXMucGFyZW50UG9ydCA9IHBhcmVudFBvcnRcbiAgICB0aGlzLndvcmtlckNvdW50ID0gd29ya2VyQ291bnRcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHB1Ymxpc2guXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaGFubmVsIC0gQ2hhbm5lbCBuYW1lLlxuICAgKiBAcGFyYW0gez99IHBheWxvYWQgLSBQYXlsb2FkIGRhdGEuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHB1Ymxpc2goY2hhbm5lbCwgcGF5bG9hZCkge1xuICAgIGlmICghY2hhbm5lbCkgdGhyb3cgbmV3IEVycm9yKFwiY2hhbm5lbCBpcyByZXF1aXJlZFwiKVxuICAgIGlmICghdGhpcy5wYXJlbnRQb3J0KSB0aHJvdyBuZXcgRXJyb3IoXCJwYXJlbnRQb3J0IGlzIHJlcXVpcmVkXCIpXG5cbiAgICB0aGlzLnBhcmVudFBvcnQucG9zdE1lc3NhZ2Uoe2NoYW5uZWwsIGNvbW1hbmQ6IFwid2Vic29ja2V0UHVibGlzaFwiLCBwYXlsb2FkLCB3b3JrZXJDb3VudDogdGhpcy53b3JrZXJDb3VudH0pXG4gIH1cblxuICAvKipcbiAgICogRmFuLW91dCBlbnRyeSBwb2ludCBmb3IgYGNvbmZpZ3VyYXRpb24uYnJvYWRjYXN0VG9DaGFubmVsYCBvbiBWMlxuICAgKiBjaGFubmVscy4gVGhlIHdvcmtlciBwb3N0cyB0byB0aGUgbWFpbiBwcm9jZXNzLCB3aGljaCBmYW5zIG91dCB0b1xuICAgKiBldmVyeSB3b3JrZXIgc28gc3Vic2NyaWJlcnMgb24gYW55IHdvcmtlciByZWNlaXZlIHRoZSBicm9hZGNhc3QuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmNoYW5uZWwgLSBDaGFubmVsIG5hbWUuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgPz59IGFyZ3MuYnJvYWRjYXN0UGFyYW1zIC0gRmlsdGVyIHBhcmFtcyBmb3J3YXJkZWQgdG8gYG1hdGNoZXMoKWAuXG4gICAqIEBwYXJhbSB7P30gYXJncy5ib2R5IC0gTWVzc2FnZSBib2R5IGRlbGl2ZXJlZCB2aWEgYHNlbmRNZXNzYWdlKClgLlxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHB1Ymxpc2hWMkJyb2FkY2FzdCh7Y2hhbm5lbCwgYnJvYWRjYXN0UGFyYW1zLCBib2R5fSkge1xuICAgIGlmICghY2hhbm5lbCkgdGhyb3cgbmV3IEVycm9yKFwiY2hhbm5lbCBpcyByZXF1aXJlZFwiKVxuICAgIGlmICghdGhpcy5wYXJlbnRQb3J0KSB0aHJvdyBuZXcgRXJyb3IoXCJwYXJlbnRQb3J0IGlzIHJlcXVpcmVkXCIpXG5cbiAgICB0aGlzLnBhcmVudFBvcnQucG9zdE1lc3NhZ2Uoe1xuICAgICAgYm9keSxcbiAgICAgIGJyb2FkY2FzdFBhcmFtcyxcbiAgICAgIGNoYW5uZWwsXG4gICAgICBjb21tYW5kOiBcIndlYnNvY2tldFYyQnJvYWRjYXN0XCIsXG4gICAgICB3b3JrZXJDb3VudDogdGhpcy53b3JrZXJDb3VudFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,4 @@
1
1
  // @ts-check
2
-
3
2
  /**
4
3
  * Runs dispatch channel subscribers.
5
4
  * @param {object} args - Dispatch arguments.
@@ -11,18 +10,18 @@
11
10
  * @param {?} args.payload - Broadcast payload.
12
11
  * @returns {Promise<void>} Resolves after subscribers have been attempted.
13
12
  */
14
- export default async function dispatchChannelSubscribers({channel, configuration, createdAt, eventId, logger, payload}) {
15
- try {
16
- await configuration.getWebsocketChannelSubscribers().dispatch({channel, createdAt, eventId, payload})
17
- } catch (error) {
18
- logger.error(() => [`Channel subscriber dispatch failed for ${channel}`, error])
19
-
20
- const errorPayload = {
21
- context: {channel, createdAt, eventId, source: "websocket-channel-subscribers"},
22
- error
13
+ export default async function dispatchChannelSubscribers({ channel, configuration, createdAt, eventId, logger, payload }) {
14
+ try {
15
+ await configuration.getWebsocketChannelSubscribers().dispatch({ channel, createdAt, eventId, payload });
16
+ }
17
+ catch (error) {
18
+ logger.error(() => [`Channel subscriber dispatch failed for ${channel}`, error]);
19
+ const errorPayload = {
20
+ context: { channel, createdAt, eventId, source: "websocket-channel-subscribers" },
21
+ error
22
+ };
23
+ configuration.getErrorEvents().emit("framework-error", errorPayload);
24
+ configuration.getErrorEvents().emit("all-error", { ...errorPayload, errorType: "framework-error" });
23
25
  }
24
-
25
- configuration.getErrorEvents().emit("framework-error", errorPayload)
26
- configuration.getErrorEvents().emit("all-error", {...errorPayload, errorType: "framework-error"})
27
- }
28
26
  }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1zdWJzY3JpYmVyLWRpc3BhdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2h0dHAtc2VydmVyL3dvcmtlci1oYW5kbGVyL2NoYW5uZWwtc3Vic2NyaWJlci1kaXNwYXRjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVo7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxVQUFVLDBCQUEwQixDQUFDLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUM7SUFDcEgsSUFBSSxDQUFDO1FBQ0gsTUFBTSxhQUFhLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFBO0lBQ3ZHLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLDBDQUEwQyxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBRWhGLE1BQU0sWUFBWSxHQUFHO1lBQ25CLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSwrQkFBK0IsRUFBQztZQUMvRSxLQUFLO1NBQ04sQ0FBQTtRQUVELGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLENBQUE7UUFDcEUsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBQyxHQUFHLFlBQVksRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFBO0lBQ25HLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogUnVucyBkaXNwYXRjaCBjaGFubmVsIHN1YnNjcmliZXJzLlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBEaXNwYXRjaCBhcmd1bWVudHMuXG4gKiBAcGFyYW0ge3N0cmluZ30gYXJncy5jaGFubmVsIC0gQ2hhbm5lbCBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IGFyZ3MuY3JlYXRlZEF0IC0gRXZlbnQgY3JlYXRpb24gdGltZXN0YW1wLlxuICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IGFyZ3MuZXZlbnRJZCAtIEV2ZW50IGlkZW50aWZpZXIuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vbG9nZ2VyLmpzXCIpLmRlZmF1bHR9IGFyZ3MubG9nZ2VyIC0gTG9nZ2VyIGZvciBpc29sYXRlZCBzdWJzY3JpYmVyIGZhaWx1cmVzLlxuICogQHBhcmFtIHs/fSBhcmdzLnBheWxvYWQgLSBCcm9hZGNhc3QgcGF5bG9hZC5cbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyBhZnRlciBzdWJzY3JpYmVycyBoYXZlIGJlZW4gYXR0ZW1wdGVkLlxuICovXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBkaXNwYXRjaENoYW5uZWxTdWJzY3JpYmVycyh7Y2hhbm5lbCwgY29uZmlndXJhdGlvbiwgY3JlYXRlZEF0LCBldmVudElkLCBsb2dnZXIsIHBheWxvYWR9KSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgY29uZmlndXJhdGlvbi5nZXRXZWJzb2NrZXRDaGFubmVsU3Vic2NyaWJlcnMoKS5kaXNwYXRjaCh7Y2hhbm5lbCwgY3JlYXRlZEF0LCBldmVudElkLCBwYXlsb2FkfSlcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBsb2dnZXIuZXJyb3IoKCkgPT4gW2BDaGFubmVsIHN1YnNjcmliZXIgZGlzcGF0Y2ggZmFpbGVkIGZvciAke2NoYW5uZWx9YCwgZXJyb3JdKVxuXG4gICAgY29uc3QgZXJyb3JQYXlsb2FkID0ge1xuICAgICAgY29udGV4dDoge2NoYW5uZWwsIGNyZWF0ZWRBdCwgZXZlbnRJZCwgc291cmNlOiBcIndlYnNvY2tldC1jaGFubmVsLXN1YnNjcmliZXJzXCJ9LFxuICAgICAgZXJyb3JcbiAgICB9XG5cbiAgICBjb25maWd1cmF0aW9uLmdldEVycm9yRXZlbnRzKCkuZW1pdChcImZyYW1ld29yay1lcnJvclwiLCBlcnJvclBheWxvYWQpXG4gICAgY29uZmlndXJhdGlvbi5nZXRFcnJvckV2ZW50cygpLmVtaXQoXCJhbGwtZXJyb3JcIiwgey4uLmVycm9yUGF5bG9hZCwgZXJyb3JUeXBlOiBcImZyYW1ld29yay1lcnJvclwifSlcbiAgfVxufVxuIl19