velocious 1.0.449 → 1.0.451

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 (636) hide show
  1. package/README.md +1 -1
  2. package/build/application.js +4 -4
  3. package/build/authorization/ability.js +8 -8
  4. package/build/authorization/base-resource.js +4 -4
  5. package/build/background-jobs/cron-expression.js +1 -1
  6. package/build/background-jobs/forked-runner-child.js +1 -1
  7. package/build/background-jobs/job-registry.js +1 -1
  8. package/build/background-jobs/job-runner.js +1 -1
  9. package/build/background-jobs/job.js +1 -1
  10. package/build/background-jobs/json-socket.js +4 -4
  11. package/build/background-jobs/main.js +21 -21
  12. package/build/background-jobs/scheduler.js +7 -7
  13. package/build/background-jobs/store.js +7 -7
  14. package/build/background-jobs/web/controller.js +2 -2
  15. package/build/background-jobs/worker.js +12 -12
  16. package/build/beacon/client.js +11 -8
  17. package/build/beacon/in-process-broker.js +2 -2
  18. package/build/beacon/in-process-client.js +2 -2
  19. package/build/beacon/server.js +3 -3
  20. package/build/cli/browser-cli.js +1 -1
  21. package/build/cli/commands/db/base-command.js +2 -2
  22. package/build/cli/index.js +2 -2
  23. package/build/cli/tenant-database-command-helper.js +3 -3
  24. package/build/cli/use-browser-cli.js +1 -1
  25. package/build/configuration-types.js +3 -1
  26. package/build/configuration.js +38 -38
  27. package/build/controller.js +8 -8
  28. package/build/current-configuration.js +1 -1
  29. package/build/database/annotations-async-hooks.js +2 -2
  30. package/build/database/annotations.js +3 -3
  31. package/build/database/drivers/base-column.js +1 -1
  32. package/build/database/drivers/base-foreign-key.js +1 -1
  33. package/build/database/drivers/base-table.js +1 -1
  34. package/build/database/drivers/base.js +10 -10
  35. package/build/database/drivers/mssql/index.js +1 -1
  36. package/build/database/drivers/mssql/table.js +1 -1
  37. package/build/database/drivers/mysql/index.js +3 -3
  38. package/build/database/drivers/mysql/query.js +1 -1
  39. package/build/database/drivers/mysql/table.js +1 -1
  40. package/build/database/drivers/pgsql/index.js +2 -2
  41. package/build/database/drivers/sqlite/base.js +16 -16
  42. package/build/database/drivers/sqlite/index.js +11 -11
  43. package/build/database/drivers/sqlite/index.native.js +1 -1
  44. package/build/database/drivers/sqlite/index.web.js +3 -3
  45. package/build/database/drivers/sqlite/query.js +1 -1
  46. package/build/database/drivers/sqlite/query.web.js +1 -1
  47. package/build/database/drivers/sqlite/sql/alter-table.js +2 -2
  48. package/build/database/drivers/sqlite/table.js +1 -1
  49. package/build/database/migrator/files-finder.js +1 -1
  50. package/build/database/migrator.js +6 -6
  51. package/build/database/pool/async-tracked-multi-connection.js +27 -27
  52. package/build/database/pool/base-methods-forward.js +4 -4
  53. package/build/database/pool/base.js +8 -8
  54. package/build/database/query/from-base.js +1 -1
  55. package/build/database/query/index.js +10 -10
  56. package/build/database/query/join-object.js +3 -3
  57. package/build/database/query/model-class-query.js +39 -39
  58. package/build/database/query/preloader/belongs-to.js +22 -22
  59. package/build/database/query/preloader/has-many.js +20 -20
  60. package/build/database/query/preloader/has-one.js +8 -8
  61. package/build/database/query/preloader/selection.js +3 -3
  62. package/build/database/query/preloader.js +8 -8
  63. package/build/database/query/query-data.js +9 -9
  64. package/build/database/query/where-model-class-hash.js +7 -7
  65. package/build/database/query/with-count.js +9 -9
  66. package/build/database/record/acts-as-list.js +15 -15
  67. package/build/database/record/attachments/handle.js +2 -2
  68. package/build/database/record/attachments/normalize-input.js +12 -12
  69. package/build/database/record/attachments/storage-drivers/s3.js +6 -6
  70. package/build/database/record/attachments/store.js +13 -13
  71. package/build/database/record/index.js +115 -121
  72. package/build/database/record/instance-relationships/base.js +11 -11
  73. package/build/database/record/instance-relationships/belongs-to.js +3 -3
  74. package/build/database/record/instance-relationships/has-many.js +8 -8
  75. package/build/database/record/instance-relationships/has-one.js +7 -7
  76. package/build/database/record/relationships/base.js +2 -2
  77. package/build/database/record/state-machine.js +7 -7
  78. package/build/database/record/validators/presence.js +1 -1
  79. package/build/database/record/validators/uniqueness.js +5 -5
  80. package/build/database/table-data/index.js +4 -4
  81. package/build/environment-handlers/base.js +2 -2
  82. package/build/environment-handlers/browser.js +7 -7
  83. package/build/environment-handlers/node/cli/commands/cli-command-context.js +1 -1
  84. package/build/environment-handlers/node/cli/commands/console.js +4 -4
  85. package/build/environment-handlers/node/cli/commands/db/schema/dump.js +1 -1
  86. package/build/environment-handlers/node/cli/commands/db/schema/load.js +3 -3
  87. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +836 -60
  88. package/build/environment-handlers/node.js +6 -6
  89. package/build/frontend-model-controller.js +81 -82
  90. package/build/frontend-model-resource/base-resource.js +78 -115
  91. package/build/frontend-models/base.js +162 -149
  92. package/build/frontend-models/clear-pending-debounced-callback.js +1 -1
  93. package/build/frontend-models/event-hook-models.js +2 -2
  94. package/build/frontend-models/outgoing-event-buffer.js +2 -2
  95. package/build/frontend-models/preloader.js +5 -5
  96. package/build/frontend-models/query.js +43 -38
  97. package/build/frontend-models/resource-definition.js +6 -6
  98. package/build/frontend-models/transport-serialization.js +11 -11
  99. package/build/frontend-models/use-destroyed-event.js +10 -10
  100. package/build/frontend-models/use-model-class-event.js +11 -11
  101. package/build/frontend-models/use-updated-event.js +11 -11
  102. package/build/frontend-models/websocket-channel.js +26 -17
  103. package/build/frontend-models/websocket-publishers.js +9 -9
  104. package/build/http-client/response.js +2 -2
  105. package/build/http-server/client/index.js +8 -8
  106. package/build/http-server/client/params-to-object.js +10 -10
  107. package/build/http-server/client/request-buffer/form-data-part.js +2 -2
  108. package/build/http-server/client/request-buffer/index.js +8 -8
  109. package/build/http-server/client/request-parser.js +3 -3
  110. package/build/http-server/client/request-runner.js +6 -6
  111. package/build/http-server/client/request-timing.js +5 -5
  112. package/build/http-server/client/request.js +1 -1
  113. package/build/http-server/client/response.js +5 -5
  114. package/build/http-server/client/websocket-request.js +4 -4
  115. package/build/http-server/client/websocket-session.js +18 -18
  116. package/build/http-server/development-reloader.js +5 -5
  117. package/build/http-server/index.js +12 -12
  118. package/build/http-server/remote-address.js +4 -4
  119. package/build/http-server/server-client.js +3 -3
  120. package/build/http-server/server-lock.js +4 -4
  121. package/build/http-server/websocket-channel-subscribers.js +3 -3
  122. package/build/http-server/websocket-channel.js +1 -1
  123. package/build/http-server/websocket-connection.js +1 -1
  124. package/build/http-server/websocket-event-log-store.js +6 -6
  125. package/build/http-server/websocket-events-host.js +2 -2
  126. package/build/http-server/worker-handler/in-process.js +7 -7
  127. package/build/http-server/worker-handler/index.js +4 -4
  128. package/build/http-server/worker-handler/worker-thread.js +3 -3
  129. package/build/logger/outputs/array-output.js +3 -3
  130. package/build/logger/outputs/console-output.js +1 -1
  131. package/build/logger/outputs/file-output.js +4 -4
  132. package/build/logger/outputs/stdout-output.js +1 -1
  133. package/build/logger.js +10 -10
  134. package/build/mailer/backends/smtp.js +3 -3
  135. package/build/mailer/base.js +8 -8
  136. package/build/mailer/delivery.js +4 -4
  137. package/build/plugins/sqljs-wasm-route-controller.js +1 -1
  138. package/build/routes/base-route.js +6 -6
  139. package/build/routes/basic-route.js +1 -1
  140. package/build/routes/hooks/frontend-model-command-route-hook.js +1 -1
  141. package/build/routes/index.js +1 -1
  142. package/build/routes/plugin-routes.js +1 -1
  143. package/build/routes/resolver.js +11 -11
  144. package/build/routes/resource-route.js +1 -1
  145. package/build/src/application.d.ts +3 -3
  146. package/build/src/application.d.ts.map +1 -1
  147. package/build/src/application.js +5 -5
  148. package/build/src/authorization/ability.d.ts +7 -7
  149. package/build/src/authorization/ability.d.ts.map +1 -1
  150. package/build/src/authorization/ability.js +9 -9
  151. package/build/src/authorization/base-resource.d.ts +1 -1
  152. package/build/src/authorization/base-resource.d.ts.map +1 -1
  153. package/build/src/authorization/base-resource.js +5 -5
  154. package/build/src/background-jobs/cron-expression.js +2 -2
  155. package/build/src/background-jobs/forked-runner-child.js +2 -2
  156. package/build/src/background-jobs/job-registry.d.ts +1 -1
  157. package/build/src/background-jobs/job-registry.d.ts.map +1 -1
  158. package/build/src/background-jobs/job-registry.js +2 -2
  159. package/build/src/background-jobs/job-runner.js +2 -2
  160. package/build/src/background-jobs/job.js +2 -2
  161. package/build/src/background-jobs/json-socket.d.ts +4 -4
  162. package/build/src/background-jobs/json-socket.d.ts.map +1 -1
  163. package/build/src/background-jobs/json-socket.js +5 -5
  164. package/build/src/background-jobs/main.d.ts +18 -18
  165. package/build/src/background-jobs/main.d.ts.map +1 -1
  166. package/build/src/background-jobs/main.js +22 -22
  167. package/build/src/background-jobs/scheduler.d.ts +5 -5
  168. package/build/src/background-jobs/scheduler.d.ts.map +1 -1
  169. package/build/src/background-jobs/scheduler.js +8 -8
  170. package/build/src/background-jobs/store.js +8 -8
  171. package/build/src/background-jobs/web/controller.js +3 -3
  172. package/build/src/background-jobs/worker.d.ts +6 -6
  173. package/build/src/background-jobs/worker.d.ts.map +1 -1
  174. package/build/src/background-jobs/worker.js +13 -13
  175. package/build/src/beacon/client.d.ts +4 -4
  176. package/build/src/beacon/client.d.ts.map +1 -1
  177. package/build/src/beacon/client.js +12 -9
  178. package/build/src/beacon/in-process-broker.d.ts.map +1 -1
  179. package/build/src/beacon/in-process-broker.js +3 -3
  180. package/build/src/beacon/in-process-client.d.ts +1 -1
  181. package/build/src/beacon/in-process-client.d.ts.map +1 -1
  182. package/build/src/beacon/in-process-client.js +3 -3
  183. package/build/src/beacon/server.d.ts +2 -2
  184. package/build/src/beacon/server.d.ts.map +1 -1
  185. package/build/src/beacon/server.js +4 -4
  186. package/build/src/cli/browser-cli.js +2 -2
  187. package/build/src/cli/commands/db/base-command.d.ts +2 -2
  188. package/build/src/cli/commands/db/base-command.d.ts.map +1 -1
  189. package/build/src/cli/commands/db/base-command.js +3 -3
  190. package/build/src/cli/index.js +3 -3
  191. package/build/src/cli/tenant-database-command-helper.d.ts +1 -1
  192. package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
  193. package/build/src/cli/tenant-database-command-helper.js +4 -4
  194. package/build/src/cli/use-browser-cli.js +2 -2
  195. package/build/src/configuration-types.d.ts +12 -2
  196. package/build/src/configuration-types.d.ts.map +1 -1
  197. package/build/src/configuration-types.js +4 -2
  198. package/build/src/configuration.d.ts +14 -14
  199. package/build/src/configuration.d.ts.map +1 -1
  200. package/build/src/configuration.js +39 -39
  201. package/build/src/controller.js +10 -10
  202. package/build/src/current-configuration.js +2 -2
  203. package/build/src/database/annotations-async-hooks.js +3 -3
  204. package/build/src/database/annotations.d.ts.map +1 -1
  205. package/build/src/database/annotations.js +4 -4
  206. package/build/src/database/drivers/base-column.d.ts +1 -1
  207. package/build/src/database/drivers/base-column.d.ts.map +1 -1
  208. package/build/src/database/drivers/base-column.js +2 -2
  209. package/build/src/database/drivers/base-foreign-key.d.ts +1 -1
  210. package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
  211. package/build/src/database/drivers/base-foreign-key.js +2 -2
  212. package/build/src/database/drivers/base-table.d.ts +1 -1
  213. package/build/src/database/drivers/base-table.d.ts.map +1 -1
  214. package/build/src/database/drivers/base-table.js +2 -2
  215. package/build/src/database/drivers/base.d.ts +6 -6
  216. package/build/src/database/drivers/base.d.ts.map +1 -1
  217. package/build/src/database/drivers/base.js +11 -11
  218. package/build/src/database/drivers/mssql/index.js +2 -2
  219. package/build/src/database/drivers/mssql/table.js +2 -2
  220. package/build/src/database/drivers/mysql/index.js +4 -4
  221. package/build/src/database/drivers/mysql/query.js +2 -2
  222. package/build/src/database/drivers/mysql/table.js +2 -2
  223. package/build/src/database/drivers/pgsql/index.js +3 -3
  224. package/build/src/database/drivers/sqlite/base.d.ts +3 -3
  225. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  226. package/build/src/database/drivers/sqlite/base.js +17 -17
  227. package/build/src/database/drivers/sqlite/index.d.ts +4 -4
  228. package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
  229. package/build/src/database/drivers/sqlite/index.js +12 -12
  230. package/build/src/database/drivers/sqlite/index.native.js +2 -2
  231. package/build/src/database/drivers/sqlite/index.web.d.ts +2 -2
  232. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  233. package/build/src/database/drivers/sqlite/index.web.js +4 -4
  234. package/build/src/database/drivers/sqlite/query.js +2 -2
  235. package/build/src/database/drivers/sqlite/query.web.js +2 -2
  236. package/build/src/database/drivers/sqlite/sql/alter-table.js +3 -3
  237. package/build/src/database/drivers/sqlite/table.js +2 -2
  238. package/build/src/database/migrator/files-finder.js +2 -2
  239. package/build/src/database/migrator.d.ts +1 -1
  240. package/build/src/database/migrator.d.ts.map +1 -1
  241. package/build/src/database/migrator.js +7 -7
  242. package/build/src/database/pool/async-tracked-multi-connection.d.ts +9 -9
  243. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  244. package/build/src/database/pool/async-tracked-multi-connection.js +28 -28
  245. package/build/src/database/pool/base-methods-forward.js +7 -7
  246. package/build/src/database/pool/base.d.ts +1 -1
  247. package/build/src/database/pool/base.d.ts.map +1 -1
  248. package/build/src/database/pool/base.js +9 -9
  249. package/build/src/database/query/from-base.d.ts +1 -1
  250. package/build/src/database/query/from-base.d.ts.map +1 -1
  251. package/build/src/database/query/from-base.js +2 -2
  252. package/build/src/database/query/index.d.ts +4 -4
  253. package/build/src/database/query/index.d.ts.map +1 -1
  254. package/build/src/database/query/index.js +11 -11
  255. package/build/src/database/query/join-object.js +4 -4
  256. package/build/src/database/query/model-class-query.d.ts +4 -4
  257. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  258. package/build/src/database/query/model-class-query.js +40 -40
  259. package/build/src/database/query/preloader/belongs-to.js +23 -23
  260. package/build/src/database/query/preloader/has-many.js +21 -21
  261. package/build/src/database/query/preloader/has-one.js +9 -9
  262. package/build/src/database/query/preloader/selection.js +4 -4
  263. package/build/src/database/query/preloader.js +9 -9
  264. package/build/src/database/query/query-data.js +10 -10
  265. package/build/src/database/query/where-model-class-hash.js +8 -8
  266. package/build/src/database/query/with-count.js +10 -10
  267. package/build/src/database/record/acts-as-list.js +20 -20
  268. package/build/src/database/record/attachments/handle.d.ts +1 -1
  269. package/build/src/database/record/attachments/handle.d.ts.map +1 -1
  270. package/build/src/database/record/attachments/handle.js +3 -3
  271. package/build/src/database/record/attachments/normalize-input.js +15 -15
  272. package/build/src/database/record/attachments/storage-drivers/s3.js +7 -7
  273. package/build/src/database/record/attachments/store.d.ts +2 -2
  274. package/build/src/database/record/attachments/store.d.ts.map +1 -1
  275. package/build/src/database/record/attachments/store.js +14 -14
  276. package/build/src/database/record/index.d.ts +18 -25
  277. package/build/src/database/record/index.d.ts.map +1 -1
  278. package/build/src/database/record/index.js +135 -141
  279. package/build/src/database/record/instance-relationships/base.d.ts +3 -3
  280. package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
  281. package/build/src/database/record/instance-relationships/base.js +13 -13
  282. package/build/src/database/record/instance-relationships/belongs-to.js +4 -4
  283. package/build/src/database/record/instance-relationships/has-many.js +9 -9
  284. package/build/src/database/record/instance-relationships/has-one.d.ts +1 -1
  285. package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
  286. package/build/src/database/record/instance-relationships/has-one.js +8 -8
  287. package/build/src/database/record/relationships/base.js +4 -4
  288. package/build/src/database/record/state-machine.js +8 -8
  289. package/build/src/database/record/validators/presence.js +2 -2
  290. package/build/src/database/record/validators/uniqueness.js +6 -6
  291. package/build/src/database/table-data/index.d.ts +4 -4
  292. package/build/src/database/table-data/index.d.ts.map +1 -1
  293. package/build/src/database/table-data/index.js +5 -5
  294. package/build/src/environment-handlers/base.js +3 -3
  295. package/build/src/environment-handlers/browser.d.ts +3 -3
  296. package/build/src/environment-handlers/browser.d.ts.map +1 -1
  297. package/build/src/environment-handlers/browser.js +8 -8
  298. package/build/src/environment-handlers/node/cli/commands/cli-command-context.js +2 -2
  299. package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
  300. package/build/src/environment-handlers/node/cli/commands/console.js +5 -5
  301. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts +1 -1
  302. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts.map +1 -1
  303. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.js +2 -2
  304. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +1 -1
  305. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -1
  306. package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +4 -4
  307. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +285 -12
  308. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  309. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +712 -61
  310. package/build/src/environment-handlers/node.d.ts +2 -2
  311. package/build/src/environment-handlers/node.d.ts.map +1 -1
  312. package/build/src/environment-handlers/node.js +7 -7
  313. package/build/src/frontend-model-controller.d.ts +5 -6
  314. package/build/src/frontend-model-controller.d.ts.map +1 -1
  315. package/build/src/frontend-model-controller.js +88 -89
  316. package/build/src/frontend-model-resource/base-resource.d.ts +36 -27
  317. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  318. package/build/src/frontend-model-resource/base-resource.js +67 -120
  319. package/build/src/frontend-models/base.d.ts +67 -59
  320. package/build/src/frontend-models/base.d.ts.map +1 -1
  321. package/build/src/frontend-models/base.js +171 -158
  322. package/build/src/frontend-models/clear-pending-debounced-callback.js +2 -2
  323. package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
  324. package/build/src/frontend-models/event-hook-models.js +3 -3
  325. package/build/src/frontend-models/outgoing-event-buffer.d.ts +1 -1
  326. package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
  327. package/build/src/frontend-models/outgoing-event-buffer.js +3 -3
  328. package/build/src/frontend-models/preloader.js +6 -6
  329. package/build/src/frontend-models/query.d.ts +16 -8
  330. package/build/src/frontend-models/query.d.ts.map +1 -1
  331. package/build/src/frontend-models/query.js +43 -39
  332. package/build/src/frontend-models/resource-definition.js +7 -7
  333. package/build/src/frontend-models/transport-serialization.js +12 -12
  334. package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
  335. package/build/src/frontend-models/use-destroyed-event.js +11 -11
  336. package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
  337. package/build/src/frontend-models/use-model-class-event.js +12 -12
  338. package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
  339. package/build/src/frontend-models/use-updated-event.js +12 -12
  340. package/build/src/frontend-models/websocket-channel.d.ts +6 -1
  341. package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
  342. package/build/src/frontend-models/websocket-channel.js +26 -18
  343. package/build/src/frontend-models/websocket-publishers.js +11 -11
  344. package/build/src/http-client/response.d.ts +2 -2
  345. package/build/src/http-client/response.d.ts.map +1 -1
  346. package/build/src/http-client/response.js +3 -3
  347. package/build/src/http-server/client/index.d.ts +1 -1
  348. package/build/src/http-server/client/index.d.ts.map +1 -1
  349. package/build/src/http-server/client/index.js +9 -9
  350. package/build/src/http-server/client/params-to-object.js +11 -11
  351. package/build/src/http-server/client/request-buffer/form-data-part.d.ts +2 -2
  352. package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
  353. package/build/src/http-server/client/request-buffer/form-data-part.js +3 -3
  354. package/build/src/http-server/client/request-buffer/index.d.ts +4 -4
  355. package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
  356. package/build/src/http-server/client/request-buffer/index.js +9 -9
  357. package/build/src/http-server/client/request-parser.d.ts +1 -1
  358. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  359. package/build/src/http-server/client/request-parser.js +4 -4
  360. package/build/src/http-server/client/request-runner.js +7 -7
  361. package/build/src/http-server/client/request-timing.d.ts +5 -5
  362. package/build/src/http-server/client/request-timing.d.ts.map +1 -1
  363. package/build/src/http-server/client/request-timing.js +6 -6
  364. package/build/src/http-server/client/request.js +2 -2
  365. package/build/src/http-server/client/response.d.ts +3 -3
  366. package/build/src/http-server/client/response.d.ts.map +1 -1
  367. package/build/src/http-server/client/response.js +6 -6
  368. package/build/src/http-server/client/websocket-request.d.ts +3 -3
  369. package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
  370. package/build/src/http-server/client/websocket-request.js +5 -5
  371. package/build/src/http-server/client/websocket-session.d.ts +6 -6
  372. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  373. package/build/src/http-server/client/websocket-session.js +19 -19
  374. package/build/src/http-server/development-reloader.d.ts +3 -3
  375. package/build/src/http-server/development-reloader.d.ts.map +1 -1
  376. package/build/src/http-server/development-reloader.js +6 -6
  377. package/build/src/http-server/index.d.ts +7 -7
  378. package/build/src/http-server/index.d.ts.map +1 -1
  379. package/build/src/http-server/index.js +13 -13
  380. package/build/src/http-server/remote-address.js +6 -6
  381. package/build/src/http-server/server-client.js +4 -4
  382. package/build/src/http-server/server-lock.js +5 -5
  383. package/build/src/http-server/websocket-channel-subscribers.d.ts +1 -1
  384. package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
  385. package/build/src/http-server/websocket-channel-subscribers.js +4 -4
  386. package/build/src/http-server/websocket-channel.d.ts +1 -1
  387. package/build/src/http-server/websocket-channel.d.ts.map +1 -1
  388. package/build/src/http-server/websocket-channel.js +2 -2
  389. package/build/src/http-server/websocket-connection.d.ts +1 -1
  390. package/build/src/http-server/websocket-connection.d.ts.map +1 -1
  391. package/build/src/http-server/websocket-connection.js +2 -2
  392. package/build/src/http-server/websocket-event-log-store.d.ts +1 -1
  393. package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
  394. package/build/src/http-server/websocket-event-log-store.js +7 -7
  395. package/build/src/http-server/websocket-events-host.d.ts +1 -1
  396. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  397. package/build/src/http-server/websocket-events-host.js +3 -3
  398. package/build/src/http-server/worker-handler/in-process.d.ts +3 -3
  399. package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
  400. package/build/src/http-server/worker-handler/in-process.js +9 -9
  401. package/build/src/http-server/worker-handler/index.d.ts +4 -4
  402. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  403. package/build/src/http-server/worker-handler/index.js +5 -5
  404. package/build/src/http-server/worker-handler/worker-thread.d.ts +2 -2
  405. package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
  406. package/build/src/http-server/worker-handler/worker-thread.js +4 -4
  407. package/build/src/logger/outputs/array-output.d.ts +3 -3
  408. package/build/src/logger/outputs/array-output.d.ts.map +1 -1
  409. package/build/src/logger/outputs/array-output.js +4 -4
  410. package/build/src/logger/outputs/console-output.d.ts +1 -1
  411. package/build/src/logger/outputs/console-output.d.ts.map +1 -1
  412. package/build/src/logger/outputs/console-output.js +2 -2
  413. package/build/src/logger/outputs/file-output.d.ts +4 -4
  414. package/build/src/logger/outputs/file-output.d.ts.map +1 -1
  415. package/build/src/logger/outputs/file-output.js +5 -5
  416. package/build/src/logger/outputs/stdout-output.d.ts.map +1 -1
  417. package/build/src/logger/outputs/stdout-output.js +2 -2
  418. package/build/src/logger.d.ts.map +1 -1
  419. package/build/src/logger.js +11 -11
  420. package/build/src/mailer/backends/smtp.d.ts.map +1 -1
  421. package/build/src/mailer/backends/smtp.js +5 -5
  422. package/build/src/mailer/base.js +11 -11
  423. package/build/src/mailer/delivery.d.ts +3 -3
  424. package/build/src/mailer/delivery.d.ts.map +1 -1
  425. package/build/src/mailer/delivery.js +5 -5
  426. package/build/src/plugins/sqljs-wasm-route-controller.js +2 -2
  427. package/build/src/routes/base-route.d.ts +6 -6
  428. package/build/src/routes/base-route.d.ts.map +1 -1
  429. package/build/src/routes/base-route.js +7 -7
  430. package/build/src/routes/basic-route.js +2 -2
  431. package/build/src/routes/hooks/frontend-model-command-route-hook.js +2 -2
  432. package/build/src/routes/index.js +2 -2
  433. package/build/src/routes/plugin-routes.js +2 -2
  434. package/build/src/routes/resolver.d.ts +1 -1
  435. package/build/src/routes/resolver.d.ts.map +1 -1
  436. package/build/src/routes/resolver.js +13 -13
  437. package/build/src/routes/resource-route.d.ts +1 -1
  438. package/build/src/routes/resource-route.d.ts.map +1 -1
  439. package/build/src/routes/resource-route.js +2 -2
  440. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
  441. package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +8 -8
  442. package/build/src/testing/expect-utils.js +13 -13
  443. package/build/src/testing/expect.d.ts +1 -1
  444. package/build/src/testing/expect.d.ts.map +1 -1
  445. package/build/src/testing/expect.js +9 -9
  446. package/build/src/testing/test-files-finder.d.ts +8 -8
  447. package/build/src/testing/test-files-finder.d.ts.map +1 -1
  448. package/build/src/testing/test-files-finder.js +9 -9
  449. package/build/src/testing/test-filter-parser.js +3 -3
  450. package/build/src/testing/test-runner.d.ts +2 -2
  451. package/build/src/testing/test-runner.d.ts.map +1 -1
  452. package/build/src/testing/test-runner.js +17 -17
  453. package/build/src/testing/test-suite-splitter.js +2 -2
  454. package/build/src/testing/test.d.ts +2 -2
  455. package/build/src/testing/test.d.ts.map +1 -1
  456. package/build/src/testing/test.js +16 -16
  457. package/build/src/utils/backtrace-cleaner.d.ts +1 -1
  458. package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
  459. package/build/src/utils/backtrace-cleaner.js +2 -2
  460. package/build/src/utils/format-value.js +2 -2
  461. package/build/src/utils/model-scope.js +2 -2
  462. package/build/src/utils/ransack.js +27 -27
  463. package/build/src/utils/with-tracked-stack-async-hooks.js +8 -8
  464. package/build/src/utils/with-tracked-stack.js +4 -4
  465. package/build/testing/browser-frontend-model-event-hook-scenarios.js +7 -7
  466. package/build/testing/expect-utils.js +11 -11
  467. package/build/testing/expect.js +7 -7
  468. package/build/testing/test-files-finder.js +8 -8
  469. package/build/testing/test-filter-parser.js +2 -2
  470. package/build/testing/test-runner.js +16 -16
  471. package/build/testing/test-suite-splitter.js +1 -1
  472. package/build/testing/test.js +15 -15
  473. package/build/utils/backtrace-cleaner.js +1 -1
  474. package/build/utils/format-value.js +1 -1
  475. package/build/utils/model-scope.js +1 -1
  476. package/build/utils/ransack.js +26 -26
  477. package/build/utils/with-tracked-stack-async-hooks.js +7 -7
  478. package/build/utils/with-tracked-stack.js +3 -3
  479. package/package.json +2 -1
  480. package/src/application.js +4 -4
  481. package/src/authorization/ability.js +8 -8
  482. package/src/authorization/base-resource.js +4 -4
  483. package/src/background-jobs/cron-expression.js +1 -1
  484. package/src/background-jobs/forked-runner-child.js +1 -1
  485. package/src/background-jobs/job-registry.js +1 -1
  486. package/src/background-jobs/job-runner.js +1 -1
  487. package/src/background-jobs/job.js +1 -1
  488. package/src/background-jobs/json-socket.js +4 -4
  489. package/src/background-jobs/main.js +21 -21
  490. package/src/background-jobs/scheduler.js +7 -7
  491. package/src/background-jobs/store.js +7 -7
  492. package/src/background-jobs/web/controller.js +2 -2
  493. package/src/background-jobs/worker.js +12 -12
  494. package/src/beacon/client.js +11 -8
  495. package/src/beacon/in-process-broker.js +2 -2
  496. package/src/beacon/in-process-client.js +2 -2
  497. package/src/beacon/server.js +3 -3
  498. package/src/cli/browser-cli.js +1 -1
  499. package/src/cli/commands/db/base-command.js +2 -2
  500. package/src/cli/index.js +2 -2
  501. package/src/cli/tenant-database-command-helper.js +3 -3
  502. package/src/cli/use-browser-cli.js +1 -1
  503. package/src/configuration-types.js +3 -1
  504. package/src/configuration.js +38 -38
  505. package/src/controller.js +8 -8
  506. package/src/current-configuration.js +1 -1
  507. package/src/database/annotations-async-hooks.js +2 -2
  508. package/src/database/annotations.js +3 -3
  509. package/src/database/drivers/base-column.js +1 -1
  510. package/src/database/drivers/base-foreign-key.js +1 -1
  511. package/src/database/drivers/base-table.js +1 -1
  512. package/src/database/drivers/base.js +10 -10
  513. package/src/database/drivers/mssql/index.js +1 -1
  514. package/src/database/drivers/mssql/table.js +1 -1
  515. package/src/database/drivers/mysql/index.js +3 -3
  516. package/src/database/drivers/mysql/query.js +1 -1
  517. package/src/database/drivers/mysql/table.js +1 -1
  518. package/src/database/drivers/pgsql/index.js +2 -2
  519. package/src/database/drivers/sqlite/base.js +16 -16
  520. package/src/database/drivers/sqlite/index.js +11 -11
  521. package/src/database/drivers/sqlite/index.native.js +1 -1
  522. package/src/database/drivers/sqlite/index.web.js +3 -3
  523. package/src/database/drivers/sqlite/query.js +1 -1
  524. package/src/database/drivers/sqlite/query.web.js +1 -1
  525. package/src/database/drivers/sqlite/sql/alter-table.js +2 -2
  526. package/src/database/drivers/sqlite/table.js +1 -1
  527. package/src/database/migrator/files-finder.js +1 -1
  528. package/src/database/migrator.js +6 -6
  529. package/src/database/pool/async-tracked-multi-connection.js +27 -27
  530. package/src/database/pool/base-methods-forward.js +4 -4
  531. package/src/database/pool/base.js +8 -8
  532. package/src/database/query/from-base.js +1 -1
  533. package/src/database/query/index.js +10 -10
  534. package/src/database/query/join-object.js +3 -3
  535. package/src/database/query/model-class-query.js +39 -39
  536. package/src/database/query/preloader/belongs-to.js +22 -22
  537. package/src/database/query/preloader/has-many.js +20 -20
  538. package/src/database/query/preloader/has-one.js +8 -8
  539. package/src/database/query/preloader/selection.js +3 -3
  540. package/src/database/query/preloader.js +8 -8
  541. package/src/database/query/query-data.js +9 -9
  542. package/src/database/query/where-model-class-hash.js +7 -7
  543. package/src/database/query/with-count.js +9 -9
  544. package/src/database/record/acts-as-list.js +15 -15
  545. package/src/database/record/attachments/handle.js +2 -2
  546. package/src/database/record/attachments/normalize-input.js +12 -12
  547. package/src/database/record/attachments/storage-drivers/s3.js +6 -6
  548. package/src/database/record/attachments/store.js +13 -13
  549. package/src/database/record/index.js +115 -121
  550. package/src/database/record/instance-relationships/base.js +11 -11
  551. package/src/database/record/instance-relationships/belongs-to.js +3 -3
  552. package/src/database/record/instance-relationships/has-many.js +8 -8
  553. package/src/database/record/instance-relationships/has-one.js +7 -7
  554. package/src/database/record/relationships/base.js +2 -2
  555. package/src/database/record/state-machine.js +7 -7
  556. package/src/database/record/validators/presence.js +1 -1
  557. package/src/database/record/validators/uniqueness.js +5 -5
  558. package/src/database/table-data/index.js +4 -4
  559. package/src/environment-handlers/base.js +2 -2
  560. package/src/environment-handlers/browser.js +7 -7
  561. package/src/environment-handlers/node/cli/commands/cli-command-context.js +1 -1
  562. package/src/environment-handlers/node/cli/commands/console.js +4 -4
  563. package/src/environment-handlers/node/cli/commands/db/schema/dump.js +1 -1
  564. package/src/environment-handlers/node/cli/commands/db/schema/load.js +3 -3
  565. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +836 -60
  566. package/src/environment-handlers/node.js +6 -6
  567. package/src/frontend-model-controller.js +81 -82
  568. package/src/frontend-model-resource/base-resource.js +78 -115
  569. package/src/frontend-models/base.js +162 -149
  570. package/src/frontend-models/clear-pending-debounced-callback.js +1 -1
  571. package/src/frontend-models/event-hook-models.js +2 -2
  572. package/src/frontend-models/outgoing-event-buffer.js +2 -2
  573. package/src/frontend-models/preloader.js +5 -5
  574. package/src/frontend-models/query.js +43 -38
  575. package/src/frontend-models/resource-definition.js +6 -6
  576. package/src/frontend-models/transport-serialization.js +11 -11
  577. package/src/frontend-models/use-destroyed-event.js +10 -10
  578. package/src/frontend-models/use-model-class-event.js +11 -11
  579. package/src/frontend-models/use-updated-event.js +11 -11
  580. package/src/frontend-models/websocket-channel.js +26 -17
  581. package/src/frontend-models/websocket-publishers.js +9 -9
  582. package/src/http-client/response.js +2 -2
  583. package/src/http-server/client/index.js +8 -8
  584. package/src/http-server/client/params-to-object.js +10 -10
  585. package/src/http-server/client/request-buffer/form-data-part.js +2 -2
  586. package/src/http-server/client/request-buffer/index.js +8 -8
  587. package/src/http-server/client/request-parser.js +3 -3
  588. package/src/http-server/client/request-runner.js +6 -6
  589. package/src/http-server/client/request-timing.js +5 -5
  590. package/src/http-server/client/request.js +1 -1
  591. package/src/http-server/client/response.js +5 -5
  592. package/src/http-server/client/websocket-request.js +4 -4
  593. package/src/http-server/client/websocket-session.js +18 -18
  594. package/src/http-server/development-reloader.js +5 -5
  595. package/src/http-server/index.js +12 -12
  596. package/src/http-server/remote-address.js +4 -4
  597. package/src/http-server/server-client.js +3 -3
  598. package/src/http-server/server-lock.js +4 -4
  599. package/src/http-server/websocket-channel-subscribers.js +3 -3
  600. package/src/http-server/websocket-channel.js +1 -1
  601. package/src/http-server/websocket-connection.js +1 -1
  602. package/src/http-server/websocket-event-log-store.js +6 -6
  603. package/src/http-server/websocket-events-host.js +2 -2
  604. package/src/http-server/worker-handler/in-process.js +7 -7
  605. package/src/http-server/worker-handler/index.js +4 -4
  606. package/src/http-server/worker-handler/worker-thread.js +3 -3
  607. package/src/logger/outputs/array-output.js +3 -3
  608. package/src/logger/outputs/console-output.js +1 -1
  609. package/src/logger/outputs/file-output.js +4 -4
  610. package/src/logger/outputs/stdout-output.js +1 -1
  611. package/src/logger.js +10 -10
  612. package/src/mailer/backends/smtp.js +3 -3
  613. package/src/mailer/base.js +8 -8
  614. package/src/mailer/delivery.js +4 -4
  615. package/src/plugins/sqljs-wasm-route-controller.js +1 -1
  616. package/src/routes/base-route.js +6 -6
  617. package/src/routes/basic-route.js +1 -1
  618. package/src/routes/hooks/frontend-model-command-route-hook.js +1 -1
  619. package/src/routes/index.js +1 -1
  620. package/src/routes/plugin-routes.js +1 -1
  621. package/src/routes/resolver.js +11 -11
  622. package/src/routes/resource-route.js +1 -1
  623. package/src/testing/browser-frontend-model-event-hook-scenarios.js +7 -7
  624. package/src/testing/expect-utils.js +11 -11
  625. package/src/testing/expect.js +7 -7
  626. package/src/testing/test-files-finder.js +8 -8
  627. package/src/testing/test-filter-parser.js +2 -2
  628. package/src/testing/test-runner.js +16 -16
  629. package/src/testing/test-suite-splitter.js +1 -1
  630. package/src/testing/test.js +15 -15
  631. package/src/utils/backtrace-cleaner.js +1 -1
  632. package/src/utils/format-value.js +1 -1
  633. package/src/utils/model-scope.js +1 -1
  634. package/src/utils/ransack.js +26 -26
  635. package/src/utils/with-tracked-stack-async-hooks.js +7 -7
  636. package/src/utils/with-tracked-stack.js +3 -3
@@ -43,32 +43,32 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
43
43
 
44
44
  /**
45
45
  * Connections.
46
- @type {import("../drivers/base.js").default[]} */
46
+ * @type {import("../drivers/base.js").default[]} */
47
47
  connections = []
48
48
 
49
49
  /**
50
50
  * Connections in use.
51
- @type {Record<number, import("../drivers/base.js").default>} */
51
+ * @type {Record<number, import("../drivers/base.js").default>} */
52
52
  connectionsInUse = {}
53
53
 
54
54
  /**
55
55
  * Pending checkouts.
56
- @type {PendingCheckout[]} */
56
+ * @type {PendingCheckout[]} */
57
57
  pendingCheckouts = []
58
58
 
59
59
  /**
60
60
  * Connections being spawned.
61
- @type {number} */
61
+ * @type {number} */
62
62
  connectionsBeingSpawned = 0
63
63
 
64
64
  /**
65
65
  * Pending checkout drain promise.
66
- @type {Promise<void> | undefined} */
66
+ * @type {Promise<void> | undefined} */
67
67
  pendingCheckoutDrainPromise = undefined
68
68
 
69
69
  /**
70
70
  * Idle connection reaper timer.
71
- @type {ReturnType<typeof setTimeout> | undefined} */
71
+ * @type {ReturnType<typeof setTimeout> | undefined} */
72
72
  idleConnectionReaperTimer = undefined
73
73
 
74
74
  /**
@@ -101,7 +101,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
101
101
  super({configuration, identifier})
102
102
  this._withoutCurrentConnectionContext = /**
103
103
  * Narrows the runtime value to the documented type.
104
- @type {(callback: () => ?) => ?} */ ((callback) => this.asyncLocalStorage.run(undefined, callback))
104
+ * @type {(callback: () => ?) => ?} */ ((callback) => this.asyncLocalStorage.run(undefined, callback))
105
105
  }
106
106
 
107
107
  /**
@@ -113,7 +113,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
113
113
  const id = connection.getIdSeq()
114
114
  const trackedConnection = /**
115
115
  * Narrows the runtime value to the documented type.
116
- @type {import("../drivers/base.js").default & {[CLOSED_CONNECTION]?: boolean, [CONNECTION_CHECKED_OUT_AT]?: number, [IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
116
+ * @type {import("../drivers/base.js").default & {[CLOSED_CONNECTION]?: boolean, [CONNECTION_CHECKED_OUT_AT]?: number, [IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
117
117
 
118
118
  if (trackedConnection[CLOSED_CONNECTION]) {
119
119
  this.untrackConnectionInUse(connection, id)
@@ -245,7 +245,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
245
245
  connectionMatchesReuseKey(connection, reuseKey) {
246
246
  const connectionWithPoolKey = /**
247
247
  * Narrows the runtime value to the documented type.
248
- @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
248
+ * @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
249
249
 
250
250
  return connectionWithPoolKey[POOL_CONFIGURATION_KEY] === reuseKey
251
251
  }
@@ -263,7 +263,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
263
263
 
264
264
  const trackedConnection = /**
265
265
  * Narrows the runtime value to the documented type.
266
- @type {import("../drivers/base.js").default & {[CONNECTION_CHECKED_OUT_AT]?: number, [IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
266
+ * @type {import("../drivers/base.js").default & {[CONNECTION_CHECKED_OUT_AT]?: number, [IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
267
267
  delete trackedConnection[IDLE_CONNECTION_CHECKED_IN_AT]
268
268
  trackedConnection[CONNECTION_CHECKED_OUT_AT] = Date.now()
269
269
 
@@ -364,7 +364,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
364
364
  const connection = await this.spawnConnectionWithConfiguration(databaseConfig)
365
365
  const connectionWithPoolKey = /**
366
366
  * Narrows the runtime value to the documented type.
367
- @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
367
+ * @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
368
368
 
369
369
  connectionWithPoolKey[POOL_CONFIGURATION_KEY] = reuseKey
370
370
  connection.setSchemaCacheInvalidator(() => {
@@ -711,7 +711,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
711
711
  setGlobalConnection(connection) {
712
712
  const klass = /**
713
713
  * Narrows the runtime value to the documented type.
714
- @type {typeof VelociousDatabasePoolAsyncTrackedMultiConnection} */ (this.constructor)
714
+ * @type {typeof VelociousDatabasePoolAsyncTrackedMultiConnection} */ (this.constructor)
715
715
  let mapForConfiguration = klass.globalConnections.get(this.configuration)
716
716
 
717
717
  if (!mapForConfiguration) {
@@ -752,7 +752,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
752
752
 
753
753
  /**
754
754
  * Runs clear test shared connection.
755
- @returns {void} */
755
+ * @returns {void} */
756
756
  clearTestSharedConnection() {
757
757
  this._testSharedConnection = undefined
758
758
  }
@@ -798,7 +798,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
798
798
  debugConnectionSnapshots(now) {
799
799
  /**
800
800
  * Connections.
801
- @type {Array<Record<string, ?>>} */
801
+ * @type {Array<Record<string, ?>>} */
802
802
  const connections = []
803
803
  const seenConnections = new Set()
804
804
 
@@ -818,7 +818,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
818
818
  for (const [id, connection] of Object.entries(this.connectionsInUse)) {
819
819
  const trackedConnection = /**
820
820
  * Narrows the runtime value to the documented type.
821
- @type {import("../drivers/base.js").default & {[CONNECTION_CHECKED_OUT_AT]?: number}} */ (connection)
821
+ * @type {import("../drivers/base.js").default & {[CONNECTION_CHECKED_OUT_AT]?: number}} */ (connection)
822
822
  const checkedOutAt = trackedConnection[CONNECTION_CHECKED_OUT_AT]
823
823
  const checkedOutForMs = typeof checkedOutAt === "number" ? Math.max(0, now - checkedOutAt) : undefined
824
824
 
@@ -840,7 +840,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
840
840
 
841
841
  const trackedConnection = /**
842
842
  * Narrows the runtime value to the documented type.
843
- @type {import("../drivers/base.js").default & {[IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
843
+ * @type {import("../drivers/base.js").default & {[IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
844
844
  const checkedInAt = trackedConnection[IDLE_CONNECTION_CHECKED_IN_AT]
845
845
  const idleForMs = typeof checkedInAt === "number" ? Math.max(0, now - checkedInAt) : undefined
846
846
 
@@ -908,7 +908,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
908
908
  getGlobalConnectionForIdentifier() {
909
909
  const klass = /**
910
910
  * Narrows the runtime value to the documented type.
911
- @type {typeof VelociousDatabasePoolAsyncTrackedMultiConnection} */ (this.constructor)
911
+ * @type {typeof VelociousDatabasePoolAsyncTrackedMultiConnection} */ (this.constructor)
912
912
  const mapForConfiguration = klass.globalConnections.get(this.configuration)
913
913
 
914
914
  return mapForConfiguration?.[this.identifier]
@@ -921,7 +921,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
921
921
  clearGlobalConnectionForIdentifier() {
922
922
  const klass = /**
923
923
  * Narrows the runtime value to the documented type.
924
- @type {typeof VelociousDatabasePoolAsyncTrackedMultiConnection} */ (this.constructor)
924
+ * @type {typeof VelociousDatabasePoolAsyncTrackedMultiConnection} */ (this.constructor)
925
925
  const mapForConfiguration = klass.globalConnections.get(this.configuration)
926
926
 
927
927
  if (!mapForConfiguration) return
@@ -970,14 +970,14 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
970
970
 
971
971
  /**
972
972
  * Runs schedule idle connection reaper.
973
- @returns {void} */
973
+ * @returns {void} */
974
974
  scheduleIdleConnectionReaper() {
975
975
  if (this.idleConnectionReaperTimer) return
976
976
  if (!this.hasIdleConnectionsToReap()) return
977
977
 
978
978
  const delay = this.nextIdleConnectionReapDelay(/**
979
979
  * Narrows the runtime value to the documented type.
980
- @type {number} */ (this.idleTimeoutMillis()))
980
+ * @type {number} */ (this.idleTimeoutMillis()))
981
981
 
982
982
  this.idleConnectionReaperTimer = setTimeout(() => {
983
983
  this.idleConnectionReaperTimer = undefined
@@ -1013,7 +1013,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
1013
1013
 
1014
1014
  const trackedConnection = /**
1015
1015
  * Narrows the runtime value to the documented type.
1016
- @type {import("../drivers/base.js").default & {[IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
1016
+ * @type {import("../drivers/base.js").default & {[IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
1017
1017
  const checkedInAt = trackedConnection[IDLE_CONNECTION_CHECKED_IN_AT]
1018
1018
 
1019
1019
  if (typeof checkedInAt !== "number") continue
@@ -1072,11 +1072,11 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
1072
1072
  classifyIdleConnectionsForReaping({idleTimeoutMillis, now}) {
1073
1073
  /**
1074
1074
  * Kept connections.
1075
- @type {import("../drivers/base.js").default[]} */
1075
+ * @type {import("../drivers/base.js").default[]} */
1076
1076
  const keptConnections = []
1077
1077
  /**
1078
1078
  * Expired connections.
1079
- @type {import("../drivers/base.js").default[]} */
1079
+ * @type {import("../drivers/base.js").default[]} */
1080
1080
  const expiredConnections = []
1081
1081
 
1082
1082
  for (const connection of this.connections) {
@@ -1111,7 +1111,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
1111
1111
  connectionIsClosed(connection) {
1112
1112
  const trackedConnection = /**
1113
1113
  * Narrows the runtime value to the documented type.
1114
- @type {import("../drivers/base.js").default & {[CLOSED_CONNECTION]?: boolean}} */ (connection)
1114
+ * @type {import("../drivers/base.js").default & {[CLOSED_CONNECTION]?: boolean}} */ (connection)
1115
1115
 
1116
1116
  return Boolean(trackedConnection[CLOSED_CONNECTION])
1117
1117
  }
@@ -1124,7 +1124,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
1124
1124
  idleConnectionExpired({connection, idleTimeoutMillis, now}) {
1125
1125
  const trackedConnection = /**
1126
1126
  * Narrows the runtime value to the documented type.
1127
- @type {import("../drivers/base.js").default & {[IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
1127
+ * @type {import("../drivers/base.js").default & {[IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
1128
1128
  const checkedInAt = trackedConnection[IDLE_CONNECTION_CHECKED_IN_AT]
1129
1129
 
1130
1130
  return typeof checkedInAt === "number" && now - checkedInAt >= idleTimeoutMillis
@@ -1176,7 +1176,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
1176
1176
 
1177
1177
  const trackedConnection = /**
1178
1178
  * Narrows the runtime value to the documented type.
1179
- @type {import("../drivers/base.js").default & {[CLOSED_CONNECTION]?: boolean, [CONNECTION_CHECKED_OUT_AT]?: number, [IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
1179
+ * @type {import("../drivers/base.js").default & {[CLOSED_CONNECTION]?: boolean, [CONNECTION_CHECKED_OUT_AT]?: number, [IDLE_CONNECTION_CHECKED_IN_AT]?: number}} */ (connection)
1180
1180
 
1181
1181
  trackedConnection[CLOSED_CONNECTION] = true
1182
1182
  delete trackedConnection[CONNECTION_CHECKED_OUT_AT]
@@ -1198,7 +1198,7 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
1198
1198
 
1199
1199
  /**
1200
1200
  * Runs clear idle connection reaper timer.
1201
- @returns {void} */
1201
+ * @returns {void} */
1202
1202
  clearIdleConnectionReaperTimer() {
1203
1203
  if (!this.idleConnectionReaperTimer) return
1204
1204
 
@@ -30,18 +30,18 @@ export default function baseMethodsForward(PoolBase) {
30
30
 
31
31
  const prototype = /**
32
32
  * Narrows the runtime value to the documented type.
33
- @type {Record<string, (...args: Array<?>) => ?>} */ (/**
33
+ * @type {Record<string, (...args: Array<?>) => ?>} */ (/**
34
34
  * Narrows the runtime value to the documented type.
35
- @type {?} */ (PoolBase.prototype))
35
+ * @type {?} */ (PoolBase.prototype))
36
36
 
37
37
  for (const forwardMethod of forwardMethods) {
38
38
  prototype[forwardMethod] = function(...args) {
39
39
  const connection = this.getCurrentConnection()
40
40
  const connectionRecord = /**
41
41
  * Narrows the runtime value to the documented type.
42
- @type {Record<string, (...args: Array<?>) => ?>} */ (/**
42
+ * @type {Record<string, (...args: Array<?>) => ?>} */ (/**
43
43
  * Narrows the runtime value to the documented type.
44
- @type {?} */ (connection))
44
+ * @type {?} */ (connection))
45
45
  const connectionMethod = connectionRecord[forwardMethod]
46
46
 
47
47
  if (!connectionMethod) throw new Error(`${forwardMethod} isn't defined on driver`)
@@ -41,7 +41,7 @@ export const POOL_CONFIGURATION_KEY = Symbol("velociousPoolConfigurationKey")
41
41
 
42
42
  /**
43
43
  * Shared.
44
- @type {{currentPool: VelociousDatabasePoolBase | null}} */
44
+ * @type {{currentPool: VelociousDatabasePoolBase | null}} */
45
45
  const shared = {
46
46
  currentPool: null
47
47
  }
@@ -60,11 +60,11 @@ function stableStringify(value) {
60
60
  const entries = Object
61
61
  .keys(/**
62
62
  * Narrows the runtime value to the documented type.
63
- @type {Record<string, ?>} */ (value))
63
+ * @type {Record<string, ?>} */ (value))
64
64
  .sort()
65
65
  .map((key) => `${JSON.stringify(key)}:${stableStringify(/**
66
66
  * Narrows the runtime value to the documented type.
67
- @type {Record<string, ?>} */ (value)[key])}`)
67
+ * @type {Record<string, ?>} */ (value)[key])}`)
68
68
 
69
69
  return `{${entries.join(",")}}`
70
70
  }
@@ -75,7 +75,7 @@ function stableStringify(value) {
75
75
  class VelociousDatabasePoolBase {
76
76
  /**
77
77
  * Without current connection context.
78
- @type {undefined | ((callback: () => ?) => ?)} */
78
+ * @type {undefined | ((callback: () => ?) => ?)} */
79
79
  _withoutCurrentConnectionContext = undefined
80
80
 
81
81
  /**
@@ -154,7 +154,7 @@ class VelociousDatabasePoolBase {
154
154
  * @returns {T} - Callback result.
155
155
  */
156
156
  withoutCurrentConnectionContext(callback) {
157
- if (this._withoutCurrentConnectionContext) return /** Narrows the runtime value to the documented type. @type {T} */ (this._withoutCurrentConnectionContext(callback))
157
+ if (this._withoutCurrentConnectionContext) return /** @type {T} */ (this._withoutCurrentConnectionContext(callback))
158
158
 
159
159
  return callback()
160
160
  }
@@ -196,7 +196,7 @@ class VelociousDatabasePoolBase {
196
196
  connectionMatchesCurrentConfiguration(connection) {
197
197
  const connectionWithPoolKey = /**
198
198
  * Narrows the runtime value to the documented type.
199
- @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
199
+ * @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
200
200
 
201
201
  return connectionWithPoolKey[POOL_CONFIGURATION_KEY] === this.getConfigurationReuseKey()
202
202
  }
@@ -257,7 +257,7 @@ class VelociousDatabasePoolBase {
257
257
 
258
258
  const connectionWithPoolKey = /**
259
259
  * Narrows the runtime value to the documented type.
260
- @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
260
+ * @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
261
261
  connectionWithPoolKey[POOL_CONFIGURATION_KEY] = this.getConfigurationReuseKey()
262
262
  connection.setSchemaCacheInvalidator(() => {
263
263
  this.clearSchemaCache()
@@ -372,7 +372,7 @@ class VelociousDatabasePoolBase {
372
372
  debugConnectionSnapshot(connection, details = {}) {
373
373
  const connectionWithPoolKey = /**
374
374
  * Narrows the runtime value to the documented type.
375
- @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
375
+ * @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection)
376
376
 
377
377
  return {
378
378
  ...connection.getDebugSnapshot(),
@@ -3,7 +3,7 @@
3
3
  export default class VelociousDatabaseQueryFromBase {
4
4
  /**
5
5
  * Query.
6
- @type {import("./index.js").default | null} */
6
+ * @type {import("./index.js").default | null} */
7
7
  query = null
8
8
 
9
9
  /**
@@ -37,7 +37,7 @@ function normalizeJoinObject(join) {
37
37
  if (Array.isArray(join)) {
38
38
  /**
39
39
  * Result.
40
- @type {import("./join-object.js").JoinObject} */
40
+ * @type {import("./join-object.js").JoinObject} */
41
41
  const result = {}
42
42
 
43
43
  for (const entry of join) {
@@ -69,7 +69,7 @@ function normalizeJoinObject(join) {
69
69
 
70
70
  /**
71
71
  * Result.
72
- @type {import("./join-object.js").JoinObject} */
72
+ * @type {import("./join-object.js").JoinObject} */
73
73
  const result = {}
74
74
 
75
75
  for (const [key, value] of Object.entries(join)) {
@@ -157,7 +157,7 @@ export default class VelociousDatabaseQuery {
157
157
 
158
158
  /**
159
159
  * Narrows the runtime value to the documented type.
160
- @type {() => import("../drivers/base.js").default} */
160
+ * @type {() => import("../drivers/base.js").default} */
161
161
  this._driverFn = typeof driver === "function" ? driver : () => driver
162
162
  this.handler = handler
163
163
  this.logger = new Logger(this)
@@ -173,24 +173,24 @@ export default class VelociousDatabaseQuery {
173
173
 
174
174
  /**
175
175
  * Narrows the runtime value to the documented type.
176
- @type {Record<string, string[]>} */
176
+ * @type {Record<string, string[]>} */
177
177
  this._preloadSelects = preloadSelects
178
178
 
179
179
  /**
180
180
  * Narrows the runtime value to the documented type.
181
- @type {Record<string, string[]>} */
181
+ * @type {Record<string, string[]>} */
182
182
  this._preloadSelectsExtra = preloadSelectsExtra
183
183
  this._distinct = distinct
184
184
  this._selects = selects
185
185
 
186
186
  /**
187
187
  * Narrows the runtime value to the documented type.
188
- @type {import("./where-base.js").default[]} */
188
+ * @type {import("./where-base.js").default[]} */
189
189
  this._wheres = wheres
190
190
 
191
191
  const boundWhere = /**
192
192
  * Narrows the runtime value to the documented type.
193
- @type {?} */ (this.where.bind(this))
193
+ * @type {?} */ (this.where.bind(this))
194
194
  boundWhere.not = this.whereNot.bind(this)
195
195
  this.where = boundWhere
196
196
  }
@@ -202,7 +202,7 @@ export default class VelociousDatabaseQuery {
202
202
  clone() {
203
203
  const QueryClass = /**
204
204
  * Narrows the runtime value to the documented type.
205
- @type {new (args: QueryArgsType) => this} */ (this.constructor)
205
+ * @type {new (args: QueryArgsType) => this} */ (this.constructor)
206
206
  const newQuery = new QueryClass({
207
207
  driver: this._driverFn,
208
208
  froms: [...this._froms],
@@ -496,7 +496,7 @@ export default class VelociousDatabaseQuery {
496
496
  } else if (typeof where == "object" && (where.constructor.name == "object" || where.constructor.name == "Object")) {
497
497
  this._wheres.push(new WhereHash(this, /**
498
498
  * Narrows the runtime value to the documented type.
499
- @type {import("./where-hash.js").WhereHash} */ (where)))
499
+ * @type {import("./where-hash.js").WhereHash} */ (where)))
500
500
  } else {
501
501
  throw new Error(`Invalid type of where: ${typeof where} (${where.constructor.name})`)
502
502
  }
@@ -515,7 +515,7 @@ export default class VelociousDatabaseQuery {
515
515
  } else if (typeof where == "object" && (where.constructor.name == "object" || where.constructor.name == "Object")) {
516
516
  this._wheres.push(new WhereNot(new WhereHash(this, /**
517
517
  * Narrows the runtime value to the documented type.
518
- @type {import("./where-hash.js").WhereHash} */ (where))))
518
+ * @type {import("./where-hash.js").WhereHash} */ (where))))
519
519
  } else {
520
520
  throw new Error(`Invalid type of where: ${typeof where} (${where.constructor.name})`)
521
521
  }
@@ -31,10 +31,10 @@ export default class VelociousDatabaseQueryJoinObject extends JoinBase {
31
31
 
32
32
  const modelQuery = /**
33
33
  * Narrows the runtime value to the documented type.
34
- @type {import("./model-class-query.js").default} */ (query)
34
+ * @type {import("./model-class-query.js").default} */ (query)
35
35
  const ModelClass = /**
36
36
  * Narrows the runtime value to the documented type.
37
- @type {typeof import("../record/index.js").default} */ (
37
+ * @type {typeof import("../record/index.js").default} */ (
38
38
  this.basePath.length > 0 ? modelQuery._resolveModelClassForJoinPath(this.basePath) : modelQuery.modelClass
39
39
  )
40
40
 
@@ -55,7 +55,7 @@ export default class VelociousDatabaseQueryJoinObject extends JoinBase {
55
55
  const conn = this.getQuery().driver
56
56
  const query = /**
57
57
  * Narrows the runtime value to the documented type.
58
- @type {import("./model-class-query.js").default} */ (this.getQuery())
58
+ * @type {import("./model-class-query.js").default} */ (this.getQuery())
59
59
 
60
60
  for (const joinKey in join) {
61
61
  const joinValue = join[joinKey]