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
@@ -81,7 +81,7 @@ export function normalizeRansackGroup(modelClass, params) {
81
81
 
82
82
  /**
83
83
  * Normalized.
84
- @type {RansackGroup} */
84
+ * @type {RansackGroup} */
85
85
  const normalized = {
86
86
  combinator: normalizeRansackCombinator(params.m, "and"),
87
87
  conditions: [],
@@ -154,7 +154,7 @@ function normalizeSimpleRansackCondition({key, modelClass, rawValue}) {
154
154
  function normalizeAdvancedRansackConditions({modelClass, value}) {
155
155
  /**
156
156
  * Conditions.
157
- @type {RansackCondition[]} */
157
+ * @type {RansackCondition[]} */
158
158
  const conditions = []
159
159
 
160
160
  for (const entry of normalizeRansackCollection(value, "conditions")) {
@@ -174,7 +174,7 @@ function normalizeAdvancedRansackConditions({modelClass, value}) {
174
174
 
175
175
  const predicate = /**
176
176
  * Narrows the runtime value to the documented type.
177
- @type {RansackPredicate} */ (predicateValue)
177
+ * @type {RansackPredicate} */ (predicateValue)
178
178
  const rawValue = advancedRansackConditionValue({predicate, value: entry.v})
179
179
  const normalizedValue = normalizeRansackValue({predicate, value: rawValue})
180
180
 
@@ -203,7 +203,7 @@ function normalizeAdvancedRansackConditions({modelClass, value}) {
203
203
  function normalizeAdvancedRansackGroups({modelClass, value}) {
204
204
  /**
205
205
  * Groupings.
206
- @type {RansackGroup[]} */
206
+ * @type {RansackGroup[]} */
207
207
  const groupings = []
208
208
 
209
209
  for (const entry of normalizeRansackCollection(value, "groupings")) {
@@ -286,7 +286,7 @@ function resolveRansackAttributesFromAdvancedValue({modelClass, value}) {
286
286
  const values = normalizeAdvancedAttributeValues(value)
287
287
  /**
288
288
  * Attributes.
289
- @type {RansackAttribute[]} */
289
+ * @type {RansackAttribute[]} */
290
290
  const attributes = []
291
291
 
292
292
  for (const attributeValue of values) {
@@ -391,7 +391,7 @@ function modelClassAtPath({modelClass, path}) {
391
391
  function resolveRansackPath({modelClass, value}) {
392
392
  /**
393
393
  * Path.
394
- @type {string[]} */
394
+ * @type {string[]} */
395
395
  const path = []
396
396
  let currentModelClass = modelClass
397
397
  let remainingValue = value
@@ -525,16 +525,16 @@ function resolveAttributeName({modelClass, value}) {
525
525
  function relationshipEntries(modelClass) {
526
526
  if (typeof /**
527
527
  * Narrows the runtime value to the documented type.
528
- @type {?} */ (modelClass).getRelationshipsMap === "function") {
528
+ * @type {?} */ (modelClass).getRelationshipsMap === "function") {
529
529
  return backendRelationshipEntries(modelClass)
530
530
  }
531
531
 
532
532
  if (typeof /**
533
533
  * Narrows the runtime value to the documented type.
534
- @type {?} */ (modelClass).relationshipDefinitions === "function" &&
534
+ * @type {?} */ (modelClass).relationshipDefinitions === "function" &&
535
535
  typeof /**
536
536
  * Narrows the runtime value to the documented type.
537
- @type {?} */ (modelClass).relationshipModelClasses === "function") {
537
+ * @type {?} */ (modelClass).relationshipModelClasses === "function") {
538
538
  return frontendRelationshipEntries(modelClass)
539
539
  }
540
540
 
@@ -549,11 +549,11 @@ function relationshipEntries(modelClass) {
549
549
  function backendRelationshipEntries(modelClass) {
550
550
  /**
551
551
  * Entries.
552
- @type {Record<string, {targetModelClass: RansackModelClass}>} */
552
+ * @type {Record<string, {targetModelClass: RansackModelClass}>} */
553
553
  const entries = {}
554
554
  const relationshipsMap = /**
555
555
  * Narrows the runtime value to the documented type.
556
- @type {?} */ (modelClass).getRelationshipsMap()
556
+ * @type {?} */ (modelClass).getRelationshipsMap()
557
557
 
558
558
  for (const relationshipName of Object.keys(relationshipsMap)) {
559
559
  const relationship = relationshipsMap[relationshipName]
@@ -578,14 +578,14 @@ function backendRelationshipEntries(modelClass) {
578
578
  function frontendRelationshipEntries(modelClass) {
579
579
  /**
580
580
  * Entries.
581
- @type {Record<string, {targetModelClass: RansackModelClass}>} */
581
+ * @type {Record<string, {targetModelClass: RansackModelClass}>} */
582
582
  const entries = {}
583
583
  const definitions = /**
584
584
  * Narrows the runtime value to the documented type.
585
- @type {?} */ (modelClass).relationshipDefinitions()
585
+ * @type {?} */ (modelClass).relationshipDefinitions()
586
586
  const relationshipModelClasses = /**
587
587
  * Narrows the runtime value to the documented type.
588
- @type {?} */ (modelClass).relationshipModelClasses()
588
+ * @type {?} */ (modelClass).relationshipModelClasses()
589
589
 
590
590
  for (const relationshipName of Object.keys(definitions)) {
591
591
  const targetModelClass = resolveFrontendModelClass(relationshipModelClasses[relationshipName])
@@ -606,23 +606,23 @@ function frontendRelationshipEntries(modelClass) {
606
606
  function attributeEntries(modelClass) {
607
607
  if (typeof /**
608
608
  * Narrows the runtime value to the documented type.
609
- @type {?} */ (modelClass).getAttributeNameToColumnNameMap === "function") {
610
- return /** Narrows the runtime value to the documented type. @type {Record<string, string>} */ ((/**
611
- * Narrows the runtime value to the documented type.
612
- @type {?} */ (modelClass).getAttributeNameToColumnNameMap()))
609
+ * @type {?} */ (modelClass).getAttributeNameToColumnNameMap === "function") {
610
+ return /** @type {Record<string, string>} */ ((/**
611
+ * Narrows the runtime value to the documented type.
612
+ * @type {?} */ (modelClass).getAttributeNameToColumnNameMap()))
613
613
  }
614
614
 
615
615
  const resourceConfig = typeof /**
616
616
  * Narrows the runtime value to the documented type.
617
- @type {?} */ (modelClass).resourceConfig === "function"
617
+ * @type {?} */ (modelClass).resourceConfig === "function"
618
618
  ? /**
619
619
  * Narrows the runtime value to the documented type.
620
- @type {?} */ (modelClass).resourceConfig()
620
+ * @type {?} */ (modelClass).resourceConfig()
621
621
  : {}
622
622
  const attributes = resourceConfig.attributes
623
623
  /**
624
624
  * Entries.
625
- @type {Record<string, string>} */
625
+ * @type {Record<string, string>} */
626
626
  const entries = {}
627
627
 
628
628
  if (Array.isArray(attributes)) {
@@ -677,7 +677,7 @@ function parseRansackKey(key) {
677
677
  pathValue,
678
678
  predicate: /**
679
679
  * Narrows the runtime value to the documented type.
680
- @type {RansackPredicate} */ (predicate)
680
+ * @type {RansackPredicate} */ (predicate)
681
681
  }
682
682
  }
683
683
 
@@ -696,7 +696,7 @@ function parseRansackKey(key) {
696
696
  pathValue,
697
697
  predicate: /**
698
698
  * Narrows the runtime value to the documented type.
699
- @type {RansackPredicate} */ (predicate)
699
+ * @type {RansackPredicate} */ (predicate)
700
700
  }
701
701
  }
702
702
 
@@ -759,11 +759,11 @@ function normalizeRansackListValue(value) {
759
759
 
760
760
  /**
761
761
  * Ransack true values.
762
- @type {Set<?>} */
762
+ * @type {Set<?>} */
763
763
  const ransackTrueValues = new Set([true, 1, "1", "true"])
764
764
  /**
765
765
  * Ransack false values.
766
- @type {Set<?>} */
766
+ * @type {Set<?>} */
767
767
  const ransackFalseValues = new Set([false, 0, "0", "false"])
768
768
 
769
769
  /**
@@ -825,7 +825,7 @@ export function parseRansackSort(modelClass, sortString) {
825
825
 
826
826
  /**
827
827
  * Sorts.
828
- @type {RansackSort[]} */
828
+ * @type {RansackSort[]} */
829
829
  const sorts = []
830
830
 
831
831
  for (const segment of segments) {
@@ -4,15 +4,15 @@ import {AsyncLocalStorage} from "node:async_hooks"
4
4
 
5
5
  /**
6
6
  * Defines asyncLocalStorage.
7
- @type {import("node:async_hooks").AsyncLocalStorage<Array<string[]>> | undefined} */
7
+ * @type {import("node:async_hooks").AsyncLocalStorage<Array<string[]>> | undefined} */
8
8
  let asyncLocalStorage
9
9
 
10
10
  /**
11
11
  * Tracked stack global.
12
- @type {{withTrackedStack?: {addTrackedStackToError: (error: Error) => void, withTrackedStack: (arg1: string | (() => Promise<?>), arg2?: (() => Promise<?>) | Error) => Promise<?>}}} */
12
+ * @type {{withTrackedStack?: {addTrackedStackToError: (error: Error) => void, withTrackedStack: (arg1: string | (() => Promise<?>), arg2?: (() => Promise<?>) | Error) => Promise<?>}}} */
13
13
  const trackedStackGlobal = /**
14
14
  * Narrows the runtime value to the documented type.
15
- @type {?} */ (globalThis)
15
+ * @type {?} */ (globalThis)
16
16
 
17
17
  if (AsyncLocalStorage) {
18
18
  asyncLocalStorage = new AsyncLocalStorage()
@@ -48,23 +48,23 @@ function addTrackedStackToError(error) {
48
48
  async function withTrackedStack(arg1, arg2) {
49
49
  /**
50
50
  * Defines callback.
51
- @type {() => Promise<?>} */
51
+ * @type {() => Promise<?>} */
52
52
  let callback
53
53
 
54
54
  /**
55
55
  * Defines stack.
56
- @type {string} */
56
+ * @type {string} */
57
57
  let stack
58
58
 
59
59
  if (typeof arg2 == "function" && typeof arg1 == "string") {
60
60
  callback = /**
61
61
  * Narrows the runtime value to the documented type.
62
- @type {() => Promise<?>} */ (arg2)
62
+ * @type {() => Promise<?>} */ (arg2)
63
63
  stack = arg1
64
64
  } else {
65
65
  callback = /**
66
66
  * Narrows the runtime value to the documented type.
67
- @type {() => Promise<?>} */ (arg1)
67
+ * @type {() => Promise<?>} */ (arg1)
68
68
  stack = Error().stack || ""
69
69
  }
70
70
 
@@ -2,10 +2,10 @@
2
2
 
3
3
  /**
4
4
  * Tracked stack global.
5
- @type {{withTrackedStack?: {withTrackedStack?: (stack: string | undefined, fn: () => Promise<?>) => Promise<?>, addTrackedStackToError?: (error: Error) => void}}} */
5
+ * @type {{withTrackedStack?: {withTrackedStack?: (stack: string | undefined, fn: () => Promise<?>) => Promise<?>, addTrackedStackToError?: (error: Error) => void}}} */
6
6
  const trackedStackGlobal = /**
7
7
  * Narrows the runtime value to the documented type.
8
- @type {?} */ (globalThis)
8
+ * @type {?} */ (globalThis)
9
9
 
10
10
  /**
11
11
  * Runs add tracked stack to error.
@@ -25,7 +25,7 @@ async function withTrackedStack(stackOrCallback, callback) {
25
25
  const tracked = trackedStackGlobal.withTrackedStack?.withTrackedStack
26
26
  const resolvedCallback = callback ?? /**
27
27
  * Narrows the runtime value to the documented type.
28
- @type {() => Promise<?>} */ (stackOrCallback)
28
+ * @type {() => Promise<?>} */ (stackOrCallback)
29
29
  const stack = typeof stackOrCallback == "string" ? stackOrCallback : undefined
30
30
 
31
31
  if (tracked) {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "velocious": "build/bin/velocious.js"
4
4
  },
5
5
  "name": "velocious",
6
- "version": "1.0.449",
6
+ "version": "1.0.451",
7
7
  "main": "build/index.js",
8
8
  "types": "build/index.d.ts",
9
9
  "files": [
@@ -98,6 +98,7 @@
98
98
  "esbuild": "^0.28.0",
99
99
  "eslint": "^10.0.1",
100
100
  "eslint-plugin-jsdoc": "^63.0.0",
101
+ "eslint-plugin-jsdoc-tag-lines": "^1.0.1",
101
102
  "fallow": "2.92.1",
102
103
  "globals": "^17.0.0",
103
104
  "mssql": "^12.0.0",
@@ -9,7 +9,7 @@ import restArgsError from "./utils/rest-args-error.js"
9
9
 
10
10
  /**
11
11
  * HttpServerConfiguration type.
12
- @typedef {import("./configuration-types.js").HttpServerConfiguration} HttpServerConfiguration */
12
+ * @typedef {import("./configuration-types.js").HttpServerConfiguration} HttpServerConfiguration */
13
13
 
14
14
  export default class VelociousApplication {
15
15
  /**
@@ -28,14 +28,14 @@ export default class VelociousApplication {
28
28
 
29
29
  /**
30
30
  * Stores the http server configuration value.
31
- @type {HttpServerConfiguration} */
31
+ * @type {HttpServerConfiguration} */
32
32
  this.httpServerConfiguration = httpServer ?? {}
33
33
 
34
34
  this.logger = new Logger(this)
35
35
  this._type = type
36
36
  /**
37
37
  * Stores the http server lock value.
38
- @type {HttpServerLock | undefined} */
38
+ * @type {HttpServerLock | undefined} */
39
39
  this.httpServerLock = undefined
40
40
  }
41
41
 
@@ -121,7 +121,7 @@ export default class VelociousApplication {
121
121
  if (!configuration.getWebsocketEvents()) {
122
122
  configuration.setWebsocketEvents(/**
123
123
  * Types the following value.
124
- @type {?} */ (websocketEventsHost))
124
+ * @type {?} */ (websocketEventsHost))
125
125
  }
126
126
 
127
127
  await configuration.connectBeacon({peerType: "server"})
@@ -19,27 +19,27 @@
19
19
  export default class VelociousAuthorizationAbility {
20
20
  /**
21
21
  * Create.
22
- @type {string[]} */
22
+ * @type {string[]} */
23
23
  static CREATE = ["create"]
24
24
 
25
25
  /**
26
26
  * Read.
27
- @type {string[]} */
27
+ * @type {string[]} */
28
28
  static READ = ["read"]
29
29
 
30
30
  /**
31
31
  * Update.
32
- @type {string[]} */
32
+ * @type {string[]} */
33
33
  static UPDATE = ["update"]
34
34
 
35
35
  /**
36
36
  * Destroy.
37
- @type {string[]} */
37
+ * @type {string[]} */
38
38
  static DESTROY = ["destroy"]
39
39
 
40
40
  /**
41
41
  * Crud.
42
- @type {string[]} */
42
+ * @type {string[]} */
43
43
  static CRUD = ["create", "read", "update", "destroy"]
44
44
 
45
45
  /**
@@ -56,12 +56,12 @@ export default class VelociousAuthorizationAbility {
56
56
 
57
57
  /**
58
58
  * Narrows the runtime value to the documented type.
59
- @type {AbilityRuleType[]} */
59
+ * @type {AbilityRuleType[]} */
60
60
  this.rules = []
61
61
 
62
62
  /**
63
63
  * Narrows the runtime value to the documented type.
64
- @type {Record<string, boolean>} */
64
+ * @type {Record<string, boolean>} */
65
65
  this.loadedModelClassAbilities = {}
66
66
  }
67
67
 
@@ -78,7 +78,7 @@ export default class VelociousAuthorizationAbility {
78
78
 
79
79
  /**
80
80
  * Resolved.
81
- @type {Array<typeof import("./base-resource.js").default>} */
81
+ * @type {Array<typeof import("./base-resource.js").default>} */
82
82
  const resolved = []
83
83
  const backendProjects = configuration.getBackendProjects()
84
84
 
@@ -4,7 +4,7 @@
4
4
  export default class AuthorizationBaseResource {
5
5
  /**
6
6
  * Model class.
7
- @type {typeof import("../database/record/index.js").default | undefined} */
7
+ * @type {typeof import("../database/record/index.js").default | undefined} */
8
8
  static ModelClass = undefined
9
9
 
10
10
  /**
@@ -37,7 +37,7 @@ export default class AuthorizationBaseResource {
37
37
  */
38
38
  can(actions, conditions) {
39
39
  this.assertResourceConditionsSignature({conditions, methodName: "can"})
40
- this.requiredAbility().can(actions, this.requiredModelClass(), /** Narrows conditions to the runtime resource model class. @type {import("./ability.js").AbilityConditionsType<typeof import("../database/record/index.js").default> | undefined} */ (conditions))
40
+ this.requiredAbility().can(actions, this.requiredModelClass(), /** @type {import("./ability.js").AbilityConditionsType<typeof import("../database/record/index.js").default> | undefined} */ (conditions))
41
41
  }
42
42
 
43
43
  /**
@@ -49,7 +49,7 @@ export default class AuthorizationBaseResource {
49
49
  */
50
50
  cannot(actions, conditions) {
51
51
  this.assertResourceConditionsSignature({conditions, methodName: "cannot"})
52
- this.requiredAbility().cannot(actions, this.requiredModelClass(), /** Narrows conditions to the runtime resource model class. @type {import("./ability.js").AbilityConditionsType<typeof import("../database/record/index.js").default> | undefined} */ (conditions))
52
+ this.requiredAbility().cannot(actions, this.requiredModelClass(), /** @type {import("./ability.js").AbilityConditionsType<typeof import("../database/record/index.js").default> | undefined} */ (conditions))
53
53
  }
54
54
 
55
55
  /**
@@ -71,7 +71,7 @@ export default class AuthorizationBaseResource {
71
71
  requiredModelClass() {
72
72
  const modelClass = /**
73
73
  * Narrows the runtime value to the documented type.
74
- @type {typeof AuthorizationBaseResource} */ (this.constructor).modelClass()
74
+ * @type {typeof AuthorizationBaseResource} */ (this.constructor).modelClass()
75
75
 
76
76
  if (!modelClass) {
77
77
  throw new Error(`${this.constructor.name} must define static ModelClass before calling ability helpers.`)
@@ -62,7 +62,7 @@ export function parseCronExpression(expression) {
62
62
  const trimmed = expression.trim().toLowerCase()
63
63
  const expanded = SHORTCUTS[/**
64
64
  * Narrows the runtime value to the documented type.
65
- @type {keyof typeof SHORTCUTS} */ (trimmed)] || trimmed
65
+ * @type {keyof typeof SHORTCUTS} */ (trimmed)] || trimmed
66
66
  const fields = expanded.split(/\s+/)
67
67
 
68
68
  if (fields.length !== 5) {
@@ -14,7 +14,7 @@ function isJobMessage(message) {
14
14
 
15
15
  const messageRecord = /**
16
16
  * Narrows the runtime value to the documented type.
17
- @type {{type?: ?, payload?: ?}} */ (message)
17
+ * @type {{type?: ?, payload?: ?}} */ (message)
18
18
 
19
19
  return messageRecord.type === "job" && Object.hasOwn(messageRecord, "payload")
20
20
  }
@@ -15,7 +15,7 @@ export default class BackgroundJobRegistry {
15
15
  this.configuration = configuration
16
16
  /**
17
17
  * Narrows the runtime value to the documented type.
18
- @type {Map<string, typeof VelociousJob>} */
18
+ * @type {Map<string, typeof VelociousJob>} */
19
19
  this.jobsByName = new Map()
20
20
  }
21
21
 
@@ -65,7 +65,7 @@ export default async function runJobPayload(payload) {
65
65
  const jobInstance = new JobClass()
66
66
  /**
67
67
  * Perform.
68
- @type {(...args: Array<?>) => Promise<void>} */
68
+ * @type {(...args: Array<?>) => Promise<void>} */
69
69
  const perform = jobInstance.perform
70
70
 
71
71
  try {
@@ -60,7 +60,7 @@ export default class VelociousJob {
60
60
  if (isOptionsArg) {
61
61
  const {jobOptions} = /**
62
62
  * Narrows the runtime value to the documented type.
63
- @type {{jobOptions: import("./types.js").BackgroundJobOptions}} */ (lastArg)
63
+ * @type {{jobOptions: import("./types.js").BackgroundJobOptions}} */ (lastArg)
64
64
  return {jobArgs: args.slice(0, -1), jobOptions: jobOptions || {}}
65
65
  }
66
66
 
@@ -12,19 +12,19 @@ export default class JsonSocket extends EventEmitter {
12
12
  this.socket = socket
13
13
  /**
14
14
  * Narrows the runtime value to the documented type.
15
- @type {string | undefined} */
15
+ * @type {string | undefined} */
16
16
  this.workerId = undefined
17
17
  /**
18
18
  * Narrows the runtime value to the documented type.
19
- @type {boolean} */
19
+ * @type {boolean} */
20
20
  this.acceptsSpawnedJobs = true
21
21
  /**
22
22
  * Narrows the runtime value to the documented type.
23
- @type {boolean} */
23
+ * @type {boolean} */
24
24
  this.acceptsForkedJobs = true
25
25
  /**
26
26
  * Narrows the runtime value to the documented type.
27
- @type {boolean} */
27
+ * @type {boolean} */
28
28
  this.acceptsInlineJobs = true
29
29
  this.buffer = ""
30
30
  this.socket.setEncoding("utf8")
@@ -29,7 +29,7 @@ const MAX_TIMER_MS = 2_147_483_647 // ~24.8 days
29
29
  */
30
30
  /**
31
31
  * Worker execution mode capabilities.
32
- @type {WorkerExecutionModeCapability[]} */
32
+ * @type {WorkerExecutionModeCapability[]} */
33
33
  const WORKER_EXECUTION_MODE_CAPABILITIES = [
34
34
  {executionMode: "inline", accepts: (worker) => worker.acceptsInlineJobs !== false},
35
35
  {executionMode: "forked", accepts: (worker) => worker.acceptsForkedJobs !== false},
@@ -58,50 +58,50 @@ export default class BackgroundJobsMain {
58
58
  this.logger = new Logger(this)
59
59
  /**
60
60
  * Narrows the runtime value to the documented type.
61
- @type {Set<JsonSocket>} */
61
+ * @type {Set<JsonSocket>} */
62
62
  this.workers = new Set()
63
63
  /**
64
64
  * Narrows the runtime value to the documented type.
65
- @type {Set<JsonSocket>} */
65
+ * @type {Set<JsonSocket>} */
66
66
  this.readyWorkers = new Set()
67
67
  /**
68
68
  * Narrows the runtime value to the documented type.
69
- @type {net.Server | undefined} */
69
+ * @type {net.Server | undefined} */
70
70
  this.server = undefined
71
71
  /**
72
72
  * Narrows the runtime value to the documented type.
73
- @type {NodeJS.Timeout | undefined} */
73
+ * @type {NodeJS.Timeout | undefined} */
74
74
  this._pollTimer = undefined
75
75
  /**
76
76
  * Narrows the runtime value to the documented type.
77
- @type {NodeJS.Timeout | undefined} */
77
+ * @type {NodeJS.Timeout | undefined} */
78
78
  this._scheduledTimer = undefined
79
79
  /**
80
80
  * Narrows the runtime value to the documented type.
81
- @type {NodeJS.Timeout | undefined} */
81
+ * @type {NodeJS.Timeout | undefined} */
82
82
  this._errorRetryTimer = undefined
83
83
  /**
84
84
  * Narrows the runtime value to the documented type.
85
- @type {NodeJS.Timeout | undefined} */
85
+ * @type {NodeJS.Timeout | undefined} */
86
86
  this._orphanTimer = undefined
87
87
  /**
88
88
  * Narrows the runtime value to the documented type.
89
- @type {BackgroundJobsScheduler | undefined} */
89
+ * @type {BackgroundJobsScheduler | undefined} */
90
90
  this.scheduler = undefined
91
91
  this._draining = false
92
92
  this._redrainQueued = false
93
93
  this._stopped = false
94
94
  /**
95
95
  * Narrows the runtime value to the documented type.
96
- @type {(() => void) | undefined} */
96
+ * @type {(() => void) | undefined} */
97
97
  this._unsubscribeBeacon = undefined
98
98
  /**
99
99
  * Narrows the runtime value to the documented type.
100
- @type {((...args: Array<?>) => void) | undefined} */
100
+ * @type {((...args: Array<?>) => void) | undefined} */
101
101
  this._beaconConnectHandler = undefined
102
102
  /**
103
103
  * Narrows the runtime value to the documented type.
104
- @type {import("../beacon/client.js").default | import("../beacon/in-process-client.js").default | undefined} */
104
+ * @type {import("../beacon/client.js").default | import("../beacon/in-process-client.js").default | undefined} */
105
105
  this._beaconClient = undefined
106
106
  }
107
107
 
@@ -178,7 +178,7 @@ export default class BackgroundJobsMain {
178
178
 
179
179
  /**
180
180
  * Runs close workers.
181
- @returns {void} */
181
+ * @returns {void} */
182
182
  _closeWorkers() {
183
183
  for (const worker of this.workers) {
184
184
  worker.close()
@@ -187,7 +187,7 @@ export default class BackgroundJobsMain {
187
187
 
188
188
  /**
189
189
  * Runs clear timers.
190
- @returns {void} */
190
+ * @returns {void} */
191
191
  _clearTimers() {
192
192
  if (this._pollTimer) clearInterval(this._pollTimer)
193
193
  if (this._scheduledTimer) clearTimeout(this._scheduledTimer)
@@ -201,7 +201,7 @@ export default class BackgroundJobsMain {
201
201
 
202
202
  /**
203
203
  * Runs disconnect beacon handlers.
204
- @returns {void} */
204
+ * @returns {void} */
205
205
  _disconnectBeaconHandlers() {
206
206
  if (this._unsubscribeBeacon) {
207
207
  this._unsubscribeBeacon()
@@ -217,7 +217,7 @@ export default class BackgroundJobsMain {
217
217
 
218
218
  /**
219
219
  * Runs stop beacon and server.
220
- @returns {Promise<void>} */
220
+ * @returns {Promise<void>} */
221
221
  async _stopBeaconAndServer() {
222
222
  try {
223
223
  await this.configuration.disconnectBeacon()
@@ -228,7 +228,7 @@ export default class BackgroundJobsMain {
228
228
 
229
229
  /**
230
230
  * Runs close server and database connections.
231
- @returns {Promise<void>} */
231
+ * @returns {Promise<void>} */
232
232
  async _closeServerAndDatabaseConnections() {
233
233
  try {
234
234
  await this._closeServer()
@@ -239,7 +239,7 @@ export default class BackgroundJobsMain {
239
239
 
240
240
  /**
241
241
  * Runs close server.
242
- @returns {Promise<void>} */
242
+ * @returns {Promise<void>} */
243
243
  async _closeServer() {
244
244
  if (!this.server) return
245
245
 
@@ -327,7 +327,7 @@ export default class BackgroundJobsMain {
327
327
  const jsonSocket = new JsonSocket(socket)
328
328
  /**
329
329
  * Role.
330
- @type {import("./types.js").BackgroundJobSocketRole | null} */
330
+ * @type {import("./types.js").BackgroundJobSocketRole | null} */
331
331
  let role = null
332
332
 
333
333
  const cleanup = () => {
@@ -697,7 +697,7 @@ export default class BackgroundJobsMain {
697
697
 
698
698
  /**
699
699
  * Runs clear error retry timer.
700
- @returns {void} */
700
+ * @returns {void} */
701
701
  _clearErrorRetryTimer() {
702
702
  if (this._errorRetryTimer) {
703
703
  clearTimeout(this._errorRetryTimer)
@@ -839,7 +839,7 @@ export default class BackgroundJobsMain {
839
839
  this._addAcceptedExecutionModes({executionModes, worker})
840
840
  }
841
841
 
842
- return /** Narrows the runtime value to the documented type. @type {import("./types.js").BackgroundJobExecutionMode[]} */ ([...executionModes])
842
+ return /** @type {import("./types.js").BackgroundJobExecutionMode[]} */ ([...executionModes])
843
843
  }
844
844
 
845
845
  /**