velocious 1.0.428 → 1.0.430

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 (933) hide show
  1. package/README.md +2 -0
  2. package/build/src/application.d.ts +96 -9
  3. package/build/src/application.d.ts.map +1 -1
  4. package/build/src/application.js +127 -28
  5. package/build/src/authorization/ability.d.ts +72 -31
  6. package/build/src/authorization/ability.d.ts.map +1 -1
  7. package/build/src/authorization/ability.js +59 -22
  8. package/build/src/authorization/base-resource.d.ts +47 -20
  9. package/build/src/authorization/base-resource.d.ts.map +1 -1
  10. package/build/src/authorization/base-resource.js +43 -14
  11. package/build/src/background-jobs/client.d.ts +4 -2
  12. package/build/src/background-jobs/client.d.ts.map +1 -1
  13. package/build/src/background-jobs/client.js +4 -2
  14. package/build/src/background-jobs/cron-expression.d.ts +9 -5
  15. package/build/src/background-jobs/cron-expression.d.ts.map +1 -1
  16. package/build/src/background-jobs/cron-expression.js +16 -6
  17. package/build/src/background-jobs/forked-runner-child.js +12 -5
  18. package/build/src/background-jobs/job-registry.d.ts +7 -1
  19. package/build/src/background-jobs/job-registry.d.ts.map +1 -1
  20. package/build/src/background-jobs/job-registry.js +8 -2
  21. package/build/src/background-jobs/job-runner.d.ts +1 -0
  22. package/build/src/background-jobs/job-runner.d.ts.map +1 -1
  23. package/build/src/background-jobs/job-runner.js +8 -3
  24. package/build/src/background-jobs/job.d.ts +12 -8
  25. package/build/src/background-jobs/job.d.ts.map +1 -1
  26. package/build/src/background-jobs/job.js +12 -6
  27. package/build/src/background-jobs/json-socket.d.ts +17 -5
  28. package/build/src/background-jobs/json-socket.d.ts.map +1 -1
  29. package/build/src/background-jobs/json-socket.js +18 -6
  30. package/build/src/background-jobs/main.d.ts +118 -32
  31. package/build/src/background-jobs/main.d.ts.map +1 -1
  32. package/build/src/background-jobs/main.js +123 -35
  33. package/build/src/background-jobs/normalize-error.d.ts +2 -1
  34. package/build/src/background-jobs/normalize-error.d.ts.map +1 -1
  35. package/build/src/background-jobs/normalize-error.js +5 -3
  36. package/build/src/background-jobs/scheduler.d.ts +31 -10
  37. package/build/src/background-jobs/scheduler.d.ts.map +1 -1
  38. package/build/src/background-jobs/scheduler.js +33 -11
  39. package/build/src/background-jobs/socket-request.d.ts +2 -0
  40. package/build/src/background-jobs/socket-request.d.ts.map +1 -1
  41. package/build/src/background-jobs/socket-request.js +11 -3
  42. package/build/src/background-jobs/status-reporter.d.ts +5 -2
  43. package/build/src/background-jobs/status-reporter.d.ts.map +1 -1
  44. package/build/src/background-jobs/status-reporter.js +6 -3
  45. package/build/src/background-jobs/store.d.ts +57 -19
  46. package/build/src/background-jobs/store.d.ts.map +1 -1
  47. package/build/src/background-jobs/store.js +70 -20
  48. package/build/src/background-jobs/types.d.ts +7 -7
  49. package/build/src/background-jobs/types.d.ts.map +1 -1
  50. package/build/src/background-jobs/types.js +6 -6
  51. package/build/src/background-jobs/web/authorization.d.ts.map +1 -1
  52. package/build/src/background-jobs/web/authorization.js +3 -1
  53. package/build/src/background-jobs/web/controller.d.ts +40 -14
  54. package/build/src/background-jobs/web/controller.d.ts.map +1 -1
  55. package/build/src/background-jobs/web/controller.js +46 -15
  56. package/build/src/background-jobs/web/registry.d.ts +5 -0
  57. package/build/src/background-jobs/web/registry.d.ts.map +1 -1
  58. package/build/src/background-jobs/web/registry.js +4 -1
  59. package/build/src/background-jobs/worker.d.ts +41 -8
  60. package/build/src/background-jobs/worker.d.ts.map +1 -1
  61. package/build/src/background-jobs/worker.js +64 -16
  62. package/build/src/beacon/client.d.ts +39 -12
  63. package/build/src/beacon/client.d.ts.map +1 -1
  64. package/build/src/beacon/client.js +45 -15
  65. package/build/src/beacon/in-process-broker.d.ts +4 -0
  66. package/build/src/beacon/in-process-broker.d.ts.map +1 -1
  67. package/build/src/beacon/in-process-broker.js +8 -3
  68. package/build/src/beacon/in-process-client.d.ts +28 -9
  69. package/build/src/beacon/in-process-client.d.ts.map +1 -1
  70. package/build/src/beacon/in-process-client.js +27 -9
  71. package/build/src/beacon/server.d.ts +13 -2
  72. package/build/src/beacon/server.d.ts.map +1 -1
  73. package/build/src/beacon/server.js +21 -5
  74. package/build/src/beacon/types.d.ts +3 -3
  75. package/build/src/beacon/types.d.ts.map +1 -1
  76. package/build/src/beacon/types.js +2 -2
  77. package/build/src/cli/base-command.d.ts +18 -4
  78. package/build/src/cli/base-command.d.ts.map +1 -1
  79. package/build/src/cli/base-command.js +15 -4
  80. package/build/src/cli/browser-cli.d.ts +3 -0
  81. package/build/src/cli/browser-cli.d.ts.map +1 -1
  82. package/build/src/cli/browser-cli.js +7 -2
  83. package/build/src/cli/commands/background-jobs-main.d.ts +0 -1
  84. package/build/src/cli/commands/background-jobs-main.d.ts.map +1 -1
  85. package/build/src/cli/commands/background-jobs-runner.d.ts +0 -1
  86. package/build/src/cli/commands/background-jobs-runner.d.ts.map +1 -1
  87. package/build/src/cli/commands/background-jobs-worker.d.ts +0 -1
  88. package/build/src/cli/commands/background-jobs-worker.d.ts.map +1 -1
  89. package/build/src/cli/commands/beacon.d.ts +0 -1
  90. package/build/src/cli/commands/beacon.d.ts.map +1 -1
  91. package/build/src/cli/commands/console.d.ts +0 -2
  92. package/build/src/cli/commands/console.d.ts.map +1 -1
  93. package/build/src/cli/commands/console.js +5 -2
  94. package/build/src/cli/commands/db/base-command.d.ts +11 -2
  95. package/build/src/cli/commands/db/base-command.d.ts.map +1 -1
  96. package/build/src/cli/commands/db/base-command.js +12 -3
  97. package/build/src/cli/commands/db/create.d.ts +3 -0
  98. package/build/src/cli/commands/db/create.d.ts.map +1 -1
  99. package/build/src/cli/commands/db/create.js +4 -1
  100. package/build/src/cli/commands/db/drop.d.ts +3 -0
  101. package/build/src/cli/commands/db/drop.d.ts.map +1 -1
  102. package/build/src/cli/commands/db/drop.js +4 -1
  103. package/build/src/cli/commands/db/schema/dump.d.ts +0 -2
  104. package/build/src/cli/commands/db/schema/dump.d.ts.map +1 -1
  105. package/build/src/cli/commands/db/schema/dump.js +5 -2
  106. package/build/src/cli/commands/db/schema/load.d.ts +0 -2
  107. package/build/src/cli/commands/db/schema/load.d.ts.map +1 -1
  108. package/build/src/cli/commands/db/schema/load.js +5 -2
  109. package/build/src/cli/commands/db/seed.d.ts +0 -2
  110. package/build/src/cli/commands/db/seed.d.ts.map +1 -1
  111. package/build/src/cli/commands/db/seed.js +5 -2
  112. package/build/src/cli/commands/db/tenants/check.d.ts +4 -1
  113. package/build/src/cli/commands/db/tenants/check.d.ts.map +1 -1
  114. package/build/src/cli/commands/db/tenants/check.js +5 -2
  115. package/build/src/cli/commands/db/tenants/create.d.ts +4 -1
  116. package/build/src/cli/commands/db/tenants/create.d.ts.map +1 -1
  117. package/build/src/cli/commands/db/tenants/create.js +5 -2
  118. package/build/src/cli/commands/db/tenants/migrate.d.ts +4 -1
  119. package/build/src/cli/commands/db/tenants/migrate.d.ts.map +1 -1
  120. package/build/src/cli/commands/db/tenants/migrate.js +5 -2
  121. package/build/src/cli/commands/destroy/migration.d.ts +0 -1
  122. package/build/src/cli/commands/destroy/migration.d.ts.map +1 -1
  123. package/build/src/cli/commands/generate/base-models.d.ts +0 -1
  124. package/build/src/cli/commands/generate/base-models.d.ts.map +1 -1
  125. package/build/src/cli/commands/generate/frontend-models.d.ts +0 -2
  126. package/build/src/cli/commands/generate/frontend-models.d.ts.map +1 -1
  127. package/build/src/cli/commands/generate/frontend-models.js +5 -2
  128. package/build/src/cli/commands/generate/migration.d.ts +0 -1
  129. package/build/src/cli/commands/generate/migration.d.ts.map +1 -1
  130. package/build/src/cli/commands/generate/model.d.ts +0 -1
  131. package/build/src/cli/commands/generate/model.d.ts.map +1 -1
  132. package/build/src/cli/commands/init.d.ts +0 -1
  133. package/build/src/cli/commands/init.d.ts.map +1 -1
  134. package/build/src/cli/commands/routes.d.ts +0 -1
  135. package/build/src/cli/commands/routes.d.ts.map +1 -1
  136. package/build/src/cli/commands/run-script.d.ts +0 -2
  137. package/build/src/cli/commands/run-script.d.ts.map +1 -1
  138. package/build/src/cli/commands/run-script.js +5 -2
  139. package/build/src/cli/commands/runner.d.ts +0 -2
  140. package/build/src/cli/commands/runner.d.ts.map +1 -1
  141. package/build/src/cli/commands/runner.js +5 -2
  142. package/build/src/cli/commands/server.d.ts +0 -1
  143. package/build/src/cli/commands/server.d.ts.map +1 -1
  144. package/build/src/cli/commands/test.d.ts +0 -1
  145. package/build/src/cli/commands/test.d.ts.map +1 -1
  146. package/build/src/cli/index.d.ts +18 -5
  147. package/build/src/cli/index.d.ts.map +1 -1
  148. package/build/src/cli/index.js +25 -8
  149. package/build/src/cli/tenant-database-command-helper.d.ts +24 -9
  150. package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
  151. package/build/src/cli/tenant-database-command-helper.js +30 -11
  152. package/build/src/cli/use-browser-cli.d.ts +1 -0
  153. package/build/src/cli/use-browser-cli.d.ts.map +1 -1
  154. package/build/src/cli/use-browser-cli.js +5 -2
  155. package/build/src/configuration-resolver.d.ts +1 -0
  156. package/build/src/configuration-resolver.d.ts.map +1 -1
  157. package/build/src/configuration-resolver.js +2 -1
  158. package/build/src/configuration-types.d.ts +44 -44
  159. package/build/src/configuration-types.d.ts.map +1 -1
  160. package/build/src/configuration-types.js +27 -27
  161. package/build/src/configuration.d.ts +350 -114
  162. package/build/src/configuration.d.ts.map +1 -1
  163. package/build/src/configuration.js +416 -128
  164. package/build/src/controller.d.ts +67 -18
  165. package/build/src/controller.d.ts.map +1 -1
  166. package/build/src/controller.js +88 -23
  167. package/build/src/current-configuration.d.ts +2 -0
  168. package/build/src/current-configuration.d.ts.map +1 -1
  169. package/build/src/current-configuration.js +6 -2
  170. package/build/src/current.d.ts +16 -9
  171. package/build/src/current.d.ts.map +1 -1
  172. package/build/src/current.js +15 -8
  173. package/build/src/database/annotations-async-hooks.js +13 -6
  174. package/build/src/database/annotations.d.ts +7 -1
  175. package/build/src/database/annotations.d.ts.map +1 -1
  176. package/build/src/database/annotations.js +12 -5
  177. package/build/src/database/drivers/base-column.d.ts +21 -3
  178. package/build/src/database/drivers/base-column.d.ts.map +1 -1
  179. package/build/src/database/drivers/base-column.js +21 -3
  180. package/build/src/database/drivers/base-columns-index.d.ts +9 -0
  181. package/build/src/database/drivers/base-columns-index.d.ts.map +1 -1
  182. package/build/src/database/drivers/base-columns-index.js +10 -1
  183. package/build/src/database/drivers/base-foreign-key.d.ts +15 -3
  184. package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
  185. package/build/src/database/drivers/base-foreign-key.js +15 -3
  186. package/build/src/database/drivers/base-table.d.ts +16 -3
  187. package/build/src/database/drivers/base-table.d.ts.map +1 -1
  188. package/build/src/database/drivers/base-table.js +16 -3
  189. package/build/src/database/drivers/base.d.ts +174 -37
  190. package/build/src/database/drivers/base.d.ts.map +1 -1
  191. package/build/src/database/drivers/base.js +156 -40
  192. package/build/src/database/drivers/mssql/column.d.ts +3 -2
  193. package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
  194. package/build/src/database/drivers/mssql/column.js +3 -2
  195. package/build/src/database/drivers/mssql/index.d.ts +5 -6
  196. package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
  197. package/build/src/database/drivers/mssql/index.js +38 -7
  198. package/build/src/database/drivers/mssql/options.d.ts +1 -0
  199. package/build/src/database/drivers/mssql/options.d.ts.map +1 -1
  200. package/build/src/database/drivers/mssql/options.js +8 -2
  201. package/build/src/database/drivers/mssql/sql/create-database.d.ts +1 -0
  202. package/build/src/database/drivers/mssql/sql/create-database.d.ts.map +1 -1
  203. package/build/src/database/drivers/mssql/sql/create-database.js +2 -1
  204. package/build/src/database/drivers/mssql/sql/drop-database.d.ts.map +1 -1
  205. package/build/src/database/drivers/mssql/sql/drop-database.js +2 -1
  206. package/build/src/database/drivers/mssql/structure-sql.d.ts +5 -2
  207. package/build/src/database/drivers/mssql/structure-sql.d.ts.map +1 -1
  208. package/build/src/database/drivers/mssql/structure-sql.js +5 -2
  209. package/build/src/database/drivers/mssql/table.d.ts +1 -0
  210. package/build/src/database/drivers/mssql/table.d.ts.map +1 -1
  211. package/build/src/database/drivers/mssql/table.js +9 -4
  212. package/build/src/database/drivers/mysql/column.d.ts +3 -2
  213. package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
  214. package/build/src/database/drivers/mysql/column.js +4 -3
  215. package/build/src/database/drivers/mysql/index.d.ts +11 -3
  216. package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
  217. package/build/src/database/drivers/mysql/index.js +54 -10
  218. package/build/src/database/drivers/mysql/options.d.ts +1 -0
  219. package/build/src/database/drivers/mysql/options.d.ts.map +1 -1
  220. package/build/src/database/drivers/mysql/options.js +4 -2
  221. package/build/src/database/drivers/mysql/query.d.ts +3 -2
  222. package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
  223. package/build/src/database/drivers/mysql/query.js +6 -3
  224. package/build/src/database/drivers/mysql/sql/create-database.d.ts.map +1 -1
  225. package/build/src/database/drivers/mysql/sql/create-database.js +3 -1
  226. package/build/src/database/drivers/mysql/structure-sql.d.ts +7 -2
  227. package/build/src/database/drivers/mysql/structure-sql.d.ts.map +1 -1
  228. package/build/src/database/drivers/mysql/structure-sql.js +7 -2
  229. package/build/src/database/drivers/mysql/table.d.ts +1 -0
  230. package/build/src/database/drivers/mysql/table.d.ts.map +1 -1
  231. package/build/src/database/drivers/mysql/table.js +7 -3
  232. package/build/src/database/drivers/pgsql/column.d.ts +3 -2
  233. package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
  234. package/build/src/database/drivers/pgsql/column.js +3 -2
  235. package/build/src/database/drivers/pgsql/index.d.ts +1 -1
  236. package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
  237. package/build/src/database/drivers/pgsql/index.js +36 -11
  238. package/build/src/database/drivers/pgsql/options.d.ts +2 -0
  239. package/build/src/database/drivers/pgsql/options.d.ts.map +1 -1
  240. package/build/src/database/drivers/pgsql/options.js +3 -1
  241. package/build/src/database/drivers/pgsql/structure-sql.d.ts +5 -2
  242. package/build/src/database/drivers/pgsql/structure-sql.d.ts.map +1 -1
  243. package/build/src/database/drivers/pgsql/structure-sql.js +5 -2
  244. package/build/src/database/drivers/pgsql/table.d.ts +1 -0
  245. package/build/src/database/drivers/pgsql/table.d.ts.map +1 -1
  246. package/build/src/database/drivers/pgsql/table.js +6 -2
  247. package/build/src/database/drivers/sqlite/base.d.ts +15 -5
  248. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  249. package/build/src/database/drivers/sqlite/base.js +79 -27
  250. package/build/src/database/drivers/sqlite/column.d.ts +3 -2
  251. package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
  252. package/build/src/database/drivers/sqlite/column.js +3 -2
  253. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +4 -2
  254. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
  255. package/build/src/database/drivers/sqlite/connection-sql-js.js +4 -2
  256. package/build/src/database/drivers/sqlite/foreign-key.d.ts +3 -2
  257. package/build/src/database/drivers/sqlite/foreign-key.d.ts.map +1 -1
  258. package/build/src/database/drivers/sqlite/foreign-key.js +3 -2
  259. package/build/src/database/drivers/sqlite/index.d.ts +18 -5
  260. package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
  261. package/build/src/database/drivers/sqlite/index.js +40 -16
  262. package/build/src/database/drivers/sqlite/index.native.d.ts +1 -1
  263. package/build/src/database/drivers/sqlite/index.native.d.ts.map +1 -1
  264. package/build/src/database/drivers/sqlite/index.native.js +6 -3
  265. package/build/src/database/drivers/sqlite/index.web.d.ts +16 -4
  266. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  267. package/build/src/database/drivers/sqlite/index.web.js +17 -7
  268. package/build/src/database/drivers/sqlite/options.d.ts +2 -0
  269. package/build/src/database/drivers/sqlite/options.d.ts.map +1 -1
  270. package/build/src/database/drivers/sqlite/options.js +3 -1
  271. package/build/src/database/drivers/sqlite/query.d.ts +3 -2
  272. package/build/src/database/drivers/sqlite/query.d.ts.map +1 -1
  273. package/build/src/database/drivers/sqlite/query.js +6 -3
  274. package/build/src/database/drivers/sqlite/query.native.d.ts +2 -2
  275. package/build/src/database/drivers/sqlite/query.native.d.ts.map +1 -1
  276. package/build/src/database/drivers/sqlite/query.native.js +3 -3
  277. package/build/src/database/drivers/sqlite/query.web.d.ts +3 -2
  278. package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
  279. package/build/src/database/drivers/sqlite/query.web.js +6 -3
  280. package/build/src/database/drivers/sqlite/sql/alter-table.d.ts.map +1 -1
  281. package/build/src/database/drivers/sqlite/sql/alter-table.js +9 -3
  282. package/build/src/database/drivers/sqlite/structure-sql.d.ts +2 -0
  283. package/build/src/database/drivers/sqlite/structure-sql.d.ts.map +1 -1
  284. package/build/src/database/drivers/sqlite/structure-sql.js +3 -1
  285. package/build/src/database/drivers/sqlite/table-rebuilder.d.ts +2 -0
  286. package/build/src/database/drivers/sqlite/table-rebuilder.d.ts.map +1 -1
  287. package/build/src/database/drivers/sqlite/table-rebuilder.js +3 -1
  288. package/build/src/database/drivers/sqlite/table.d.ts +2 -0
  289. package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
  290. package/build/src/database/drivers/sqlite/table.js +14 -4
  291. package/build/src/database/drivers/structure-sql/utils.d.ts +2 -0
  292. package/build/src/database/drivers/structure-sql/utils.d.ts.map +1 -1
  293. package/build/src/database/drivers/structure-sql/utils.js +3 -1
  294. package/build/src/database/handler.d.ts +1 -0
  295. package/build/src/database/handler.d.ts.map +1 -1
  296. package/build/src/database/handler.js +2 -1
  297. package/build/src/database/initializer-from-require-context.d.ts +8 -0
  298. package/build/src/database/initializer-from-require-context.d.ts.map +1 -1
  299. package/build/src/database/initializer-from-require-context.js +4 -1
  300. package/build/src/database/migration/index.d.ts +40 -5
  301. package/build/src/database/migration/index.d.ts.map +1 -1
  302. package/build/src/database/migration/index.js +34 -6
  303. package/build/src/database/migrator/files-finder.d.ts +2 -0
  304. package/build/src/database/migrator/files-finder.d.ts.map +1 -1
  305. package/build/src/database/migrator/files-finder.js +6 -2
  306. package/build/src/database/migrator.d.ts +29 -4
  307. package/build/src/database/migrator.d.ts.map +1 -1
  308. package/build/src/database/migrator.js +45 -10
  309. package/build/src/database/pool/async-tracked-multi-connection.d.ts +125 -31
  310. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  311. package/build/src/database/pool/async-tracked-multi-connection.js +189 -52
  312. package/build/src/database/pool/base-methods-forward.d.ts +1 -0
  313. package/build/src/database/pool/base-methods-forward.d.ts.map +1 -1
  314. package/build/src/database/pool/base-methods-forward.js +12 -3
  315. package/build/src/database/pool/base.d.ts +39 -7
  316. package/build/src/database/pool/base.d.ts.map +1 -1
  317. package/build/src/database/pool/base.js +59 -18
  318. package/build/src/database/pool/single-multi-use.d.ts +1 -0
  319. package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
  320. package/build/src/database/pool/single-multi-use.js +16 -4
  321. package/build/src/database/query/alter-table-base.d.ts +1 -0
  322. package/build/src/database/query/alter-table-base.d.ts.map +1 -1
  323. package/build/src/database/query/alter-table-base.js +3 -1
  324. package/build/src/database/query/base.d.ts +3 -0
  325. package/build/src/database/query/base.d.ts.map +1 -1
  326. package/build/src/database/query/base.js +4 -1
  327. package/build/src/database/query/create-database-base.d.ts +5 -0
  328. package/build/src/database/query/create-database-base.d.ts.map +1 -1
  329. package/build/src/database/query/create-database-base.js +4 -1
  330. package/build/src/database/query/create-index-base.d.ts +5 -0
  331. package/build/src/database/query/create-index-base.d.ts.map +1 -1
  332. package/build/src/database/query/create-index-base.js +4 -1
  333. package/build/src/database/query/create-table-base.d.ts +2 -0
  334. package/build/src/database/query/create-table-base.d.ts.map +1 -1
  335. package/build/src/database/query/create-table-base.js +3 -1
  336. package/build/src/database/query/delete-base.d.ts +3 -2
  337. package/build/src/database/query/delete-base.d.ts.map +1 -1
  338. package/build/src/database/query/delete-base.js +3 -2
  339. package/build/src/database/query/drop-database-base.d.ts +5 -0
  340. package/build/src/database/query/drop-database-base.d.ts.map +1 -1
  341. package/build/src/database/query/drop-database-base.js +4 -1
  342. package/build/src/database/query/drop-table-base.d.ts +1 -0
  343. package/build/src/database/query/drop-table-base.d.ts.map +1 -1
  344. package/build/src/database/query/drop-table-base.js +3 -1
  345. package/build/src/database/query/from-base.d.ts +6 -1
  346. package/build/src/database/query/from-base.d.ts.map +1 -1
  347. package/build/src/database/query/from-base.js +7 -2
  348. package/build/src/database/query/from-plain.d.ts +1 -0
  349. package/build/src/database/query/from-plain.d.ts.map +1 -1
  350. package/build/src/database/query/from-plain.js +2 -1
  351. package/build/src/database/query/from-table.d.ts +1 -0
  352. package/build/src/database/query/from-table.d.ts.map +1 -1
  353. package/build/src/database/query/from-table.js +2 -1
  354. package/build/src/database/query/index.d.ts +72 -12
  355. package/build/src/database/query/index.d.ts.map +1 -1
  356. package/build/src/database/query/index.js +79 -19
  357. package/build/src/database/query/insert-base.d.ts +13 -8
  358. package/build/src/database/query/insert-base.d.ts.map +1 -1
  359. package/build/src/database/query/insert-base.js +10 -5
  360. package/build/src/database/query/join-base.d.ts +4 -0
  361. package/build/src/database/query/join-base.d.ts.map +1 -1
  362. package/build/src/database/query/join-base.js +5 -1
  363. package/build/src/database/query/join-object.d.ts +11 -0
  364. package/build/src/database/query/join-object.d.ts.map +1 -1
  365. package/build/src/database/query/join-object.js +15 -4
  366. package/build/src/database/query/join-plain.d.ts +1 -0
  367. package/build/src/database/query/join-plain.d.ts.map +1 -1
  368. package/build/src/database/query/join-plain.js +2 -1
  369. package/build/src/database/query/join-tracker.d.ts +7 -0
  370. package/build/src/database/query/join-tracker.d.ts.map +1 -1
  371. package/build/src/database/query/join-tracker.js +8 -1
  372. package/build/src/database/query/model-class-query.d.ts +92 -26
  373. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  374. package/build/src/database/query/model-class-query.js +230 -76
  375. package/build/src/database/query/order-base.d.ts +3 -0
  376. package/build/src/database/query/order-base.d.ts.map +1 -1
  377. package/build/src/database/query/order-base.js +4 -1
  378. package/build/src/database/query/order-column.d.ts +9 -1
  379. package/build/src/database/query/order-column.d.ts.map +1 -1
  380. package/build/src/database/query/order-column.js +10 -2
  381. package/build/src/database/query/order-plain.d.ts +1 -0
  382. package/build/src/database/query/order-plain.d.ts.map +1 -1
  383. package/build/src/database/query/order-plain.js +2 -1
  384. package/build/src/database/query/preloader/belongs-to.d.ts +1 -0
  385. package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
  386. package/build/src/database/query/preloader/belongs-to.js +68 -23
  387. package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts +1 -0
  388. package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts.map +1 -1
  389. package/build/src/database/query/preloader/ensure-model-class-initialized.js +2 -1
  390. package/build/src/database/query/preloader/has-many.d.ts +5 -3
  391. package/build/src/database/query/preloader/has-many.d.ts.map +1 -1
  392. package/build/src/database/query/preloader/has-many.js +66 -24
  393. package/build/src/database/query/preloader/has-one.d.ts +1 -0
  394. package/build/src/database/query/preloader/has-one.d.ts.map +1 -1
  395. package/build/src/database/query/preloader/has-one.js +26 -9
  396. package/build/src/database/query/preloader/selection.d.ts +7 -1
  397. package/build/src/database/query/preloader/selection.d.ts.map +1 -1
  398. package/build/src/database/query/preloader/selection.js +13 -5
  399. package/build/src/database/query/preloader.d.ts +1 -0
  400. package/build/src/database/query/preloader.d.ts.map +1 -1
  401. package/build/src/database/query/preloader.js +28 -9
  402. package/build/src/database/query/query-data.d.ts +21 -7
  403. package/build/src/database/query/query-data.d.ts.map +1 -1
  404. package/build/src/database/query/query-data.js +37 -18
  405. package/build/src/database/query/select-base.d.ts +3 -0
  406. package/build/src/database/query/select-base.d.ts.map +1 -1
  407. package/build/src/database/query/select-base.js +4 -1
  408. package/build/src/database/query/select-plain.d.ts +1 -0
  409. package/build/src/database/query/select-plain.d.ts.map +1 -1
  410. package/build/src/database/query/select-plain.js +2 -1
  411. package/build/src/database/query/select-table-and-column.d.ts +1 -0
  412. package/build/src/database/query/select-table-and-column.d.ts.map +1 -1
  413. package/build/src/database/query/select-table-and-column.js +2 -1
  414. package/build/src/database/query/update-base.d.ts +9 -6
  415. package/build/src/database/query/update-base.d.ts.map +1 -1
  416. package/build/src/database/query/update-base.js +7 -4
  417. package/build/src/database/query/upsert-base.d.ts +13 -4
  418. package/build/src/database/query/upsert-base.d.ts.map +1 -1
  419. package/build/src/database/query/upsert-base.js +12 -3
  420. package/build/src/database/query/where-base.d.ts +4 -0
  421. package/build/src/database/query/where-base.d.ts.map +1 -1
  422. package/build/src/database/query/where-base.js +5 -1
  423. package/build/src/database/query/where-combinator.d.ts +1 -0
  424. package/build/src/database/query/where-combinator.d.ts.map +1 -1
  425. package/build/src/database/query/where-combinator.js +6 -2
  426. package/build/src/database/query/where-hash.d.ts +6 -0
  427. package/build/src/database/query/where-hash.d.ts.map +1 -1
  428. package/build/src/database/query/where-hash.js +5 -1
  429. package/build/src/database/query/where-model-class-hash.d.ts +30 -16
  430. package/build/src/database/query/where-model-class-hash.d.ts.map +1 -1
  431. package/build/src/database/query/where-model-class-hash.js +55 -20
  432. package/build/src/database/query/where-not.d.ts +1 -0
  433. package/build/src/database/query/where-not.d.ts.map +1 -1
  434. package/build/src/database/query/where-not.js +3 -1
  435. package/build/src/database/query/where-plain.d.ts +1 -0
  436. package/build/src/database/query/where-plain.d.ts.map +1 -1
  437. package/build/src/database/query/where-plain.js +2 -1
  438. package/build/src/database/query/with-count.d.ts +11 -5
  439. package/build/src/database/query/with-count.d.ts.map +1 -1
  440. package/build/src/database/query/with-count.js +36 -15
  441. package/build/src/database/query-parser/base-query-parser.d.ts +1 -0
  442. package/build/src/database/query-parser/base-query-parser.d.ts.map +1 -1
  443. package/build/src/database/query-parser/base-query-parser.js +2 -1
  444. package/build/src/database/query-parser/from-parser.d.ts +5 -1
  445. package/build/src/database/query-parser/from-parser.d.ts.map +1 -1
  446. package/build/src/database/query-parser/from-parser.js +6 -2
  447. package/build/src/database/query-parser/group-parser.d.ts +2 -0
  448. package/build/src/database/query-parser/group-parser.d.ts.map +1 -1
  449. package/build/src/database/query-parser/group-parser.js +3 -1
  450. package/build/src/database/query-parser/joins-parser.d.ts +1 -0
  451. package/build/src/database/query-parser/joins-parser.d.ts.map +1 -1
  452. package/build/src/database/query-parser/joins-parser.js +2 -1
  453. package/build/src/database/query-parser/limit-parser.d.ts +1 -0
  454. package/build/src/database/query-parser/limit-parser.d.ts.map +1 -1
  455. package/build/src/database/query-parser/limit-parser.js +2 -1
  456. package/build/src/database/query-parser/options.d.ts +15 -4
  457. package/build/src/database/query-parser/options.d.ts.map +1 -1
  458. package/build/src/database/query-parser/options.js +11 -3
  459. package/build/src/database/query-parser/order-parser.d.ts +1 -0
  460. package/build/src/database/query-parser/order-parser.d.ts.map +1 -1
  461. package/build/src/database/query-parser/order-parser.js +2 -1
  462. package/build/src/database/query-parser/select-parser.d.ts +1 -0
  463. package/build/src/database/query-parser/select-parser.d.ts.map +1 -1
  464. package/build/src/database/query-parser/select-parser.js +2 -1
  465. package/build/src/database/query-parser/where-parser.d.ts +1 -0
  466. package/build/src/database/query-parser/where-parser.d.ts.map +1 -1
  467. package/build/src/database/query-parser/where-parser.js +2 -1
  468. package/build/src/database/record/acts-as-list.d.ts +0 -1
  469. package/build/src/database/record/acts-as-list.d.ts.map +1 -1
  470. package/build/src/database/record/acts-as-list.js +89 -45
  471. package/build/src/database/record/attachments/download.d.ts +34 -15
  472. package/build/src/database/record/attachments/download.d.ts.map +1 -1
  473. package/build/src/database/record/attachments/download.js +34 -22
  474. package/build/src/database/record/attachments/handle.d.ts +17 -5
  475. package/build/src/database/record/attachments/handle.d.ts.map +1 -1
  476. package/build/src/database/record/attachments/handle.js +25 -9
  477. package/build/src/database/record/attachments/normalize-input.d.ts +6 -1
  478. package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
  479. package/build/src/database/record/attachments/normalize-input.js +54 -17
  480. package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts +7 -1
  481. package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts.map +1 -1
  482. package/build/src/database/record/attachments/storage-drivers/filesystem.js +10 -2
  483. package/build/src/database/record/attachments/storage-drivers/native.d.ts +12 -7
  484. package/build/src/database/record/attachments/storage-drivers/native.d.ts.map +1 -1
  485. package/build/src/database/record/attachments/storage-drivers/native.js +13 -6
  486. package/build/src/database/record/attachments/storage-drivers/s3.d.ts +18 -9
  487. package/build/src/database/record/attachments/storage-drivers/s3.d.ts.map +1 -1
  488. package/build/src/database/record/attachments/storage-drivers/s3.js +38 -13
  489. package/build/src/database/record/attachments/store.d.ts +48 -25
  490. package/build/src/database/record/attachments/store.d.ts.map +1 -1
  491. package/build/src/database/record/attachments/store.js +63 -25
  492. package/build/src/database/record/index.d.ts +394 -146
  493. package/build/src/database/record/index.d.ts.map +1 -1
  494. package/build/src/database/record/index.js +697 -248
  495. package/build/src/database/record/instance-relationships/base.d.ts +78 -19
  496. package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
  497. package/build/src/database/record/instance-relationships/base.js +98 -26
  498. package/build/src/database/record/instance-relationships/belongs-to.d.ts +1 -0
  499. package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
  500. package/build/src/database/record/instance-relationships/belongs-to.js +13 -5
  501. package/build/src/database/record/instance-relationships/has-many.d.ts +27 -7
  502. package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
  503. package/build/src/database/record/instance-relationships/has-many.js +50 -16
  504. package/build/src/database/record/instance-relationships/has-one.d.ts +4 -1
  505. package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
  506. package/build/src/database/record/instance-relationships/has-one.js +28 -10
  507. package/build/src/database/record/relationships/base.d.ts +61 -14
  508. package/build/src/database/record/relationships/base.d.ts.map +1 -1
  509. package/build/src/database/record/relationships/base.js +60 -15
  510. package/build/src/database/record/relationships/belongs-to.d.ts.map +1 -1
  511. package/build/src/database/record/relationships/belongs-to.js +9 -3
  512. package/build/src/database/record/relationships/has-many.d.ts.map +1 -1
  513. package/build/src/database/record/relationships/has-many.js +9 -3
  514. package/build/src/database/record/relationships/has-one.d.ts.map +1 -1
  515. package/build/src/database/record/relationships/has-one.js +9 -3
  516. package/build/src/database/record/state-machine.d.ts +9 -1
  517. package/build/src/database/record/state-machine.d.ts.map +1 -1
  518. package/build/src/database/record/state-machine.js +35 -14
  519. package/build/src/database/record/user-module.d.ts +2 -0
  520. package/build/src/database/record/user-module.d.ts.map +1 -1
  521. package/build/src/database/record/user-module.js +3 -1
  522. package/build/src/database/record/validators/base.d.ts +4 -2
  523. package/build/src/database/record/validators/base.d.ts.map +1 -1
  524. package/build/src/database/record/validators/base.js +4 -2
  525. package/build/src/database/record/validators/format.d.ts.map +1 -1
  526. package/build/src/database/record/validators/format.js +2 -1
  527. package/build/src/database/record/validators/presence.d.ts.map +1 -1
  528. package/build/src/database/record/validators/presence.js +5 -2
  529. package/build/src/database/record/validators/uniqueness.d.ts +0 -2
  530. package/build/src/database/record/validators/uniqueness.d.ts.map +1 -1
  531. package/build/src/database/record/validators/uniqueness.js +18 -8
  532. package/build/src/database/table-data/index.d.ts +40 -4
  533. package/build/src/database/table-data/index.d.ts.map +1 -1
  534. package/build/src/database/table-data/index.js +38 -5
  535. package/build/src/database/table-data/table-column.d.ts +43 -5
  536. package/build/src/database/table-data/table-column.d.ts.map +1 -1
  537. package/build/src/database/table-data/table-column.js +37 -4
  538. package/build/src/database/table-data/table-foreign-key.d.ts +8 -0
  539. package/build/src/database/table-data/table-foreign-key.d.ts.map +1 -1
  540. package/build/src/database/table-data/table-foreign-key.js +9 -1
  541. package/build/src/database/table-data/table-index.d.ts +8 -0
  542. package/build/src/database/table-data/table-index.d.ts.map +1 -1
  543. package/build/src/database/table-data/table-index.js +6 -1
  544. package/build/src/database/table-data/table-reference.d.ts +1 -0
  545. package/build/src/database/table-data/table-reference.d.ts.map +1 -1
  546. package/build/src/database/table-data/table-reference.js +2 -1
  547. package/build/src/database/use-database.d.ts +1 -0
  548. package/build/src/database/use-database.d.ts.map +1 -1
  549. package/build/src/database/use-database.js +2 -1
  550. package/build/src/environment-handlers/base.d.ts +94 -36
  551. package/build/src/environment-handlers/base.d.ts.map +1 -1
  552. package/build/src/environment-handlers/base.js +90 -36
  553. package/build/src/environment-handlers/browser.d.ts +33 -3
  554. package/build/src/environment-handlers/browser.d.ts.map +1 -1
  555. package/build/src/environment-handlers/browser.js +36 -9
  556. package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts +5 -0
  557. package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts.map +1 -1
  558. package/build/src/environment-handlers/node/cli/commands/cli-command-context.js +6 -2
  559. package/build/src/environment-handlers/node/cli/commands/console.d.ts +3 -2
  560. package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
  561. package/build/src/environment-handlers/node/cli/commands/console.js +23 -9
  562. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts +4 -1
  563. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts.map +1 -1
  564. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.js +5 -2
  565. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +6 -2
  566. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -1
  567. package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +11 -5
  568. package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts +15 -5
  569. package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts.map +1 -1
  570. package/build/src/environment-handlers/node/cli/commands/db/seed.js +20 -6
  571. package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts +5 -0
  572. package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts.map +1 -1
  573. package/build/src/environment-handlers/node/cli/commands/destroy/migration.js +3 -1
  574. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +2 -0
  575. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
  576. package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +6 -4
  577. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +43 -29
  578. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  579. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +99 -40
  580. package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts +5 -0
  581. package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts.map +1 -1
  582. package/build/src/environment-handlers/node/cli/commands/generate/migration.js +3 -1
  583. package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts +5 -0
  584. package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts.map +1 -1
  585. package/build/src/environment-handlers/node/cli/commands/generate/model.js +3 -1
  586. package/build/src/environment-handlers/node/cli/commands/init.d.ts +5 -0
  587. package/build/src/environment-handlers/node/cli/commands/init.d.ts.map +1 -1
  588. package/build/src/environment-handlers/node/cli/commands/init.js +3 -1
  589. package/build/src/environment-handlers/node/cli/commands/routes.d.ts +3 -0
  590. package/build/src/environment-handlers/node/cli/commands/routes.d.ts.map +1 -1
  591. package/build/src/environment-handlers/node/cli/commands/routes.js +4 -1
  592. package/build/src/environment-handlers/node/cli/commands/run-script.d.ts +15 -5
  593. package/build/src/environment-handlers/node/cli/commands/run-script.d.ts.map +1 -1
  594. package/build/src/environment-handlers/node/cli/commands/run-script.js +20 -6
  595. package/build/src/environment-handlers/node/cli/commands/runner.d.ts +18 -6
  596. package/build/src/environment-handlers/node/cli/commands/runner.d.ts.map +1 -1
  597. package/build/src/environment-handlers/node/cli/commands/runner.js +20 -6
  598. package/build/src/environment-handlers/node/cli/commands/server.d.ts +13 -1
  599. package/build/src/environment-handlers/node/cli/commands/server.d.ts.map +1 -1
  600. package/build/src/environment-handlers/node/cli/commands/server.js +23 -6
  601. package/build/src/environment-handlers/node.d.ts +14 -2
  602. package/build/src/environment-handlers/node.d.ts.map +1 -1
  603. package/build/src/environment-handlers/node.js +107 -39
  604. package/build/src/error-logger.d.ts +4 -3
  605. package/build/src/error-logger.d.ts.map +1 -1
  606. package/build/src/error-logger.js +4 -3
  607. package/build/src/frontend-model-controller.d.ts +239 -90
  608. package/build/src/frontend-model-controller.d.ts.map +1 -1
  609. package/build/src/frontend-model-controller.js +577 -787
  610. package/build/src/frontend-model-resource/base-resource.d.ts +118 -66
  611. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  612. package/build/src/frontend-model-resource/base-resource.js +205 -82
  613. package/build/src/frontend-models/base.d.ts +319 -163
  614. package/build/src/frontend-models/base.d.ts.map +1 -1
  615. package/build/src/frontend-models/base.js +717 -366
  616. package/build/src/frontend-models/clear-pending-debounced-callback.d.ts +2 -1
  617. package/build/src/frontend-models/clear-pending-debounced-callback.d.ts.map +1 -1
  618. package/build/src/frontend-models/clear-pending-debounced-callback.js +6 -3
  619. package/build/src/frontend-models/event-hook-models.d.ts +5 -0
  620. package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
  621. package/build/src/frontend-models/event-hook-models.js +10 -3
  622. package/build/src/frontend-models/model-registry.d.ts +5 -5
  623. package/build/src/frontend-models/model-registry.d.ts.map +1 -1
  624. package/build/src/frontend-models/model-registry.js +5 -5
  625. package/build/src/frontend-models/outgoing-event-buffer.d.ts +11 -3
  626. package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
  627. package/build/src/frontend-models/outgoing-event-buffer.js +13 -5
  628. package/build/src/frontend-models/preloader.d.ts +9 -6
  629. package/build/src/frontend-models/preloader.d.ts.map +1 -1
  630. package/build/src/frontend-models/preloader.js +21 -9
  631. package/build/src/frontend-models/query.d.ts +283 -73
  632. package/build/src/frontend-models/query.d.ts.map +1 -1
  633. package/build/src/frontend-models/query.js +331 -203
  634. package/build/src/frontend-models/resource-config-validation.d.ts +2 -0
  635. package/build/src/frontend-models/resource-config-validation.d.ts.map +1 -1
  636. package/build/src/frontend-models/resource-config-validation.js +3 -1
  637. package/build/src/frontend-models/resource-definition.d.ts +12 -5
  638. package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
  639. package/build/src/frontend-models/resource-definition.js +39 -13
  640. package/build/src/frontend-models/transport-serialization.d.ts +14 -11
  641. package/build/src/frontend-models/transport-serialization.d.ts.map +1 -1
  642. package/build/src/frontend-models/transport-serialization.js +80 -53
  643. package/build/src/frontend-models/use-destroyed-event.d.ts +21 -0
  644. package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
  645. package/build/src/frontend-models/use-destroyed-event.js +34 -11
  646. package/build/src/frontend-models/use-model-class-event.d.ts +24 -0
  647. package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
  648. package/build/src/frontend-models/use-model-class-event.js +39 -12
  649. package/build/src/frontend-models/use-updated-event.d.ts +21 -0
  650. package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
  651. package/build/src/frontend-models/use-updated-event.js +37 -12
  652. package/build/src/frontend-models/websocket-channel.d.ts +51 -9
  653. package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
  654. package/build/src/frontend-models/websocket-channel.js +96 -26
  655. package/build/src/frontend-models/websocket-publishers.d.ts +2 -0
  656. package/build/src/frontend-models/websocket-publishers.d.ts.map +1 -1
  657. package/build/src/frontend-models/websocket-publishers.js +33 -11
  658. package/build/src/http-client/header.d.ts +1 -0
  659. package/build/src/http-client/header.d.ts.map +1 -1
  660. package/build/src/http-client/header.js +2 -1
  661. package/build/src/http-client/index.d.ts +4 -0
  662. package/build/src/http-client/index.d.ts.map +1 -1
  663. package/build/src/http-client/index.js +5 -1
  664. package/build/src/http-client/request.d.ts +5 -0
  665. package/build/src/http-client/request.d.ts.map +1 -1
  666. package/build/src/http-client/request.js +6 -1
  667. package/build/src/http-client/response.d.ts +14 -4
  668. package/build/src/http-client/response.d.ts.map +1 -1
  669. package/build/src/http-client/response.js +14 -4
  670. package/build/src/http-client/websocket-client.d.ts +1 -0
  671. package/build/src/http-client/websocket-client.d.ts.map +1 -1
  672. package/build/src/http-client/websocket-client.js +2 -1
  673. package/build/src/http-server/client/index.d.ts +16 -2
  674. package/build/src/http-server/client/index.d.ts.map +1 -1
  675. package/build/src/http-server/client/index.js +44 -13
  676. package/build/src/http-server/client/params-to-object.d.ts +16 -10
  677. package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
  678. package/build/src/http-server/client/params-to-object.js +46 -17
  679. package/build/src/http-server/client/request-buffer/form-data-part.d.ts +10 -6
  680. package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
  681. package/build/src/http-server/client/request-buffer/form-data-part.js +11 -7
  682. package/build/src/http-server/client/request-buffer/header.d.ts +1 -0
  683. package/build/src/http-server/client/request-buffer/header.d.ts.map +1 -1
  684. package/build/src/http-server/client/request-buffer/header.js +2 -1
  685. package/build/src/http-server/client/request-buffer/index.d.ts +29 -4
  686. package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
  687. package/build/src/http-server/client/request-buffer/index.js +43 -9
  688. package/build/src/http-server/client/request-parser.d.ts +52 -13
  689. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  690. package/build/src/http-server/client/request-parser.js +58 -15
  691. package/build/src/http-server/client/request-runner.d.ts +5 -1
  692. package/build/src/http-server/client/request-runner.d.ts.map +1 -1
  693. package/build/src/http-server/client/request-runner.js +32 -8
  694. package/build/src/http-server/client/request-timing.d.ts +37 -7
  695. package/build/src/http-server/client/request-timing.d.ts.map +1 -1
  696. package/build/src/http-server/client/request-timing.js +32 -8
  697. package/build/src/http-server/client/request.d.ts +15 -5
  698. package/build/src/http-server/client/request.d.ts.map +1 -1
  699. package/build/src/http-server/client/request.js +17 -5
  700. package/build/src/http-server/client/response.d.ts +22 -4
  701. package/build/src/http-server/client/response.d.ts.map +1 -1
  702. package/build/src/http-server/client/response.js +29 -7
  703. package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts +1 -0
  704. package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts.map +1 -1
  705. package/build/src/http-server/client/uploaded-file/memory-uploaded-file.js +3 -1
  706. package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts +1 -0
  707. package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts.map +1 -1
  708. package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.js +3 -1
  709. package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +2 -0
  710. package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts.map +1 -1
  711. package/build/src/http-server/client/uploaded-file/uploaded-file.js +3 -1
  712. package/build/src/http-server/client/websocket-request.d.ts +24 -12
  713. package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
  714. package/build/src/http-server/client/websocket-request.js +24 -10
  715. package/build/src/http-server/client/websocket-session.d.ts +101 -62
  716. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  717. package/build/src/http-server/client/websocket-session.js +118 -61
  718. package/build/src/http-server/cookie.d.ts +36 -8
  719. package/build/src/http-server/cookie.d.ts.map +1 -1
  720. package/build/src/http-server/cookie.js +37 -9
  721. package/build/src/http-server/development-reloader.d.ts +32 -7
  722. package/build/src/http-server/development-reloader.d.ts.map +1 -1
  723. package/build/src/http-server/development-reloader.js +39 -10
  724. package/build/src/http-server/index.d.ts +102 -25
  725. package/build/src/http-server/index.d.ts.map +1 -1
  726. package/build/src/http-server/index.js +117 -32
  727. package/build/src/http-server/remote-address.d.ts +1 -0
  728. package/build/src/http-server/remote-address.d.ts.map +1 -1
  729. package/build/src/http-server/remote-address.js +15 -4
  730. package/build/src/http-server/server-client.d.ts +37 -8
  731. package/build/src/http-server/server-client.d.ts.map +1 -1
  732. package/build/src/http-server/server-client.js +48 -12
  733. package/build/src/http-server/server-lock.d.ts +76 -0
  734. package/build/src/http-server/server-lock.d.ts.map +1 -0
  735. package/build/src/http-server/server-lock.js +164 -0
  736. package/build/src/http-server/websocket-channel-subscribers.d.ts +13 -8
  737. package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
  738. package/build/src/http-server/websocket-channel-subscribers.js +16 -7
  739. package/build/src/http-server/websocket-channel.d.ts +13 -11
  740. package/build/src/http-server/websocket-channel.d.ts.map +1 -1
  741. package/build/src/http-server/websocket-channel.js +8 -12
  742. package/build/src/http-server/websocket-connection.d.ts +10 -14
  743. package/build/src/http-server/websocket-connection.d.ts.map +1 -1
  744. package/build/src/http-server/websocket-connection.js +8 -12
  745. package/build/src/http-server/websocket-event-log-store.d.ts +48 -10
  746. package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
  747. package/build/src/http-server/websocket-event-log-store.js +76 -34
  748. package/build/src/http-server/websocket-events-host.d.ts +21 -15
  749. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  750. package/build/src/http-server/websocket-events-host.js +20 -11
  751. package/build/src/http-server/websocket-events.d.ts +8 -7
  752. package/build/src/http-server/websocket-events.d.ts.map +1 -1
  753. package/build/src/http-server/websocket-events.js +6 -5
  754. package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts +3 -2
  755. package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts.map +1 -1
  756. package/build/src/http-server/worker-handler/channel-subscriber-dispatch.js +3 -2
  757. package/build/src/http-server/worker-handler/in-process.d.ts +18 -18
  758. package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
  759. package/build/src/http-server/worker-handler/in-process.js +28 -20
  760. package/build/src/http-server/worker-handler/index.d.ts +39 -20
  761. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  762. package/build/src/http-server/worker-handler/index.js +34 -14
  763. package/build/src/http-server/worker-handler/worker-thread.d.ts +31 -15
  764. package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
  765. package/build/src/http-server/worker-handler/worker-thread.js +31 -12
  766. package/build/src/initializer.d.ts +4 -0
  767. package/build/src/initializer.d.ts.map +1 -1
  768. package/build/src/initializer.js +5 -1
  769. package/build/src/jobs/mail-delivery.d.ts +1 -0
  770. package/build/src/jobs/mail-delivery.d.ts.map +1 -1
  771. package/build/src/jobs/mail-delivery.js +2 -1
  772. package/build/src/logger/base-logger.js +2 -2
  773. package/build/src/logger/console-logger.d.ts +2 -0
  774. package/build/src/logger/console-logger.d.ts.map +1 -1
  775. package/build/src/logger/console-logger.js +3 -1
  776. package/build/src/logger/file-logger.d.ts +2 -0
  777. package/build/src/logger/file-logger.d.ts.map +1 -1
  778. package/build/src/logger/file-logger.js +3 -1
  779. package/build/src/logger/outputs/array-output.d.ts +21 -5
  780. package/build/src/logger/outputs/array-output.d.ts.map +1 -1
  781. package/build/src/logger/outputs/array-output.js +19 -6
  782. package/build/src/logger/outputs/console-output.d.ts +10 -2
  783. package/build/src/logger/outputs/console-output.d.ts.map +1 -1
  784. package/build/src/logger/outputs/console-output.js +8 -3
  785. package/build/src/logger/outputs/file-output.d.ts +20 -5
  786. package/build/src/logger/outputs/file-output.d.ts.map +1 -1
  787. package/build/src/logger/outputs/file-output.js +18 -6
  788. package/build/src/logger/outputs/stdout-output.d.ts +7 -1
  789. package/build/src/logger/outputs/stdout-output.d.ts.map +1 -1
  790. package/build/src/logger/outputs/stdout-output.js +9 -3
  791. package/build/src/logger.d.ts +28 -13
  792. package/build/src/logger.d.ts.map +1 -1
  793. package/build/src/logger.js +60 -23
  794. package/build/src/mailer/backends/smtp.d.ts +5 -0
  795. package/build/src/mailer/backends/smtp.d.ts.map +1 -1
  796. package/build/src/mailer/backends/smtp.js +17 -4
  797. package/build/src/mailer/base.d.ts +33 -17
  798. package/build/src/mailer/base.d.ts.map +1 -1
  799. package/build/src/mailer/base.js +54 -18
  800. package/build/src/mailer/delivery.d.ts +16 -5
  801. package/build/src/mailer/delivery.d.ts.map +1 -1
  802. package/build/src/mailer/delivery.js +18 -7
  803. package/build/src/mailer/index.d.ts +5 -5
  804. package/build/src/mailer/index.d.ts.map +1 -1
  805. package/build/src/mailer/index.js +2 -2
  806. package/build/src/mailer.d.ts +5 -5
  807. package/build/src/mailer.d.ts.map +1 -1
  808. package/build/src/mailer.js +2 -2
  809. package/build/src/plugins/sqljs-wasm-route-controller.d.ts +4 -1
  810. package/build/src/plugins/sqljs-wasm-route-controller.d.ts.map +1 -1
  811. package/build/src/plugins/sqljs-wasm-route-controller.js +11 -4
  812. package/build/src/plugins/sqljs-wasm-route.d.ts +6 -0
  813. package/build/src/plugins/sqljs-wasm-route.d.ts.map +1 -1
  814. package/build/src/plugins/sqljs-wasm-route.js +4 -1
  815. package/build/src/record-payload-values.d.ts +54 -0
  816. package/build/src/record-payload-values.d.ts.map +1 -0
  817. package/build/src/record-payload-values.js +80 -0
  818. package/build/src/routes/app-routes.d.ts +1 -0
  819. package/build/src/routes/app-routes.d.ts.map +1 -1
  820. package/build/src/routes/app-routes.js +2 -1
  821. package/build/src/routes/base-route.d.ts +52 -16
  822. package/build/src/routes/base-route.d.ts.map +1 -1
  823. package/build/src/routes/base-route.js +50 -14
  824. package/build/src/routes/basic-route.d.ts +1 -0
  825. package/build/src/routes/basic-route.d.ts.map +1 -1
  826. package/build/src/routes/basic-route.js +13 -4
  827. package/build/src/routes/built-in/debug/controller.d.ts +4 -1
  828. package/build/src/routes/built-in/debug/controller.d.ts.map +1 -1
  829. package/build/src/routes/built-in/debug/controller.js +5 -2
  830. package/build/src/routes/get-route.d.ts +1 -0
  831. package/build/src/routes/get-route.d.ts.map +1 -1
  832. package/build/src/routes/get-route.js +7 -4
  833. package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts +1 -0
  834. package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts.map +1 -1
  835. package/build/src/routes/hooks/frontend-model-command-route-hook.js +6 -2
  836. package/build/src/routes/index.d.ts +3 -2
  837. package/build/src/routes/index.d.ts.map +1 -1
  838. package/build/src/routes/index.js +10 -4
  839. package/build/src/routes/namespace-route.d.ts +1 -0
  840. package/build/src/routes/namespace-route.d.ts.map +1 -1
  841. package/build/src/routes/namespace-route.js +5 -3
  842. package/build/src/routes/plugin-routes.d.ts +10 -1
  843. package/build/src/routes/plugin-routes.d.ts.map +1 -1
  844. package/build/src/routes/plugin-routes.js +11 -3
  845. package/build/src/routes/post-route.d.ts +1 -0
  846. package/build/src/routes/post-route.d.ts.map +1 -1
  847. package/build/src/routes/post-route.js +7 -4
  848. package/build/src/routes/resolver.d.ts +20 -5
  849. package/build/src/routes/resolver.d.ts.map +1 -1
  850. package/build/src/routes/resolver.js +47 -14
  851. package/build/src/routes/resource-route.d.ts +6 -1
  852. package/build/src/routes/resource-route.d.ts.map +1 -1
  853. package/build/src/routes/resource-route.js +10 -4
  854. package/build/src/testing/base-expect.d.ts +2 -0
  855. package/build/src/testing/base-expect.d.ts.map +1 -1
  856. package/build/src/testing/base-expect.js +3 -1
  857. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts +33 -5
  858. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
  859. package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +95 -23
  860. package/build/src/testing/expect-to-change.d.ts +3 -0
  861. package/build/src/testing/expect-to-change.d.ts.map +1 -1
  862. package/build/src/testing/expect-to-change.js +4 -1
  863. package/build/src/testing/expect-utils.d.ts +22 -16
  864. package/build/src/testing/expect-utils.d.ts.map +1 -1
  865. package/build/src/testing/expect-utils.js +62 -30
  866. package/build/src/testing/expect.d.ts +50 -21
  867. package/build/src/testing/expect.d.ts.map +1 -1
  868. package/build/src/testing/expect.js +58 -17
  869. package/build/src/testing/request-client.d.ts +16 -3
  870. package/build/src/testing/request-client.d.ts.map +1 -1
  871. package/build/src/testing/request-client.js +17 -4
  872. package/build/src/testing/test-files-finder.d.ts +41 -9
  873. package/build/src/testing/test-files-finder.d.ts.map +1 -1
  874. package/build/src/testing/test-files-finder.js +42 -10
  875. package/build/src/testing/test-filter-parser.d.ts +6 -0
  876. package/build/src/testing/test-filter-parser.d.ts.map +1 -1
  877. package/build/src/testing/test-filter-parser.js +12 -3
  878. package/build/src/testing/test-runner.d.ts +102 -6
  879. package/build/src/testing/test-runner.d.ts.map +1 -1
  880. package/build/src/testing/test-runner.js +115 -23
  881. package/build/src/testing/test-suite-splitter.d.ts +7 -0
  882. package/build/src/testing/test-suite-splitter.d.ts.map +1 -1
  883. package/build/src/testing/test-suite-splitter.js +7 -2
  884. package/build/src/testing/test.d.ts +20 -4
  885. package/build/src/testing/test.d.ts.map +1 -1
  886. package/build/src/testing/test.js +67 -20
  887. package/build/src/utils/backtrace-cleaner-node.d.ts.map +1 -1
  888. package/build/src/utils/backtrace-cleaner-node.js +6 -1
  889. package/build/src/utils/backtrace-cleaner.d.ts +16 -1
  890. package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
  891. package/build/src/utils/backtrace-cleaner.js +20 -2
  892. package/build/src/utils/ensure-error.d.ts +3 -2
  893. package/build/src/utils/ensure-error.d.ts.map +1 -1
  894. package/build/src/utils/ensure-error.js +3 -2
  895. package/build/src/utils/event-emitter.d.ts.map +1 -1
  896. package/build/src/utils/event-emitter.js +2 -2
  897. package/build/src/utils/file-exists.d.ts +1 -0
  898. package/build/src/utils/file-exists.d.ts.map +1 -1
  899. package/build/src/utils/file-exists.js +2 -1
  900. package/build/src/utils/format-value.d.ts +5 -4
  901. package/build/src/utils/format-value.d.ts.map +1 -1
  902. package/build/src/utils/format-value.js +12 -7
  903. package/build/src/utils/model-scope.d.ts +18 -12
  904. package/build/src/utils/model-scope.d.ts.map +1 -1
  905. package/build/src/utils/model-scope.js +19 -11
  906. package/build/src/utils/nest-callbacks.d.ts +1 -0
  907. package/build/src/utils/nest-callbacks.d.ts.map +1 -1
  908. package/build/src/utils/nest-callbacks.js +2 -1
  909. package/build/src/utils/plain-object.d.ts +7 -0
  910. package/build/src/utils/plain-object.d.ts.map +1 -0
  911. package/build/src/utils/plain-object.js +13 -0
  912. package/build/src/utils/ransack.d.ts +29 -5
  913. package/build/src/utils/ransack.d.ts.map +1 -1
  914. package/build/src/utils/ransack.js +136 -49
  915. package/build/src/utils/rest-args-error.d.ts +1 -0
  916. package/build/src/utils/rest-args-error.d.ts.map +1 -1
  917. package/build/src/utils/rest-args-error.js +2 -1
  918. package/build/src/utils/singularize-model-name.d.ts +1 -0
  919. package/build/src/utils/singularize-model-name.d.ts.map +1 -1
  920. package/build/src/utils/singularize-model-name.js +2 -1
  921. package/build/src/utils/to-import-specifier.d.ts.map +1 -1
  922. package/build/src/utils/to-import-specifier.js +3 -1
  923. package/build/src/utils/with-tracked-stack-async-hooks.d.ts +8 -5
  924. package/build/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -1
  925. package/build/src/utils/with-tracked-stack-async-hooks.js +32 -13
  926. package/build/src/utils/with-tracked-stack.d.ts +9 -5
  927. package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
  928. package/build/src/utils/with-tracked-stack.js +19 -8
  929. package/build/src/velocious-error.d.ts +4 -2
  930. package/build/src/velocious-error.d.ts.map +1 -1
  931. package/build/src/velocious-error.js +5 -3
  932. package/build/tsconfig.tsbuildinfo +1 -1
  933. package/package.json +1 -1
@@ -1,11 +1,13 @@
1
1
  /**
2
- * @typedef {Object} WithCountEntry
2
+ * WithCountEntry type.
3
+ * @typedef {object} WithCountEntry
3
4
  * @property {string} attributeName - Attribute to set on each parent record holding the count.
4
5
  * @property {string} relationshipName - Has-many relationship whose rows are counted.
5
- * @property {Record<string, unknown> | undefined} where - Optional extra where clause applied to the count query.
6
+ * @property {Record<string, ?> | undefined} where - Optional extra where clause applied to the count query.
6
7
  */
7
8
  /**
8
- * @typedef {string | string[] | Record<string, boolean | {relationship?: string, where?: Record<string, unknown>}>} WithCountSpec
9
+ * Defines this typedef.
10
+ * @typedef {string | string[] | Record<string, boolean | {relationship?: string, where?: Record<string, ?>}>} WithCountSpec
9
11
  */
10
12
  /**
11
13
  * Normalize the flexible user-facing `.withCount(...)` argument into the
@@ -18,7 +20,6 @@
18
20
  * {projects: true} → one entry (attr = "projectsCount")
19
21
  * {activeMembersCount: → custom attribute name
20
22
  * {relationship: "users", where: {active: true}}}
21
- *
22
23
  * @param {WithCountSpec} spec - User-supplied spec.
23
24
  * @returns {WithCountEntry[]} - Normalized entries.
24
25
  */
@@ -28,7 +29,6 @@ export function normalizeWithCount(spec: WithCountSpec): WithCountEntry[];
28
29
  * the resulting counts as attributes on each record. Mirrors the
29
30
  * Preloader's data-flow shape — one grouped count query per entry, then
30
31
  * `setAttribute` on each parent.
31
- *
32
32
  * @param {object} args - Options.
33
33
  * @param {import("../record/index.js").default[]} args.models - Loaded parent records.
34
34
  * @param {typeof import("../record/index.js").default} args.modelClass - Parent model class.
@@ -40,6 +40,9 @@ export function runWithCount({ models, modelClass, entries }: {
40
40
  modelClass: typeof import("../record/index.js").default;
41
41
  entries: WithCountEntry[];
42
42
  }): Promise<void>;
43
+ /**
44
+ * WithCountEntry type.
45
+ */
43
46
  export type WithCountEntry = {
44
47
  /**
45
48
  * - Attribute to set on each parent record holding the count.
@@ -54,6 +57,9 @@ export type WithCountEntry = {
54
57
  */
55
58
  where: Record<string, unknown> | undefined;
56
59
  };
60
+ /**
61
+ * Defines this typedef.
62
+ */
57
63
  export type WithCountSpec = string | string[] | Record<string, boolean | {
58
64
  relationship?: string;
59
65
  where?: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"with-count.d.ts","sourceRoot":"","sources":["../../../../src/database/query/with-count.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;;GAcG;AACH,yCAHW,aAAa,GACX,cAAc,EAAE,CAmD5B;AAcD;;;;;;;;;;;GAWG;AACH,8DALG;IAAqD,MAAM,EAAnD,OAAO,oBAAoB,EAAE,OAAO,EAAE;IACY,UAAU,EAA5D,cAAc,oBAAoB,EAAE,OAAO;IACpB,OAAO,EAA9B,cAAc,EAAE;CACxB,GAAU,OAAO,CAAC,IAAI,CAAC,CA2BzB;;;;;mBA5Ha,MAAM;;;;sBACN,MAAM;;;;WACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;4BAIpC,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAC,CAAC"}
1
+ {"version":3,"file":"with-count.d.ts","sourceRoot":"","sources":["../../../../src/database/query/with-count.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AACH,yCAHW,aAAa,GACX,cAAc,EAAE,CAuD5B;AAeD;;;;;;;;;;GAUG;AACH,8DALG;IAAqD,MAAM,EAAnD,OAAO,oBAAoB,EAAE,OAAO,EAAE;IACY,UAAU,EAA5D,cAAc,oBAAoB,EAAE,OAAO;IACpB,OAAO,EAA9B,cAAc,EAAE;CACxB,GAAU,OAAO,CAAC,IAAI,CAAC,CAiCzB;;;;;;;;mBAtIa,MAAM;;;;sBACN,MAAM;;;;WACN,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GAAG,SAAS;;;;;4BAK9B,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAAA;CAAC,CAAC"}
@@ -1,12 +1,14 @@
1
1
  // @ts-check
2
2
  /**
3
- * @typedef {Object} WithCountEntry
3
+ * WithCountEntry type.
4
+ * @typedef {object} WithCountEntry
4
5
  * @property {string} attributeName - Attribute to set on each parent record holding the count.
5
6
  * @property {string} relationshipName - Has-many relationship whose rows are counted.
6
- * @property {Record<string, unknown> | undefined} where - Optional extra where clause applied to the count query.
7
+ * @property {Record<string, ?> | undefined} where - Optional extra where clause applied to the count query.
7
8
  */
8
9
  /**
9
- * @typedef {string | string[] | Record<string, boolean | {relationship?: string, where?: Record<string, unknown>}>} WithCountSpec
10
+ * Defines this typedef.
11
+ * @typedef {string | string[] | Record<string, boolean | {relationship?: string, where?: Record<string, ?>}>} WithCountSpec
10
12
  */
11
13
  /**
12
14
  * Normalize the flexible user-facing `.withCount(...)` argument into the
@@ -19,7 +21,6 @@
19
21
  * {projects: true} → one entry (attr = "projectsCount")
20
22
  * {activeMembersCount: → custom attribute name
21
23
  * {relationship: "users", where: {active: true}}}
22
- *
23
24
  * @param {WithCountSpec} spec - User-supplied spec.
24
25
  * @returns {WithCountEntry[]} - Normalized entries.
25
26
  */
@@ -38,7 +39,9 @@ export function normalizeWithCount(spec) {
38
39
  });
39
40
  }
40
41
  if (typeof spec === "object") {
41
- /** @type {WithCountEntry[]} */
42
+ /**
43
+ * Entries.
44
+ @type {WithCountEntry[]} */
42
45
  const entries = [];
43
46
  for (const [key, value] of Object.entries(spec)) {
44
47
  if (value === true) {
@@ -49,7 +52,9 @@ export function normalizeWithCount(spec) {
49
52
  continue;
50
53
  }
51
54
  if (typeof value === "object" && value !== null) {
52
- /** @type {{relationship?: string, where?: Record<string, unknown>}} */
55
+ /**
56
+ * Options.
57
+ @type {{relationship?: string, where?: Record<string, ?>}} */
53
58
  const options = value;
54
59
  entries.push({
55
60
  attributeName: key,
@@ -65,6 +70,7 @@ export function normalizeWithCount(spec) {
65
70
  throw new Error(`Invalid withCount spec: ${typeof spec}`);
66
71
  }
67
72
  /**
73
+ * Runs entry from name.
68
74
  * @param {string} name - Relationship name (attribute name is derived by appending "Count").
69
75
  * @returns {WithCountEntry}
70
76
  */
@@ -80,7 +86,6 @@ function entryFromName(name) {
80
86
  * the resulting counts as attributes on each record. Mirrors the
81
87
  * Preloader's data-flow shape — one grouped count query per entry, then
82
88
  * `setAttribute` on each parent.
83
- *
84
89
  * @param {object} args - Options.
85
90
  * @param {import("../record/index.js").default[]} args.models - Loaded parent records.
86
91
  * @param {typeof import("../record/index.js").default} args.modelClass - Parent model class.
@@ -91,16 +96,23 @@ export async function runWithCount({ models, modelClass, entries }) {
91
96
  if (models.length === 0 || entries.length === 0)
92
97
  return;
93
98
  const primaryKey = modelClass.primaryKey();
94
- const parentIds = models.map((model) => /** @type {string | number} */ (model.readColumn(primaryKey)));
99
+ const parentIds = models.map((model) => /**
100
+ * Narrows the runtime value to the documented type.
101
+ @type {string | number} */ (model.readColumn(primaryKey)));
95
102
  for (const entry of entries) {
96
103
  const counts = await countForEntry({ entries, entry, modelClass, parentIds });
97
104
  for (const model of models) {
98
- const modelPrimaryKeyValue = /** @type {string | number} */ (model.readColumn(primaryKey));
105
+ const modelPrimaryKeyValue = /**
106
+ * Narrows the runtime value to the documented type.
107
+ @type {string | number} */ (model.readColumn(primaryKey));
99
108
  // Tolerate driver differences in numeric return types: SQLite
100
109
  // returns integers as JS numbers, but MySQL's raw driver can
101
110
  // return count primary keys as strings. Try both.
102
111
  const resolvedCount = counts.has(modelPrimaryKeyValue)
103
- ? /** @type {number} */ (counts.get(modelPrimaryKeyValue))
112
+ ? /**
113
+ * Narrows the runtime value to the documented type.
114
+ @type {number} */
115
+ (counts.get(modelPrimaryKeyValue))
104
116
  : Number(counts.get(String(modelPrimaryKeyValue)) ?? 0);
105
117
  // Counts go on the record's dedicated association-count map,
106
118
  // NOT on `_attributes`, so a virtual `tasksCount` can't shadow a
@@ -111,6 +123,7 @@ export async function runWithCount({ models, modelClass, entries }) {
111
123
  }
112
124
  }
113
125
  /**
126
+ * Runs count for entry.
114
127
  * @param {object} args - Options.
115
128
  * @param {WithCountEntry[]} args.entries - All entries, used for error context only.
116
129
  * @param {WithCountEntry} args.entry - Entry being evaluated.
@@ -132,7 +145,9 @@ async function countForEntry({ entries, entry, modelClass, parentIds }) {
132
145
  throw new Error(`withCount: could not resolve target model for ${modelClass.name}#${entry.relationshipName}`);
133
146
  }
134
147
  const foreignKey = relationship.getForeignKey();
135
- /** @type {Record<string, unknown>} */
148
+ /**
149
+ * Where conditions.
150
+ @type {Record<string, ?>} */
136
151
  const whereConditions = { [foreignKey]: parentIds };
137
152
  if (relationship.getPolymorphic && relationship.getPolymorphic()) {
138
153
  const typeColumn = relationship.getPolymorphicTypeColumn();
@@ -151,14 +166,20 @@ async function countForEntry({ entries, entry, modelClass, parentIds }) {
151
166
  const quotedFk = driver.quoteColumn(foreignKey);
152
167
  countQuery.select(`${quotedTable}.${quotedFk} AS parent_id`);
153
168
  countQuery.select("COUNT(*) AS count_value");
154
- const rows = /** @type {Array<{parent_id: string | number, count_value: string | number}>} */ (await countQuery._executeQuery());
155
- /** @type {Map<string | number, number>} */
169
+ const rows = /**
170
+ * Narrows the runtime value to the documented type.
171
+ @type {Array<{parent_id: string | number, count_value: string | number}>} */ (await countQuery._executeQuery());
172
+ /**
173
+ * Counts.
174
+ @type {Map<string | number, number>} */
156
175
  const counts = new Map();
157
176
  for (const row of rows) {
158
- const parentId = /** @type {string | number} */ (row.parent_id);
177
+ const parentId = /**
178
+ * Narrows the runtime value to the documented type.
179
+ @type {string | number} */ (row.parent_id);
159
180
  const countValue = Number(row.count_value) || 0;
160
181
  counts.set(parentId, countValue);
161
182
  }
162
183
  return counts;
163
184
  }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeS93aXRoLWNvdW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7Ozs7R0FLRztBQUVIOztHQUVHO0FBRUg7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBSTtJQUNyQyxJQUFJLElBQUksSUFBSSxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFFM0IsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM3QixPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDOUIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUNoRixDQUFDO1lBRUQsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDNUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM3QiwrQkFBK0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBRWxCLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxD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Q2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFdpdGhDb3VudEVudHJ5XG4gKiBAcHJvcGVydHkge3N0cmluZ30gYXR0cmlidXRlTmFtZSAtIEF0dHJpYnV0ZSB0byBzZXQgb24gZWFjaCBwYXJlbnQgcmVjb3JkIGhvbGRpbmcgdGhlIGNvdW50LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHJlbGF0aW9uc2hpcE5hbWUgLSBIYXMtbWFueSByZWxhdGlvbnNoaXAgd2hvc2Ugcm93cyBhcmUgY291bnRlZC5cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWR9IHdoZXJlIC0gT3B0aW9uYWwgZXh0cmEgd2hlcmUgY2xhdXNlIGFwcGxpZWQgdG8gdGhlIGNvdW50IHF1ZXJ5LlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge3N0cmluZyB8IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgYm9vbGVhbiB8IHtyZWxhdGlvbnNoaXA/OiBzdHJpbmcsIHdoZXJlPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj59Pn0gV2l0aENvdW50U3BlY1xuICovXG5cbi8qKlxuICogTm9ybWFsaXplIHRoZSBmbGV4aWJsZSB1c2VyLWZhY2luZyBgLndpdGhDb3VudCguLi4pYCBhcmd1bWVudCBpbnRvIHRoZVxuICogc3RyaWN0IGludGVybmFsIGxpc3Qgb2Yge2F0dHJpYnV0ZU5hbWUsIHJlbGF0aW9uc2hpcE5hbWUsIHdoZXJlfSBlbnRyaWVzXG4gKiB0aGUgcnVubmVyIGNvbnN1bWVzLlxuICpcbiAqIEFjY2VwdGVkIHNoYXBlczpcbiAqICAgXCJwcm9qZWN0c1wiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDihpIgb25lIGVudHJ5XG4gKiAgIFtcInByb2plY3RzXCIsIFwidGltZWxvZ3NcIl0gICAgICAgICAgICAgICAgICAgICAgICAgICDihpIgb25lIGVudHJ5IHBlciBuYW1lXG4gKiAgIHtwcm9qZWN0czogdHJ1ZX0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKGkiBvbmUgZW50cnkgKGF0dHIgPSBcInByb2plY3RzQ291bnRcIilcbiAqICAge2FjdGl2ZU1lbWJlcnNDb3VudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4oaSIGN1c3RvbSBhdHRyaWJ1dGUgbmFtZVxuICogICAgIHtyZWxhdGlvbnNoaXA6IFwidXNlcnNcIiwgd2hlcmU6IHthY3RpdmU6IHRydWV9fX1cbiAqXG4gKiBAcGFyYW0ge1dpdGhDb3VudFNwZWN9IHNwZWMgLSBVc2VyLXN1cHBsaWVkIHNwZWMuXG4gKiBAcmV0dXJucyB7V2l0aENvdW50RW50cnlbXX0gLSBOb3JtYWxpemVkIGVudHJpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVXaXRoQ291bnQoc3BlYykge1xuICBpZiAoc3BlYyA9PSBudWxsKSByZXR1cm4gW11cblxuICBpZiAodHlwZW9mIHNwZWMgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gW2VudHJ5RnJvbU5hbWUoc3BlYyldXG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShzcGVjKSkge1xuICAgIHJldHVybiBzcGVjLmZsYXRNYXAoKGl0ZW0pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgaXRlbSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHdpdGhDb3VudCBhcnJheSBlbnRyaWVzIG11c3QgYmUgc3RyaW5nczsgZ290ICR7dHlwZW9mIGl0ZW19YClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGVudHJ5RnJvbU5hbWUoaXRlbSlcbiAgICB9KVxuICB9XG5cbiAgaWYgKHR5cGVvZiBzcGVjID09PSBcIm9iamVjdFwiKSB7XG4gICAgLyoqIEB0eXBlIHtXaXRoQ291bnRFbnRyeVtdfSAqL1xuICAgIGNvbnN0IGVudHJpZXMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc3BlYykpIHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICBlbnRyaWVzLnB1c2goZW50cnlGcm9tTmFtZShrZXkpKVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgLyoqIEB0eXBlIHt7cmVsYXRpb25zaGlwPzogc3RyaW5nLCB3aGVyZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fX0gKi9cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHZhbHVlXG4gICAgICAgIGVudHJpZXMucHVzaCh7XG4gICAgICAgICAgYXR0cmlidXRlTmFtZToga2V5LFxuICAgICAgICAgIHJlbGF0aW9uc2hpcE5hbWU6IG9wdGlvbnMucmVsYXRpb25zaGlwIHx8IGtleSxcbiAgICAgICAgICB3aGVyZTogb3B0aW9ucy53aGVyZVxuICAgICAgICB9KVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd2l0aENvdW50IHZhbHVlIGZvciAke2tleX06ICR7dHlwZW9mIHZhbHVlfWApXG4gICAgfVxuXG4gICAgcmV0dXJuIGVudHJpZXNcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3aXRoQ291bnQgc3BlYzogJHt0eXBlb2Ygc3BlY31gKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gUmVsYXRpb25zaGlwIG5hbWUgKGF0dHJpYnV0ZSBuYW1lIGlzIGRlcml2ZWQgYnkgYXBwZW5kaW5nIFwiQ291bnRcIikuXG4gKiBAcmV0dXJucyB7V2l0aENvdW50RW50cnl9XG4gKi9cbmZ1bmN0aW9uIGVudHJ5RnJvbU5hbWUobmFtZSkge1xuICByZXR1cm4ge1xuICAgIGF0dHJpYnV0ZU5hbWU6IGAke25hbWV9Q291bnRgLFxuICAgIHJlbGF0aW9uc2hpcE5hbWU6IG5hbWUsXG4gICAgd2hlcmU6IHVuZGVmaW5lZFxuICB9XG59XG5cbi8qKlxuICogUnVuIGV2ZXJ5IHdpdGhDb3VudCBlbnRyeSBhZ2FpbnN0IHRoZSBsb2FkZWQgcGFyZW50IHJlY29yZHMsIGF0dGFjaGluZ1xuICogdGhlIHJlc3VsdGluZyBjb3VudHMgYXMgYXR0cmlidXRlcyBvbiBlYWNoIHJlY29yZC4gTWlycm9ycyB0aGVcbiAqIFByZWxvYWRlcidzIGRhdGEtZmxvdyBzaGFwZSDigJQgb25lIGdyb3VwZWQgY291bnQgcXVlcnkgcGVyIGVudHJ5LCB0aGVuXG4gKiBgc2V0QXR0cmlidXRlYCBvbiBlYWNoIHBhcmVudC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0W119IGFyZ3MubW9kZWxzIC0gTG9hZGVkIHBhcmVudCByZWNvcmRzLlxuICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9IGFyZ3MubW9kZWxDbGFzcyAtIFBhcmVudCBtb2RlbCBjbGFzcy5cbiAqIEBwYXJhbSB7V2l0aENvdW50RW50cnlbXX0gYXJncy5lbnRyaWVzIC0gTm9ybWFsaXplZCB3aXRoQ291bnQgZW50cmllcy5cbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuV2l0aENvdW50KHttb2RlbHMsIG1vZGVsQ2xhc3MsIGVudHJpZXN9KSB7XG4gIGlmIChtb2RlbHMubGVuZ3RoID09PSAwIHx8IGVudHJpZXMubGVuZ3RoID09PSAwKSByZXR1cm5cblxuICBjb25zdCBwcmltYXJ5S2V5ID0gbW9kZWxDbGFzcy5wcmltYXJ5S2V5KClcbiAgY29uc3QgcGFyZW50SWRzID0gbW9kZWxzLm1hcCgobW9kZWwpID0+IC8qKiBAdHlwZSB7c3RyaW5nIHwgbnVtYmVyfSAqLyAobW9kZWwucmVhZENvbHVtbihwcmltYXJ5S2V5KSkpXG5cbiAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgY29uc3QgY291bnRzID0gYXdhaXQgY291bnRGb3JFbnRyeSh7ZW50cmllcywgZW50cnksIG1vZGVsQ2xhc3MsIHBhcmVudElkc30pXG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsIG9mIG1vZGVscykge1xuICAgICAgY29uc3QgbW9kZWxQcmltYXJ5S2V5VmFsdWUgPSAvKiogQHR5cGUge3N0cmluZyB8IG51bWJlcn0gKi8gKG1vZGVsLnJlYWRDb2x1bW4ocHJpbWFyeUtleSkpXG4gICAgICAvLyBUb2xlcmF0ZSBkcml2ZXIgZGlmZmVyZW5jZXMgaW4gbnVtZXJpYyByZXR1cm4gdHlwZXM6IFNRTGl0ZVxuICAgICAgLy8gcmV0dXJucyBpbnRlZ2VycyBhcyBKUyBudW1iZXJzLCBidXQgTXlTUUwncyByYXcgZHJpdmVyIGNhblxuICAgICAgLy8gcmV0dXJuIGNvdW50IHByaW1hcnkga2V5cyBhcyBzdHJpbmdzLiBUcnkgYm90aC5cbiAgICAgIGNvbnN0IHJlc29sdmVkQ291bnQgPSBjb3VudHMuaGFzKG1vZGVsUHJpbWFyeUtleVZhbHVlKVxuICAgICAgICA/IC8qKiBAdHlwZSB7bnVtYmVyfSAqLyAoY291bnRzLmdldChtb2RlbFByaW1hcnlLZXlWYWx1ZSkpXG4gICAgICAgIDogTnVtYmVyKGNvdW50cy5nZXQoU3RyaW5nKG1vZGVsUHJpbWFyeUtleVZhbHVlKSkgPz8gMClcblxuICAgICAgLy8gQ291bnRzIGdvIG9uIHRoZSByZWNvcmQncyBkZWRpY2F0ZWQgYXNzb2NpYXRpb24tY291bnQgbWFwLFxuICAgICAgLy8gTk9UIG9uIGBfYXR0cmlidXRlc2AsIHNvIGEgdmlydHVhbCBgdGFza3NDb3VudGAgY2FuJ3Qgc2hhZG93IGFcbiAgICAgIC8vIHJlYWwgYHRhc2tzX2NvdW50YCBjb2x1bW4gKGUuZy4gYSBjb3VudGVyX2NhY2hlKSBub3IgbGVhayBpbnRvXG4gICAgICAvLyBhdHRyaWJ1dGUtbGV2ZWwgc2VyaWFsaXphdGlvbiAvIGNoYW5nZSB0cmFja2luZy5cbiAgICAgIG1vZGVsLl9zZXRBc3NvY2lhdGlvbkNvdW50KGVudHJ5LmF0dHJpYnV0ZU5hbWUsIHJlc29sdmVkQ291bnQpXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICogQHBhcmFtIHtXaXRoQ291bnRFbnRyeVtdfSBhcmdzLmVudHJpZXMgLSBBbGwgZW50cmllcywgdXNlZCBmb3IgZXJyb3IgY29udGV4dCBvbmx5LlxuICogQHBhcmFtIHtXaXRoQ291bnRFbnRyeX0gYXJncy5lbnRyeSAtIEVudHJ5IGJlaW5nIGV2YWx1YXRlZC5cbiAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBhcmdzLm1vZGVsQ2xhc3MgLSBQYXJlbnQgbW9kZWwgY2xhc3MuXG4gKiBAcGFyYW0ge0FycmF5PHN0cmluZyB8IG51bWJlcj59IGFyZ3MucGFyZW50SWRzIC0gUHJpbWFyeSBrZXlzIG9mIHRoZSBsb2FkZWQgcGFyZW50cy5cbiAqIEByZXR1cm5zIHtQcm9taXNlPE1hcDxzdHJpbmcgfCBudW1iZXIsIG51bWJlcj4+fSAtIE1hcCBvZiBwYXJlbnQgcGsg4oaSIGNvdW50LlxuICovXG5hc3luYyBmdW5jdGlvbiBjb3VudEZvckVudHJ5KHtlbnRyaWVzLCBlbnRyeSwgbW9kZWxDbGFzcywgcGFyZW50SWRzfSkge1xuICB2b2lkIGVudHJpZXNcblxuICBjb25zdCByZWxhdGlvbnNoaXAgPSBtb2RlbENsYXNzLmdldFJlbGF0aW9uc2hpcEJ5TmFtZShlbnRyeS5yZWxhdGlvbnNoaXBOYW1lKVxuXG4gIGlmICghcmVsYXRpb25zaGlwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke21vZGVsQ2xhc3MubmFtZX0gaGFzIG5vIHJlbGF0aW9uc2hpcCBuYW1lZCAke0pTT04uc3RyaW5naWZ5KGVudHJ5LnJlbGF0aW9uc2hpcE5hbWUpfSAod2l0aENvdW50IGF0dHJpYnV0ZSAke0pTT04uc3RyaW5naWZ5KGVudHJ5LmF0dHJpYnV0ZU5hbWUpfSlgKVxuICB9XG5cbiAgaWYgKHJlbGF0aW9uc2hpcC50eXBlICE9PSBcImhhc01hbnlcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihgd2l0aENvdW50IGN1cnJlbnRseSBzdXBwb3J0cyBvbmx5IGhhc01hbnkgcmVsYXRpb25zaGlwczsgJHttb2RlbENsYXNzLm5hbWV9IyR7ZW50cnkucmVsYXRpb25zaGlwTmFtZX0gaXMgJHtyZWxhdGlvbnNoaXAudHlwZX1gKVxuICB9XG5cbiAgY29uc3QgdGFyZ2V0TW9kZWxDbGFzcyA9IHJlbGF0aW9uc2hpcC5nZXRUYXJnZXRNb2RlbENsYXNzKClcblxuICBpZiAoIXRhcmdldE1vZGVsQ2xhc3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHdpdGhDb3VudDogY291bGQgbm90IHJlc29sdmUgdGFyZ2V0IG1vZGVsIGZvciAke21vZGVsQ2xhc3MubmFtZX0jJHtlbnRyeS5yZWxhdGlvbnNoaXBOYW1lfWApXG4gIH1cblxuICBjb25zdCBmb3JlaWduS2V5ID0gcmVsYXRpb25zaGlwLmdldEZvcmVpZ25LZXkoKVxuICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSAqL1xuICBjb25zdCB3aGVyZUNvbmRpdGlvbnMgPSB7W2ZvcmVpZ25LZXldOiBwYXJlbnRJZHN9XG5cbiAgaWYgKHJlbGF0aW9uc2hpcC5nZXRQb2x5bW9ycGhpYyAmJiByZWxhdGlvbnNoaXAuZ2V0UG9seW1vcnBoaWMoKSkge1xuICAgIGNvbnN0IHR5cGVDb2x1bW4gPSByZWxhdGlvbnNoaXAuZ2V0UG9seW1vcnBoaWNUeXBlQ29sdW1uKClcbiAgICB3aGVyZUNvbmRpdGlvbnNbdHlwZUNvbHVtbl0gPSBtb2RlbENsYXNzLmdldE1vZGVsTmFtZSgpXG4gIH1cblxuICBpZiAoZW50cnkud2hlcmUpIHtcbiAgICBPYmplY3QuYXNzaWduKHdoZXJlQ29uZGl0aW9ucywgZW50cnkud2hlcmUpXG4gIH1cblxuICBjb25zdCBjb3VudFF1ZXJ5ID0gdGFyZ2V0TW9kZWxDbGFzc1xuICAgIC53aGVyZSh3aGVyZUNvbmRpdGlvbnMpXG4gICAgLmdyb3VwKGZvcmVpZ25LZXkpXG5cbiAgY291bnRRdWVyeS5fcHJlbG9hZCA9IHt9XG4gIGNvdW50UXVlcnkuX3NlbGVjdHMgPSBbXVxuXG4gIGNvbnN0IGRyaXZlciA9IGNvdW50UXVlcnkuZHJpdmVyXG4gIGNvbnN0IHF1b3RlZFRhYmxlID0gZHJpdmVyLnF1b3RlVGFibGUodGFyZ2V0TW9kZWxDbGFzcy50YWJsZU5hbWUoKSlcbiAgY29uc3QgcXVvdGVkRmsgPSBkcml2ZXIucXVvdGVDb2x1bW4oZm9yZWlnbktleSlcblxuICBjb3VudFF1ZXJ5LnNlbGVjdChgJHtxdW90ZWRUYWJsZX0uJHtxdW90ZWRGa30gQVMgcGFyZW50X2lkYClcbiAgY291bnRRdWVyeS5zZWxlY3QoXCJDT1VOVCgqKSBBUyBjb3VudF92YWx1ZVwiKVxuXG4gIGNvbnN0IHJvd3MgPSAvKiogQHR5cGUge0FycmF5PHtwYXJlbnRfaWQ6IHN0cmluZyB8IG51bWJlciwgY291bnRfdmFsdWU6IHN0cmluZyB8IG51bWJlcn0+fSAqLyAoXG4gICAgYXdhaXQgY291bnRRdWVyeS5fZXhlY3V0ZVF1ZXJ5KClcbiAgKVxuXG4gIC8qKiBAdHlwZSB7TWFwPHN0cmluZyB8IG51bWJlciwgbnVtYmVyPn0gKi9cbiAgY29uc3QgY291bnRzID0gbmV3IE1hcCgpXG5cbiAgZm9yIChjb25zdCByb3cgb2Ygcm93cykge1xuICAgIGNvbnN0IHBhcmVudElkID0gLyoqIEB0eXBlIHtzdHJpbmcgfCBudW1iZXJ9ICovIChyb3cucGFyZW50X2lkKVxuICAgIGNvbnN0IGNvdW50VmFsdWUgPSBOdW1iZXIocm93LmNvdW50X3ZhbHVlKSB8fCAwXG4gICAgY291bnRzLnNldChwYXJlbnRJZCwgY291bnRWYWx1ZSlcbiAgfVxuXG4gIHJldHVybiBjb3VudHNcbn1cbiJdfQ==
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeS93aXRoLWNvdW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7Ozs7O0dBTUc7QUFFSDs7O0dBR0c7QUFFSDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQUk7SUFDckMsSUFBSSxJQUFJLElBQUksSUFBSTtRQUFFLE9BQU8sRUFBRSxDQUFBO0lBRTNCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMzQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxPQUFPLElBQUksRUFBRSxDQUFDLENBQUE7WUFDaEYsQ0FBQztZQUVELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0I7O3FDQUU2QjtRQUM3QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFFbEIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFD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TUFBTSxDQUFBO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIFdpdGhDb3VudEVudHJ5IHR5cGUuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBXaXRoQ291bnRFbnRyeVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGF0dHJpYnV0ZU5hbWUgLSBBdHRyaWJ1dGUgdG8gc2V0IG9uIGVhY2ggcGFyZW50IHJlY29yZCBob2xkaW5nIHRoZSBjb3VudC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSByZWxhdGlvbnNoaXBOYW1lIC0gSGFzLW1hbnkgcmVsYXRpb25zaGlwIHdob3NlIHJvd3MgYXJlIGNvdW50ZWQuXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsID8+IHwgdW5kZWZpbmVkfSB3aGVyZSAtIE9wdGlvbmFsIGV4dHJhIHdoZXJlIGNsYXVzZSBhcHBsaWVkIHRvIHRoZSBjb3VudCBxdWVyeS5cbiAqL1xuXG4vKipcbiAqIERlZmluZXMgdGhpcyB0eXBlZGVmLlxuICogQHR5cGVkZWYge3N0cmluZyB8IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgYm9vbGVhbiB8IHtyZWxhdGlvbnNoaXA/OiBzdHJpbmcsIHdoZXJlPzogUmVjb3JkPHN0cmluZywgPz59Pn0gV2l0aENvdW50U3BlY1xuICovXG5cbi8qKlxuICogTm9ybWFsaXplIHRoZSBmbGV4aWJsZSB1c2VyLWZhY2luZyBgLndpdGhDb3VudCguLi4pYCBhcmd1bWVudCBpbnRvIHRoZVxuICogc3RyaWN0IGludGVybmFsIGxpc3Qgb2Yge2F0dHJpYnV0ZU5hbWUsIHJlbGF0aW9uc2hpcE5hbWUsIHdoZXJlfSBlbnRyaWVzXG4gKiB0aGUgcnVubmVyIGNvbnN1bWVzLlxuICpcbiAqIEFjY2VwdGVkIHNoYXBlczpcbiAqICAgXCJwcm9qZWN0c1wiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDihpIgb25lIGVudHJ5XG4gKiAgIFtcInByb2plY3RzXCIsIFwidGltZWxvZ3NcIl0gICAgICAgICAgICAgICAgICAgICAgICAgICDihpIgb25lIGVudHJ5IHBlciBuYW1lXG4gKiAgIHtwcm9qZWN0czogdHJ1ZX0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKGkiBvbmUgZW50cnkgKGF0dHIgPSBcInByb2plY3RzQ291bnRcIilcbiAqICAge2FjdGl2ZU1lbWJlcnNDb3VudDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4oaSIGN1c3RvbSBhdHRyaWJ1dGUgbmFtZVxuICogICAgIHtyZWxhdGlvbnNoaXA6IFwidXNlcnNcIiwgd2hlcmU6IHthY3RpdmU6IHRydWV9fX1cbiAqIEBwYXJhbSB7V2l0aENvdW50U3BlY30gc3BlYyAtIFVzZXItc3VwcGxpZWQgc3BlYy5cbiAqIEByZXR1cm5zIHtXaXRoQ291bnRFbnRyeVtdfSAtIE5vcm1hbGl6ZWQgZW50cmllcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVdpdGhDb3VudChzcGVjKSB7XG4gIGlmIChzcGVjID09IG51bGwpIHJldHVybiBbXVxuXG4gIGlmICh0eXBlb2Ygc3BlYyA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBbZW50cnlGcm9tTmFtZShzcGVjKV1cbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHNwZWMpKSB7XG4gICAgcmV0dXJuIHNwZWMuZmxhdE1hcCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBpdGVtICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgd2l0aENvdW50IGFycmF5IGVudHJpZXMgbXVzdCBiZSBzdHJpbmdzOyBnb3QgJHt0eXBlb2YgaXRlbX1gKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZW50cnlGcm9tTmFtZShpdGVtKVxuICAgIH0pXG4gIH1cblxuICBpZiAodHlwZW9mIHNwZWMgPT09IFwib2JqZWN0XCIpIHtcbiAgICAvKipcbiAgICAgKiBFbnRyaWVzLlxuICAgICAgQHR5cGUge1dpdGhDb3VudEVudHJ5W119ICovXG4gICAgY29uc3QgZW50cmllcyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhzcGVjKSkge1xuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIGVudHJpZXMucHVzaChlbnRyeUZyb21OYW1lKGtleSkpXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogT3B0aW9ucy5cbiAgICAgICAgICBAdHlwZSB7e3JlbGF0aW9uc2hpcD86IHN0cmluZywgd2hlcmU/OiBSZWNvcmQ8c3RyaW5nLCA/Pn19ICovXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB2YWx1ZVxuICAgICAgICBlbnRyaWVzLnB1c2goe1xuICAgICAgICAgIGF0dHJpYnV0ZU5hbWU6IGtleSxcbiAgICAgICAgICByZWxhdGlvbnNoaXBOYW1lOiBvcHRpb25zLnJlbGF0aW9uc2hpcCB8fCBrZXksXG4gICAgICAgICAgd2hlcmU6IG9wdGlvbnMud2hlcmVcbiAgICAgICAgfSlcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdpdGhDb3VudCB2YWx1ZSBmb3IgJHtrZXl9OiAke3R5cGVvZiB2YWx1ZX1gKVxuICAgIH1cblxuICAgIHJldHVybiBlbnRyaWVzXG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd2l0aENvdW50IHNwZWM6ICR7dHlwZW9mIHNwZWN9YClcbn1cblxuLyoqXG4gKiBSdW5zIGVudHJ5IGZyb20gbmFtZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gUmVsYXRpb25zaGlwIG5hbWUgKGF0dHJpYnV0ZSBuYW1lIGlzIGRlcml2ZWQgYnkgYXBwZW5kaW5nIFwiQ291bnRcIikuXG4gKiBAcmV0dXJucyB7V2l0aENvdW50RW50cnl9XG4gKi9cbmZ1bmN0aW9uIGVudHJ5RnJvbU5hbWUobmFtZSkge1xuICByZXR1cm4ge1xuICAgIGF0dHJpYnV0ZU5hbWU6IGAke25hbWV9Q291bnRgLFxuICAgIHJlbGF0aW9uc2hpcE5hbWU6IG5hbWUsXG4gICAgd2hlcmU6IHVuZGVmaW5lZFxuICB9XG59XG5cbi8qKlxuICogUnVuIGV2ZXJ5IHdpdGhDb3VudCBlbnRyeSBhZ2FpbnN0IHRoZSBsb2FkZWQgcGFyZW50IHJlY29yZHMsIGF0dGFjaGluZ1xuICogdGhlIHJlc3VsdGluZyBjb3VudHMgYXMgYXR0cmlidXRlcyBvbiBlYWNoIHJlY29yZC4gTWlycm9ycyB0aGVcbiAqIFByZWxvYWRlcidzIGRhdGEtZmxvdyBzaGFwZSDigJQgb25lIGdyb3VwZWQgY291bnQgcXVlcnkgcGVyIGVudHJ5LCB0aGVuXG4gKiBgc2V0QXR0cmlidXRlYCBvbiBlYWNoIHBhcmVudC5cbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucy5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHRbXX0gYXJncy5tb2RlbHMgLSBMb2FkZWQgcGFyZW50IHJlY29yZHMuXG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuLi9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5tb2RlbENsYXNzIC0gUGFyZW50IG1vZGVsIGNsYXNzLlxuICogQHBhcmFtIHtXaXRoQ291bnRFbnRyeVtdfSBhcmdzLmVudHJpZXMgLSBOb3JtYWxpemVkIHdpdGhDb3VudCBlbnRyaWVzLlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5XaXRoQ291bnQoe21vZGVscywgbW9kZWxDbGFzcywgZW50cmllc30pIHtcbiAgaWYgKG1vZGVscy5sZW5ndGggPT09IDAgfHwgZW50cmllcy5sZW5ndGggPT09IDApIHJldHVyblxuXG4gIGNvbnN0IHByaW1hcnlLZXkgPSBtb2RlbENsYXNzLnByaW1hcnlLZXkoKVxuICBjb25zdCBwYXJlbnRJZHMgPSBtb2RlbHMubWFwKChtb2RlbCkgPT4gLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB0eXBlIHtzdHJpbmcgfCBudW1iZXJ9ICovIChtb2RlbC5yZWFkQ29sdW1uKHByaW1hcnlLZXkpKSlcblxuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICBjb25zdCBjb3VudHMgPSBhd2FpdCBjb3VudEZvckVudHJ5KHtlbnRyaWVzLCBlbnRyeSwgbW9kZWxDbGFzcywgcGFyZW50SWRzfSlcblxuICAgIGZvciAoY29uc3QgbW9kZWwgb2YgbW9kZWxzKSB7XG4gICAgICBjb25zdCBtb2RlbFByaW1hcnlLZXlWYWx1ZSA9IC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHR5cGUge3N0cmluZyB8IG51bWJlcn0gKi8gKG1vZGVsLnJlYWRDb2x1bW4ocHJpbWFyeUtleSkpXG4gICAgICAvLyBUb2xlcmF0ZSBkcml2ZXIgZGlmZmVyZW5jZXMgaW4gbnVtZXJpYyByZXR1cm4gdHlwZXM6IFNRTGl0ZVxuICAgICAgLy8gcmV0dXJucyBpbnRlZ2VycyBhcyBKUyBudW1iZXJzLCBidXQgTXlTUUwncyByYXcgZHJpdmVyIGNhblxuICAgICAgLy8gcmV0dXJuIGNvdW50IHByaW1hcnkga2V5cyBhcyBzdHJpbmdzLiBUcnkgYm90aC5cbiAgICAgIGNvbnN0IHJlc29sdmVkQ291bnQgPSBjb3VudHMuaGFzKG1vZGVsUHJpbWFyeUtleVZhbHVlKVxuICAgICAgICA/IC8qKlxuICAgICAgICAgICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICAgICAgICAgIEB0eXBlIHtudW1iZXJ9ICovIChjb3VudHMuZ2V0KG1vZGVsUHJpbWFyeUtleVZhbHVlKSlcbiAgICAgICAgOiBOdW1iZXIoY291bnRzLmdldChTdHJpbmcobW9kZWxQcmltYXJ5S2V5VmFsdWUpKSA/PyAwKVxuXG4gICAgICAvLyBDb3VudHMgZ28gb24gdGhlIHJlY29yZCdzIGRlZGljYXRlZCBhc3NvY2lhdGlvbi1jb3VudCBtYXAsXG4gICAgICAvLyBOT1Qgb24gYF9hdHRyaWJ1dGVzYCwgc28gYSB2aXJ0dWFsIGB0YXNrc0NvdW50YCBjYW4ndCBzaGFkb3cgYVxuICAgICAgLy8gcmVhbCBgdGFza3NfY291bnRgIGNvbHVtbiAoZS5nLiBhIGNvdW50ZXJfY2FjaGUpIG5vciBsZWFrIGludG9cbiAgICAgIC8vIGF0dHJpYnV0ZS1sZXZlbCBzZXJpYWxpemF0aW9uIC8gY2hhbmdlIHRyYWNraW5nLlxuICAgICAgbW9kZWwuX3NldEFzc29jaWF0aW9uQ291bnQoZW50cnkuYXR0cmlidXRlTmFtZSwgcmVzb2x2ZWRDb3VudClcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIGNvdW50IGZvciBlbnRyeS5cbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucy5cbiAqIEBwYXJhbSB7V2l0aENvdW50RW50cnlbXX0gYXJncy5lbnRyaWVzIC0gQWxsIGVudHJpZXMsIHVzZWQgZm9yIGVycm9yIGNvbnRleHQgb25seS5cbiAqIEBwYXJhbSB7V2l0aENvdW50RW50cnl9IGFyZ3MuZW50cnkgLSBFbnRyeSBiZWluZyBldmFsdWF0ZWQuXG4gKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuLi9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5tb2RlbENsYXNzIC0gUGFyZW50IG1vZGVsIGNsYXNzLlxuICogQHBhcmFtIHtBcnJheTxzdHJpbmcgfCBudW1iZXI+fSBhcmdzLnBhcmVudElkcyAtIFByaW1hcnkga2V5cyBvZiB0aGUgbG9hZGVkIHBhcmVudHMuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxNYXA8c3RyaW5nIHwgbnVtYmVyLCBudW1iZXI+Pn0gLSBNYXAgb2YgcGFyZW50IHBrIOKGkiBjb3VudC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gY291bnRGb3JFbnRyeSh7ZW50cmllcywgZW50cnksIG1vZGVsQ2xhc3MsIHBhcmVudElkc30pIHtcbiAgdm9pZCBlbnRyaWVzXG5cbiAgY29uc3QgcmVsYXRpb25zaGlwID0gbW9kZWxDbGFzcy5nZXRSZWxhdGlvbnNoaXBCeU5hbWUoZW50cnkucmVsYXRpb25zaGlwTmFtZSlcblxuICBpZiAoIXJlbGF0aW9uc2hpcCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHttb2RlbENsYXNzLm5hbWV9IGhhcyBubyByZWxhdGlvbnNoaXAgbmFtZWQgJHtKU09OLnN0cmluZ2lmeShlbnRyeS5yZWxhdGlvbnNoaXBOYW1lKX0gKHdpdGhDb3VudCBhdHRyaWJ1dGUgJHtKU09OLnN0cmluZ2lmeShlbnRyeS5hdHRyaWJ1dGVOYW1lKX0pYClcbiAgfVxuXG4gIGlmIChyZWxhdGlvbnNoaXAudHlwZSAhPT0gXCJoYXNNYW55XCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHdpdGhDb3VudCBjdXJyZW50bHkgc3VwcG9ydHMgb25seSBoYXNNYW55IHJlbGF0aW9uc2hpcHM7ICR7bW9kZWxDbGFzcy5uYW1lfSMke2VudHJ5LnJlbGF0aW9uc2hpcE5hbWV9IGlzICR7cmVsYXRpb25zaGlwLnR5cGV9YClcbiAgfVxuXG4gIGNvbnN0IHRhcmdldE1vZGVsQ2xhc3MgPSByZWxhdGlvbnNoaXAuZ2V0VGFyZ2V0TW9kZWxDbGFzcygpXG5cbiAgaWYgKCF0YXJnZXRNb2RlbENsYXNzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB3aXRoQ291bnQ6IGNvdWxkIG5vdCByZXNvbHZlIHRhcmdldCBtb2RlbCBmb3IgJHttb2RlbENsYXNzLm5hbWV9IyR7ZW50cnkucmVsYXRpb25zaGlwTmFtZX1gKVxuICB9XG5cbiAgY29uc3QgZm9yZWlnbktleSA9IHJlbGF0aW9uc2hpcC5nZXRGb3JlaWduS2V5KClcbiAgLyoqXG4gICAqIFdoZXJlIGNvbmRpdGlvbnMuXG4gICAgQHR5cGUge1JlY29yZDxzdHJpbmcsID8+fSAqL1xuICBjb25zdCB3aGVyZUNvbmRpdGlvbnMgPSB7W2ZvcmVpZ25LZXldOiBwYXJlbnRJZHN9XG5cbiAgaWYgKHJlbGF0aW9uc2hpcC5nZXRQb2x5bW9ycGhpYyAmJiByZWxhdGlvbnNoaXAuZ2V0UG9seW1vcnBoaWMoKSkge1xuICAgIGNvbnN0IHR5cGVDb2x1bW4gPSByZWxhdGlvbnNoaXAuZ2V0UG9seW1vcnBoaWNUeXBlQ29sdW1uKClcbiAgICB3aGVyZUNvbmRpdGlvbnNbdHlwZUNvbHVtbl0gPSBtb2RlbENsYXNzLmdldE1vZGVsTmFtZSgpXG4gIH1cblxuICBpZiAoZW50cnkud2hlcmUpIHtcbiAgICBPYmplY3QuYXNzaWduKHdoZXJlQ29uZGl0aW9ucywgZW50cnkud2hlcmUpXG4gIH1cblxuICBjb25zdCBjb3VudFF1ZXJ5ID0gdGFyZ2V0TW9kZWxDbGFzc1xuICAgIC53aGVyZSh3aGVyZUNvbmRpdGlvbnMpXG4gICAgLmdyb3VwKGZvcmVpZ25LZXkpXG5cbiAgY291bnRRdWVyeS5fcHJlbG9hZCA9IHt9XG4gIGNvdW50UXVlcnkuX3NlbGVjdHMgPSBbXVxuXG4gIGNvbnN0IGRyaXZlciA9IGNvdW50UXVlcnkuZHJpdmVyXG4gIGNvbnN0IHF1b3RlZFRhYmxlID0gZHJpdmVyLnF1b3RlVGFibGUodGFyZ2V0TW9kZWxDbGFzcy50YWJsZU5hbWUoKSlcbiAgY29uc3QgcXVvdGVkRmsgPSBkcml2ZXIucXVvdGVDb2x1bW4oZm9yZWlnbktleSlcblxuICBjb3VudFF1ZXJ5LnNlbGVjdChgJHtxdW90ZWRUYWJsZX0uJHtxdW90ZWRGa30gQVMgcGFyZW50X2lkYClcbiAgY291bnRRdWVyeS5zZWxlY3QoXCJDT1VOVCgqKSBBUyBjb3VudF92YWx1ZVwiKVxuXG4gIGNvbnN0IHJvd3MgPSAvKipcbiAgICAgICAgICAgICAgICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICAgICAgICAgICAgICAgQHR5cGUge0FycmF5PHtwYXJlbnRfaWQ6IHN0cmluZyB8IG51bWJlciwgY291bnRfdmFsdWU6IHN0cmluZyB8IG51bWJlcn0+fSAqLyAoXG4gICAgYXdhaXQgY291bnRRdWVyeS5fZXhlY3V0ZVF1ZXJ5KClcbiAgKVxuXG4gIC8qKlxuICAgKiBDb3VudHMuXG4gICAgQHR5cGUge01hcDxzdHJpbmcgfCBudW1iZXIsIG51bWJlcj59ICovXG4gIGNvbnN0IGNvdW50cyA9IG5ldyBNYXAoKVxuXG4gIGZvciAoY29uc3Qgcm93IG9mIHJvd3MpIHtcbiAgICBjb25zdCBwYXJlbnRJZCA9IC8qKlxuICAgICAgICAgICAgICAgICAgICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAgICAgICAgICAgICAgICAgICBAdHlwZSB7c3RyaW5nIHwgbnVtYmVyfSAqLyAocm93LnBhcmVudF9pZClcbiAgICBjb25zdCBjb3VudFZhbHVlID0gTnVtYmVyKHJvdy5jb3VudF92YWx1ZSkgfHwgMFxuICAgIGNvdW50cy5zZXQocGFyZW50SWQsIGNvdW50VmFsdWUpXG4gIH1cblxuICByZXR1cm4gY291bnRzXG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  export default class VelociousDatabaseBaseQueryParser {
2
2
  /**
3
+ * Runs constructor.
3
4
  * @param {object} args - Options object.
4
5
  * @param {boolean} [args.pretty] - Whether pretty.
5
6
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -1 +1 @@
1
- {"version":3,"file":"base-query-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/base-query-parser.js"],"names":[],"mappings":"AAUA;IACE;;;;OAIG;IACH,+BAHG;QAAuB,MAAM;QACqB,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAMA;IAFC,gBAAoB;IACpB,2CAAkB;IAGpB,gBAcC;CACF"}
1
+ {"version":3,"file":"base-query-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/base-query-parser.js"],"names":[],"mappings":"AAUA;IACE;;;;;OAKG;IACH,+BAHG;QAAuB,MAAM;QACqB,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAMA;IAFC,gBAAoB;IACpB,2CAAkB;IAGpB,gBAcC;CACF"}
@@ -8,6 +8,7 @@ import SelectParser from "./select-parser.js";
8
8
  import WhereParser from "./where-parser.js";
9
9
  export default class VelociousDatabaseBaseQueryParser {
10
10
  /**
11
+ * Runs constructor.
11
12
  * @param {object} args - Options object.
12
13
  * @param {boolean} [args.pretty] - Whether pretty.
13
14
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -31,4 +32,4 @@ export default class VelociousDatabaseBaseQueryParser {
31
32
  return sql;
32
33
  }
33
34
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWVyeS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvcXVlcnktcGFyc2VyL2Jhc2UtcXVlcnktcGFyc2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUUzQyxNQUFNLENBQUMsT0FBTyxPQUFPLGdDQUFnQztJQUNuRDs7OztPQUlHO0lBQ0gsWUFBWSxFQUFDLE1BQU0sR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRTdDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUE7UUFFNUIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFBO1FBRVosR0FBRyxJQUFJLElBQUksWUFBWSxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDaEQsR0FBRyxJQUFJLElBQUksVUFBVSxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDOUMsR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDL0MsR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDL0MsR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDL0MsR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDL0MsR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFFL0MsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEZyb21QYXJzZXIgZnJvbSBcIi4vZnJvbS1wYXJzZXIuanNcIlxuaW1wb3J0IEdyb3VwUGFyc2VyIGZyb20gXCIuL2dyb3VwLXBhcnNlci5qc1wiXG5pbXBvcnQgSm9pbnNQYXJzZXIgZnJvbSBcIi4vam9pbnMtcGFyc2VyLmpzXCJcbmltcG9ydCBMaW1pdFBhcnNlciBmcm9tIFwiLi9saW1pdC1wYXJzZXIuanNcIlxuaW1wb3J0IE9yZGVyUGFyc2VyIGZyb20gXCIuL29yZGVyLXBhcnNlci5qc1wiXG5pbXBvcnQgU2VsZWN0UGFyc2VyIGZyb20gXCIuL3NlbGVjdC1wYXJzZXIuanNcIlxuaW1wb3J0IFdoZXJlUGFyc2VyIGZyb20gXCIuL3doZXJlLXBhcnNlci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlQmFzZVF1ZXJ5UGFyc2VyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3MucHJldHR5XSAtIFdoZXRoZXIgcHJldHR5LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3F1ZXJ5L2luZGV4LmpzXCIpLmRlZmF1bHR9IGFyZ3MucXVlcnkgLSBRdWVyeSBpbnN0YW5jZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtwcmV0dHkgPSBmYWxzZSwgcXVlcnl9KSB7XG4gICAgaWYgKCFxdWVyeSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gcXVlcnkgZ2l2ZW5cIilcblxuICAgIHRoaXMucHJldHR5ID0gcHJldHR5XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5XG4gIH1cblxuICB0b1NxbCgpIHtcbiAgICBjb25zdCB7cHJldHR5LCBxdWVyeX0gPSB0aGlzXG5cbiAgICBsZXQgc3FsID0gXCJcIlxuXG4gICAgc3FsICs9IG5ldyBTZWxlY3RQYXJzZXIoe3ByZXR0eSwgcXVlcnl9KS50b1NxbCgpXG4gICAgc3FsICs9IG5ldyBGcm9tUGFyc2VyKHtwcmV0dHksIHF1ZXJ5fSkudG9TcWwoKVxuICAgIHNxbCArPSBuZXcgSm9pbnNQYXJzZXIoe3ByZXR0eSwgcXVlcnl9KS50b1NxbCgpXG4gICAgc3FsICs9IG5ldyBXaGVyZVBhcnNlcih7cHJldHR5LCBxdWVyeX0pLnRvU3FsKClcbiAgICBzcWwgKz0gbmV3IEdyb3VwUGFyc2VyKHtwcmV0dHksIHF1ZXJ5fSkudG9TcWwoKVxuICAgIHNxbCArPSBuZXcgT3JkZXJQYXJzZXIoe3ByZXR0eSwgcXVlcnl9KS50b1NxbCgpXG4gICAgc3FsICs9IG5ldyBMaW1pdFBhcnNlcih7cHJldHR5LCBxdWVyeX0pLnRvU3FsKClcblxuICAgIHJldHVybiBzcWxcbiAgfVxufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWVyeS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvcXVlcnktcGFyc2VyL2Jhc2UtcXVlcnktcGFyc2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUUzQyxNQUFNLENBQUMsT0FBTyxPQUFPLGdDQUFnQztJQUNuRDs7Ozs7T0FLRztJQUNILFlBQVksRUFBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLEtBQUssRUFBQztRQUNqQyxJQUFJLENBQUMsS0FBSztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUU3QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFBO1FBRTVCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQTtRQUVaLEdBQUcsSUFBSSxJQUFJLFlBQVksQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2hELEdBQUcsSUFBSSxJQUFJLFVBQVUsQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzlDLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQy9DLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQy9DLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQy9DLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQy9DLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBRS9DLE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBGcm9tUGFyc2VyIGZyb20gXCIuL2Zyb20tcGFyc2VyLmpzXCJcbmltcG9ydCBHcm91cFBhcnNlciBmcm9tIFwiLi9ncm91cC1wYXJzZXIuanNcIlxuaW1wb3J0IEpvaW5zUGFyc2VyIGZyb20gXCIuL2pvaW5zLXBhcnNlci5qc1wiXG5pbXBvcnQgTGltaXRQYXJzZXIgZnJvbSBcIi4vbGltaXQtcGFyc2VyLmpzXCJcbmltcG9ydCBPcmRlclBhcnNlciBmcm9tIFwiLi9vcmRlci1wYXJzZXIuanNcIlxuaW1wb3J0IFNlbGVjdFBhcnNlciBmcm9tIFwiLi9zZWxlY3QtcGFyc2VyLmpzXCJcbmltcG9ydCBXaGVyZVBhcnNlciBmcm9tIFwiLi93aGVyZS1wYXJzZXIuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNEYXRhYmFzZUJhc2VRdWVyeVBhcnNlciB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLnByZXR0eV0gLSBXaGV0aGVyIHByZXR0eS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9xdWVyeS9pbmRleC5qc1wiKS5kZWZhdWx0fSBhcmdzLnF1ZXJ5IC0gUXVlcnkgaW5zdGFuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7cHJldHR5ID0gZmFsc2UsIHF1ZXJ5fSkge1xuICAgIGlmICghcXVlcnkpIHRocm93IG5ldyBFcnJvcihcIk5vIHF1ZXJ5IGdpdmVuXCIpXG5cbiAgICB0aGlzLnByZXR0eSA9IHByZXR0eVxuICAgIHRoaXMucXVlcnkgPSBxdWVyeVxuICB9XG5cbiAgdG9TcWwoKSB7XG4gICAgY29uc3Qge3ByZXR0eSwgcXVlcnl9ID0gdGhpc1xuXG4gICAgbGV0IHNxbCA9IFwiXCJcblxuICAgIHNxbCArPSBuZXcgU2VsZWN0UGFyc2VyKHtwcmV0dHksIHF1ZXJ5fSkudG9TcWwoKVxuICAgIHNxbCArPSBuZXcgRnJvbVBhcnNlcih7cHJldHR5LCBxdWVyeX0pLnRvU3FsKClcbiAgICBzcWwgKz0gbmV3IEpvaW5zUGFyc2VyKHtwcmV0dHksIHF1ZXJ5fSkudG9TcWwoKVxuICAgIHNxbCArPSBuZXcgV2hlcmVQYXJzZXIoe3ByZXR0eSwgcXVlcnl9KS50b1NxbCgpXG4gICAgc3FsICs9IG5ldyBHcm91cFBhcnNlcih7cHJldHR5LCBxdWVyeX0pLnRvU3FsKClcbiAgICBzcWwgKz0gbmV3IE9yZGVyUGFyc2VyKHtwcmV0dHksIHF1ZXJ5fSkudG9TcWwoKVxuICAgIHNxbCArPSBuZXcgTGltaXRQYXJzZXIoe3ByZXR0eSwgcXVlcnl9KS50b1NxbCgpXG5cbiAgICByZXR1cm4gc3FsXG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  export default class VelociousDatabaseQueryParserFromParser {
2
2
  /**
3
+ * Runs constructor.
3
4
  * @param {object} args - Options object.
4
5
  * @param {boolean} args.pretty - Whether pretty.
5
6
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -10,7 +11,10 @@ export default class VelociousDatabaseQueryParserFromParser {
10
11
  });
11
12
  pretty: boolean;
12
13
  query: import("../query/index.js").default;
13
- /** @returns {string} - SQL string. */
14
+ /**
15
+ * Runs to sql.
16
+ * @returns {string} - SQL string.
17
+ */
14
18
  toSql(): string;
15
19
  }
16
20
  //# sourceMappingURL=from-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"from-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/from-parser.js"],"names":[],"mappings":"AAIA;IACE;;;;OAIG;IACH,4CAHG;QAAsB,MAAM,EAApB,OAAO;QACmC,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAMA;IAFC,gBAAoB;IACpB,2CAAkB;IAGpB,uCAAuC;IACvC,SADc,MAAM,CA0BnB;CACF"}
1
+ {"version":3,"file":"from-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/from-parser.js"],"names":[],"mappings":"AAIA;IACE;;;;;OAKG;IACH,4CAHG;QAAsB,MAAM,EAApB,OAAO;QACmC,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAMA;IAFC,gBAAoB;IACpB,2CAAkB;IAGpB;;;OAGG;IACH,SAFa,MAAM,CA2BlB;CACF"}
@@ -2,6 +2,7 @@
2
2
  import restArgsError from "../../utils/rest-args-error.js";
3
3
  export default class VelociousDatabaseQueryParserFromParser {
4
4
  /**
5
+ * Runs constructor.
5
6
  * @param {object} args - Options object.
6
7
  * @param {boolean} args.pretty - Whether pretty.
7
8
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -11,7 +12,10 @@ export default class VelociousDatabaseQueryParserFromParser {
11
12
  this.pretty = pretty;
12
13
  this.query = query;
13
14
  }
14
- /** @returns {string} - SQL string. */
15
+ /**
16
+ * Runs to sql.
17
+ * @returns {string} - SQL string.
18
+ */
15
19
  toSql() {
16
20
  const { pretty, query } = this;
17
21
  const froms = query.getFroms();
@@ -33,4 +37,4 @@ export default class VelociousDatabaseQueryParserFromParser {
33
37
  return sql;
34
38
  }
35
39
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvcXVlcnktcGFyc2VyL2Zyb20tcGFyc2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLGFBQWEsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUUxRCxNQUFNLENBQUMsT0FBTyxPQUFPLHNDQUFzQztJQUN6RDs7OztPQUlHO0lBQ0gsWUFBWSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxRQUFRLEVBQUM7UUFDdEMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRXZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsS0FBSztRQUNILE1BQU0sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzVCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUU5QixJQUFJLEdBQUcsR0FBRyxPQUFPLENBQUE7UUFFakIsS0FBSyxNQUFNLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7WUFFM0IsSUFBSSxPQUFPLE9BQU8sSUFBSSxRQUFRLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxHQUFHLElBQUksR0FBRyxDQUFBO1lBQ1osQ0FBQztZQUVELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsR0FBRyxJQUFJLE1BQU0sQ0FBQTtZQUNmLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLElBQUksR0FBRyxDQUFBO1lBQ1osQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7WUFFcEIsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNyQixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUXVlcnlQYXJzZXJGcm9tUGFyc2VyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYXJncy5wcmV0dHkgLSBXaGV0aGVyIHByZXR0eS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9xdWVyeS9pbmRleC5qc1wiKS5kZWZhdWx0fSBhcmdzLnF1ZXJ5IC0gUXVlcnkgaW5zdGFuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7cHJldHR5LCBxdWVyeSwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIHRoaXMucHJldHR5ID0gcHJldHR5XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5XG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gLSBTUUwgc3RyaW5nLiAgKi9cbiAgdG9TcWwoKSB7XG4gICAgY29uc3Qge3ByZXR0eSwgcXVlcnl9ID0gdGhpc1xuICAgIGNvbnN0IGZyb21zID0gcXVlcnkuZ2V0RnJvbXMoKVxuXG4gICAgbGV0IHNxbCA9IFwiIEZST01cIlxuXG4gICAgZm9yIChjb25zdCBmcm9tS2V5IGluIGZyb21zKSB7XG4gICAgICBjb25zdCBmcm9tID0gZnJvbXNbZnJvbUtleV1cblxuICAgICAgaWYgKHR5cGVvZiBmcm9tS2V5ID09IFwibnVtYmVyXCIgJiYgZnJvbUtleSA+IDApIHtcbiAgICAgICAgc3FsICs9IFwiLFwiXG4gICAgICB9XG5cbiAgICAgIGlmIChwcmV0dHkpIHtcbiAgICAgICAgc3FsICs9IFwiXFxuICBcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3FsICs9IFwiIFwiXG4gICAgICB9XG5cbiAgICAgIGZyb20uc2V0UXVlcnkocXVlcnkpXG5cbiAgICAgIHNxbCArPSBmcm9tLnRvU3FsKClcbiAgICB9XG5cbiAgICByZXR1cm4gc3FsXG4gIH1cbn1cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvcXVlcnktcGFyc2VyL2Zyb20tcGFyc2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLGFBQWEsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUUxRCxNQUFNLENBQUMsT0FBTyxPQUFPLHNDQUFzQztJQUN6RDs7Ozs7T0FLRztJQUNILFlBQVksRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQ3RDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSztRQUNILE1BQU0sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzVCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUU5QixJQUFJLEdBQUcsR0FBRyxPQUFPLENBQUE7UUFFakIsS0FBSyxNQUFNLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7WUFFM0IsSUFBSSxPQUFPLE9BQU8sSUFBSSxRQUFRLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxHQUFHLElBQUksR0FBRyxDQUFBO1lBQ1osQ0FBQztZQUVELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsR0FBRyxJQUFJLE1BQU0sQ0FBQTtZQUNmLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLElBQUksR0FBRyxDQUFBO1lBQ1osQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7WUFFcEIsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNyQixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUXVlcnlQYXJzZXJGcm9tUGFyc2VyIHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYXJncy5wcmV0dHkgLSBXaGV0aGVyIHByZXR0eS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9xdWVyeS9pbmRleC5qc1wiKS5kZWZhdWx0fSBhcmdzLnF1ZXJ5IC0gUXVlcnkgaW5zdGFuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7cHJldHR5LCBxdWVyeSwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIHRoaXMucHJldHR5ID0gcHJldHR5XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5XG4gIH1cblxuICAvKipcbiAgICogUnVucyB0byBzcWwuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU1FMIHN0cmluZy5cbiAgICovXG4gIHRvU3FsKCkge1xuICAgIGNvbnN0IHtwcmV0dHksIHF1ZXJ5fSA9IHRoaXNcbiAgICBjb25zdCBmcm9tcyA9IHF1ZXJ5LmdldEZyb21zKClcblxuICAgIGxldCBzcWwgPSBcIiBGUk9NXCJcblxuICAgIGZvciAoY29uc3QgZnJvbUtleSBpbiBmcm9tcykge1xuICAgICAgY29uc3QgZnJvbSA9IGZyb21zW2Zyb21LZXldXG5cbiAgICAgIGlmICh0eXBlb2YgZnJvbUtleSA9PSBcIm51bWJlclwiICYmIGZyb21LZXkgPiAwKSB7XG4gICAgICAgIHNxbCArPSBcIixcIlxuICAgICAgfVxuXG4gICAgICBpZiAocHJldHR5KSB7XG4gICAgICAgIHNxbCArPSBcIlxcbiAgXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNxbCArPSBcIiBcIlxuICAgICAgfVxuXG4gICAgICBmcm9tLnNldFF1ZXJ5KHF1ZXJ5KVxuXG4gICAgICBzcWwgKz0gZnJvbS50b1NxbCgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHNxbFxuICB9XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  export default class VelociousDatabaseQueryParserFromParser {
2
2
  /**
3
+ * Runs constructor.
3
4
  * @param {object} args - Options object.
4
5
  * @param {boolean} args.pretty - Whether pretty.
5
6
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -11,6 +12,7 @@ export default class VelociousDatabaseQueryParserFromParser {
11
12
  pretty: boolean;
12
13
  query: import("../query/index.js").default;
13
14
  /**
15
+ * Runs to sql.
14
16
  * @returns {string} - SQL string.
15
17
  */
16
18
  toSql(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"group-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/group-parser.js"],"names":[],"mappings":"AAIA;IACE;;;;OAIG;IACH,4CAHG;QAAsB,MAAM,EAApB,OAAO;QACmC,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAMA;IAFC,gBAAoB;IACpB,2CAAkB;IAGpB;;OAEG;IACH,SAFa,MAAM,CAiClB;CACF"}
1
+ {"version":3,"file":"group-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/group-parser.js"],"names":[],"mappings":"AAIA;IACE;;;;;OAKG;IACH,4CAHG;QAAsB,MAAM,EAApB,OAAO;QACmC,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAMA;IAFC,gBAAoB;IACpB,2CAAkB;IAGpB;;;OAGG;IACH,SAFa,MAAM,CAiClB;CACF"}
@@ -2,6 +2,7 @@
2
2
  import restArgsError from "../../utils/rest-args-error.js";
3
3
  export default class VelociousDatabaseQueryParserFromParser {
4
4
  /**
5
+ * Runs constructor.
5
6
  * @param {object} args - Options object.
6
7
  * @param {boolean} args.pretty - Whether pretty.
7
8
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -12,6 +13,7 @@ export default class VelociousDatabaseQueryParserFromParser {
12
13
  this.query = query;
13
14
  }
14
15
  /**
16
+ * Runs to sql.
15
17
  * @returns {string} - SQL string.
16
18
  */
17
19
  toSql() {
@@ -42,4 +44,4 @@ export default class VelociousDatabaseQueryParserFromParser {
42
44
  return sql;
43
45
  }
44
46
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3F1ZXJ5LXBhcnNlci9ncm91cC1wYXJzZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sYUFBYSxNQUFNLGdDQUFnQyxDQUFBO0FBRTFELE1BQU0sQ0FBQyxPQUFPLE9BQU8sc0NBQXNDO0lBQ3pEOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFFBQVEsRUFBQztRQUN0QyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILE1BQU0sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzVCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQTtRQUVoQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDO1FBRUQsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFBO1FBRXJCLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBRTlCLElBQUksT0FBTyxRQUFRLElBQUksUUFBUSxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDaEQsR0FBRyxJQUFJLEdBQUcsQ0FBQTtZQUNaLENBQUM7WUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLEdBQUcsSUFBSSxNQUFNLENBQUE7WUFDZixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRyxJQUFJLEdBQUcsQ0FBQTtZQUNaLENBQUM7WUFFRCxJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixHQUFHLElBQUksS0FBSyxDQUFBO1lBQ2QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQTtZQUM1RCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi8uLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNEYXRhYmFzZVF1ZXJ5UGFyc2VyRnJvbVBhcnNlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGFyZ3MucHJldHR5IC0gV2hldGhlciBwcmV0dHkuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vcXVlcnkvaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5xdWVyeSAtIFF1ZXJ5IGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe3ByZXR0eSwgcXVlcnksIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICB0aGlzLnByZXR0eSA9IHByZXR0eVxuICAgIHRoaXMucXVlcnkgPSBxdWVyeVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU1FMIHN0cmluZy5cbiAgICovXG4gIHRvU3FsKCkge1xuICAgIGNvbnN0IHtwcmV0dHksIHF1ZXJ5fSA9IHRoaXNcbiAgICBjb25zdCBncm91cHMgPSBxdWVyeS5nZXRHcm91cHMoKVxuXG4gICAgaWYgKGdyb3Vwcy5sZW5ndGggPT0gMCkge1xuICAgICAgcmV0dXJuIFwiXCJcbiAgICB9XG5cbiAgICBsZXQgc3FsID0gXCIgR1JPVVAgQllcIlxuXG4gICAgZm9yIChjb25zdCBncm91cEtleSBpbiBncm91cHMpIHtcbiAgICAgIGNvbnN0IGdyb3VwID0gZ3JvdXBzW2dyb3VwS2V5XVxuXG4gICAgICBpZiAodHlwZW9mIGdyb3VwS2V5ID09IFwibnVtYmVyXCIgJiYgZ3JvdXBLZXkgPiAwKSB7XG4gICAgICAgIHNxbCArPSBcIixcIlxuICAgICAgfVxuXG4gICAgICBpZiAocHJldHR5KSB7XG4gICAgICAgIHNxbCArPSBcIlxcbiAgXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNxbCArPSBcIiBcIlxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGdyb3VwID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgc3FsICs9IGdyb3VwXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGdyb3VwIHR5cGU6ICR7dHlwZW9mIGdyb3VwfWApXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNxbFxuICB9XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3F1ZXJ5LXBhcnNlci9ncm91cC1wYXJzZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sYUFBYSxNQUFNLGdDQUFnQyxDQUFBO0FBRTFELE1BQU0sQ0FBQyxPQUFPLE9BQU8sc0NBQXNDO0lBQ3pEOzs7OztPQUtHO0lBQ0gsWUFBWSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxRQUFRLEVBQUM7UUFDdEMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRXZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLO1FBQ0gsTUFBTSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUE7UUFDNUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBRWhDLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEVBQUUsQ0FBQTtRQUNYLENBQUM7UUFFRCxJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUE7UUFFckIsS0FBSyxNQUFNLFFBQVEsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7WUFFOUIsSUFBSSxPQUFPLFFBQVEsSUFBSSxRQUFRLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxHQUFHLElBQUksR0FBRyxDQUFBO1lBQ1osQ0FBQztZQUVELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsR0FBRyxJQUFJLE1BQU0sQ0FBQTtZQUNmLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLElBQUksR0FBRyxDQUFBO1lBQ1osQ0FBQztZQUVELElBQUksT0FBTyxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzdCLEdBQUcsSUFBSSxLQUFLLENBQUE7WUFDZCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFBO1lBQzVELENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUXVlcnlQYXJzZXJGcm9tUGFyc2VyIHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYXJncy5wcmV0dHkgLSBXaGV0aGVyIHByZXR0eS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9xdWVyeS9pbmRleC5qc1wiKS5kZWZhdWx0fSBhcmdzLnF1ZXJ5IC0gUXVlcnkgaW5zdGFuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7cHJldHR5LCBxdWVyeSwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIHRoaXMucHJldHR5ID0gcHJldHR5XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5XG4gIH1cblxuICAvKipcbiAgICogUnVucyB0byBzcWwuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU1FMIHN0cmluZy5cbiAgICovXG4gIHRvU3FsKCkge1xuICAgIGNvbnN0IHtwcmV0dHksIHF1ZXJ5fSA9IHRoaXNcbiAgICBjb25zdCBncm91cHMgPSBxdWVyeS5nZXRHcm91cHMoKVxuXG4gICAgaWYgKGdyb3Vwcy5sZW5ndGggPT0gMCkge1xuICAgICAgcmV0dXJuIFwiXCJcbiAgICB9XG5cbiAgICBsZXQgc3FsID0gXCIgR1JPVVAgQllcIlxuXG4gICAgZm9yIChjb25zdCBncm91cEtleSBpbiBncm91cHMpIHtcbiAgICAgIGNvbnN0IGdyb3VwID0gZ3JvdXBzW2dyb3VwS2V5XVxuXG4gICAgICBpZiAodHlwZW9mIGdyb3VwS2V5ID09IFwibnVtYmVyXCIgJiYgZ3JvdXBLZXkgPiAwKSB7XG4gICAgICAgIHNxbCArPSBcIixcIlxuICAgICAgfVxuXG4gICAgICBpZiAocHJldHR5KSB7XG4gICAgICAgIHNxbCArPSBcIlxcbiAgXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNxbCArPSBcIiBcIlxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGdyb3VwID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgc3FsICs9IGdyb3VwXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGdyb3VwIHR5cGU6ICR7dHlwZW9mIGdyb3VwfWApXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNxbFxuICB9XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  export default class VelocuiousDatabaseQueryParserJoinsParser {
2
2
  /**
3
+ * Runs constructor.
3
4
  * @param {object} args - Options object.
4
5
  * @param {boolean} args.pretty - Whether pretty.
5
6
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -1 +1 @@
1
- {"version":3,"file":"joins-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/joins-parser.js"],"names":[],"mappings":"AAEA;IACE;;;;OAIG;IACH,+BAHG;QAAsB,MAAM,EAApB,OAAO;QACmC,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAKA;IAHC,gBAAoB;IACpB,2CAAkB;IAClB,2CAA6B;IAG/B,gBAoBC;CACF"}
1
+ {"version":3,"file":"joins-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/joins-parser.js"],"names":[],"mappings":"AAEA;IACE;;;;;OAKG;IACH,+BAHG;QAAsB,MAAM,EAApB,OAAO;QACmC,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAKA;IAHC,gBAAoB;IACpB,2CAAkB;IAClB,2CAA6B;IAG/B,gBAoBC;CACF"}
@@ -1,6 +1,7 @@
1
1
  // @ts-check
2
2
  export default class VelocuiousDatabaseQueryParserJoinsParser {
3
3
  /**
4
+ * Runs constructor.
4
5
  * @param {object} args - Options object.
5
6
  * @param {boolean} args.pretty - Whether pretty.
6
7
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -28,4 +29,4 @@ export default class VelocuiousDatabaseQueryParserJoinsParser {
28
29
  return sql;
29
30
  }
30
31
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9pbnMtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3F1ZXJ5LXBhcnNlci9qb2lucy1wYXJzZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0NBQXdDO0lBQzNEOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFBO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUE7UUFDNUIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFBO1FBRVosS0FBSyxNQUFNLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUVsQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7WUFFcEIsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxHQUFHLElBQUksTUFBTSxDQUFBO1lBQ2YsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsSUFBSSxHQUFHLENBQUE7WUFDWixDQUFDO1lBRUQsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNyQixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUE7SUFDWixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2N1aW91c0RhdGFiYXNlUXVlcnlQYXJzZXJKb2luc1BhcnNlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGFyZ3MucHJldHR5IC0gV2hldGhlciBwcmV0dHkuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vcXVlcnkvaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5xdWVyeSAtIFF1ZXJ5IGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe3ByZXR0eSwgcXVlcnl9KSB7XG4gICAgdGhpcy5wcmV0dHkgPSBwcmV0dHlcbiAgICB0aGlzLnF1ZXJ5ID0gcXVlcnlcbiAgICB0aGlzLmNvbm4gPSB0aGlzLnF1ZXJ5LmRyaXZlclxuICB9XG5cbiAgdG9TcWwoKSB7XG4gICAgY29uc3Qge3ByZXR0eSwgcXVlcnl9ID0gdGhpc1xuICAgIGxldCBzcWwgPSBcIlwiXG5cbiAgICBmb3IgKGNvbnN0IGpvaW5LZXkgaW4gcXVlcnkuX2pvaW5zKSB7XG4gICAgICBjb25zdCBqb2luID0gcXVlcnkuX2pvaW5zW2pvaW5LZXldXG5cbiAgICAgIGpvaW4uc2V0UHJldHR5KHByZXR0eSlcbiAgICAgIGpvaW4uc2V0UXVlcnkocXVlcnkpXG5cbiAgICAgIGlmIChwcmV0dHkpIHtcbiAgICAgICAgc3FsICs9IFwiXFxuXFxuXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNxbCArPSBcIiBcIlxuICAgICAgfVxuXG4gICAgICBzcWwgKz0gam9pbi50b1NxbCgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHNxbFxuICB9XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9pbnMtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3F1ZXJ5LXBhcnNlci9qb2lucy1wYXJzZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0NBQXdDO0lBQzNEOzs7OztPQUtHO0lBQ0gsWUFBWSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQTtJQUMvQixDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzVCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQTtRQUVaLEtBQUssTUFBTSxPQUFPLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7WUFFbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRXBCLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsR0FBRyxJQUFJLE1BQU0sQ0FBQTtZQUNmLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLElBQUksR0FBRyxDQUFBO1lBQ1osQ0FBQztZQUVELEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDckIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jdWlvdXNEYXRhYmFzZVF1ZXJ5UGFyc2VySm9pbnNQYXJzZXIge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtib29sZWFufSBhcmdzLnByZXR0eSAtIFdoZXRoZXIgcHJldHR5LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3F1ZXJ5L2luZGV4LmpzXCIpLmRlZmF1bHR9IGFyZ3MucXVlcnkgLSBRdWVyeSBpbnN0YW5jZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtwcmV0dHksIHF1ZXJ5fSkge1xuICAgIHRoaXMucHJldHR5ID0gcHJldHR5XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5XG4gICAgdGhpcy5jb25uID0gdGhpcy5xdWVyeS5kcml2ZXJcbiAgfVxuXG4gIHRvU3FsKCkge1xuICAgIGNvbnN0IHtwcmV0dHksIHF1ZXJ5fSA9IHRoaXNcbiAgICBsZXQgc3FsID0gXCJcIlxuXG4gICAgZm9yIChjb25zdCBqb2luS2V5IGluIHF1ZXJ5Ll9qb2lucykge1xuICAgICAgY29uc3Qgam9pbiA9IHF1ZXJ5Ll9qb2luc1tqb2luS2V5XVxuXG4gICAgICBqb2luLnNldFByZXR0eShwcmV0dHkpXG4gICAgICBqb2luLnNldFF1ZXJ5KHF1ZXJ5KVxuXG4gICAgICBpZiAocHJldHR5KSB7XG4gICAgICAgIHNxbCArPSBcIlxcblxcblwiXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcWwgKz0gXCIgXCJcbiAgICAgIH1cblxuICAgICAgc3FsICs9IGpvaW4udG9TcWwoKVxuICAgIH1cblxuICAgIHJldHVybiBzcWxcbiAgfVxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  export default class VelocuiousDatabaseQueryParserLimitParser {
2
2
  /**
3
+ * Runs constructor.
3
4
  * @param {object} args - Options object.
4
5
  * @param {boolean} args.pretty - Whether pretty.
5
6
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -1 +1 @@
1
- {"version":3,"file":"limit-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/limit-parser.js"],"names":[],"mappings":"AAEA;IACE;;;;OAIG;IACH,+BAHG;QAAsB,MAAM,EAApB,OAAO;QACmC,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAIA;IAFC,gBAAoB;IACpB,2CAAkB;IAGpB,gBA6DC;CACF"}
1
+ {"version":3,"file":"limit-parser.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/limit-parser.js"],"names":[],"mappings":"AAEA;IACE;;;;;OAKG;IACH,+BAHG;QAAsB,MAAM,EAApB,OAAO;QACmC,KAAK,EAA/C,OAAO,mBAAmB,EAAE,OAAO;KAC7C,EAIA;IAFC,gBAAoB;IACpB,2CAAkB;IAGpB,gBA6DC;CACF"}
@@ -1,6 +1,7 @@
1
1
  // @ts-check
2
2
  export default class VelocuiousDatabaseQueryParserLimitParser {
3
3
  /**
4
+ * Runs constructor.
4
5
  * @param {object} args - Options object.
5
6
  * @param {boolean} args.pretty - Whether pretty.
6
7
  * @param {import("../query/index.js").default} args.query - Query instance.
@@ -70,4 +71,4 @@ export default class VelocuiousDatabaseQueryParserLimitParser {
70
71
  return sql;
71
72
  }
72
73
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGltaXQtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3F1ZXJ5LXBhcnNlci9saW1pdC1wYXJzZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0NBQXdDO0lBQzNEOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzVCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUE7UUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUN2QyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUE7UUFDWixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFBO1FBQzFCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUE7UUFDNUIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLFlBQVksSUFBSSxPQUFPLENBQUE7UUFDdkMsTUFBTSxRQUFRLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQTtRQUMvQixNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssSUFBSSxDQUFBO1FBRWpDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxHQUFHLENBQUE7UUFFdkMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLEdBQUcsSUFBSSxNQUFNLENBQUE7UUFDZixDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsSUFBSSxHQUFHLENBQUE7UUFDWixDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLEdBQUcsSUFBSSx5QkFBeUIsQ0FBQTtZQUNsQyxDQUFDO1lBRUQsR0FBRyxJQUFJLFVBQVUsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUE7WUFFbkUsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixHQUFHLElBQUksZUFBZSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUE7WUFDeEQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxJQUFJLE9BQU8sQ0FBQTtZQUVkLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsR0FBRyxJQUFJLE1BQU0sQ0FBQTtZQUNmLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLElBQUksR0FBRyxDQUFBO1lBQ1osQ0FBQztZQUVELElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDN0IsQ0FBQztpQkFBTSxJQUFJLFlBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDbkMsR0FBRyxJQUFJLEtBQUssQ0FBQTtZQUNkLENBQUM7aUJBQU0sSUFBSSxZQUFZLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ3BDLEdBQUcsSUFBSSxJQUFJLENBQUE7WUFDYixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRyxJQUFJLHNCQUFzQixDQUFBO1lBQy9CLENBQUM7WUFFRCxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ1gsR0FBRyxJQUFJLE1BQU0sQ0FBQTtnQkFDZixDQUFDO3FCQUFNLENBQUM7b0JBQ04sR0FBRyxJQUFJLEdBQUcsQ0FBQTtnQkFDWixDQUFDO2dCQUVELEdBQUcsSUFBSSxVQUFVLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQTtZQUMxQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jdWlvdXNEYXRhYmFzZVF1ZXJ5UGFyc2VyTGltaXRQYXJzZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtib29sZWFufSBhcmdzLnByZXR0eSAtIFdoZXRoZXIgcHJldHR5LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3F1ZXJ5L2luZGV4LmpzXCIpLmRlZmF1bHR9IGFyZ3MucXVlcnkgLSBRdWVyeSBpbnN0YW5jZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtwcmV0dHksIHF1ZXJ5fSkge1xuICAgIHRoaXMucHJldHR5ID0gcHJldHR5XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5XG4gIH1cblxuICB0b1NxbCgpIHtcbiAgICBjb25zdCB7cHJldHR5LCBxdWVyeX0gPSB0aGlzXG4gICAgY29uc3QgZHJpdmVyID0gcXVlcnkuZHJpdmVyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucXVlcnkuZ2V0T3B0aW9ucygpXG4gICAgbGV0IHNxbCA9IFwiXCJcbiAgICBjb25zdCBsaW1pdCA9IHF1ZXJ5Ll9saW1pdFxuICAgIGNvbnN0IG9mZnNldCA9IHF1ZXJ5Ll9vZmZzZXRcbiAgICBjb25zdCBkYXRhYmFzZVR5cGUgPSBkcml2ZXIuZ2V0VHlwZSgpXG4gICAgY29uc3QgaXNNc3NxbCA9IGRhdGFiYXNlVHlwZSA9PSBcIm1zc3FsXCJcbiAgICBjb25zdCBoYXNMaW1pdCA9IGxpbWl0ICE9PSBudWxsXG4gICAgY29uc3QgaGFzT2Zmc2V0ID0gb2Zmc2V0ICE9PSBudWxsXG5cbiAgICBpZiAoIWhhc0xpbWl0ICYmICFoYXNPZmZzZXQpIHJldHVybiBzcWxcblxuICAgIGlmIChwcmV0dHkpIHtcbiAgICAgIHNxbCArPSBcIlxcblxcblwiXG4gICAgfSBlbHNlIHtcbiAgICAgIHNxbCArPSBcIiBcIlxuICAgIH1cblxuICAgIGlmIChpc01zc3FsKSB7XG4gICAgICBpZiAocXVlcnkuX29yZGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgc3FsICs9IFwiT1JERVIgQlkgKFNFTEVDVCBOVUxMKSBcIlxuICAgICAgfVxuXG4gICAgICBzcWwgKz0gYE9GRlNFVCAke29wdGlvbnMucXVvdGUob2Zmc2V0ID09PSBudWxsID8gMCA6IG9mZnNldCl9IFJPV1NgXG5cbiAgICAgIGlmIChoYXNMaW1pdCkge1xuICAgICAgICBzcWwgKz0gYCBGRVRDSCBORVhUICR7b3B0aW9ucy5xdW90ZShsaW1pdCl9IFJPV1MgT05MWWBcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3FsICs9IFwiTElNSVRcIlxuXG4gICAgICBpZiAocHJldHR5KSB7XG4gICAgICAgIHNxbCArPSBcIlxcbiAgXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNxbCArPSBcIiBcIlxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTGltaXQpIHtcbiAgICAgICAgc3FsICs9IG9wdGlvbnMucXVvdGUobGltaXQpXG4gICAgICB9IGVsc2UgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIpIHtcbiAgICAgICAgc3FsICs9IFwiQUxMXCJcbiAgICAgIH0gZWxzZSBpZiAoZGF0YWJhc2VUeXBlID09IFwic3FsaXRlXCIpIHtcbiAgICAgICAgc3FsICs9IFwiLTFcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3FsICs9IFwiMTg0NDY3NDQwNzM3MDk1NTE2MTVcIlxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzT2Zmc2V0KSB7XG4gICAgICAgIGlmIChwcmV0dHkpIHtcbiAgICAgICAgICBzcWwgKz0gXCJcXG4gIFwiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3FsICs9IFwiIFwiXG4gICAgICAgIH1cblxuICAgICAgICBzcWwgKz0gYE9GRlNFVCAke29wdGlvbnMucXVvdGUob2Zmc2V0KX1gXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNxbFxuICB9XG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGltaXQtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3F1ZXJ5LXBhcnNlci9saW1pdC1wYXJzZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0NBQXdDO0lBQzNEOzs7OztPQUtHO0lBQ0gsWUFBWSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsQ0FBQztJQUVELEtBQUs7UUFDSCxNQUFNLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQTtRQUM1QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFBO1FBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDdkMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFBO1FBQ1osTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQTtRQUMxQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFBO1FBQzVCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNyQyxNQUFNLE9BQU8sR0FBRyxZQUFZLElBQUksT0FBTyxDQUFBO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUE7UUFDL0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxLQUFLLElBQUksQ0FBQTtRQUVqQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sR0FBRyxDQUFBO1FBRXZDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxHQUFHLElBQUksTUFBTSxDQUFBO1FBQ2YsQ0FBQzthQUFNLENBQUM7WUFDTixHQUFHLElBQUksR0FBRyxDQUFBO1FBQ1osQ0FBQztRQUVELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMvQixHQUFHLElBQUkseUJBQXlCLENBQUE7WUFDbEMsQ0FBQztZQUVELEdBQUcsSUFBSSxVQUFVLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFBO1lBRW5FLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2IsR0FBRyxJQUFJLGVBQWUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFBO1lBQ3hELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsSUFBSSxPQUFPLENBQUE7WUFFZCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLEdBQUcsSUFBSSxNQUFNLENBQUE7WUFDZixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRyxJQUFJLEdBQUcsQ0FBQTtZQUNaLENBQUM7WUFFRCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLEdBQUcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzdCLENBQUM7aUJBQU0sSUFBSSxZQUFZLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ25DLEdBQUcsSUFBSSxLQUFLLENBQUE7WUFDZCxDQUFDO2lCQUFNLElBQUksWUFBWSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNwQyxHQUFHLElBQUksSUFBSSxDQUFBO1lBQ2IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQTtZQUMvQixDQUFDO1lBRUQsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNYLEdBQUcsSUFBSSxNQUFNLENBQUE7Z0JBQ2YsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEdBQUcsSUFBSSxHQUFHLENBQUE7Z0JBQ1osQ0FBQztnQkFFRCxHQUFHLElBQUksVUFBVSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUE7WUFDMUMsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY3Vpb3VzRGF0YWJhc2VRdWVyeVBhcnNlckxpbWl0UGFyc2VyIHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYXJncy5wcmV0dHkgLSBXaGV0aGVyIHByZXR0eS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9xdWVyeS9pbmRleC5qc1wiKS5kZWZhdWx0fSBhcmdzLnF1ZXJ5IC0gUXVlcnkgaW5zdGFuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7cHJldHR5LCBxdWVyeX0pIHtcbiAgICB0aGlzLnByZXR0eSA9IHByZXR0eVxuICAgIHRoaXMucXVlcnkgPSBxdWVyeVxuICB9XG5cbiAgdG9TcWwoKSB7XG4gICAgY29uc3Qge3ByZXR0eSwgcXVlcnl9ID0gdGhpc1xuICAgIGNvbnN0IGRyaXZlciA9IHF1ZXJ5LmRyaXZlclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnF1ZXJ5LmdldE9wdGlvbnMoKVxuICAgIGxldCBzcWwgPSBcIlwiXG4gICAgY29uc3QgbGltaXQgPSBxdWVyeS5fbGltaXRcbiAgICBjb25zdCBvZmZzZXQgPSBxdWVyeS5fb2Zmc2V0XG4gICAgY29uc3QgZGF0YWJhc2VUeXBlID0gZHJpdmVyLmdldFR5cGUoKVxuICAgIGNvbnN0IGlzTXNzcWwgPSBkYXRhYmFzZVR5cGUgPT0gXCJtc3NxbFwiXG4gICAgY29uc3QgaGFzTGltaXQgPSBsaW1pdCAhPT0gbnVsbFxuICAgIGNvbnN0IGhhc09mZnNldCA9IG9mZnNldCAhPT0gbnVsbFxuXG4gICAgaWYgKCFoYXNMaW1pdCAmJiAhaGFzT2Zmc2V0KSByZXR1cm4gc3FsXG5cbiAgICBpZiAocHJldHR5KSB7XG4gICAgICBzcWwgKz0gXCJcXG5cXG5cIlxuICAgIH0gZWxzZSB7XG4gICAgICBzcWwgKz0gXCIgXCJcbiAgICB9XG5cbiAgICBpZiAoaXNNc3NxbCkge1xuICAgICAgaWYgKHF1ZXJ5Ll9vcmRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHNxbCArPSBcIk9SREVSIEJZIChTRUxFQ1QgTlVMTCkgXCJcbiAgICAgIH1cblxuICAgICAgc3FsICs9IGBPRkZTRVQgJHtvcHRpb25zLnF1b3RlKG9mZnNldCA9PT0gbnVsbCA/IDAgOiBvZmZzZXQpfSBST1dTYFxuXG4gICAgICBpZiAoaGFzTGltaXQpIHtcbiAgICAgICAgc3FsICs9IGAgRkVUQ0ggTkVYVCAke29wdGlvbnMucXVvdGUobGltaXQpfSBST1dTIE9OTFlgXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNxbCArPSBcIkxJTUlUXCJcblxuICAgICAgaWYgKHByZXR0eSkge1xuICAgICAgICBzcWwgKz0gXCJcXG4gIFwiXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcWwgKz0gXCIgXCJcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc0xpbWl0KSB7XG4gICAgICAgIHNxbCArPSBvcHRpb25zLnF1b3RlKGxpbWl0KVxuICAgICAgfSBlbHNlIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiKSB7XG4gICAgICAgIHNxbCArPSBcIkFMTFwiXG4gICAgICB9IGVsc2UgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInNxbGl0ZVwiKSB7XG4gICAgICAgIHNxbCArPSBcIi0xXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNxbCArPSBcIjE4NDQ2NzQ0MDczNzA5NTUxNjE1XCJcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc09mZnNldCkge1xuICAgICAgICBpZiAocHJldHR5KSB7XG4gICAgICAgICAgc3FsICs9IFwiXFxuICBcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNxbCArPSBcIiBcIlxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IGBPRkZTRVQgJHtvcHRpb25zLnF1b3RlKG9mZnNldCl9YFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzcWxcbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  /**
2
+ * OptionsObjectArgsType type.
2
3
  * @typedef {object} OptionsObjectArgsType
3
4
  * @property {string} columnQuote - Quote character for column names.
4
5
  * @property {string} indexQuote - Quote character for index names.
@@ -8,6 +9,7 @@
8
9
  */
9
10
  export default class VelociousDatabaseQueryParserOptions {
10
11
  /**
12
+ * Runs constructor.
11
13
  * @param {OptionsObjectArgsType} options - Options object.
12
14
  */
13
15
  constructor(options: OptionsObjectArgsType);
@@ -17,37 +19,46 @@ export default class VelociousDatabaseQueryParserOptions {
17
19
  tableQuote: string;
18
20
  stringQuote: string;
19
21
  /**
20
- * @param {any} value - Value to use.
22
+ * Runs quote.
23
+ * @param {?} value - Value to use.
21
24
  * @returns {number | string} - The quote.
22
25
  */
23
- quote(value: any): number | string;
26
+ quote(value: unknown): number | string;
24
27
  /**
28
+ * Runs quote database name.
25
29
  * @param {string} databaseName - Database name.
26
30
  * @returns {string} - The quote database name.
27
31
  */
28
32
  quoteDatabaseName(databaseName: string): string;
29
33
  /**
34
+ * Runs quote column name.
30
35
  * @param {string} columnName - Column name.
31
36
  * @returns {string} - The quote column name.
32
37
  */
33
38
  quoteColumnName(columnName: string): string;
34
39
  /**
40
+ * Runs quote index name.
35
41
  * @param {string} indexName - Index name.
36
42
  * @returns {string} - The quote index name.
37
43
  */
38
44
  quoteIndexName(indexName: string): string;
39
45
  /**
46
+ * Runs quote string.
40
47
  * @abstract
41
- * @param {any} string - String.
48
+ * @param {?} string - String.
42
49
  * @returns {string} - The quote string.
43
50
  */
44
- quoteString(string: any): string;
51
+ quoteString(string: unknown): string;
45
52
  /**
53
+ * Runs quote table name.
46
54
  * @param {string} tableName - Table name.
47
55
  * @returns {string} - The quote table name.
48
56
  */
49
57
  quoteTableName(tableName: string): string;
50
58
  }
59
+ /**
60
+ * OptionsObjectArgsType type.
61
+ */
51
62
  export type OptionsObjectArgsType = {
52
63
  /**
53
64
  * - Quote character for column names.
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/options.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH;IACE;;OAEG;IACH,qBAFW,qBAAqB,EAU/B;IAPC,oBAAsC;IACtC,mBAAoC;IACpC,6CAA4B;IAC5B,mBAAoC;IACpC,oBAAsC;IAKxC;;;OAGG;IACH,aAHW,GAAG,GACD,MAAM,GAAG,MAAM,CAM3B;IAED;;;OAGG;IACH,gCAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,MAAM,CAOlB;IAED;;;OAGG;IACH,0BAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;;OAIG;IACH,oBAHW,GAAG,GACD,MAAM,CAIlB;IAED;;;OAGG;IACH,0BAHW,MAAM,GACJ,MAAM,CAMlB;CACF;;;;;iBAhFa,MAAM;;;;gBACN,MAAM;;;;YACN,OAAO,oBAAoB,EAAE,OAAO;;;;gBACpC,MAAM;;;;iBACN,MAAM"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/database/query-parser/options.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH;IACE;;;OAGG;IACH,qBAFW,qBAAqB,EAU/B;IAPC,oBAAsC;IACtC,mBAAoC;IACpC,6CAA4B;IAC5B,mBAAoC;IACpC,oBAAsC;IAKxC;;;;OAIG;IACH,aAHW,OAAC,GACC,MAAM,GAAG,MAAM,CAM3B;IAED;;;;OAIG;IACH,gCAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;;OAIG;IACH,4BAHW,MAAM,GACJ,MAAM,CAOlB;IAED;;;;OAIG;IACH,0BAHW,MAAM,GACJ,MAAM,CAMlB;IAED;;;;;OAKG;IACH,oBAHW,OAAC,GACC,MAAM,CAIlB;IAED;;;;OAIG;IACH,0BAHW,MAAM,GACJ,MAAM,CAMlB;CACF;;;;;;;;iBAvFa,MAAM;;;;gBACN,MAAM;;;;YACN,OAAO,oBAAoB,EAAE,OAAO;;;;gBACpC,MAAM;;;;iBACN,MAAM"}