velocious 1.0.263 → 1.0.265

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 (389) hide show
  1. package/README.md +14 -0
  2. package/build/bin/velocious.js +7 -2
  3. package/build/src/application.d.ts +6 -6
  4. package/build/src/application.d.ts.map +1 -1
  5. package/build/src/authorization/ability.d.ts +4 -4
  6. package/build/src/authorization/ability.d.ts.map +1 -1
  7. package/build/src/authorization/base-resource.d.ts +4 -4
  8. package/build/src/authorization/base-resource.d.ts.map +1 -1
  9. package/build/src/background-jobs/client.d.ts +2 -2
  10. package/build/src/background-jobs/client.d.ts.map +1 -1
  11. package/build/src/background-jobs/job-runner.d.ts +2 -2
  12. package/build/src/background-jobs/job-runner.d.ts.map +1 -1
  13. package/build/src/background-jobs/job-runner.js +5 -3
  14. package/build/src/background-jobs/job.d.ts +1 -1
  15. package/build/src/background-jobs/job.d.ts.map +1 -1
  16. package/build/src/background-jobs/json-socket.d.ts +1 -1
  17. package/build/src/background-jobs/json-socket.d.ts.map +1 -1
  18. package/build/src/background-jobs/main.d.ts +34 -12
  19. package/build/src/background-jobs/main.d.ts.map +1 -1
  20. package/build/src/background-jobs/main.js +36 -6
  21. package/build/src/background-jobs/scheduler.d.ts +21 -0
  22. package/build/src/background-jobs/scheduler.d.ts.map +1 -1
  23. package/build/src/background-jobs/scheduler.js +3 -2
  24. package/build/src/background-jobs/status-reporter.d.ts +14 -10
  25. package/build/src/background-jobs/status-reporter.d.ts.map +1 -1
  26. package/build/src/background-jobs/status-reporter.js +11 -6
  27. package/build/src/background-jobs/store.d.ts +73 -117
  28. package/build/src/background-jobs/store.d.ts.map +1 -1
  29. package/build/src/background-jobs/store.js +62 -24
  30. package/build/src/background-jobs/types.d.ts +175 -2
  31. package/build/src/background-jobs/types.d.ts.map +1 -1
  32. package/build/src/background-jobs/types.js +44 -1
  33. package/build/src/background-jobs/worker.d.ts +21 -17
  34. package/build/src/background-jobs/worker.d.ts.map +1 -1
  35. package/build/src/background-jobs/worker.js +30 -9
  36. package/build/src/cli/base-command.d.ts +5 -5
  37. package/build/src/cli/base-command.d.ts.map +1 -1
  38. package/build/src/cli/commands/db/create.d.ts.map +1 -1
  39. package/build/src/cli/commands/db/create.js +11 -3
  40. package/build/src/cli/commands/db/schema/load.d.ts +7 -0
  41. package/build/src/cli/commands/db/schema/load.d.ts.map +1 -0
  42. package/build/src/cli/commands/db/schema/load.js +9 -0
  43. package/build/src/cli/index.d.ts +25 -13
  44. package/build/src/cli/index.d.ts.map +1 -1
  45. package/build/src/cli/index.js +62 -4
  46. package/build/src/cli/use-browser-cli.d.ts +2 -2
  47. package/build/src/cli/use-browser-cli.d.ts.map +1 -1
  48. package/build/src/cli/use-browser-cli.js +4 -4
  49. package/build/src/configuration-types.d.ts +160 -136
  50. package/build/src/configuration-types.d.ts.map +1 -1
  51. package/build/src/configuration.d.ts +32 -31
  52. package/build/src/configuration.d.ts.map +1 -1
  53. package/build/src/configuration.js +6 -5
  54. package/build/src/controller.d.ts +14 -14
  55. package/build/src/controller.d.ts.map +1 -1
  56. package/build/src/controller.js +19 -8
  57. package/build/src/database/drivers/base-columns-index.d.ts +1 -1
  58. package/build/src/database/drivers/base-columns-index.d.ts.map +1 -1
  59. package/build/src/database/drivers/base.d.ts +15 -14
  60. package/build/src/database/drivers/base.d.ts.map +1 -1
  61. package/build/src/database/drivers/base.js +6 -3
  62. package/build/src/database/drivers/mssql/column.d.ts +1 -0
  63. package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
  64. package/build/src/database/drivers/mssql/connect-connection.d.ts +1 -1
  65. package/build/src/database/drivers/mssql/connect-connection.d.ts.map +1 -1
  66. package/build/src/database/drivers/mssql/index.d.ts +4 -3
  67. package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
  68. package/build/src/database/drivers/mssql/index.js +8 -12
  69. package/build/src/database/drivers/mssql/table.d.ts +1 -0
  70. package/build/src/database/drivers/mssql/table.d.ts.map +1 -1
  71. package/build/src/database/drivers/mysql/column.d.ts +1 -0
  72. package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
  73. package/build/src/database/drivers/mysql/index.d.ts +3 -2
  74. package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
  75. package/build/src/database/drivers/mysql/index.js +3 -1
  76. package/build/src/database/drivers/mysql/query.d.ts +1 -1
  77. package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
  78. package/build/src/database/drivers/mysql/query.js +7 -5
  79. package/build/src/database/drivers/mysql/table.d.ts +1 -0
  80. package/build/src/database/drivers/mysql/table.d.ts.map +1 -1
  81. package/build/src/database/drivers/pgsql/column.d.ts +1 -0
  82. package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
  83. package/build/src/database/drivers/pgsql/index.d.ts +3 -2
  84. package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
  85. package/build/src/database/drivers/pgsql/index.js +3 -1
  86. package/build/src/database/drivers/pgsql/table.d.ts +1 -0
  87. package/build/src/database/drivers/pgsql/table.d.ts.map +1 -1
  88. package/build/src/database/drivers/sqlite/base.d.ts +9 -6
  89. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  90. package/build/src/database/drivers/sqlite/base.js +22 -6
  91. package/build/src/database/drivers/sqlite/column.d.ts +1 -0
  92. package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
  93. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +2 -2
  94. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
  95. package/build/src/database/drivers/sqlite/index.native.d.ts +1 -2
  96. package/build/src/database/drivers/sqlite/index.native.d.ts.map +1 -1
  97. package/build/src/database/drivers/sqlite/index.native.js +8 -3
  98. package/build/src/database/drivers/sqlite/index.web.d.ts +3 -2
  99. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  100. package/build/src/database/drivers/sqlite/index.web.js +5 -1
  101. package/build/src/database/drivers/sqlite/query.web.d.ts +1 -1
  102. package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
  103. package/build/src/database/drivers/sqlite/table.d.ts +2 -1
  104. package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
  105. package/build/src/database/drivers/sqlite/table.js +3 -2
  106. package/build/src/database/migration/index.d.ts +10 -10
  107. package/build/src/database/migration/index.d.ts.map +1 -1
  108. package/build/src/database/migrator/types.d.ts +1 -1
  109. package/build/src/database/migrator/types.d.ts.map +1 -1
  110. package/build/src/database/migrator.d.ts +1 -1
  111. package/build/src/database/migrator.d.ts.map +1 -1
  112. package/build/src/database/pool/async-tracked-multi-connection.d.ts +1 -0
  113. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  114. package/build/src/database/pool/async-tracked-multi-connection.js +12 -8
  115. package/build/src/database/pool/base-methods-forward.d.ts.map +1 -1
  116. package/build/src/database/pool/base-methods-forward.js +6 -4
  117. package/build/src/database/pool/base.d.ts +2 -1
  118. package/build/src/database/pool/base.d.ts.map +1 -1
  119. package/build/src/database/pool/base.js +6 -4
  120. package/build/src/database/pool/single-multi-use.d.ts +1 -1
  121. package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
  122. package/build/src/database/query/alter-table-base.d.ts.map +1 -1
  123. package/build/src/database/query/alter-table-base.js +8 -4
  124. package/build/src/database/query/base.d.ts +1 -1
  125. package/build/src/database/query/base.d.ts.map +1 -1
  126. package/build/src/database/query/create-database-base.d.ts +2 -2
  127. package/build/src/database/query/create-database-base.d.ts.map +1 -1
  128. package/build/src/database/query/create-index-base.d.ts +6 -6
  129. package/build/src/database/query/create-index-base.d.ts.map +1 -1
  130. package/build/src/database/query/create-table-base.d.ts +3 -3
  131. package/build/src/database/query/create-table-base.d.ts.map +1 -1
  132. package/build/src/database/query/create-table-base.js +8 -4
  133. package/build/src/database/query/drop-table-base.d.ts +4 -4
  134. package/build/src/database/query/drop-table-base.d.ts.map +1 -1
  135. package/build/src/database/query/index.d.ts +16 -16
  136. package/build/src/database/query/index.d.ts.map +1 -1
  137. package/build/src/database/query/index.js +4 -4
  138. package/build/src/database/query/insert-base.d.ts +10 -10
  139. package/build/src/database/query/insert-base.d.ts.map +1 -1
  140. package/build/src/database/query/join-base.d.ts +1 -1
  141. package/build/src/database/query/join-base.d.ts.map +1 -1
  142. package/build/src/database/query/join-object.d.ts +1 -1
  143. package/build/src/database/query/join-object.d.ts.map +1 -1
  144. package/build/src/database/query/join-object.js +4 -1
  145. package/build/src/database/query/model-class-query.d.ts +11 -11
  146. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  147. package/build/src/database/query/model-class-query.js +29 -18
  148. package/build/src/database/query/select-base.d.ts +1 -1
  149. package/build/src/database/query/select-base.d.ts.map +1 -1
  150. package/build/src/database/query/where-base.d.ts +1 -1
  151. package/build/src/database/query/where-base.d.ts.map +1 -1
  152. package/build/src/database/query/where-hash.d.ts +1 -0
  153. package/build/src/database/query/where-hash.d.ts.map +1 -1
  154. package/build/src/database/query/where-model-class-hash.d.ts +2 -1
  155. package/build/src/database/query/where-model-class-hash.d.ts.map +1 -1
  156. package/build/src/database/query/where-model-class-hash.js +15 -7
  157. package/build/src/database/query/where-not.d.ts +1 -0
  158. package/build/src/database/query/where-not.d.ts.map +1 -1
  159. package/build/src/database/query/where-plain.d.ts +1 -0
  160. package/build/src/database/query/where-plain.d.ts.map +1 -1
  161. package/build/src/database/query-parser/base-query-parser.d.ts +1 -1
  162. package/build/src/database/query-parser/base-query-parser.d.ts.map +1 -1
  163. package/build/src/database/record/attachments/download.d.ts +3 -3
  164. package/build/src/database/record/attachments/download.d.ts.map +1 -1
  165. package/build/src/database/record/attachments/handle.d.ts +2 -1
  166. package/build/src/database/record/attachments/handle.d.ts.map +1 -1
  167. package/build/src/database/record/attachments/handle.js +3 -2
  168. package/build/src/database/record/attachments/normalize-input.d.ts +4 -4
  169. package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
  170. package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts +1 -1
  171. package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts.map +1 -1
  172. package/build/src/database/record/attachments/storage-drivers/native.d.ts +3 -3
  173. package/build/src/database/record/attachments/storage-drivers/native.d.ts.map +1 -1
  174. package/build/src/database/record/attachments/storage-drivers/s3.d.ts +2 -2
  175. package/build/src/database/record/attachments/storage-drivers/s3.d.ts.map +1 -1
  176. package/build/src/database/record/attachments/storage-drivers/s3.js +11 -3
  177. package/build/src/database/record/attachments/store.d.ts +3 -3
  178. package/build/src/database/record/attachments/store.d.ts.map +1 -1
  179. package/build/src/database/record/attachments/store.js +3 -2
  180. package/build/src/database/record/index.d.ts +19 -19
  181. package/build/src/database/record/index.d.ts.map +1 -1
  182. package/build/src/database/record/index.js +53 -35
  183. package/build/src/database/record/instance-relationships/base.d.ts +10 -8
  184. package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
  185. package/build/src/database/record/instance-relationships/base.js +9 -5
  186. package/build/src/database/record/instance-relationships/belongs-to.d.ts +4 -4
  187. package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
  188. package/build/src/database/record/instance-relationships/belongs-to.js +9 -2
  189. package/build/src/database/record/instance-relationships/has-many.d.ts +4 -9
  190. package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
  191. package/build/src/database/record/instance-relationships/has-many.js +12 -8
  192. package/build/src/database/record/instance-relationships/has-one.d.ts +7 -14
  193. package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
  194. package/build/src/database/record/instance-relationships/has-one.js +11 -5
  195. package/build/src/database/record/relationships/base.d.ts +18 -18
  196. package/build/src/database/record/relationships/base.d.ts.map +1 -1
  197. package/build/src/database/record/relationships/base.js +3 -3
  198. package/build/src/database/record/relationships/belongs-to.d.ts +1 -1
  199. package/build/src/database/record/relationships/belongs-to.d.ts.map +1 -1
  200. package/build/src/database/record/relationships/has-many.d.ts +1 -1
  201. package/build/src/database/record/relationships/has-many.d.ts.map +1 -1
  202. package/build/src/database/record/relationships/has-one.d.ts +1 -1
  203. package/build/src/database/record/relationships/has-one.d.ts.map +1 -1
  204. package/build/src/database/table-data/index.d.ts +1 -1
  205. package/build/src/database/table-data/index.d.ts.map +1 -1
  206. package/build/src/database/table-data/table-column.d.ts +12 -12
  207. package/build/src/database/table-data/table-column.d.ts.map +1 -1
  208. package/build/src/database/table-data/table-foreign-key.d.ts +4 -4
  209. package/build/src/database/table-data/table-foreign-key.d.ts.map +1 -1
  210. package/build/src/database/table-data/table-foreign-key.js +2 -2
  211. package/build/src/database/table-data/table-index.d.ts +3 -3
  212. package/build/src/database/table-data/table-index.d.ts.map +1 -1
  213. package/build/src/database/table-data/table-reference.d.ts +1 -1
  214. package/build/src/database/table-data/table-reference.d.ts.map +1 -1
  215. package/build/src/environment-handlers/base.d.ts +10 -5
  216. package/build/src/environment-handlers/base.d.ts.map +1 -1
  217. package/build/src/environment-handlers/base.js +10 -2
  218. package/build/src/environment-handlers/browser.d.ts +5 -26
  219. package/build/src/environment-handlers/browser.d.ts.map +1 -1
  220. package/build/src/environment-handlers/browser.js +14 -4
  221. package/build/src/environment-handlers/node/cli/commands/console.js +3 -3
  222. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +24 -0
  223. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -0
  224. package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +57 -0
  225. package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts.map +1 -1
  226. package/build/src/environment-handlers/node/cli/commands/db/seed.js +4 -2
  227. package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts.map +1 -1
  228. package/build/src/environment-handlers/node/cli/commands/destroy/migration.js +4 -2
  229. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
  230. package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +9 -4
  231. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +1 -1
  232. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  233. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +9 -4
  234. package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts.map +1 -1
  235. package/build/src/environment-handlers/node/cli/commands/generate/migration.js +4 -2
  236. package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts.map +1 -1
  237. package/build/src/environment-handlers/node/cli/commands/generate/model.js +4 -2
  238. package/build/src/environment-handlers/node/cli/commands/routes.d.ts.map +1 -1
  239. package/build/src/environment-handlers/node/cli/commands/routes.js +3 -1
  240. package/build/src/environment-handlers/node/cli/commands/run-script.d.ts.map +1 -1
  241. package/build/src/environment-handlers/node/cli/commands/run-script.js +5 -3
  242. package/build/src/environment-handlers/node/cli/commands/runner.d.ts.map +1 -1
  243. package/build/src/environment-handlers/node/cli/commands/runner.js +5 -3
  244. package/build/src/environment-handlers/node/cli/commands/server.d.ts +3 -3
  245. package/build/src/environment-handlers/node/cli/commands/server.d.ts.map +1 -1
  246. package/build/src/environment-handlers/node/cli/commands/server.js +2 -2
  247. package/build/src/environment-handlers/node/cli/commands/test.js +2 -2
  248. package/build/src/environment-handlers/node.d.ts +9 -1
  249. package/build/src/environment-handlers/node.d.ts.map +1 -1
  250. package/build/src/environment-handlers/node.js +10 -2
  251. package/build/src/error-logger.d.ts.map +1 -1
  252. package/build/src/error-logger.js +1 -5
  253. package/build/src/frontend-model-controller.d.ts +17 -17
  254. package/build/src/frontend-model-controller.d.ts.map +1 -1
  255. package/build/src/frontend-model-controller.js +31 -12
  256. package/build/src/frontend-model-resource/base-resource.d.ts +14 -12
  257. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  258. package/build/src/frontend-model-resource/base-resource.js +16 -4
  259. package/build/src/frontend-models/base.d.ts +27 -20
  260. package/build/src/frontend-models/base.d.ts.map +1 -1
  261. package/build/src/frontend-models/base.js +31 -12
  262. package/build/src/frontend-models/query.d.ts +29 -8
  263. package/build/src/frontend-models/query.d.ts.map +1 -1
  264. package/build/src/frontend-models/query.js +18 -4
  265. package/build/src/http-client/index.d.ts +11 -11
  266. package/build/src/http-client/index.d.ts.map +1 -1
  267. package/build/src/http-client/request.d.ts +2 -2
  268. package/build/src/http-client/request.d.ts.map +1 -1
  269. package/build/src/http-client/response.d.ts +1 -1
  270. package/build/src/http-client/response.d.ts.map +1 -1
  271. package/build/src/http-client/websocket-client.d.ts +26 -12
  272. package/build/src/http-client/websocket-client.d.ts.map +1 -1
  273. package/build/src/http-client/websocket-client.js +26 -12
  274. package/build/src/http-server/client/index.d.ts +4 -4
  275. package/build/src/http-server/client/index.d.ts.map +1 -1
  276. package/build/src/http-server/client/index.js +17 -11
  277. package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
  278. package/build/src/http-server/client/params-to-object.js +14 -11
  279. package/build/src/http-server/client/request-buffer/form-data-part.d.ts +15 -7
  280. package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
  281. package/build/src/http-server/client/request-buffer/form-data-part.js +9 -1
  282. package/build/src/http-server/client/request-buffer/index.d.ts +15 -14
  283. package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
  284. package/build/src/http-server/client/request-buffer/index.js +19 -7
  285. package/build/src/http-server/client/request-parser.d.ts +1 -1
  286. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  287. package/build/src/http-server/client/request-parser.js +2 -2
  288. package/build/src/http-server/client/request-runner.d.ts.map +1 -1
  289. package/build/src/http-server/client/request-runner.js +4 -2
  290. package/build/src/http-server/client/request.d.ts +3 -3
  291. package/build/src/http-server/client/request.d.ts.map +1 -1
  292. package/build/src/http-server/client/response.d.ts +4 -4
  293. package/build/src/http-server/client/response.d.ts.map +1 -1
  294. package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +2 -2
  295. package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts.map +1 -1
  296. package/build/src/http-server/client/websocket-request.d.ts +22 -16
  297. package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
  298. package/build/src/http-server/client/websocket-request.js +13 -5
  299. package/build/src/http-server/client/websocket-session.d.ts +52 -17
  300. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  301. package/build/src/http-server/client/websocket-session.js +59 -10
  302. package/build/src/http-server/cookie.d.ts +17 -17
  303. package/build/src/http-server/cookie.d.ts.map +1 -1
  304. package/build/src/http-server/index.d.ts +4 -4
  305. package/build/src/http-server/index.d.ts.map +1 -1
  306. package/build/src/http-server/index.js +4 -4
  307. package/build/src/http-server/server-client.d.ts +3 -3
  308. package/build/src/http-server/server-client.d.ts.map +1 -1
  309. package/build/src/http-server/server-client.js +4 -4
  310. package/build/src/http-server/websocket-channel.d.ts +3 -3
  311. package/build/src/http-server/websocket-channel.d.ts.map +1 -1
  312. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  313. package/build/src/http-server/websocket-events-host.js +6 -3
  314. package/build/src/http-server/websocket-events.d.ts +2 -2
  315. package/build/src/http-server/websocket-events.d.ts.map +1 -1
  316. package/build/src/http-server/websocket-events.js +3 -1
  317. package/build/src/http-server/worker-handler/index.d.ts +7 -7
  318. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  319. package/build/src/http-server/worker-handler/index.js +16 -7
  320. package/build/src/http-server/worker-handler/worker-thread.d.ts +9 -9
  321. package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
  322. package/build/src/http-server/worker-handler/worker-thread.js +23 -13
  323. package/build/src/logger/console-logger.d.ts +2 -2
  324. package/build/src/logger/console-logger.d.ts.map +1 -1
  325. package/build/src/logger/file-logger.d.ts +2 -2
  326. package/build/src/logger/file-logger.d.ts.map +1 -1
  327. package/build/src/logger/outputs/array-output.d.ts +1 -1
  328. package/build/src/logger/outputs/array-output.d.ts.map +1 -1
  329. package/build/src/logger/outputs/file-output.d.ts +8 -5
  330. package/build/src/logger/outputs/file-output.d.ts.map +1 -1
  331. package/build/src/logger/outputs/file-output.js +4 -1
  332. package/build/src/logger.d.ts +7 -7
  333. package/build/src/logger.d.ts.map +1 -1
  334. package/build/src/mailer/backends/smtp.d.ts +3 -3
  335. package/build/src/mailer/backends/smtp.d.ts.map +1 -1
  336. package/build/src/mailer/backends/smtp.js +3 -3
  337. package/build/src/mailer/base.d.ts +7 -7
  338. package/build/src/mailer/base.d.ts.map +1 -1
  339. package/build/src/mailer/base.js +3 -3
  340. package/build/src/plugins/sqljs-wasm-route.d.ts +2 -2
  341. package/build/src/plugins/sqljs-wasm-route.d.ts.map +1 -1
  342. package/build/src/routes/base-route.d.ts +2 -2
  343. package/build/src/routes/base-route.d.ts.map +1 -1
  344. package/build/src/routes/base-route.js +2 -2
  345. package/build/src/routes/get-route.d.ts +5 -0
  346. package/build/src/routes/get-route.d.ts.map +1 -1
  347. package/build/src/routes/namespace-route.d.ts +1 -1
  348. package/build/src/routes/plugin-routes.d.ts +2 -2
  349. package/build/src/routes/plugin-routes.d.ts.map +1 -1
  350. package/build/src/routes/post-route.d.ts +5 -0
  351. package/build/src/routes/post-route.d.ts.map +1 -1
  352. package/build/src/routes/resolver.d.ts +4 -2
  353. package/build/src/routes/resolver.d.ts.map +1 -1
  354. package/build/src/routes/resolver.js +7 -3
  355. package/build/src/routes/resource-route.d.ts +5 -0
  356. package/build/src/routes/resource-route.d.ts.map +1 -1
  357. package/build/src/routes/root-route.d.ts +5 -0
  358. package/build/src/routes/root-route.d.ts.map +1 -1
  359. package/build/src/testing/expect-to-change.d.ts +3 -3
  360. package/build/src/testing/expect-to-change.d.ts.map +1 -1
  361. package/build/src/testing/expect-utils.d.ts.map +1 -1
  362. package/build/src/testing/expect-utils.js +7 -5
  363. package/build/src/testing/expect.d.ts +1 -1
  364. package/build/src/testing/expect.d.ts.map +1 -1
  365. package/build/src/testing/request-client.d.ts +1 -1
  366. package/build/src/testing/request-client.d.ts.map +1 -1
  367. package/build/src/testing/test-files-finder.d.ts +1 -1
  368. package/build/src/testing/test-files-finder.d.ts.map +1 -1
  369. package/build/src/testing/test-runner.d.ts +57 -37
  370. package/build/src/testing/test-runner.d.ts.map +1 -1
  371. package/build/src/testing/test-runner.js +14 -3
  372. package/build/src/testing/test-suite-splitter.d.ts +1 -1
  373. package/build/src/testing/test-suite-splitter.d.ts.map +1 -1
  374. package/build/src/testing/test.d.ts +14 -6
  375. package/build/src/testing/test.d.ts.map +1 -1
  376. package/build/src/testing/test.js +14 -5
  377. package/build/src/utils/backtrace-cleaner.d.ts +2 -2
  378. package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
  379. package/build/src/utils/split-sql-statements.d.ts +7 -0
  380. package/build/src/utils/split-sql-statements.d.ts.map +1 -0
  381. package/build/src/utils/split-sql-statements.js +77 -0
  382. package/build/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -1
  383. package/build/src/utils/with-tracked-stack-async-hooks.js +5 -3
  384. package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
  385. package/build/src/utils/with-tracked-stack.js +5 -3
  386. package/build/src/velocious-error.d.ts +4 -4
  387. package/build/src/velocious-error.d.ts.map +1 -1
  388. package/build/tsconfig.tsbuildinfo +1 -1
  389. package/package.json +10 -2
@@ -2,7 +2,7 @@
2
2
  import Configuration from "../../configuration.js";
3
3
  import Logger from "../../logger.js";
4
4
  import baseMethodsForward from "./base-methods-forward.js";
5
- const POOL_CONFIGURATION_KEY = Symbol("velociousPoolConfigurationKey");
5
+ export const POOL_CONFIGURATION_KEY = Symbol("velociousPoolConfigurationKey");
6
6
  /** @type {{currentPool: VelociousDatabasePoolBase | null}} */
7
7
  const shared = {
8
8
  currentPool: null
@@ -109,7 +109,8 @@ class VelociousDatabasePoolBase {
109
109
  * @returns {boolean} - Whether connection matches current resolved configuration.
110
110
  */
111
111
  connectionMatchesCurrentConfiguration(connection) {
112
- return connection[POOL_CONFIGURATION_KEY] === this.getConfigurationReuseKey();
112
+ const connectionWithPoolKey = /** @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection);
113
+ return connectionWithPoolKey[POOL_CONFIGURATION_KEY] === this.getConfigurationReuseKey();
113
114
  }
114
115
  /**
115
116
  * @abstract
@@ -137,7 +138,8 @@ class VelociousDatabasePoolBase {
137
138
  const databaseConfig = this.getConfiguration();
138
139
  this.logger.debug("spawnConnection", { identifier: this.identifier, databaseConfig });
139
140
  const connection = await this.spawnConnectionWithConfiguration(databaseConfig);
140
- connection[POOL_CONFIGURATION_KEY] = this.getConfigurationReuseKey();
141
+ const connectionWithPoolKey = /** @type {import("../drivers/base.js").default & {[POOL_CONFIGURATION_KEY]?: string}} */ (connection);
142
+ connectionWithPoolKey[POOL_CONFIGURATION_KEY] = this.getConfigurationReuseKey();
141
143
  return connection;
142
144
  }
143
145
  /**
@@ -177,4 +179,4 @@ class VelociousDatabasePoolBase {
177
179
  }
178
180
  baseMethodsForward(VelociousDatabasePoolBase);
179
181
  export default VelociousDatabasePoolBase;
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9wb29sL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3BDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFFMUQsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQTtBQUV0RSw4REFBOEQ7QUFDOUQsTUFBTSxNQUFNLEdBQUc7SUFDYixXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxlQUFlLENBQUMsS0FBSztJQUM1QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7SUFDdEUsQ0FBQztJQUVELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU07YUFDbkIsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEQsSUFBSSxFQUFFO2FBQ04sR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksZUFBZSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7UUFFakgsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxD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QUU3QyxlQUFlLHlCQUF5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBDb25maWd1cmF0aW9uIGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9uLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4uLy4uL2xvZ2dlci5qc1wiXG5pbXBvcnQgYmFzZU1ldGhvZHNGb3J3YXJkIGZyb20gXCIuL2Jhc2UtbWV0aG9kcy1mb3J3YXJkLmpzXCJcblxuY29uc3QgUE9PTF9DT05GSUdVUkFUSU9OX0tFWSA9IFN5bWJvbChcInZlbG9jaW91c1Bvb2xDb25maWd1cmF0aW9uS2V5XCIpXG5cbi8qKiBAdHlwZSB7e2N1cnJlbnRQb29sOiBWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlIHwgbnVsbH19ICovXG5jb25zdCBzaGFyZWQgPSB7XG4gIGN1cnJlbnRQb29sOiBudWxsXG59XG5cbi8qKlxuICogQHBhcmFtIHt1bmtub3dufSB2YWx1ZSAtIFZhbHVlIHRvIHN0cmluZ2lmeS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU3RhYmxlIEpTT04gc3RyaW5nLlxuICovXG5mdW5jdGlvbiBzdGFibGVTdHJpbmdpZnkodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIGBbJHt2YWx1ZS5tYXAoKGVudHJ5KSA9PiBzdGFibGVTdHJpbmdpZnkoZW50cnkpKS5qb2luKFwiLFwiKX1dYFxuICB9XG5cbiAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3RcbiAgICAgIC5rZXlzKC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59ICovICh2YWx1ZSkpXG4gICAgICAuc29ydCgpXG4gICAgICAubWFwKChrZXkpID0+IGAke0pTT04uc3RyaW5naWZ5KGtleSl9OiR7c3RhYmxlU3RyaW5naWZ5KC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59ICovICh2YWx1ZSlba2V5XSl9YClcblxuICAgIHJldHVybiBgeyR7ZW50cmllcy5qb2luKFwiLFwiKX19YFxuICB9XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKVxufVxuXG5jbGFzcyBWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlIHtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlfSAtIFRoZSBjdXJyZW50LlxuICAgKi9cbiAgc3RhdGljIGN1cnJlbnQoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudFBvb2wpIHRocm93IG5ldyBFcnJvcihcIkEgZGF0YWJhc2UgcG9vbCBoYXNuJ3QgYmVlbiBzZXRcIilcblxuICAgIHJldHVybiBzaGFyZWQuY3VycmVudFBvb2xcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgYW55IGdsb2JhbCBjb25uZWN0aW9ucyBmb3IgdGhlIGdpdmVuIGNvbmZpZ3VyYXRpb24uXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHN0YXRpYyBjbGVhckdsb2JhbENvbm5lY3Rpb25zKCkge31cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtDb25maWd1cmF0aW9ufSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5pZGVudGlmaWVyIC0gSWRlbnRpZmllci5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25maWd1cmF0aW9uLCBpZGVudGlmaWVyfSkge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24gfHwgQ29uZmlndXJhdGlvbi5jdXJyZW50KClcblxuICAgIGlmICghdGhpcy5jb25maWd1cmF0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjb25maWd1cmF0aW9uIGdpdmVuXCIpXG4gICAgaWYgKCFpZGVudGlmaWVyKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBpZGVudGlmaWVyIHdhcyBnaXZlblwiKVxuXG4gICAgdGhpcy5pZGVudGlmaWVyID0gaWRlbnRpZmllclxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBfY29ubmVjdGlvbiAtIENvbm5lY3Rpb24uXG4gICAqL1xuICBjaGVja2luKF9jb25uZWN0aW9uKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCInY2hlY2tpbicgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjaGVja291dC5cbiAgICovXG4gIGNoZWNrb3V0KCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidjaGVja291dCcgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gLSBUaGUgY3VycmVudCBjb25uZWN0aW9uLlxuICAgKi9cbiAgZ2V0Q3VycmVudENvbm5lY3Rpb24oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiJ2dldEN1cnJlbnRDb25uZWN0aW9uJyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb25uZWN0aW9uIHBpbm5lZCB0byB0aGUgY3VycmVudCBjb250ZXh0LCBpZiBhbnkuXG4gICAqIERlZmF1bHQgaW1wbGVtZW50YXRpb24gZGVmZXJzIHRvIGBnZXRDdXJyZW50Q29ubmVjdGlvbmAuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gLSBUaGUgY3VycmVudCBjb250ZXh0IGNvbm5lY3Rpb24uXG4gICAqL1xuICBnZXRDdXJyZW50Q29udGV4dENvbm5lY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudENvbm5lY3Rpb24oKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi8uLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkRhdGFiYXNlQ29uZmlndXJhdGlvblR5cGV9IC0gUmVzb2x2ZWQgZGF0YWJhc2UgY29uZmlndXJhdGlvbiBmb3IgdGhlIHBvb2wgaWRlbnRpZmllci5cbiAgICovXG4gIGdldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlRGF0YWJhc2VDb25maWd1cmF0aW9uKHRoaXMuaWRlbnRpZmllcilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFJldXNlIGtleSBmb3IgdGhlIGN1cnJlbnRseSByZXNvbHZlZCBkYXRhYmFzZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgZ2V0Q29uZmlndXJhdGlvblJldXNlS2V5KCkge1xuICAgIGNvbnN0IGRhdGFiYXNlQ29uZmlndXJhdGlvbiA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG5cbiAgICByZXR1cm4gc3RhYmxlU3RyaW5naWZ5KHtcbiAgICAgIGRhdGFiYXNlOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24uZGF0YWJhc2UsXG4gICAgICBob3N0OiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24uaG9zdCxcbiAgICAgIG5hbWU6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5uYW1lLFxuICAgICAgcG9ydDogZGF0YWJhc2VDb25maWd1cmF0aW9uLnBvcnQsXG4gICAgICBzY2hlbWE6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5zY2hlbWEsXG4gICAgICBzcWxDb25maWc6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5zcWxDb25maWcsXG4gICAgICB0eXBlOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24udHlwZSxcbiAgICAgIHVzZURhdGFiYXNlOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24udXNlRGF0YWJhc2UsXG4gICAgICB1c2VybmFtZTogZGF0YWJhc2VDb25maWd1cmF0aW9uLnVzZXJuYW1lXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBjb25uZWN0aW9uIC0gQ29ubmVjdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciBjb25uZWN0aW9uIG1hdGNoZXMgY3VycmVudCByZXNvbHZlZCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgY29ubmVjdGlvbk1hdGNoZXNDdXJyZW50Q29uZmlndXJhdGlvbihjb25uZWN0aW9uKSB7XG4gICAgcmV0dXJuIGNvbm5lY3Rpb25bUE9PTF9DT05GSUdVUkFUSU9OX0tFWV0gPT09IHRoaXMuZ2V0Q29uZmlndXJhdGlvblJldXNlS2V5KClcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgcHJpbWFyeSBrZXkgdHlwZS5cbiAgICovXG4gIHByaW1hcnlLZXlUeXBlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidwcmltYXJ5S2V5VHlwZScgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0Q3VycmVudCgpIHtcbiAgICBzaGFyZWQuY3VycmVudFBvb2wgPSB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IGRyaXZlckNsYXNzIC0gRHJpdmVyIGNsYXNzLlxuICAgKi9cbiAgc2V0RHJpdmVyQ2xhc3MoZHJpdmVyQ2xhc3MpIHtcbiAgICB0aGlzLmRyaXZlckNsYXNzID0gZHJpdmVyQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgc3Bhd24gY29ubmVjdGlvbi5cbiAgICovXG4gIGFzeW5jIHNwYXduQ29ubmVjdGlvbigpIHtcbiAgICBjb25zdCBkYXRhYmFzZUNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInNwYXduQ29ubmVjdGlvblwiLCB7aWRlbnRpZmllcjogdGhpcy5pZGVudGlmaWVyLCBkYXRhYmFzZUNvbmZpZ30pXG5cbiAgICBjb25zdCBjb25uZWN0aW9uID0gYXdhaXQgdGhpcy5zcGF3bkNvbm5lY3Rpb25XaXRoQ29uZmlndXJhdGlvbihkYXRhYmFzZUNvbmZpZylcblxuICAgIGNvbm5lY3Rpb25bUE9PTF9DT05GSUdVUkFUSU9OX0tFWV0gPSB0aGlzLmdldENvbmZpZ3VyYXRpb25SZXVzZUtleSgpXG5cbiAgICByZXR1cm4gY29ubmVjdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5EYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlfSBjb25maWcgLSBDb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIHNwYXduIGNvbm5lY3Rpb24gd2l0aCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgYXN5bmMgc3Bhd25Db25uZWN0aW9uV2l0aENvbmZpZ3VyYXRpb24oY29uZmlnKSB7XG4gICAgY29uc3QgRHJpdmVyQ2xhc3MgPSBjb25maWcuZHJpdmVyIHx8IHRoaXMuZHJpdmVyQ2xhc3NcblxuICAgIGlmICghRHJpdmVyQ2xhc3MpIHRocm93IG5ldyBFcnJvcihcIk5vIGRyaXZlciBjbGFzcyBzZXQgaW4gZGF0YWJhc2UgcG9vbCBvciBpbiBnaXZlbiBjb25maWdcIilcblxuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBuZXcgRHJpdmVyQ2xhc3MoY29uZmlnLCB0aGlzLmNvbmZpZ3VyYXRpb24pXG5cbiAgICBhd2FpdCBjb25uZWN0aW9uLmNvbm5lY3QoKVxuXG4gICAgcmV0dXJuIGNvbm5lY3Rpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAdGVtcGxhdGUgVFxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCkgOiBQcm9taXNlPFQ+fSBfY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8VD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgY2FsbGJhY2sgcmVzdWx0LlxuICAgKi9cbiAgd2l0aENvbm5lY3Rpb24oX2NhbGxiYWNrKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCInd2l0aENvbm5lY3Rpb24nIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgYSByZXVzYWJsZSBjb25uZWN0aW9uIGV4aXN0cyBmb3IgY29udGV4dHMgd2hlcmUgQXN5bmNMb2NhbFN0b3JhZ2UgaXNuJ3Qgc2V0LlxuICAgKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGp1c3QgY2hlY2tzIG91dCBhIGNvbm5lY3Rpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBnbG9iYWwgY29ubmVjdGlvbi5cbiAgICovXG4gIGFzeW5jIGVuc3VyZUdsb2JhbENvbm5lY3Rpb24oKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2hlY2tvdXQoKVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhbGwgY29ubmVjdGlvbnMgZm9yIHRoaXMgcG9vbC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNsb3NlQWxsKCkge31cbn1cblxuYmFzZU1ldGhvZHNGb3J3YXJkKFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2UpXG5cbmV4cG9ydCBkZWZhdWx0IFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2VcbiJdfQ==
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9wb29sL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3BDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFFMUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFN0UsOERBQThEO0FBQzlELE1BQU0sTUFBTSxHQUFHO0lBQ2IsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQTtBQUVEOzs7R0FHRztBQUNILFNBQVMsZUFBZSxDQUFDLEtBQUs7SUFDNUIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO0lBQ3RFLENBQUM7SUFFRCxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxNQUFNLE9BQU8sR0FBRyxNQUFNO2FBQ25CLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BELElBQUksRUFBRTthQUNOLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRWpILE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxD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TUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxRQUFRLEtBQUksQ0FBQztDQUNwQjtBQUVELGtCQUFrQixDQUFDLHlCQUF5QixDQUFDLENBQUE7QUFFN0MsZUFBZSx5QkFBeUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQ29uZmlndXJhdGlvbiBmcm9tIFwiLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuLi8uLi9sb2dnZXIuanNcIlxuaW1wb3J0IGJhc2VNZXRob2RzRm9yd2FyZCBmcm9tIFwiLi9iYXNlLW1ldGhvZHMtZm9yd2FyZC5qc1wiXG5cbmV4cG9ydCBjb25zdCBQT09MX0NPTkZJR1VSQVRJT05fS0VZID0gU3ltYm9sKFwidmVsb2Npb3VzUG9vbENvbmZpZ3VyYXRpb25LZXlcIilcblxuLyoqIEB0eXBlIHt7Y3VycmVudFBvb2w6IFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2UgfCBudWxsfX0gKi9cbmNvbnN0IHNoYXJlZCA9IHtcbiAgY3VycmVudFBvb2w6IG51bGxcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3Vua25vd259IHZhbHVlIC0gVmFsdWUgdG8gc3RyaW5naWZ5LlxuICogQHJldHVybnMge3N0cmluZ30gLSBTdGFibGUgSlNPTiBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHN0YWJsZVN0cmluZ2lmeSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gYFske3ZhbHVlLm1hcCgoZW50cnkpID0+IHN0YWJsZVN0cmluZ2lmeShlbnRyeSkpLmpvaW4oXCIsXCIpfV1gXG4gIH1cblxuICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdFxuICAgICAgLmtleXMoLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gKi8gKHZhbHVlKSlcbiAgICAgIC5zb3J0KClcbiAgICAgIC5tYXAoKGtleSkgPT4gYCR7SlNPTi5zdHJpbmdpZnkoa2V5KX06JHtzdGFibGVTdHJpbmdpZnkoLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gKi8gKHZhbHVlKVtrZXldKX1gKVxuXG4gICAgcmV0dXJuIGB7JHtlbnRyaWVzLmpvaW4oXCIsXCIpfX1gXG4gIH1cblxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpXG59XG5cbmNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2Uge1xuICAvKipcbiAgICogQHJldHVybnMge1ZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2V9IC0gVGhlIGN1cnJlbnQuXG4gICAqL1xuICBzdGF0aWMgY3VycmVudCgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50UG9vbCkgdGhyb3cgbmV3IEVycm9yKFwiQSBkYXRhYmFzZSBwb29sIGhhc24ndCBiZWVuIHNldFwiKVxuXG4gICAgcmV0dXJuIHNoYXJlZC5jdXJyZW50UG9vbFxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBhbnkgZ2xvYmFsIGNvbm5lY3Rpb25zIGZvciB0aGUgZ2l2ZW4gY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc3RhdGljIGNsZWFyR2xvYmFsQ29ubmVjdGlvbnMoKSB7fVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge0NvbmZpZ3VyYXRpb259IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmlkZW50aWZpZXIgLSBJZGVudGlmaWVyLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb24sIGlkZW50aWZpZXJ9KSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbiB8fCBDb25maWd1cmF0aW9uLmN1cnJlbnQoKVxuXG4gICAgaWYgKCF0aGlzLmNvbmZpZ3VyYXRpb24pIHRocm93IG5ldyBFcnJvcihcIk5vIGNvbmZpZ3VyYXRpb24gZ2l2ZW5cIilcbiAgICBpZiAoIWlkZW50aWZpZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIGlkZW50aWZpZXIgd2FzIGdpdmVuXCIpXG5cbiAgICB0aGlzLmlkZW50aWZpZXIgPSBpZGVudGlmaWVyXG4gICAgdGhpcy5sb2dnZXIgPSBuZXcgTG9nZ2VyKHRoaXMpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IF9jb25uZWN0aW9uIC0gQ29ubmVjdGlvbi5cbiAgICovXG4gIGNoZWNraW4oX2Nvbm5lY3Rpb24pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHRocm93IG5ldyBFcnJvcihcIidjaGVja2luJyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNoZWNrb3V0LlxuICAgKi9cbiAgY2hlY2tvdXQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiJ2NoZWNrb3V0JyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSAtIFRoZSBjdXJyZW50IGNvbm5lY3Rpb24uXG4gICAqL1xuICBnZXRDdXJyZW50Q29ubmVjdGlvbigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0Q3VycmVudENvbm5lY3Rpb24nIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNvbm5lY3Rpb24gcGlubmVkIHRvIHRoZSBjdXJyZW50IGNvbnRleHQsIGlmIGFueS5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWZlcnMgdG8gYGdldEN1cnJlbnRDb25uZWN0aW9uYC5cbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSAtIFRoZSBjdXJyZW50IGNvbnRleHQgY29ubmVjdGlvbi5cbiAgICovXG4gIGdldEN1cnJlbnRDb250ZXh0Q29ubmVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50Q29ubmVjdGlvbigpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uLy4uL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuRGF0YWJhc2VDb25maWd1cmF0aW9uVHlwZX0gLSBSZXNvbHZlZCBkYXRhYmFzZSBjb25maWd1cmF0aW9uIGZvciB0aGUgcG9vbCBpZGVudGlmaWVyLlxuICAgKi9cbiAgZ2V0Q29uZmlndXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uLnJlc29sdmVEYXRhYmFzZUNvbmZpZ3VyYXRpb24odGhpcy5pZGVudGlmaWVyKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gUmV1c2Uga2V5IGZvciB0aGUgY3VycmVudGx5IHJlc29sdmVkIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBnZXRDb25maWd1cmF0aW9uUmV1c2VLZXkoKSB7XG4gICAgY29uc3QgZGF0YWJhc2VDb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcblxuICAgIHJldHVybiBzdGFibGVTdHJpbmdpZnkoe1xuICAgICAgZGF0YWJhc2U6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5kYXRhYmFzZSxcbiAgICAgIGhvc3Q6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5ob3N0LFxuICAgICAgbmFtZTogZGF0YWJhc2VDb25maWd1cmF0aW9uLm5hbWUsXG4gICAgICBwb3J0OiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24ucG9ydCxcbiAgICAgIHNjaGVtYTogZGF0YWJhc2VDb25maWd1cmF0aW9uLnNjaGVtYSxcbiAgICAgIHNxbENvbmZpZzogZGF0YWJhc2VDb25maWd1cmF0aW9uLnNxbENvbmZpZyxcbiAgICAgIHR5cGU6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi50eXBlLFxuICAgICAgdXNlRGF0YWJhc2U6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi51c2VEYXRhYmFzZSxcbiAgICAgIHVzZXJuYW1lOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24udXNlcm5hbWVcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IGNvbm5lY3Rpb24gLSBDb25uZWN0aW9uLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIGNvbm5lY3Rpb24gbWF0Y2hlcyBjdXJyZW50IHJlc29sdmVkIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBjb25uZWN0aW9uTWF0Y2hlc0N1cnJlbnRDb25maWd1cmF0aW9uKGNvbm5lY3Rpb24pIHtcbiAgICBjb25zdCBjb25uZWN0aW9uV2l0aFBvb2xLZXkgPSAvKiogQHR5cGUge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0ICYge1tQT09MX0NPTkZJR1VSQVRJT05fS0VZXT86IHN0cmluZ319ICovIChjb25uZWN0aW9uKVxuXG4gICAgcmV0dXJuIGNvbm5lY3Rpb25XaXRoUG9vbEtleVtQT09MX0NPTkZJR1VSQVRJT05fS0VZXSA9PT0gdGhpcy5nZXRDb25maWd1cmF0aW9uUmV1c2VLZXkoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBwcmltYXJ5IGtleSB0eXBlLlxuICAgKi9cbiAgcHJpbWFyeUtleVR5cGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiJ3ByaW1hcnlLZXlUeXBlJyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRDdXJyZW50KCkge1xuICAgIHNoYXJlZC5jdXJyZW50UG9vbCA9IHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gZHJpdmVyQ2xhc3MgLSBEcml2ZXIgY2xhc3MuXG4gICAqL1xuICBzZXREcml2ZXJDbGFzcyhkcml2ZXJDbGFzcykge1xuICAgIHRoaXMuZHJpdmVyQ2xhc3MgPSBkcml2ZXJDbGFzc1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBzcGF3biBjb25uZWN0aW9uLlxuICAgKi9cbiAgYXN5bmMgc3Bhd25Db25uZWN0aW9uKCkge1xuICAgIGNvbnN0IGRhdGFiYXNlQ29uZmlnID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcblxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwic3Bhd25Db25uZWN0aW9uXCIsIHtpZGVudGlmaWVyOiB0aGlzLmlkZW50aWZpZXIsIGRhdGFiYXNlQ29uZmlnfSlcblxuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBhd2FpdCB0aGlzLnNwYXduQ29ubmVjdGlvbldpdGhDb25maWd1cmF0aW9uKGRhdGFiYXNlQ29uZmlnKVxuXG4gICAgY29uc3QgY29ubmVjdGlvbldpdGhQb29sS2V5ID0gLyoqIEB0eXBlIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCAmIHtbUE9PTF9DT05GSUdVUkFUSU9OX0tFWV0/OiBzdHJpbmd9fSAqLyAoY29ubmVjdGlvbilcbiAgICBjb25uZWN0aW9uV2l0aFBvb2xLZXlbUE9PTF9DT05GSUdVUkFUSU9OX0tFWV0gPSB0aGlzLmdldENvbmZpZ3VyYXRpb25SZXVzZUtleSgpXG5cbiAgICByZXR1cm4gY29ubmVjdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5EYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlfSBjb25maWcgLSBDb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIHNwYXduIGNvbm5lY3Rpb24gd2l0aCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgYXN5bmMgc3Bhd25Db25uZWN0aW9uV2l0aENvbmZpZ3VyYXRpb24oY29uZmlnKSB7XG4gICAgY29uc3QgRHJpdmVyQ2xhc3MgPSBjb25maWcuZHJpdmVyIHx8IHRoaXMuZHJpdmVyQ2xhc3NcblxuICAgIGlmICghRHJpdmVyQ2xhc3MpIHRocm93IG5ldyBFcnJvcihcIk5vIGRyaXZlciBjbGFzcyBzZXQgaW4gZGF0YWJhc2UgcG9vbCBvciBpbiBnaXZlbiBjb25maWdcIilcblxuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBuZXcgRHJpdmVyQ2xhc3MoY29uZmlnLCB0aGlzLmNvbmZpZ3VyYXRpb24pXG5cbiAgICBhd2FpdCBjb25uZWN0aW9uLmNvbm5lY3QoKVxuXG4gICAgcmV0dXJuIGNvbm5lY3Rpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAdGVtcGxhdGUgVFxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCkgOiBQcm9taXNlPFQ+fSBfY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8VD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgY2FsbGJhY2sgcmVzdWx0LlxuICAgKi9cbiAgd2l0aENvbm5lY3Rpb24oX2NhbGxiYWNrKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCInd2l0aENvbm5lY3Rpb24nIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgYSByZXVzYWJsZSBjb25uZWN0aW9uIGV4aXN0cyBmb3IgY29udGV4dHMgd2hlcmUgQXN5bmNMb2NhbFN0b3JhZ2UgaXNuJ3Qgc2V0LlxuICAgKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGp1c3QgY2hlY2tzIG91dCBhIGNvbm5lY3Rpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBnbG9iYWwgY29ubmVjdGlvbi5cbiAgICovXG4gIGFzeW5jIGVuc3VyZUdsb2JhbENvbm5lY3Rpb24oKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2hlY2tvdXQoKVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhbGwgY29ubmVjdGlvbnMgZm9yIHRoaXMgcG9vbC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNsb3NlQWxsKCkge31cbn1cblxuYmFzZU1ldGhvZHNGb3J3YXJkKFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2UpXG5cbmV4cG9ydCBkZWZhdWx0IFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2VcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
2
- connection: import("../drivers/base.js").default;
2
+ connection: import("../drivers/base.js").default | undefined;
3
3
  }
4
4
  import BasePool from "./base.js";
5
5
  //# sourceMappingURL=single-multi-use.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-multi-use.d.ts","sourceRoot":"","sources":["../../../../src/database/pool/single-multi-use.js"],"names":[],"mappings":"AAIA;IAeM,iDAA2B;CA0DhC;qBA3EoB,WAAW"}
1
+ {"version":3,"file":"single-multi-use.d.ts","sourceRoot":"","sources":["../../../../src/database/pool/single-multi-use.js"],"names":[],"mappings":"AAIA;IAeM,6DAA2B;CA0DhC;qBA3EoB,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"alter-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/alter-table-base.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,gDAHG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACpB,SAAS,EAAzB,SAAS;KACnB,EAQA;IADC,qBAA0B;CAyD7B;sBAzEqB,WAAW;sBAEX,wBAAwB"}
1
+ {"version":3,"file":"alter-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/alter-table-base.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,gDAHG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACpB,SAAS,EAAzB,SAAS;KACnB,EAQA;IADC,qBAA0B;CA8D7B;sBA9EqB,WAAW;sBAEX,wBAAwB"}
@@ -33,7 +33,10 @@ export default class VelociousDatabaseQueryAlterTableBase extends QueryBase {
33
33
  sql += column.getSQL({ driver: this.getDriver(), forAlterTable: false });
34
34
  }
35
35
  else if (column.getNewName()) {
36
- sql += `RENAME COLUMN ${options.quoteColumnName(column.getName())} TO ${options.quoteColumnName(column.getNewName())}`;
36
+ const newColumnName = column.getNewName();
37
+ if (!newColumnName)
38
+ throw new Error(`Expected new column name for ${column.getName()}`);
39
+ sql += `RENAME COLUMN ${options.quoteColumnName(column.getName())} TO ${options.quoteColumnName(newColumnName)}`;
37
40
  }
38
41
  else if (column.getDropColumn()) {
39
42
  sql += `DROP COLUMN ${options.quoteColumnName(column.getName())}`;
@@ -55,12 +58,13 @@ export default class VelociousDatabaseQueryAlterTableBase extends QueryBase {
55
58
  if (!column.isNewColumn() || column.getDropColumn())
56
59
  continue;
57
60
  const notes = column.getNotesForDatabase(databaseType);
58
- if (!notes)
61
+ const actualName = column.getActualName();
62
+ if (!notes || !actualName)
59
63
  continue;
60
- sqls.push(`COMMENT ON COLUMN ${options.quoteTableName(tableData.getName())}.${options.quoteColumnName(column.getActualName())} IS ${options.quote(notes)}`);
64
+ sqls.push(`COMMENT ON COLUMN ${options.quoteTableName(tableData.getName())}.${options.quoteColumnName(actualName)} IS ${options.quote(notes)}`);
61
65
  }
62
66
  }
63
67
  return sqls;
64
68
  }
65
69
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWx0ZXItdGFibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeS9hbHRlci10YWJsZS1iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUE7QUFDakMsT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFDMUQsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFFOUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxvQ0FBcUMsU0FBUSxTQUFTO0lBQ3pFOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFFBQVEsRUFBQztRQUMxQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLENBQUMsU0FBUyxZQUFZLFNBQVMsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUV0RixLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFBO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE1BQU07UUFDVixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDL0MsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2YsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQTtRQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFakMsSUFBSSxHQUFHLEdBQUcsZUFBZSxPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUE7UUFDdkUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFBO1FBRXBCLEtBQUssTUFBTSxNQUFNLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDNUMsSUFBSSxZQUFZLEdBQUcsQ0FBQztnQkFBRSxHQUFHLElBQUksSUFBSSxDQUFBO1lBRWpDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLEdBQUcsSUFBSSxNQUFNLENBQUE7Z0JBQ2IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO1lBQ3hFLENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDL0IsR0FBRyxJQUFJLGlCQUFpQixPQUFPLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQTtZQUN4SCxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7Z0JBQ2xDLEdBQUcsSUFBSSxlQUFlLE9BQU8sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQTtZQUNuRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxZQUFZLElBQUksT0FBTyxJQUFJLFlBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDdkQsR0FBRyxJQUFJLGVBQWUsQ0FBQTtnQkFDeEIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEdBQUcsSUFBSSxTQUFTLENBQUE7Z0JBQ2xCLENBQUM7Z0JBRUQsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO1lBQ3ZFLENBQUM7WUFHRCxZQUFZLEVBQUUsQ0FBQTtRQUNoQixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVkLElBQUksWUFBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzVCLEtBQUssTUFBTSxNQUFNLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTtvQkFBRSxTQUFRO2dCQUU3RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUE7Z0JBRXRELElBQUksQ0FBQyxLQUFLO29CQUFFLFNBQVE7Z0JBRXBCLElBQUksQ0FBQyxJQUFJLENBQ1AscUJBQXFCLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2pKLENBQUE7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBRdWVyeUJhc2UgZnJvbSBcIi4vYmFzZS5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBUYWJsZURhdGEgZnJvbSBcIi4uL3RhYmxlLWRhdGEvaW5kZXguanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNEYXRhYmFzZVF1ZXJ5QWx0ZXJUYWJsZUJhc2UgZXh0ZW5kcyBRdWVyeUJhc2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5kcml2ZXIgLSBEYXRhYmFzZSBkcml2ZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7VGFibGVEYXRhfSBhcmdzLnRhYmxlRGF0YSAtIFRhYmxlIGRhdGEuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7ZHJpdmVyLCB0YWJsZURhdGEsIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoISh0YWJsZURhdGEgaW5zdGFuY2VvZiBUYWJsZURhdGEpKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHRhYmxlIGRhdGEgd2FzIGdpdmVuXCIpXG5cbiAgICBzdXBlcih7ZHJpdmVyfSlcbiAgICB0aGlzLnRhYmxlRGF0YSA9IHRhYmxlRGF0YVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZ1tdPn0gLSBSZXNvbHZlcyB3aXRoIFNRTCBzdGF0ZW1lbnRzLlxuICAgKi9cbiAgYXN5bmMgdG9TUUxzKCkge1xuICAgIGNvbnN0IGRhdGFiYXNlVHlwZSA9IHRoaXMuZ2V0RHJpdmVyKCkuZ2V0VHlwZSgpXG4gICAgY29uc3Qgc3FscyA9IFtdXG4gICAgY29uc3Qge3RhYmxlRGF0YX0gPSB0aGlzXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0T3B0aW9ucygpXG5cbiAgICBsZXQgc3FsID0gYEFMVEVSIFRBQkxFICR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZSh0YWJsZURhdGEuZ2V0TmFtZSgpKX0gYFxuICAgIGxldCBjb2x1bW5zQ291bnQgPSAwXG5cbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICBpZiAoY29sdW1uc0NvdW50ID4gMCkgc3FsICs9IFwiLCBcIlxuXG4gICAgICBpZiAoY29sdW1uLmlzTmV3Q29sdW1uKCkpIHtcbiAgICAgICAgc3FsICs9IFwiQUREIFwiXG4gICAgICAgIHNxbCArPSBjb2x1bW4uZ2V0U1FMKHtkcml2ZXI6IHRoaXMuZ2V0RHJpdmVyKCksIGZvckFsdGVyVGFibGU6IGZhbHNlfSlcbiAgICAgIH0gZWxzZSBpZiAoY29sdW1uLmdldE5ld05hbWUoKSkge1xuICAgICAgICBzcWwgKz0gYFJFTkFNRSBDT0xVTU4gJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShjb2x1bW4uZ2V0TmFtZSgpKX0gVE8gJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShjb2x1bW4uZ2V0TmV3TmFtZSgpKX1gXG4gICAgICB9IGVsc2UgaWYgKGNvbHVtbi5nZXREcm9wQ29sdW1uKCkpIHtcbiAgICAgICAgc3FsICs9IGBEUk9QIENPTFVNTiAke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbi5nZXROYW1lKCkpfWBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJtc3NxbFwiIHx8IGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIpIHtcbiAgICAgICAgICBzcWwgKz0gXCJBTFRFUiBDT0xVTU4gXCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzcWwgKz0gXCJNT0RJRlkgXCJcbiAgICAgICAgfVxuXG4gICAgICAgIHNxbCArPSBjb2x1bW4uZ2V0U1FMKHtkcml2ZXI6IHRoaXMuZ2V0RHJpdmVyKCksIGZvckFsdGVyVGFibGU6IHRydWV9KVxuICAgICAgfVxuXG5cbiAgICAgIGNvbHVtbnNDb3VudCsrXG4gICAgfVxuXG4gICAgc3Fscy5wdXNoKHNxbClcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICAgIGlmICghY29sdW1uLmlzTmV3Q29sdW1uKCkgfHwgY29sdW1uLmdldERyb3BDb2x1bW4oKSkgY29udGludWVcblxuICAgICAgICBjb25zdCBub3RlcyA9IGNvbHVtbi5nZXROb3Rlc0ZvckRhdGFiYXNlKGRhdGFiYXNlVHlwZSlcblxuICAgICAgICBpZiAoIW5vdGVzKSBjb250aW51ZVxuXG4gICAgICAgIHNxbHMucHVzaChcbiAgICAgICAgICBgQ09NTUVOVCBPTiBDT0xVTU4gJHtvcHRpb25zLnF1b3RlVGFibGVOYW1lKHRhYmxlRGF0YS5nZXROYW1lKCkpfS4ke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbi5nZXRBY3R1YWxOYW1lKCkpfSBJUyAke29wdGlvbnMucXVvdGUobm90ZXMpfWBcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzcWxzXG4gIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWx0ZXItdGFibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeS9hbHRlci10YWJsZS1iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUE7QUFDakMsT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFDMUQsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFFOUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxvQ0FBcUMsU0FBUSxTQUFTO0lBQ3pFOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFFBQVEsRUFBQztRQUMxQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLENBQUMsU0FBUyxZQUFZLFNBQVMsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUV0RixLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFBO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE1BQU07UUFDVixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDL0MsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2YsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQTtRQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFakMsSUFBSSxHQUFHLEdBQUcsZUFBZSxPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUE7UUFDdkUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFBO1FBRXBCLEtBQUssTUFBTSxNQUFNLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDNUMsSUFBSSxZQUFZLEdBQUcsQ0FBQztnQkFBRSxHQUFHLElBQUksSUFBSSxDQUFBO1lBRWpDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLEdBQUcsSUFBSSxNQUFNLENBQUE7Z0JBQ2IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO1lBQ3hFLENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFBO2dCQUV6QyxJQUFJLENBQUMsYUFBYTtvQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUV2RixHQUFHLElBQUksaUJBQWlCLE9BQU8sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFBO1lBQ2xILENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDbEMsR0FBRyxJQUFJLGVBQWUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFBO1lBQ25FLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLFlBQVksSUFBSSxPQUFPLElBQUksWUFBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUN2RCxHQUFHLElBQUksZUFBZSxDQUFBO2dCQUN4QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sR0FBRyxJQUFJLFNBQVMsQ0FBQTtnQkFDbEIsQ0FBQztnQkFFRCxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUE7WUFDdkUsQ0FBQztZQUdELFlBQVksRUFBRSxDQUFBO1FBQ2hCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRWQsSUFBSSxZQUFZLElBQUksT0FBTyxFQUFFLENBQUM7WUFDNUIsS0FBSyxNQUFNLE1BQU0sSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFO29CQUFFLFNBQVE7Z0JBRTdELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQTtnQkFDdEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFBO2dCQUV6QyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVTtvQkFBRSxTQUFRO2dCQUVuQyxJQUFJLENBQUMsSUFBSSxDQUNQLHFCQUFxQixPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNySSxDQUFBO1lBQ0QsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgUXVlcnlCYXNlIGZyb20gXCIuL2Jhc2UuanNcIlxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5pbXBvcnQgVGFibGVEYXRhIGZyb20gXCIuLi90YWJsZS1kYXRhL2luZGV4LmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRGF0YWJhc2VRdWVyeUFsdGVyVGFibGVCYXNlIGV4dGVuZHMgUXVlcnlCYXNlIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IGFyZ3MuZHJpdmVyIC0gRGF0YWJhc2UgZHJpdmVyIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge1RhYmxlRGF0YX0gYXJncy50YWJsZURhdGEgLSBUYWJsZSBkYXRhLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2RyaXZlciwgdGFibGVEYXRhLCAuLi5yZXN0QXJnc30pIHtcbiAgICByZXN0QXJnc0Vycm9yKHJlc3RBcmdzKVxuXG4gICAgaWYgKCEodGFibGVEYXRhIGluc3RhbmNlb2YgVGFibGVEYXRhKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB0YWJsZSBkYXRhIHdhcyBnaXZlblwiKVxuXG4gICAgc3VwZXIoe2RyaXZlcn0pXG4gICAgdGhpcy50YWJsZURhdGEgPSB0YWJsZURhdGFcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmdbXT59IC0gUmVzb2x2ZXMgd2l0aCBTUUwgc3RhdGVtZW50cy5cbiAgICovXG4gIGFzeW5jIHRvU1FMcygpIHtcbiAgICBjb25zdCBkYXRhYmFzZVR5cGUgPSB0aGlzLmdldERyaXZlcigpLmdldFR5cGUoKVxuICAgIGNvbnN0IHNxbHMgPSBbXVxuICAgIGNvbnN0IHt0YWJsZURhdGF9ID0gdGhpc1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmdldE9wdGlvbnMoKVxuXG4gICAgbGV0IHNxbCA9IGBBTFRFUiBUQUJMRSAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGFibGVEYXRhLmdldE5hbWUoKSl9IGBcbiAgICBsZXQgY29sdW1uc0NvdW50ID0gMFxuXG4gICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGFibGVEYXRhLmdldENvbHVtbnMoKSkge1xuICAgICAgaWYgKGNvbHVtbnNDb3VudCA+IDApIHNxbCArPSBcIiwgXCJcblxuICAgICAgaWYgKGNvbHVtbi5pc05ld0NvbHVtbigpKSB7XG4gICAgICAgIHNxbCArPSBcIkFERCBcIlxuICAgICAgICBzcWwgKz0gY29sdW1uLmdldFNRTCh7ZHJpdmVyOiB0aGlzLmdldERyaXZlcigpLCBmb3JBbHRlclRhYmxlOiBmYWxzZX0pXG4gICAgICB9IGVsc2UgaWYgKGNvbHVtbi5nZXROZXdOYW1lKCkpIHtcbiAgICAgICAgY29uc3QgbmV3Q29sdW1uTmFtZSA9IGNvbHVtbi5nZXROZXdOYW1lKClcblxuICAgICAgICBpZiAoIW5ld0NvbHVtbk5hbWUpIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgbmV3IGNvbHVtbiBuYW1lIGZvciAke2NvbHVtbi5nZXROYW1lKCl9YClcblxuICAgICAgICBzcWwgKz0gYFJFTkFNRSBDT0xVTU4gJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShjb2x1bW4uZ2V0TmFtZSgpKX0gVE8gJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShuZXdDb2x1bW5OYW1lKX1gXG4gICAgICB9IGVsc2UgaWYgKGNvbHVtbi5nZXREcm9wQ29sdW1uKCkpIHtcbiAgICAgICAgc3FsICs9IGBEUk9QIENPTFVNTiAke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbi5nZXROYW1lKCkpfWBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJtc3NxbFwiIHx8IGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIpIHtcbiAgICAgICAgICBzcWwgKz0gXCJBTFRFUiBDT0xVTU4gXCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzcWwgKz0gXCJNT0RJRlkgXCJcbiAgICAgICAgfVxuXG4gICAgICAgIHNxbCArPSBjb2x1bW4uZ2V0U1FMKHtkcml2ZXI6IHRoaXMuZ2V0RHJpdmVyKCksIGZvckFsdGVyVGFibGU6IHRydWV9KVxuICAgICAgfVxuXG5cbiAgICAgIGNvbHVtbnNDb3VudCsrXG4gICAgfVxuXG4gICAgc3Fscy5wdXNoKHNxbClcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICBpZiAoIWNvbHVtbi5pc05ld0NvbHVtbigpIHx8IGNvbHVtbi5nZXREcm9wQ29sdW1uKCkpIGNvbnRpbnVlXG5cbiAgICAgIGNvbnN0IG5vdGVzID0gY29sdW1uLmdldE5vdGVzRm9yRGF0YWJhc2UoZGF0YWJhc2VUeXBlKVxuICAgICAgY29uc3QgYWN0dWFsTmFtZSA9IGNvbHVtbi5nZXRBY3R1YWxOYW1lKClcblxuICAgICAgaWYgKCFub3RlcyB8fCAhYWN0dWFsTmFtZSkgY29udGludWVcblxuICAgICAgc3Fscy5wdXNoKFxuICAgICAgICBgQ09NTUVOVCBPTiBDT0xVTU4gJHtvcHRpb25zLnF1b3RlVGFibGVOYW1lKHRhYmxlRGF0YS5nZXROYW1lKCkpfS4ke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGFjdHVhbE5hbWUpfSBJUyAke29wdGlvbnMucXVvdGUobm90ZXMpfWBcbiAgICAgIClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3Fsc1xuICB9XG59XG4iXX0=
@@ -6,7 +6,7 @@ export default class VelociousDatabaseQueryBase {
6
6
  */
7
7
  constructor({ driver, options, ...restArgs }: {
8
8
  driver: import("../drivers/base.js").default;
9
- options?: import("../query-parser/options.js").default;
9
+ options?: import("../query-parser/options.js").default | undefined;
10
10
  });
11
11
  _driver: import("../drivers/base.js").default;
12
12
  _options: import("../query-parser/options.js").default;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/base.js"],"names":[],"mappings":"AAIA;IACE;;;;OAIG;IACH,8CAHG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACgB,OAAO,GAA3D,OAAO,4BAA4B,EAAE,OAAO;KACtD,EAQA;IAJC,8CAAqB;IACrB,uDAA2C;IAK7C,6DAEC;IAED,kDAEC;IAED;;OAEG;IACH,cAFa,OAAO,4BAA4B,EAAE,OAAO,CAIxD;IAED,0BAEC;IAED;;;OAGG;IACH,UAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CAI7B;CACF"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/base.js"],"names":[],"mappings":"AAIA;IACE;;;;OAIG;IACH,8CAHG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACgB,OAAO;KACrE,EAQA;IAJC,8CAAqB;IACrB,uDAA2C;IAK7C,6DAEC;IAED,kDAEC;IAED;;OAEG;IACH,cAFa,OAAO,4BAA4B,EAAE,OAAO,CAIxD;IAED,0BAEC;IAED;;;OAGG;IACH,UAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CAI7B;CACF"}
@@ -4,7 +4,7 @@ export default class VelociousDatabaseQueryCreateDatabaseBase extends QueryBase
4
4
  */
5
5
  constructor({ driver, databaseName, ifNotExists }: CreateDatabaseArgsType);
6
6
  databaseName: string;
7
- ifNotExists: boolean;
7
+ ifNotExists: boolean | undefined;
8
8
  /**
9
9
  * @returns {string[]} - SQL statements.
10
10
  */
@@ -22,7 +22,7 @@ export type CreateDatabaseArgsType = {
22
22
  /**
23
23
  * - Skip creation if the database already exists.
24
24
  */
25
- ifNotExists?: boolean;
25
+ ifNotExists?: boolean | undefined;
26
26
  };
27
27
  import QueryBase from "./base.js";
28
28
  //# sourceMappingURL=create-database-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-database-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/create-database-base.js"],"names":[],"mappings":"AAWA;IACE;;OAEG;IACH,mDAFW,sBAAsB,EAMhC;IAFC,qBAAgC;IAChC,qBAA8B;IAGhC;;OAEG;IACH,SAFa,MAAM,EAAE,CAWpB;CACF;;;;;YA9Ba,OAAO,oBAAoB,EAAE,OAAO;;;;kBACpC,MAAM;;;;kBACN,OAAO;;sBAGC,WAAW"}
1
+ {"version":3,"file":"create-database-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/create-database-base.js"],"names":[],"mappings":"AAWA;IACE;;OAEG;IACH,mDAFW,sBAAsB,EAMhC;IAFC,qBAAgC;IAChC,iCAA8B;IAGhC;;OAEG;IACH,SAFa,MAAM,EAAE,CAWpB;CACF;;;;;YA9Ba,OAAO,oBAAoB,EAAE,OAAO;;;;kBACpC,MAAM;;;;;;sBAIE,WAAW"}
@@ -13,10 +13,10 @@ export default class VelociousDatabaseQueryCreateIndexBase extends QueryBase {
13
13
  */
14
14
  constructor({ columns, driver, ifNotExists, name, unique, tableName }: CreateIndexBaseArgsType);
15
15
  columns: (string | import("./../table-data/table-column.js").default)[];
16
- name: string;
16
+ name: string | undefined;
17
17
  tableName: string;
18
- ifNotExists: boolean;
19
- unique: boolean;
18
+ ifNotExists: boolean | undefined;
19
+ unique: boolean | undefined;
20
20
  generateIndexName(): string;
21
21
  }
22
22
  export type CreateIndexBaseArgsType = {
@@ -31,15 +31,15 @@ export type CreateIndexBaseArgsType = {
31
31
  /**
32
32
  * - Skip creation if the index already exists.
33
33
  */
34
- ifNotExists?: boolean;
34
+ ifNotExists?: boolean | undefined;
35
35
  /**
36
36
  * - Explicit index name to use.
37
37
  */
38
- name?: string;
38
+ name?: string | undefined;
39
39
  /**
40
40
  * - Whether the index should enforce uniqueness.
41
41
  */
42
- unique?: boolean;
42
+ unique?: boolean | undefined;
43
43
  /**
44
44
  * - Name of the table to add the index to.
45
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"create-index-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/create-index-base.js"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH;IACE;;OAEG;IACH,uEAFW,uBAAuB,EASjC;IALC,wEAAsB;IACtB,aAAgB;IAChB,kBAA0B;IAC1B,qBAA8B;IAC9B,gBAAoB;IAGtB,4BAwBC;CA8DF;;;;;aA3Ga,KAAK,CAAC,MAAM,GAAG,OAAO,iCAAiC,EAAE,OAAO,CAAC;;;;YACjE,OAAO,oBAAoB,EAAE,OAAO;;;;kBACpC,OAAO;;;;WACP,MAAM;;;;aACN,OAAO;;;;eACP,MAAM;;sBATE,WAAW"}
1
+ {"version":3,"file":"create-index-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/create-index-base.js"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH;IACE;;OAEG;IACH,uEAFW,uBAAuB,EASjC;IALC,wEAAsB;IACtB,yBAAgB;IAChB,kBAA0B;IAC1B,iCAA8B;IAC9B,4BAAoB;IAGtB,4BAwBC;CA8DF;;;;;aA3Ga,KAAK,CAAC,MAAM,GAAG,OAAO,iCAAiC,EAAE,OAAO,CAAC;;;;YACjE,OAAO,oBAAoB,EAAE,OAAO;;;;;;;;;;;;;;;;eAIpC,MAAM;;sBATE,WAAW"}
@@ -8,11 +8,11 @@ export default class VelociousDatabaseQueryCreateTableBase extends QueryBase {
8
8
  */
9
9
  constructor({ driver, ifNotExists, indexInCreateTable, tableData }: {
10
10
  driver: import("../drivers/base.js").default;
11
- ifNotExists?: boolean;
12
- indexInCreateTable?: boolean;
11
+ ifNotExists?: boolean | undefined;
12
+ indexInCreateTable?: boolean | undefined;
13
13
  tableData: TableData;
14
14
  });
15
- ifNotExists: boolean;
15
+ ifNotExists: boolean | undefined;
16
16
  indexInCreateTable: boolean;
17
17
  tableData: TableData;
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"create-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/create-table-base.js"],"names":[],"mappings":"AAQA;IACE;;;;;;OAMG;IACH,oEALG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACrB,WAAW,GAA1B,OAAO;QACQ,kBAAkB,GAAjC,OAAO;QACS,SAAS,EAAzB,SAAS;KACnB,EAQA;IAHC,qBAA8B;IAC9B,4BAA4C;IAC5C,qBAA0B;IAG5B;;OAEG;IACH,SAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CAyJ7B;CACF;sBAjLqB,WAAW;sBAEX,wBAAwB"}
1
+ {"version":3,"file":"create-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/create-table-base.js"],"names":[],"mappings":"AAQA;IACE;;;;;;OAMG;IACH,oEALG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACrB,WAAW;QACX,kBAAkB;QACjB,SAAS,EAAzB,SAAS;KACnB,EAQA;IAHC,iCAA8B;IAC9B,4BAA4C;IAC5C,qBAA0B;IAG5B;;OAEG;IACH,SAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CA8J7B;CACF;sBAtLqB,WAAW;sBAEX,wBAAwB"}
@@ -53,7 +53,10 @@ export default class VelociousDatabaseQueryCreateTableBase extends QueryBase {
53
53
  }
54
54
  sql += " INDEX";
55
55
  if (index.getName()) {
56
- sql += ` ${options.quoteIndexName(index.getName())}`;
56
+ const indexName = index.getName();
57
+ if (!indexName)
58
+ throw new Error("Expected index name");
59
+ sql += ` ${options.quoteIndexName(indexName)}`;
57
60
  }
58
61
  sql += " (";
59
62
  index.getColumns().forEach((column, columnIndex) => {
@@ -96,9 +99,10 @@ export default class VelociousDatabaseQueryCreateTableBase extends QueryBase {
96
99
  if (databaseType == "pgsql") {
97
100
  for (const column of tableData.getColumns()) {
98
101
  const notes = column.getNotesForDatabase(databaseType);
99
- if (!notes)
102
+ const actualName = column.getActualName();
103
+ if (!notes || !actualName)
100
104
  continue;
101
- sqls.push(`COMMENT ON COLUMN ${options.quoteTableName(tableData.getName())}.${options.quoteColumnName(column.getActualName())} IS ${options.quote(notes)}`);
105
+ sqls.push(`COMMENT ON COLUMN ${options.quoteTableName(tableData.getName())}.${options.quoteColumnName(actualName)} IS ${options.quote(notes)}`);
102
106
  }
103
107
  }
104
108
  if (!this.indexInCreateTable) {
@@ -142,4 +146,4 @@ export default class VelociousDatabaseQueryCreateTableBase extends QueryBase {
142
146
  return sqls;
143
147
  }
144
148
  }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRhYmxlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvcXVlcnkvY3JlYXRlLXRhYmxlLWJhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sZUFBZSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLGFBQWEsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMxRCxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQTtBQUM5QyxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQTtBQUV2RCxNQUFNLENBQUMsT0FBTyxPQUFPLHFDQUFzQyxTQUFRLFNBQVM7SUFDMUU7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLFNBQVMsRUFBQztRQUNyRSxJQUFJLENBQUMsQ0FBQyxTQUFTLFlBQVksU0FBUyxDQUFDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO1FBRXRGLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUE7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUE7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNqQyxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFB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TUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDeEIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsU0FBUyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUU7b0JBQzlCLE1BQU07aUJBQ1AsQ0FBQTtnQkFDRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO2dCQUUzRSxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQ3JlYXRlSW5kZXhCYXNlIGZyb20gXCIuL2NyZWF0ZS1pbmRleC1iYXNlLmpzXCJcbmltcG9ydCBRdWVyeUJhc2UgZnJvbSBcIi4vYmFzZS5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBUYWJsZURhdGEgZnJvbSBcIi4uL3RhYmxlLWRhdGEvaW5kZXguanNcIlxuaW1wb3J0IFRhYmxlQ29sdW1uIGZyb20gXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUXVlcnlDcmVhdGVUYWJsZUJhc2UgZXh0ZW5kcyBRdWVyeUJhc2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5kcml2ZXIgLSBEYXRhYmFzZSBkcml2ZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3MuaWZOb3RFeGlzdHNdIC0gV2hldGhlciBpZiBub3QgZXhpc3RzLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmluZGV4SW5DcmVhdGVUYWJsZV0gLSBXaGV0aGVyIGluZGV4IGluIGNyZWF0ZSB0YWJsZS5cbiAgICogQHBhcmFtIHtUYWJsZURhdGF9IGFyZ3MudGFibGVEYXRhIC0gVGFibGUgZGF0YS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtkcml2ZXIsIGlmTm90RXhpc3RzLCBpbmRleEluQ3JlYXRlVGFibGUgPSB0cnVlLCB0YWJsZURhdGF9KSB7XG4gICAgaWYgKCEodGFibGVEYXRhIGluc3RhbmNlb2YgVGFibGVEYXRhKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB0YWJsZSBkYXRhIHdhcyBnaXZlblwiKVxuXG4gICAgc3VwZXIoe2RyaXZlcn0pXG4gICAgdGhpcy5pZk5vdEV4aXN0cyA9IGlmTm90RXhpc3RzXG4gICAgdGhpcy5pbmRleEluQ3JlYXRlVGFibGUgPSBpbmRleEluQ3JlYXRlVGFibGVcbiAgICB0aGlzLnRhYmxlRGF0YSA9IHRhYmxlRGF0YVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZ1tdPn0gLSBSZXNvbHZlcyB3aXRoIFNRTCBzdGF0ZW1lbnRzLlxuICAgKi9cbiAgYXN5bmMgdG9TcWwoKSB7XG4gICAgY29uc3QgZGF0YWJhc2VUeXBlID0gdGhpcy5nZXREYXRhYmFzZVR5cGUoKVxuICAgIGNvbnN0IGRyaXZlciA9IHRoaXMuZ2V0RHJpdmVyKClcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKClcbiAgICBjb25zdCB7dGFibGVEYXRhfSA9IHRoaXNcbiAgICBjb25zdCBzcWxzID0gW11cbiAgICBjb25zdCBpZk5vdEV4aXN0cyA9IHRoaXMuaWZOb3RFeGlzdHMgfHwgdGFibGVEYXRhLmdldElmTm90RXhpc3RzKClcbiAgICBsZXQgc3FsID0gXCJcIlxuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcIm1zc3FsXCIgJiYgaWZOb3RFeGlzdHMpIHtcbiAgICAgIHNxbCArPSBgSUYgTk9UIEVYSVNUUyhTRUxFQ1QgKiBGUk9NIFtzeXNvYmplY3RzXSBXSEVSRSBbbmFtZV0gPSAke29wdGlvbnMucXVvdGUodGFibGVEYXRhLmdldE5hbWUoKSl9IEFORCBbeHR5cGVdID0gJ1UnKSBCRUdJTiBgXG4gICAgfVxuXG4gICAgc3FsICs9IFwiQ1JFQVRFIFRBQkxFXCJcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgIT0gXCJtc3NxbFwiICYmIGlmTm90RXhpc3RzKSBzcWwgKz0gXCIgSUYgTk9UIEVYSVNUU1wiXG5cbiAgICBzcWwgKz0gYCAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGFibGVEYXRhLmdldE5hbWUoKSl9IChgXG5cbiAgICBsZXQgY29sdW1uQ291bnQgPSAwXG5cbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICBjb2x1bW5Db3VudCsrXG5cbiAgICAgIGlmIChjb2x1bW5Db3VudCA+IDEpIHNxbCArPSBcIiwgXCJcblxuICAgICAgc3FsICs9IGNvbHVtbi5nZXRTUUwoe2RyaXZlciwgZm9yQWx0ZXJUYWJsZTogZmFsc2V9KVxuICAgIH1cblxuICAgIGlmICh0aGlzLmluZGV4SW5DcmVhdGVUYWJsZSkge1xuICAgICAgZm9yIChjb25zdCBpbmRleCBvZiB0YWJsZURhdGEuZ2V0SW5kZXhlcygpKSB7XG4gICAgICAgIHNxbCArPSBcIixcIlxuXG4gICAgICAgIGlmIChpbmRleC5nZXRVbmlxdWUoKSkge1xuICAgICAgICAgIHNxbCArPSBcIiBVTklRVUVcIlxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IFwiIElOREVYXCJcblxuICAgICAgICBpZiAoaW5kZXguZ2V0TmFtZSgpKSB7XG4gICAgICAgICAgc3FsICs9IGAgJHtvcHRpb25zLnF1b3RlSW5kZXhOYW1lKGluZGV4LmdldE5hbWUoKSl9YFxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IFwiIChcIlxuXG4gICAgICAgIGluZGV4LmdldENvbHVtbnMoKS5mb3JFYWNoKChjb2x1bW4sIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKGNvbHVtbkluZGV4ID4gMCkgc3FsICs9IFwiLCBcIlxuXG4gICAgICAgICAgaWYgKGNvbHVtbiBpbnN0YW5jZW9mIFRhYmxlQ29sdW1uKSB7XG4gICAgICAgICAgICBzcWwgKz0gZHJpdmVyLnF1b3RlQ29sdW1uKGNvbHVtbi5nZXROYW1lKCkpXG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29sdW1uID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHNxbCArPSBkcml2ZXIucXVvdGVDb2x1bW4oY29sdW1uKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29sdW1uIHR5cGU6ICR7dHlwZW9mIGNvbHVtbn1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBzcWwgKz0gXCIpXCJcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIGluZGV4ZXMgZm9yIGFsbCBjb2x1bW5zIHdpdGggdGhlIGluZGV4IGFyZ3VtZW50XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICAgIGlmICghY29sdW1uLmdldEluZGV4KCkpIGNvbnRpbnVlXG5cbiAgICAgICAgbGV0IGluZGV4TmFtZSA9IGBpbmRleF9vbl9gXG5cbiAgICAgICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInNxbGl0ZVwiKSBzcWwgKz0gYCR7dGFibGVEYXRhLmdldE5hbWUoKX1fYFxuXG4gICAgICAgIGluZGV4TmFtZSArPSBjb2x1bW4uZ2V0TmFtZSgpXG5cbiAgICAgICAgc3FsICs9IFwiLFwiXG5cbiAgICAgICAgY29uc3Qge3VuaXF1ZSwgLi4ucmVzdEluZGV4QXJnc30gPSBjb2x1bW4uZ2V0SW5kZXhBcmdzKClcblxuICAgICAgICByZXN0QXJnc0Vycm9yKHJlc3RJbmRleEFyZ3MpXG5cbiAgICAgICAgaWYgKHVuaXF1ZSkge1xuICAgICAgICAgIHNxbCArPSBcIiBVTklRVUVcIlxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IGAgSU5ERVggJHtvcHRpb25zLnF1b3RlSW5kZXhOYW1lKGluZGV4TmFtZSl9ICgke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbi5nZXROYW1lKCkpfSlgXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3FsICs9IFwiKVwiXG5cbiAgICBpZiAoZGF0YWJhc2VUeXBlID09IFwibXNzcWxcIiAmJiBpZk5vdEV4aXN0cykge1xuICAgICAgc3FsICs9IFwiIEVORFwiXG4gICAgfVxuXG4gICAgc3Fscy5wdXNoKHNxbClcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICAgIGNvbnN0IG5vdGVzID0gY29sdW1uLmdldE5vdGVzRm9yRGF0YWJhc2UoZGF0YWJhc2VUeXBlKVxuXG4gICAgICAgIGlmICghbm90ZXMpIGNvbnRpbnVlXG5cbiAgICAgICAgc3Fscy5wdXNoKFxuICAgICAgICAgIGBDT01NRU5UIE9OIENPTFVNTiAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGFibGVEYXRhLmdldE5hbWUoKSl9LiR7b3B0aW9ucy5xdW90ZUNvbHVtbk5hbWUoY29sdW1uLmdldEFjdHVhbE5hbWUoKSl9IElTICR7b3B0aW9ucy5xdW90ZShub3Rlcyl9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmluZGV4SW5DcmVhdGVUYWJsZSkge1xuICAgICAgZm9yIChjb25zdCBpbmRleCBvZiB0YWJsZURhdGEuZ2V0SW5kZXhlcygpKSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZUluZGV4QXJncyA9IHtcbiAgICAgICAgICBjb2x1bW5zOiBpbmRleC5nZXRDb2x1bW5zKCksXG4gICAgICAgICAgZHJpdmVyOiB0aGlzLmdldERyaXZlcigpLFxuICAgICAgICAgIGlmTm90RXhpc3RzOiB0cnVlLFxuICAgICAgICAgIG5hbWU6IGluZGV4LmdldE5hbWUoKSxcbiAgICAgICAgICB0YWJsZU5hbWU6IHRhYmxlRGF0YS5nZXROYW1lKCksXG4gICAgICAgICAgdW5pcXVlOiBpbmRleC5nZXRVbmlxdWUoKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNyZWF0ZUluZGV4U1FMcyA9IGF3YWl0IG5ldyBDcmVhdGVJbmRleEJhc2UoY3JlYXRlSW5kZXhBcmdzKS50b1NRTHMoKVxuXG4gICAgICAgIGZvciAoY29uc3QgY3JlYXRlSW5kZXhTUUwgb2YgY3JlYXRlSW5kZXhTUUxzKSB7XG4gICAgICAgICAgc3Fscy5wdXNoKGNyZWF0ZUluZGV4U1FMKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBpbmRleGVzIGZvciBhbGwgY29sdW1ucyB3aXRoIHRoZSBpbmRleCBhcmd1bWVudFxuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGFibGVEYXRhLmdldENvbHVtbnMoKSkge1xuICAgICAgICBpZiAoIWNvbHVtbi5nZXRJbmRleCgpKSBjb250aW51ZVxuXG4gICAgICAgIGNvbnN0IHt1bmlxdWUsIC4uLnJlc3RJbmRleEFyZ3N9ID0gY29sdW1uLmdldEluZGV4QXJncygpXG5cbiAgICAgICAgcmVzdEFyZ3NFcnJvcihyZXN0SW5kZXhBcmdzKVxuXG4gICAgICAgIGxldCBpbmRleE5hbWUgPSBgaW5kZXhfb25fYFxuXG4gICAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJzcWxpdGVcIikgaW5kZXhOYW1lICs9IGAke3RhYmxlRGF0YS5nZXROYW1lKCl9X2BcblxuICAgICAgICBpbmRleE5hbWUgKz0gY29sdW1uLmdldE5hbWUoKVxuXG4gICAgICAgIGNvbnN0IGNyZWF0ZUluZGV4QXJncyA9IHtcbiAgICAgICAgICBjb2x1bW5zOiBbY29sdW1uLmdldE5hbWUoKV0sXG4gICAgICAgICAgZHJpdmVyOiB0aGlzLmdldERyaXZlcigpLFxuICAgICAgICAgIG5hbWU6IGluZGV4TmFtZSxcbiAgICAgICAgICB0YWJsZU5hbWU6IHRhYmxlRGF0YS5nZXROYW1lKCksXG4gICAgICAgICAgdW5pcXVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3JlYXRlSW5kZXhTUUxzID0gYXdhaXQgbmV3IENyZWF0ZUluZGV4QmFzZShjcmVhdGVJbmRleEFyZ3MpLnRvU1FMcygpXG5cbiAgICAgICAgZm9yIChjb25zdCBjcmVhdGVJbmRleFNRTCBvZiBjcmVhdGVJbmRleFNRTHMpIHtcbiAgICAgICAgICBzcWxzLnB1c2goY3JlYXRlSW5kZXhTUUwpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3Fsc1xuICB9XG59XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRhYmxlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGF0YWJhc2UvcXVlcnkvY3JlYXRlLXRhYmxlLWJhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sZUFBZSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLGFBQWEsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMxRCxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQTtBQUM5QyxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQTtBQUV2RCxNQUFNLENBQUMsT0FBTyxPQUFPLHFDQUFzQyxTQUFRLFNBQVM7SUFDMUU7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLFNBQVMsRUFBQztRQUNyRSxJQUFJLENBQUMsQ0FBQyxTQUFTLFlBQVksU0FBUyxDQUFDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO1FBRXRGLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUE7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUE7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNqQyxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFB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SSxRQUFRO29CQUFFLFNBQVMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFBO2dCQUVwRSxTQUFTLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO2dCQUU3QixNQUFNLGVBQWUsR0FBRztvQkFDdEIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDeEIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsU0FBUyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUU7b0JBQzlCLE1BQU07aUJBQ1AsQ0FBQTtnQkFDRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO2dCQUUzRSxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQ3JlYXRlSW5kZXhCYXNlIGZyb20gXCIuL2NyZWF0ZS1pbmRleC1iYXNlLmpzXCJcbmltcG9ydCBRdWVyeUJhc2UgZnJvbSBcIi4vYmFzZS5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBUYWJsZURhdGEgZnJvbSBcIi4uL3RhYmxlLWRhdGEvaW5kZXguanNcIlxuaW1wb3J0IFRhYmxlQ29sdW1uIGZyb20gXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUXVlcnlDcmVhdGVUYWJsZUJhc2UgZXh0ZW5kcyBRdWVyeUJhc2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5kcml2ZXIgLSBEYXRhYmFzZSBkcml2ZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FyZ3MuaWZOb3RFeGlzdHNdIC0gV2hldGhlciBpZiBub3QgZXhpc3RzLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmluZGV4SW5DcmVhdGVUYWJsZV0gLSBXaGV0aGVyIGluZGV4IGluIGNyZWF0ZSB0YWJsZS5cbiAgICogQHBhcmFtIHtUYWJsZURhdGF9IGFyZ3MudGFibGVEYXRhIC0gVGFibGUgZGF0YS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtkcml2ZXIsIGlmTm90RXhpc3RzLCBpbmRleEluQ3JlYXRlVGFibGUgPSB0cnVlLCB0YWJsZURhdGF9KSB7XG4gICAgaWYgKCEodGFibGVEYXRhIGluc3RhbmNlb2YgVGFibGVEYXRhKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB0YWJsZSBkYXRhIHdhcyBnaXZlblwiKVxuXG4gICAgc3VwZXIoe2RyaXZlcn0pXG4gICAgdGhpcy5pZk5vdEV4aXN0cyA9IGlmTm90RXhpc3RzXG4gICAgdGhpcy5pbmRleEluQ3JlYXRlVGFibGUgPSBpbmRleEluQ3JlYXRlVGFibGVcbiAgICB0aGlzLnRhYmxlRGF0YSA9IHRhYmxlRGF0YVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZ1tdPn0gLSBSZXNvbHZlcyB3aXRoIFNRTCBzdGF0ZW1lbnRzLlxuICAgKi9cbiAgYXN5bmMgdG9TcWwoKSB7XG4gICAgY29uc3QgZGF0YWJhc2VUeXBlID0gdGhpcy5nZXREYXRhYmFzZVR5cGUoKVxuICAgIGNvbnN0IGRyaXZlciA9IHRoaXMuZ2V0RHJpdmVyKClcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKClcbiAgICBjb25zdCB7dGFibGVEYXRhfSA9IHRoaXNcbiAgICBjb25zdCBzcWxzID0gW11cbiAgICBjb25zdCBpZk5vdEV4aXN0cyA9IHRoaXMuaWZOb3RFeGlzdHMgfHwgdGFibGVEYXRhLmdldElmTm90RXhpc3RzKClcbiAgICBsZXQgc3FsID0gXCJcIlxuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcIm1zc3FsXCIgJiYgaWZOb3RFeGlzdHMpIHtcbiAgICAgIHNxbCArPSBgSUYgTk9UIEVYSVNUUyhTRUxFQ1QgKiBGUk9NIFtzeXNvYmplY3RzXSBXSEVSRSBbbmFtZV0gPSAke29wdGlvbnMucXVvdGUodGFibGVEYXRhLmdldE5hbWUoKSl9IEFORCBbeHR5cGVdID0gJ1UnKSBCRUdJTiBgXG4gICAgfVxuXG4gICAgc3FsICs9IFwiQ1JFQVRFIFRBQkxFXCJcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgIT0gXCJtc3NxbFwiICYmIGlmTm90RXhpc3RzKSBzcWwgKz0gXCIgSUYgTk9UIEVYSVNUU1wiXG5cbiAgICBzcWwgKz0gYCAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGFibGVEYXRhLmdldE5hbWUoKSl9IChgXG5cbiAgICBsZXQgY29sdW1uQ291bnQgPSAwXG5cbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICBjb2x1bW5Db3VudCsrXG5cbiAgICAgIGlmIChjb2x1bW5Db3VudCA+IDEpIHNxbCArPSBcIiwgXCJcblxuICAgICAgc3FsICs9IGNvbHVtbi5nZXRTUUwoe2RyaXZlciwgZm9yQWx0ZXJUYWJsZTogZmFsc2V9KVxuICAgIH1cblxuICAgIGlmICh0aGlzLmluZGV4SW5DcmVhdGVUYWJsZSkge1xuICAgICAgZm9yIChjb25zdCBpbmRleCBvZiB0YWJsZURhdGEuZ2V0SW5kZXhlcygpKSB7XG4gICAgICAgIHNxbCArPSBcIixcIlxuXG4gICAgICAgIGlmIChpbmRleC5nZXRVbmlxdWUoKSkge1xuICAgICAgICAgIHNxbCArPSBcIiBVTklRVUVcIlxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IFwiIElOREVYXCJcblxuICAgICAgICBpZiAoaW5kZXguZ2V0TmFtZSgpKSB7XG4gICAgICAgICAgY29uc3QgaW5kZXhOYW1lID0gaW5kZXguZ2V0TmFtZSgpXG5cbiAgICAgICAgICBpZiAoIWluZGV4TmFtZSkgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgaW5kZXggbmFtZVwiKVxuXG4gICAgICAgICAgc3FsICs9IGAgJHtvcHRpb25zLnF1b3RlSW5kZXhOYW1lKGluZGV4TmFtZSl9YFxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IFwiIChcIlxuXG4gICAgICAgIGluZGV4LmdldENvbHVtbnMoKS5mb3JFYWNoKChjb2x1bW4sIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKGNvbHVtbkluZGV4ID4gMCkgc3FsICs9IFwiLCBcIlxuXG4gICAgICAgICAgaWYgKGNvbHVtbiBpbnN0YW5jZW9mIFRhYmxlQ29sdW1uKSB7XG4gICAgICAgICAgICBzcWwgKz0gZHJpdmVyLnF1b3RlQ29sdW1uKGNvbHVtbi5nZXROYW1lKCkpXG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29sdW1uID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHNxbCArPSBkcml2ZXIucXVvdGVDb2x1bW4oY29sdW1uKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29sdW1uIHR5cGU6ICR7dHlwZW9mIGNvbHVtbn1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBzcWwgKz0gXCIpXCJcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIGluZGV4ZXMgZm9yIGFsbCBjb2x1bW5zIHdpdGggdGhlIGluZGV4IGFyZ3VtZW50XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICAgIGlmICghY29sdW1uLmdldEluZGV4KCkpIGNvbnRpbnVlXG5cbiAgICAgICAgbGV0IGluZGV4TmFtZSA9IGBpbmRleF9vbl9gXG5cbiAgICAgICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInNxbGl0ZVwiKSBzcWwgKz0gYCR7dGFibGVEYXRhLmdldE5hbWUoKX1fYFxuXG4gICAgICAgIGluZGV4TmFtZSArPSBjb2x1bW4uZ2V0TmFtZSgpXG5cbiAgICAgICAgc3FsICs9IFwiLFwiXG5cbiAgICAgICAgY29uc3Qge3VuaXF1ZSwgLi4ucmVzdEluZGV4QXJnc30gPSBjb2x1bW4uZ2V0SW5kZXhBcmdzKClcblxuICAgICAgICByZXN0QXJnc0Vycm9yKHJlc3RJbmRleEFyZ3MpXG5cbiAgICAgICAgaWYgKHVuaXF1ZSkge1xuICAgICAgICAgIHNxbCArPSBcIiBVTklRVUVcIlxuICAgICAgICB9XG5cbiAgICAgICAgc3FsICs9IGAgSU5ERVggJHtvcHRpb25zLnF1b3RlSW5kZXhOYW1lKGluZGV4TmFtZSl9ICgke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbi5nZXROYW1lKCkpfSlgXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3FsICs9IFwiKVwiXG5cbiAgICBpZiAoZGF0YWJhc2VUeXBlID09IFwibXNzcWxcIiAmJiBpZk5vdEV4aXN0cykge1xuICAgICAgc3FsICs9IFwiIEVORFwiXG4gICAgfVxuXG4gICAgc3Fscy5wdXNoKHNxbClcblxuICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZURhdGEuZ2V0Q29sdW1ucygpKSB7XG4gICAgICAgIGNvbnN0IG5vdGVzID0gY29sdW1uLmdldE5vdGVzRm9yRGF0YWJhc2UoZGF0YWJhc2VUeXBlKVxuICAgICAgICBjb25zdCBhY3R1YWxOYW1lID0gY29sdW1uLmdldEFjdHVhbE5hbWUoKVxuXG4gICAgICAgIGlmICghbm90ZXMgfHwgIWFjdHVhbE5hbWUpIGNvbnRpbnVlXG5cbiAgICAgICAgc3Fscy5wdXNoKFxuICAgICAgICAgIGBDT01NRU5UIE9OIENPTFVNTiAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGFibGVEYXRhLmdldE5hbWUoKSl9LiR7b3B0aW9ucy5xdW90ZUNvbHVtbk5hbWUoYWN0dWFsTmFtZSl9IElTICR7b3B0aW9ucy5xdW90ZShub3Rlcyl9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmluZGV4SW5DcmVhdGVUYWJsZSkge1xuICAgICAgZm9yIChjb25zdCBpbmRleCBvZiB0YWJsZURhdGEuZ2V0SW5kZXhlcygpKSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZUluZGV4QXJncyA9IHtcbiAgICAgICAgICBjb2x1bW5zOiBpbmRleC5nZXRDb2x1bW5zKCksXG4gICAgICAgICAgZHJpdmVyOiB0aGlzLmdldERyaXZlcigpLFxuICAgICAgICAgIGlmTm90RXhpc3RzOiB0cnVlLFxuICAgICAgICAgIG5hbWU6IGluZGV4LmdldE5hbWUoKSxcbiAgICAgICAgICB0YWJsZU5hbWU6IHRhYmxlRGF0YS5nZXROYW1lKCksXG4gICAgICAgICAgdW5pcXVlOiBpbmRleC5nZXRVbmlxdWUoKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNyZWF0ZUluZGV4U1FMcyA9IGF3YWl0IG5ldyBDcmVhdGVJbmRleEJhc2UoY3JlYXRlSW5kZXhBcmdzKS50b1NRTHMoKVxuXG4gICAgICAgIGZvciAoY29uc3QgY3JlYXRlSW5kZXhTUUwgb2YgY3JlYXRlSW5kZXhTUUxzKSB7XG4gICAgICAgICAgc3Fscy5wdXNoKGNyZWF0ZUluZGV4U1FMKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBpbmRleGVzIGZvciBhbGwgY29sdW1ucyB3aXRoIHRoZSBpbmRleCBhcmd1bWVudFxuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGFibGVEYXRhLmdldENvbHVtbnMoKSkge1xuICAgICAgICBpZiAoIWNvbHVtbi5nZXRJbmRleCgpKSBjb250aW51ZVxuXG4gICAgICAgIGNvbnN0IHt1bmlxdWUsIC4uLnJlc3RJbmRleEFyZ3N9ID0gY29sdW1uLmdldEluZGV4QXJncygpXG5cbiAgICAgICAgcmVzdEFyZ3NFcnJvcihyZXN0SW5kZXhBcmdzKVxuXG4gICAgICAgIGxldCBpbmRleE5hbWUgPSBgaW5kZXhfb25fYFxuXG4gICAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJzcWxpdGVcIikgaW5kZXhOYW1lICs9IGAke3RhYmxlRGF0YS5nZXROYW1lKCl9X2BcblxuICAgICAgICBpbmRleE5hbWUgKz0gY29sdW1uLmdldE5hbWUoKVxuXG4gICAgICAgIGNvbnN0IGNyZWF0ZUluZGV4QXJncyA9IHtcbiAgICAgICAgICBjb2x1bW5zOiBbY29sdW1uLmdldE5hbWUoKV0sXG4gICAgICAgICAgZHJpdmVyOiB0aGlzLmdldERyaXZlcigpLFxuICAgICAgICAgIG5hbWU6IGluZGV4TmFtZSxcbiAgICAgICAgICB0YWJsZU5hbWU6IHRhYmxlRGF0YS5nZXROYW1lKCksXG4gICAgICAgICAgdW5pcXVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3JlYXRlSW5kZXhTUUxzID0gYXdhaXQgbmV3IENyZWF0ZUluZGV4QmFzZShjcmVhdGVJbmRleEFyZ3MpLnRvU1FMcygpXG5cbiAgICAgICAgZm9yIChjb25zdCBjcmVhdGVJbmRleFNRTCBvZiBjcmVhdGVJbmRleFNRTHMpIHtcbiAgICAgICAgICBzcWxzLnB1c2goY3JlYXRlSW5kZXhTUUwpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3Fsc1xuICB9XG59XG4iXX0=
@@ -7,13 +7,13 @@ export default class VelociousDatabaseQueryDropTableBase extends QueryBase {
7
7
  * @param {string} args.tableName - Table name.
8
8
  */
9
9
  constructor({ cascade, driver, ifExists, tableName, ...restArgs }: {
10
- cascade?: boolean;
10
+ cascade?: boolean | undefined;
11
11
  driver: import("./../drivers/base.js").default;
12
- ifExists?: boolean;
12
+ ifExists?: boolean | undefined;
13
13
  tableName: string;
14
14
  });
15
- cascade: boolean;
16
- ifExists: boolean;
15
+ cascade: boolean | undefined;
16
+ ifExists: boolean | undefined;
17
17
  tableName: string;
18
18
  }
19
19
  import QueryBase from "./base.js";
@@ -1 +1 @@
1
- {"version":3,"file":"drop-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/drop-table-base.js"],"names":[],"mappings":"AAKA;IACE;;;;;;OAMG;IACH,mEALG;QAAuB,OAAO,GAAtB,OAAO;QACsC,MAAM,EAAnD,OAAO,sBAAsB,EAAE,OAAO;QACvB,QAAQ,GAAvB,OAAO;QACM,SAAS,EAAtB,MAAM;KAChB,EASA;IAHC,iBAAsB;IACtB,kBAAwB;IACxB,kBAA0B;CAmC7B;sBArDqB,WAAW"}
1
+ {"version":3,"file":"drop-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/drop-table-base.js"],"names":[],"mappings":"AAKA;IACE;;;;;;OAMG;IACH,mEALG;QAAuB,OAAO;QACuB,MAAM,EAAnD,OAAO,sBAAsB,EAAE,OAAO;QACvB,QAAQ;QACV,SAAS,EAAtB,MAAM;KAChB,EASA;IAHC,6BAAsB;IACtB,8BAAwB;IACxB,kBAA0B;CAmC7B;sBArDqB,WAAW"}
@@ -27,11 +27,11 @@ export default class VelociousDatabaseQuery {
27
27
  _froms: import("./from-base.js").default[];
28
28
  _groups: string[];
29
29
  _joins: import("./join-base.js").default[];
30
- _limit: number;
31
- _offset: number;
30
+ _limit: number | null;
31
+ _offset: number | null;
32
32
  _orders: import("./order-base.js").default[];
33
- _page: number;
34
- _perPage: number;
33
+ _page: number | null;
34
+ _perPage: number | undefined;
35
35
  _preload: NestedPreloadRecord;
36
36
  _distinct: boolean;
37
37
  _selects: SelectBase[];
@@ -144,15 +144,15 @@ export type QueryArgsType = {
144
144
  /**
145
145
  * - FROM clauses for the query.
146
146
  */
147
- froms?: Array<import("./from-base.js").default>;
147
+ froms?: import("./from-base.js").default[] | undefined;
148
148
  /**
149
149
  * - GROUP BY columns.
150
150
  */
151
- groups?: string[];
151
+ groups?: string[] | undefined;
152
152
  /**
153
153
  * - JOIN clauses for the query.
154
154
  */
155
- joins?: Array<import("./join-base.js").default>;
155
+ joins?: import("./join-base.js").default[] | undefined;
156
156
  /**
157
157
  * - Handler used for executing and transforming results.
158
158
  */
@@ -160,39 +160,39 @@ export type QueryArgsType = {
160
160
  /**
161
161
  * - LIMIT clause value.
162
162
  */
163
- limit?: number | null;
163
+ limit?: number | null | undefined;
164
164
  /**
165
165
  * - OFFSET clause value.
166
166
  */
167
- offset?: number | null;
167
+ offset?: number | null | undefined;
168
168
  /**
169
169
  * - ORDER BY clauses.
170
170
  */
171
- orders?: Array<import("./order-base.js").default>;
171
+ orders?: import("./order-base.js").default[] | undefined;
172
172
  /**
173
173
  * - Page number for pagination.
174
174
  */
175
- page?: number | null;
175
+ page?: number | null | undefined;
176
176
  /**
177
177
  * - Records per page for pagination.
178
178
  */
179
- perPage?: number;
179
+ perPage?: number | undefined;
180
180
  /**
181
181
  * - Preload graph for related records.
182
182
  */
183
- preload?: NestedPreloadRecord;
183
+ preload?: NestedPreloadRecord | undefined;
184
184
  /**
185
185
  * - SELECT clauses for the query.
186
186
  */
187
- selects?: Array<import("./select-base.js").default>;
187
+ selects?: SelectBase[] | undefined;
188
188
  /**
189
189
  * - Whether the query should use DISTINCT.
190
190
  */
191
- distinct?: boolean;
191
+ distinct?: boolean | undefined;
192
192
  /**
193
193
  * - WHERE conditions for the query.
194
194
  */
195
- wheres?: Array<import("./where-base.js").default>;
195
+ wheres?: import("./where-base.js").default[] | undefined;
196
196
  };
197
197
  import Logger from "../../logger.js";
198
198
  import SelectBase from "./select-base.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/query/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/query/index.js"],"names":[],"mappings":"AAoGA;;;;;;;;;;;;;;;;GAgBG;AAEH;IACE;;OAEG;IACH,iIAFW,aAAa,EA2CvB;IAtBC,yDAAyD;IACzD,WADW,MAAM,OAAO,oBAAoB,EAAE,OAAO,CACgB;IACrE,yCAAsB;IACtB,eAA8B;IAC9B,2CAAmB;IACnB,kBAAqB;IACrB,2CAAmB;IACnB,sBAAmB;IACnB,uBAAqB;IACrB,6CAAqB;IACrB,qBAAiB;IACjB,6BAAuB;IACvB,8BAAuB;IACvB,mBAAyB;IACzB,uBAAuB;IAEvB,kDAAkD;IAClD,SADW,OAAO,iBAAiB,EAAE,OAAO,EAAE,CACzB;IAyNvB;;;OAGG;IACH,aAHW,iBAAiB,GACf,IAAI,CAYhB;IAhOD,oCAAoC;IACpC,SADc,IAAI,CAqBjB;IAED,kEAAkE;IAClE,YADc,OAAO,gBAAgB,EAAE,OAAO,EAAE,CAG/C;IAED,yCAAyC;IACzC,aADc,MAAM,EAAE,CAGrB;IAED,sFAAsF;IACtF,cADc,OAAO,4BAA4B,EAAE,OAAO,CACb;IAE7C,2EAA2E;IAC3E,cADc,KAAK,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,CAClB;IAErC;;;OAGG;IACH,WAHW,MAAM,GAAC,OAAO,gBAAgB,EAAE,OAAO,GACrC,IAAI,CAOhB;IAED;;;OAGG;IACH,aAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;OAGG;IACH,YAHW,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,kBAAkB,EAAE,eAAe,GAC5D,IAAI,CAchB;IAED;;;OAGG;IACH,aAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;OAGG;IACH,cAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;OAGG;IACH,aAHW,MAAM,GAAG,MAAM,GACb,IAAI,CAYhB;IAED;;;OAGG;IACH,iBAHW,MAAM,GACJ,IAAI,CAWhB;IAED;;;OAGG;IACH,iBAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;OAGG;IACH,eAHW,MAAM,GAAG,MAAM,GACb,IAAI,CAMhB;IAED,4CAA4C;IAC5C,gBADc,IAAI,CAOjB;IAED;;;OAGG;IACH,iBAHW,OAAO,GACL,IAAI,CAKhB;IAED;;;OAGG;IACH,eAHW,kBAAkB,GAChB,IAAI,CAoBhB;IAED;;OAEG;IACH,iBAFa,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CASlC;IAED,2EAA2E;IAC3E,WADc,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAGnC;IAED;;;OAGG;IACH,SAFa,MAAM,CAE4B;IAkB/C;;;OAGG;IACH,gBAHW,iBAAiB,GACf,IAAI,CAYhB;IAED;;;OAGG;IACH,cAFa,OAAO,oBAAoB,EAAE,OAAO,CAIhD;CACF;kCA/YY;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,mBAAmB,CAAA;CAAE;iCACnE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,kBAAkB,EAAE,OAAO,GAAG,OAAO,kBAAkB,EAAE,OAAO,EAAE;gCAC7F,MAAM,GAAG,MAAM;;;;;YAqFd,OAAO,oBAAoB,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,oBAAoB,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;aAInF,OAAO,eAAe,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBApG1B,iBAAiB;uBAEb,kBAAkB"}