velocious 1.0.146 → 1.0.148

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 (448) hide show
  1. package/README.md +15 -0
  2. package/build/src/application.d.ts +25 -16
  3. package/build/src/application.d.ts.map +1 -1
  4. package/build/src/application.js +17 -17
  5. package/build/src/cli/base-command.d.ts +26 -14
  6. package/build/src/cli/base-command.d.ts.map +1 -1
  7. package/build/src/cli/base-command.js +13 -13
  8. package/build/src/cli/browser-cli.d.ts +5 -5
  9. package/build/src/cli/browser-cli.js +6 -6
  10. package/build/src/cli/commands/db/create.d.ts +4 -4
  11. package/build/src/cli/commands/db/create.js +5 -5
  12. package/build/src/cli/commands/destroy/migration.d.ts +0 -1
  13. package/build/src/cli/commands/destroy/migration.d.ts.map +1 -1
  14. package/build/src/cli/commands/generate/base-models.d.ts +0 -1
  15. package/build/src/cli/commands/generate/base-models.d.ts.map +1 -1
  16. package/build/src/cli/commands/generate/migration.d.ts +0 -1
  17. package/build/src/cli/commands/generate/migration.d.ts.map +1 -1
  18. package/build/src/cli/commands/generate/model.d.ts +0 -1
  19. package/build/src/cli/commands/generate/model.d.ts.map +1 -1
  20. package/build/src/cli/commands/init.d.ts +0 -1
  21. package/build/src/cli/commands/init.d.ts.map +1 -1
  22. package/build/src/cli/commands/routes.d.ts +0 -1
  23. package/build/src/cli/commands/routes.d.ts.map +1 -1
  24. package/build/src/cli/commands/server.d.ts +0 -1
  25. package/build/src/cli/commands/server.d.ts.map +1 -1
  26. package/build/src/cli/commands/test.d.ts +0 -1
  27. package/build/src/cli/commands/test.d.ts.map +1 -1
  28. package/build/src/cli/index.d.ts +11 -11
  29. package/build/src/cli/index.d.ts.map +1 -1
  30. package/build/src/cli/index.js +9 -9
  31. package/build/src/cli/use-browser-cli.d.ts +2 -2
  32. package/build/src/cli/use-browser-cli.js +3 -3
  33. package/build/src/configuration-resolver.d.ts +2 -2
  34. package/build/src/configuration-resolver.js +3 -3
  35. package/build/src/configuration-types.d.ts +149 -44
  36. package/build/src/configuration-types.d.ts.map +1 -1
  37. package/build/src/configuration-types.js +43 -43
  38. package/build/src/configuration.d.ts +75 -59
  39. package/build/src/configuration.d.ts.map +1 -1
  40. package/build/src/configuration.js +68 -56
  41. package/build/src/controller.d.ts +29 -29
  42. package/build/src/controller.d.ts.map +1 -1
  43. package/build/src/controller.js +28 -28
  44. package/build/src/database/drivers/base-column.d.ts +15 -15
  45. package/build/src/database/drivers/base-column.d.ts.map +1 -1
  46. package/build/src/database/drivers/base-column.js +15 -15
  47. package/build/src/database/drivers/base-columns-index.d.ts +10 -10
  48. package/build/src/database/drivers/base-columns-index.js +11 -11
  49. package/build/src/database/drivers/base-foreign-key.d.ts +12 -12
  50. package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
  51. package/build/src/database/drivers/base-foreign-key.js +11 -11
  52. package/build/src/database/drivers/base-table.d.ts +15 -15
  53. package/build/src/database/drivers/base-table.d.ts.map +1 -1
  54. package/build/src/database/drivers/base-table.js +16 -15
  55. package/build/src/database/drivers/base.d.ts +189 -131
  56. package/build/src/database/drivers/base.d.ts.map +1 -1
  57. package/build/src/database/drivers/base.js +159 -142
  58. package/build/src/database/drivers/mssql/column.d.ts +5 -4
  59. package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
  60. package/build/src/database/drivers/mssql/column.js +3 -3
  61. package/build/src/database/drivers/mssql/connect-connection.d.ts +6 -1
  62. package/build/src/database/drivers/mssql/connect-connection.d.ts.map +1 -1
  63. package/build/src/database/drivers/mssql/connect-connection.js +6 -2
  64. package/build/src/database/drivers/mssql/index.d.ts +5 -15
  65. package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
  66. package/build/src/database/drivers/mssql/index.js +57 -56
  67. package/build/src/database/drivers/mssql/options.d.ts +2 -2
  68. package/build/src/database/drivers/mssql/options.js +13 -13
  69. package/build/src/database/drivers/mssql/sql/create-database.js +5 -5
  70. package/build/src/database/drivers/mssql/structure-sql.d.ts +6 -6
  71. package/build/src/database/drivers/mssql/structure-sql.d.ts.map +1 -1
  72. package/build/src/database/drivers/mssql/structure-sql.js +23 -15
  73. package/build/src/database/drivers/mssql/table.d.ts +4 -5
  74. package/build/src/database/drivers/mssql/table.d.ts.map +1 -1
  75. package/build/src/database/drivers/mssql/table.js +8 -6
  76. package/build/src/database/drivers/mysql/column.d.ts +5 -4
  77. package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
  78. package/build/src/database/drivers/mysql/column.js +3 -3
  79. package/build/src/database/drivers/mysql/index.d.ts +8 -8
  80. package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
  81. package/build/src/database/drivers/mysql/index.js +45 -45
  82. package/build/src/database/drivers/mysql/options.d.ts +2 -2
  83. package/build/src/database/drivers/mysql/options.js +5 -5
  84. package/build/src/database/drivers/mysql/query.d.ts +4 -3
  85. package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
  86. package/build/src/database/drivers/mysql/query.js +5 -4
  87. package/build/src/database/drivers/mysql/structure-sql.d.ts +7 -7
  88. package/build/src/database/drivers/mysql/structure-sql.d.ts.map +1 -1
  89. package/build/src/database/drivers/mysql/structure-sql.js +12 -10
  90. package/build/src/database/drivers/mysql/table.d.ts +4 -5
  91. package/build/src/database/drivers/mysql/table.d.ts.map +1 -1
  92. package/build/src/database/drivers/mysql/table.js +5 -4
  93. package/build/src/database/drivers/pgsql/column.d.ts +5 -4
  94. package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
  95. package/build/src/database/drivers/pgsql/column.js +3 -3
  96. package/build/src/database/drivers/pgsql/index.d.ts +1 -6
  97. package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
  98. package/build/src/database/drivers/pgsql/index.js +31 -31
  99. package/build/src/database/drivers/pgsql/options.d.ts +3 -3
  100. package/build/src/database/drivers/pgsql/options.js +4 -4
  101. package/build/src/database/drivers/pgsql/structure-sql.d.ts +6 -6
  102. package/build/src/database/drivers/pgsql/structure-sql.d.ts.map +1 -1
  103. package/build/src/database/drivers/pgsql/structure-sql.js +21 -14
  104. package/build/src/database/drivers/pgsql/table.d.ts +4 -5
  105. package/build/src/database/drivers/pgsql/table.d.ts.map +1 -1
  106. package/build/src/database/drivers/pgsql/table.js +4 -3
  107. package/build/src/database/drivers/sqlite/base.d.ts +22 -20
  108. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  109. package/build/src/database/drivers/sqlite/base.js +58 -55
  110. package/build/src/database/drivers/sqlite/column.d.ts +7 -6
  111. package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
  112. package/build/src/database/drivers/sqlite/column.js +5 -5
  113. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +5 -5
  114. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
  115. package/build/src/database/drivers/sqlite/connection-sql-js.js +5 -5
  116. package/build/src/database/drivers/sqlite/foreign-key.d.ts +4 -4
  117. package/build/src/database/drivers/sqlite/foreign-key.d.ts.map +1 -1
  118. package/build/src/database/drivers/sqlite/foreign-key.js +4 -4
  119. package/build/src/database/drivers/sqlite/index.js +3 -3
  120. package/build/src/database/drivers/sqlite/index.web.d.ts +9 -2
  121. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  122. package/build/src/database/drivers/sqlite/index.web.js +8 -5
  123. package/build/src/database/drivers/sqlite/options.d.ts +3 -3
  124. package/build/src/database/drivers/sqlite/options.js +4 -4
  125. package/build/src/database/drivers/sqlite/query.d.ts +4 -4
  126. package/build/src/database/drivers/sqlite/query.d.ts.map +1 -1
  127. package/build/src/database/drivers/sqlite/query.js +5 -5
  128. package/build/src/database/drivers/sqlite/query.native.d.ts +9 -1
  129. package/build/src/database/drivers/sqlite/query.native.d.ts.map +1 -1
  130. package/build/src/database/drivers/sqlite/query.native.js +7 -1
  131. package/build/src/database/drivers/sqlite/query.web.d.ts +4 -4
  132. package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
  133. package/build/src/database/drivers/sqlite/query.web.js +5 -5
  134. package/build/src/database/drivers/sqlite/sql/alter-table.js +5 -5
  135. package/build/src/database/drivers/sqlite/structure-sql.d.ts +3 -3
  136. package/build/src/database/drivers/sqlite/structure-sql.js +5 -5
  137. package/build/src/database/drivers/sqlite/table.d.ts +9 -7
  138. package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
  139. package/build/src/database/drivers/sqlite/table.js +12 -8
  140. package/build/src/database/drivers/structure-sql/utils.d.ts +8 -8
  141. package/build/src/database/drivers/structure-sql/utils.js +9 -9
  142. package/build/src/database/handler.d.ts +1 -1
  143. package/build/src/database/handler.js +2 -2
  144. package/build/src/database/initializer-from-require-context.d.ts +5 -5
  145. package/build/src/database/initializer-from-require-context.js +6 -6
  146. package/build/src/database/migration/index.d.ts +98 -62
  147. package/build/src/database/migration/index.d.ts.map +1 -1
  148. package/build/src/database/migration/index.js +74 -74
  149. package/build/src/database/migrator/files-finder.d.ts +3 -3
  150. package/build/src/database/migrator/files-finder.js +4 -4
  151. package/build/src/database/migrator/types.d.ts +12 -0
  152. package/build/src/database/migrator/types.d.ts.map +1 -1
  153. package/build/src/database/migrator/types.js +1 -1
  154. package/build/src/database/migrator.d.ts +24 -24
  155. package/build/src/database/migrator.d.ts.map +1 -1
  156. package/build/src/database/migrator.js +25 -25
  157. package/build/src/database/pool/async-tracked-multi-connection.d.ts +8 -8
  158. package/build/src/database/pool/async-tracked-multi-connection.js +18 -18
  159. package/build/src/database/pool/base-methods-forward.d.ts +2 -2
  160. package/build/src/database/pool/base-methods-forward.js +3 -3
  161. package/build/src/database/pool/base.d.ts +19 -19
  162. package/build/src/database/pool/base.js +20 -20
  163. package/build/src/database/pool/single-multi-use.js +6 -6
  164. package/build/src/database/query/alter-table-base.d.ts +3 -3
  165. package/build/src/database/query/alter-table-base.js +5 -5
  166. package/build/src/database/query/base.d.ts +5 -5
  167. package/build/src/database/query/base.d.ts.map +1 -1
  168. package/build/src/database/query/base.js +6 -6
  169. package/build/src/database/query/create-database-base.d.ts +11 -2
  170. package/build/src/database/query/create-database-base.d.ts.map +1 -1
  171. package/build/src/database/query/create-database-base.js +6 -6
  172. package/build/src/database/query/create-index-base.d.ts +25 -7
  173. package/build/src/database/query/create-index-base.d.ts.map +1 -1
  174. package/build/src/database/query/create-index-base.js +9 -9
  175. package/build/src/database/query/create-table-base.d.ts +6 -6
  176. package/build/src/database/query/create-table-base.js +7 -7
  177. package/build/src/database/query/delete-base.d.ts +6 -6
  178. package/build/src/database/query/delete-base.d.ts.map +1 -1
  179. package/build/src/database/query/delete-base.js +5 -5
  180. package/build/src/database/query/drop-table-base.d.ts +5 -5
  181. package/build/src/database/query/drop-table-base.js +7 -7
  182. package/build/src/database/query/from-base.d.ts +4 -4
  183. package/build/src/database/query/from-base.js +5 -5
  184. package/build/src/database/query/from-plain.d.ts +1 -1
  185. package/build/src/database/query/from-plain.js +2 -2
  186. package/build/src/database/query/from-table.d.ts +1 -1
  187. package/build/src/database/query/from-table.js +2 -2
  188. package/build/src/database/query/index.d.ts +88 -48
  189. package/build/src/database/query/index.d.ts.map +1 -1
  190. package/build/src/database/query/index.js +46 -46
  191. package/build/src/database/query/insert-base.d.ts +16 -15
  192. package/build/src/database/query/insert-base.d.ts.map +1 -1
  193. package/build/src/database/query/insert-base.js +12 -11
  194. package/build/src/database/query/join-base.d.ts +4 -4
  195. package/build/src/database/query/join-base.js +5 -5
  196. package/build/src/database/query/join-object.d.ts +6 -6
  197. package/build/src/database/query/join-object.js +7 -7
  198. package/build/src/database/query/join-plain.d.ts +1 -1
  199. package/build/src/database/query/join-plain.js +2 -2
  200. package/build/src/database/query/model-class-query.d.ts +28 -28
  201. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  202. package/build/src/database/query/model-class-query.js +25 -25
  203. package/build/src/database/query/order-base.d.ts +4 -4
  204. package/build/src/database/query/order-base.js +5 -5
  205. package/build/src/database/query/order-plain.d.ts +2 -2
  206. package/build/src/database/query/order-plain.js +3 -3
  207. package/build/src/database/query/preloader/belongs-to.d.ts +3 -3
  208. package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
  209. package/build/src/database/query/preloader/belongs-to.js +15 -13
  210. package/build/src/database/query/preloader/has-many.d.ts +3 -3
  211. package/build/src/database/query/preloader/has-many.js +7 -7
  212. package/build/src/database/query/preloader/has-one.d.ts +3 -3
  213. package/build/src/database/query/preloader/has-one.js +7 -7
  214. package/build/src/database/query/preloader.d.ts +6 -6
  215. package/build/src/database/query/preloader.d.ts.map +1 -1
  216. package/build/src/database/query/preloader.js +5 -5
  217. package/build/src/database/query/select-base.d.ts +3 -3
  218. package/build/src/database/query/select-base.js +4 -4
  219. package/build/src/database/query/select-plain.d.ts +1 -1
  220. package/build/src/database/query/select-plain.js +2 -2
  221. package/build/src/database/query/select-table-and-column.d.ts +2 -2
  222. package/build/src/database/query/select-table-and-column.js +3 -3
  223. package/build/src/database/query/update-base.d.ts +10 -10
  224. package/build/src/database/query/update-base.d.ts.map +1 -1
  225. package/build/src/database/query/update-base.js +7 -7
  226. package/build/src/database/query/where-base.d.ts +4 -4
  227. package/build/src/database/query/where-base.js +5 -5
  228. package/build/src/database/query/where-hash.d.ts +8 -7
  229. package/build/src/database/query/where-hash.d.ts.map +1 -1
  230. package/build/src/database/query/where-hash.js +11 -7
  231. package/build/src/database/query/where-plain.d.ts +2 -2
  232. package/build/src/database/query/where-plain.js +3 -3
  233. package/build/src/database/query-parser/base-query-parser.d.ts +3 -3
  234. package/build/src/database/query-parser/base-query-parser.js +4 -4
  235. package/build/src/database/query-parser/from-parser.d.ts +4 -4
  236. package/build/src/database/query-parser/from-parser.d.ts.map +1 -1
  237. package/build/src/database/query-parser/from-parser.js +5 -5
  238. package/build/src/database/query-parser/group-parser.d.ts +4 -4
  239. package/build/src/database/query-parser/group-parser.js +5 -5
  240. package/build/src/database/query-parser/joins-parser.d.ts +3 -3
  241. package/build/src/database/query-parser/joins-parser.js +4 -4
  242. package/build/src/database/query-parser/limit-parser.d.ts +3 -3
  243. package/build/src/database/query-parser/limit-parser.js +4 -4
  244. package/build/src/database/query-parser/options.d.ts +35 -20
  245. package/build/src/database/query-parser/options.d.ts.map +1 -1
  246. package/build/src/database/query-parser/options.js +19 -19
  247. package/build/src/database/query-parser/order-parser.d.ts +3 -3
  248. package/build/src/database/query-parser/order-parser.js +4 -4
  249. package/build/src/database/query-parser/select-parser.d.ts +3 -3
  250. package/build/src/database/query-parser/select-parser.js +4 -4
  251. package/build/src/database/query-parser/where-parser.d.ts +3 -3
  252. package/build/src/database/query-parser/where-parser.js +4 -4
  253. package/build/src/database/record/index.d.ts +200 -184
  254. package/build/src/database/record/index.d.ts.map +1 -1
  255. package/build/src/database/record/index.js +193 -167
  256. package/build/src/database/record/instance-relationships/base.d.ts +21 -15
  257. package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
  258. package/build/src/database/record/instance-relationships/base.js +15 -15
  259. package/build/src/database/record/instance-relationships/belongs-to.d.ts +3 -3
  260. package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
  261. package/build/src/database/record/instance-relationships/belongs-to.js +4 -4
  262. package/build/src/database/record/instance-relationships/has-many.d.ts +21 -15
  263. package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
  264. package/build/src/database/record/instance-relationships/has-many.js +23 -17
  265. package/build/src/database/record/instance-relationships/has-one.d.ts +4 -4
  266. package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
  267. package/build/src/database/record/instance-relationships/has-one.js +7 -7
  268. package/build/src/database/record/relationships/base.d.ts +48 -15
  269. package/build/src/database/record/relationships/base.d.ts.map +1 -1
  270. package/build/src/database/record/relationships/base.js +16 -16
  271. package/build/src/database/record/relationships/belongs-to.js +3 -3
  272. package/build/src/database/record/relationships/has-many.js +3 -3
  273. package/build/src/database/record/relationships/has-one.js +3 -3
  274. package/build/src/database/record/user-module.d.ts +3 -3
  275. package/build/src/database/record/user-module.js +4 -4
  276. package/build/src/database/record/validators/base.d.ts +9 -9
  277. package/build/src/database/record/validators/base.d.ts.map +1 -1
  278. package/build/src/database/record/validators/base.js +8 -8
  279. package/build/src/database/record/validators/presence.d.ts.map +1 -1
  280. package/build/src/database/record/validators/presence.js +6 -5
  281. package/build/src/database/record/validators/uniqueness.js +7 -7
  282. package/build/src/database/table-data/index.d.ts +53 -50
  283. package/build/src/database/table-data/index.d.ts.map +1 -1
  284. package/build/src/database/table-data/index.js +51 -51
  285. package/build/src/database/table-data/table-column.d.ts +84 -51
  286. package/build/src/database/table-data/table-column.d.ts.map +1 -1
  287. package/build/src/database/table-data/table-column.js +57 -56
  288. package/build/src/database/table-data/table-foreign-key.d.ts +15 -15
  289. package/build/src/database/table-data/table-foreign-key.js +16 -16
  290. package/build/src/database/table-data/table-index.d.ts +13 -7
  291. package/build/src/database/table-data/table-index.d.ts.map +1 -1
  292. package/build/src/database/table-data/table-index.js +8 -8
  293. package/build/src/database/table-data/table-reference.d.ts +2 -2
  294. package/build/src/database/table-data/table-reference.js +3 -3
  295. package/build/src/database/use-database.d.ts +3 -3
  296. package/build/src/database/use-database.js +4 -4
  297. package/build/src/environment-handlers/base.d.ts +84 -66
  298. package/build/src/environment-handlers/base.d.ts.map +1 -1
  299. package/build/src/environment-handlers/base.js +58 -58
  300. package/build/src/environment-handlers/browser.d.ts +9 -9
  301. package/build/src/environment-handlers/browser.d.ts.map +1 -1
  302. package/build/src/environment-handlers/browser.js +18 -18
  303. package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts +1 -1
  304. package/build/src/environment-handlers/node/cli/commands/destroy/migration.js +2 -2
  305. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +4 -4
  306. package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +11 -11
  307. package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts +1 -1
  308. package/build/src/environment-handlers/node/cli/commands/generate/migration.js +2 -2
  309. package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts +1 -1
  310. package/build/src/environment-handlers/node/cli/commands/generate/model.js +2 -2
  311. package/build/src/environment-handlers/node/cli/commands/init.d.ts +1 -1
  312. package/build/src/environment-handlers/node/cli/commands/init.js +2 -2
  313. package/build/src/environment-handlers/node/cli/commands/routes.d.ts +5 -5
  314. package/build/src/environment-handlers/node/cli/commands/routes.js +6 -6
  315. package/build/src/environment-handlers/node/cli/commands/server.js +3 -3
  316. package/build/src/environment-handlers/node.d.ts +5 -40
  317. package/build/src/environment-handlers/node.d.ts.map +1 -1
  318. package/build/src/environment-handlers/node.js +46 -46
  319. package/build/src/error-logger.d.ts +3 -2
  320. package/build/src/error-logger.d.ts.map +1 -1
  321. package/build/src/error-logger.js +5 -4
  322. package/build/src/http-client/header.d.ts +2 -2
  323. package/build/src/http-client/header.js +3 -3
  324. package/build/src/http-client/index.d.ts +10 -10
  325. package/build/src/http-client/index.d.ts.map +1 -1
  326. package/build/src/http-client/index.js +11 -11
  327. package/build/src/http-client/request.d.ts +16 -10
  328. package/build/src/http-client/request.d.ts.map +1 -1
  329. package/build/src/http-client/request.js +17 -11
  330. package/build/src/http-client/response.d.ts +7 -7
  331. package/build/src/http-client/response.d.ts.map +1 -1
  332. package/build/src/http-client/response.js +8 -8
  333. package/build/src/http-client/websocket-client.d.ts +28 -28
  334. package/build/src/http-client/websocket-client.d.ts.map +1 -1
  335. package/build/src/http-client/websocket-client.js +26 -26
  336. package/build/src/http-server/client/index.d.ts +13 -13
  337. package/build/src/http-server/client/index.d.ts.map +1 -1
  338. package/build/src/http-server/client/index.js +14 -14
  339. package/build/src/http-server/client/params-to-object.d.ts +15 -15
  340. package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
  341. package/build/src/http-server/client/params-to-object.js +17 -13
  342. package/build/src/http-server/client/request-buffer/form-data-part.d.ts +7 -7
  343. package/build/src/http-server/client/request-buffer/form-data-part.js +8 -8
  344. package/build/src/http-server/client/request-buffer/header.d.ts +2 -2
  345. package/build/src/http-server/client/request-buffer/header.js +3 -3
  346. package/build/src/http-server/client/request-buffer/index.d.ts +20 -20
  347. package/build/src/http-server/client/request-buffer/index.js +22 -22
  348. package/build/src/http-server/client/request-parser.d.ts +21 -20
  349. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  350. package/build/src/http-server/client/request-parser.js +22 -21
  351. package/build/src/http-server/client/request-runner.d.ts +6 -6
  352. package/build/src/http-server/client/request-runner.d.ts.map +1 -1
  353. package/build/src/http-server/client/request-runner.js +17 -4
  354. package/build/src/http-server/client/request.d.ts +9 -8
  355. package/build/src/http-server/client/request.d.ts.map +1 -1
  356. package/build/src/http-server/client/request.js +9 -8
  357. package/build/src/http-server/client/response.d.ts +17 -17
  358. package/build/src/http-server/client/response.js +18 -18
  359. package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts +6 -6
  360. package/build/src/http-server/client/uploaded-file/memory-uploaded-file.js +9 -9
  361. package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts +6 -6
  362. package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.js +9 -9
  363. package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +7 -7
  364. package/build/src/http-server/client/uploaded-file/uploaded-file.js +8 -8
  365. package/build/src/http-server/client/websocket-request.d.ts +17 -13
  366. package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
  367. package/build/src/http-server/client/websocket-request.js +10 -10
  368. package/build/src/http-server/client/websocket-session.d.ts +26 -26
  369. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  370. package/build/src/http-server/client/websocket-session.js +27 -27
  371. package/build/src/http-server/index.d.ts +19 -19
  372. package/build/src/http-server/index.d.ts.map +1 -1
  373. package/build/src/http-server/index.js +20 -20
  374. package/build/src/http-server/server-client.d.ts +13 -13
  375. package/build/src/http-server/server-client.d.ts.map +1 -1
  376. package/build/src/http-server/server-client.js +14 -14
  377. package/build/src/http-server/websocket-events-host.d.ts +7 -7
  378. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  379. package/build/src/http-server/websocket-events-host.js +7 -7
  380. package/build/src/http-server/websocket-events.d.ts +7 -7
  381. package/build/src/http-server/websocket-events.d.ts.map +1 -1
  382. package/build/src/http-server/websocket-events.js +7 -7
  383. package/build/src/http-server/worker-handler/index.d.ts +22 -22
  384. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  385. package/build/src/http-server/worker-handler/index.js +20 -20
  386. package/build/src/http-server/worker-handler/worker-thread.d.ts +17 -17
  387. package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
  388. package/build/src/http-server/worker-handler/worker-thread.js +16 -16
  389. package/build/src/initializer.d.ts +6 -6
  390. package/build/src/initializer.js +7 -7
  391. package/build/src/logger.d.ts +38 -34
  392. package/build/src/logger.d.ts.map +1 -1
  393. package/build/src/logger.js +53 -47
  394. package/build/src/routes/app-routes.d.ts +2 -2
  395. package/build/src/routes/app-routes.js +3 -3
  396. package/build/src/routes/base-route.d.ts +22 -22
  397. package/build/src/routes/base-route.d.ts.map +1 -1
  398. package/build/src/routes/base-route.js +21 -21
  399. package/build/src/routes/basic-route.d.ts +3 -3
  400. package/build/src/routes/basic-route.js +15 -15
  401. package/build/src/routes/get-route.d.ts +2 -2
  402. package/build/src/routes/get-route.js +8 -8
  403. package/build/src/routes/index.d.ts +2 -2
  404. package/build/src/routes/index.js +3 -3
  405. package/build/src/routes/namespace-route.d.ts +2 -2
  406. package/build/src/routes/namespace-route.js +8 -8
  407. package/build/src/routes/post-route.d.ts +2 -2
  408. package/build/src/routes/post-route.js +8 -8
  409. package/build/src/routes/resolver.d.ts +21 -19
  410. package/build/src/routes/resolver.d.ts.map +1 -1
  411. package/build/src/routes/resolver.js +50 -25
  412. package/build/src/routes/resource-route.d.ts +6 -6
  413. package/build/src/routes/resource-route.js +12 -12
  414. package/build/src/testing/format-value.d.ts +6 -6
  415. package/build/src/testing/format-value.d.ts.map +1 -1
  416. package/build/src/testing/format-value.js +11 -11
  417. package/build/src/testing/request-client.d.ts +10 -10
  418. package/build/src/testing/request-client.d.ts.map +1 -1
  419. package/build/src/testing/request-client.js +11 -11
  420. package/build/src/testing/test-files-finder.d.ts +17 -16
  421. package/build/src/testing/test-files-finder.d.ts.map +1 -1
  422. package/build/src/testing/test-files-finder.js +17 -16
  423. package/build/src/testing/test-runner.d.ts +78 -39
  424. package/build/src/testing/test-runner.d.ts.map +1 -1
  425. package/build/src/testing/test-runner.js +40 -40
  426. package/build/src/testing/test.d.ts +61 -61
  427. package/build/src/testing/test.d.ts.map +1 -1
  428. package/build/src/testing/test.js +77 -56
  429. package/build/src/utils/backtrace-cleaner.d.ts +4 -4
  430. package/build/src/utils/backtrace-cleaner.js +5 -5
  431. package/build/src/utils/ensure-error.d.ts +3 -3
  432. package/build/src/utils/ensure-error.d.ts.map +1 -1
  433. package/build/src/utils/ensure-error.js +3 -3
  434. package/build/src/utils/file-exists.d.ts +2 -2
  435. package/build/src/utils/file-exists.js +3 -3
  436. package/build/src/utils/nest-callbacks.d.ts +3 -3
  437. package/build/src/utils/nest-callbacks.js +4 -4
  438. package/build/src/utils/rest-args-error.d.ts +2 -2
  439. package/build/src/utils/rest-args-error.js +3 -3
  440. package/build/src/utils/singularize-model-name.d.ts +2 -2
  441. package/build/src/utils/singularize-model-name.js +3 -3
  442. package/build/src/utils/with-tracked-stack-async-hooks.d.ts +4 -4
  443. package/build/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -1
  444. package/build/src/utils/with-tracked-stack-async-hooks.js +5 -5
  445. package/build/src/utils/with-tracked-stack.d.ts +5 -4
  446. package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
  447. package/build/src/utils/with-tracked-stack.js +12 -18
  448. package/package.json +1 -1
@@ -4,53 +4,53 @@ export default class VelociousDatabaseDriversBaseForeignKey {
4
4
  /** @type {import("./base-table.js").default | undefined} */
5
5
  table = undefined;
6
6
  /**
7
- * @param {Record<string, any>} data
7
+ * @param {Record<string, unknown>} data - Data payload.
8
8
  */
9
9
  constructor(data) {
10
10
  this.data = data;
11
11
  }
12
12
  /**
13
13
  * @abstract
14
- * @returns {string}
14
+ * @returns {string} - The column name.
15
15
  */
16
16
  getColumnName() {
17
17
  throw new Error(`'getColumnName' not implemented`);
18
18
  }
19
19
  /**
20
- * @returns {import("./base.js").default}
20
+ * @returns {import("./base.js").default} - The driver.
21
21
  */
22
22
  getDriver() {
23
23
  return this.getTable().getDriver();
24
24
  }
25
25
  /**
26
26
  * @abstract
27
- * @returns {string}
27
+ * @returns {string} - The name.
28
28
  */
29
29
  getName() {
30
30
  throw new Error(`'getName' not implemented`);
31
31
  }
32
32
  /**
33
- * @returns {import("../query-parser/options.js").default}
33
+ * @returns {import("../query-parser/options.js").default} - The options options.
34
34
  */
35
35
  getOptions() {
36
36
  return this.getDriver().options();
37
37
  }
38
38
  /**
39
39
  * @abstract
40
- * @returns {string}
40
+ * @returns {string} - The referenced column name.
41
41
  */
42
42
  getReferencedColumnName() {
43
43
  throw new Error(`'getReferencedColumnName' not implemented`);
44
44
  }
45
45
  /**
46
46
  * @abstract
47
- * @returns {string}
47
+ * @returns {string} - The referenced table name.
48
48
  */
49
49
  getReferencedTableName() {
50
50
  throw new Error(`'getReferencedTableName' not implemented`);
51
51
  }
52
52
  /**
53
- * @returns {import("./base-table.js").default}
53
+ * @returns {import("./base-table.js").default} - The table.
54
54
  */
55
55
  getTable() {
56
56
  if (!this.table)
@@ -59,13 +59,13 @@ export default class VelociousDatabaseDriversBaseForeignKey {
59
59
  }
60
60
  /**
61
61
  * @abstract
62
- * @returns {string}
62
+ * @returns {string} - The table name.
63
63
  */
64
64
  getTableName() {
65
65
  throw new Error("'getTableName' not implemented");
66
66
  }
67
67
  /**
68
- * @returns {TableForeignKey}
68
+ * @returns {TableForeignKey} - The table data foreign key.
69
69
  */
70
70
  getTableDataForeignKey() {
71
71
  return new TableForeignKey({
@@ -77,4 +77,4 @@ export default class VelociousDatabaseDriversBaseForeignKey {
77
77
  });
78
78
  }
79
79
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JlaWduLWtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UtZm9yZWlnbi1rZXkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sZUFBZSxNQUFNLG9DQUFvQyxDQUFBO0FBRWhFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sc0NBQXNDO0lBQ3pELDREQUE0RDtJQUM1RCxLQUFLLEdBQUcsU0FBUyxDQUFBO0lBRWpCOztPQUVHO0lBQ0gsWUFBWSxJQUFJO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDbEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsdUJBQXVCO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsc0JBQXNCO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRTFELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUNuQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLGVBQWUsQ0FBQztZQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNwQixTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUM5QixvQkFBb0IsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDcEQsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1NBQ25ELENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgVGFibGVGb3JlaWduS2V5IGZyb20gXCIuLi90YWJsZS1kYXRhL3RhYmxlLWZvcmVpZ24ta2V5LmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRGF0YWJhc2VEcml2ZXJzQmFzZUZvcmVpZ25LZXkge1xuICAvKiogQHR5cGUge2ltcG9ydChcIi4vYmFzZS10YWJsZS5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSAqL1xuICB0YWJsZSA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGRhdGFcbiAgICovXG4gIGNvbnN0cnVjdG9yKGRhdGEpIHtcbiAgICB0aGlzLmRhdGEgPSBkYXRhXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBnZXRDb2x1bW5OYW1lKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJ2dldENvbHVtbk5hbWUnIG5vdCBpbXBsZW1lbnRlZGApXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vYmFzZS5qc1wiKS5kZWZhdWx0fVxuICAgKi9cbiAgZ2V0RHJpdmVyKCkge1xuICAgIHJldHVybiB0aGlzLmdldFRhYmxlKCkuZ2V0RHJpdmVyKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGdldE5hbWUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAnZ2V0TmFtZScgbm90IGltcGxlbWVudGVkYClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vcXVlcnktcGFyc2VyL29wdGlvbnMuanNcIikuZGVmYXVsdH1cbiAgICovXG4gIGdldE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RHJpdmVyKCkub3B0aW9ucygpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBnZXRSZWZlcmVuY2VkQ29sdW1uTmFtZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCdnZXRSZWZlcmVuY2VkQ29sdW1uTmFtZScgbm90IGltcGxlbWVudGVkYClcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGdldFJlZmVyZW5jZWRUYWJsZU5hbWUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAnZ2V0UmVmZXJlbmNlZFRhYmxlTmFtZScgbm90IGltcGxlbWVudGVkYClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9iYXNlLXRhYmxlLmpzXCIpLmRlZmF1bHR9XG4gICAqL1xuICBnZXRUYWJsZSgpIHtcbiAgICBpZiAoIXRoaXMudGFibGUpIHRocm93IG5ldyBFcnJvcihcIk5vIHRhYmxlIHNldCBvbiBjb2x1bW5cIilcblxuICAgIHJldHVybiB0aGlzLnRhYmxlXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBnZXRUYWJsZU5hbWUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiJ2dldFRhYmxlTmFtZScgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1RhYmxlRm9yZWlnbktleX1cbiAgICovXG4gIGdldFRhYmxlRGF0YUZvcmVpZ25LZXkoKSB7XG4gICAgcmV0dXJuIG5ldyBUYWJsZUZvcmVpZ25LZXkoe1xuICAgICAgY29sdW1uTmFtZTogdGhpcy5nZXRDb2x1bW5OYW1lKCksXG4gICAgICBuYW1lOiB0aGlzLmdldE5hbWUoKSxcbiAgICAgIHRhYmxlTmFtZTogdGhpcy5nZXRUYWJsZU5hbWUoKSxcbiAgICAgIHJlZmVyZW5jZWRDb2x1bW5OYW1lOiB0aGlzLmdldFJlZmVyZW5jZWRDb2x1bW5OYW1lKCksXG4gICAgICByZWZlcmVuY2VkVGFibGVOYW1lOiB0aGlzLmdldFJlZmVyZW5jZWRUYWJsZU5hbWUoKVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JlaWduLWtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UtZm9yZWlnbi1rZXkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sZUFBZSxNQUFNLG9DQUFvQyxDQUFBO0FBRWhFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sc0NBQXNDO0lBQ3pELDREQUE0RDtJQUM1RCxLQUFLLEdBQUcsU0FBUyxDQUFBO0lBRWpCOztPQUVHO0lBQ0gsWUFBWSxJQUFJO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDbEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsdUJBQXVCO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsc0JBQXNCO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRTFELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUNuQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLGVBQWUsQ0FBQztZQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNwQixTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUM5QixvQkFBb0IsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDcEQsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1NBQ25ELENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgVGFibGVGb3JlaWduS2V5IGZyb20gXCIuLi90YWJsZS1kYXRhL3RhYmxlLWZvcmVpZ24ta2V5LmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRGF0YWJhc2VEcml2ZXJzQmFzZUZvcmVpZ25LZXkge1xuICAvKiogQHR5cGUge2ltcG9ydChcIi4vYmFzZS10YWJsZS5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSAqL1xuICB0YWJsZSA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSBkYXRhIC0gRGF0YSBwYXlsb2FkLlxuICAgKi9cbiAgY29uc3RydWN0b3IoZGF0YSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGFcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgY29sdW1uIG5hbWUuXG4gICAqL1xuICBnZXRDb2x1bW5OYW1lKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJ2dldENvbHVtbk5hbWUnIG5vdCBpbXBsZW1lbnRlZGApXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vYmFzZS5qc1wiKS5kZWZhdWx0fSAtIFRoZSBkcml2ZXIuXG4gICAqL1xuICBnZXREcml2ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGFibGUoKS5nZXREcml2ZXIoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBuYW1lLlxuICAgKi9cbiAgZ2V0TmFtZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCdnZXROYW1lJyBub3QgaW1wbGVtZW50ZWRgKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9xdWVyeS1wYXJzZXIvb3B0aW9ucy5qc1wiKS5kZWZhdWx0fSAtIFRoZSBvcHRpb25zIG9wdGlvbnMuXG4gICAqL1xuICBnZXRPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmdldERyaXZlcigpLm9wdGlvbnMoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSByZWZlcmVuY2VkIGNvbHVtbiBuYW1lLlxuICAgKi9cbiAgZ2V0UmVmZXJlbmNlZENvbHVtbk5hbWUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAnZ2V0UmVmZXJlbmNlZENvbHVtbk5hbWUnIG5vdCBpbXBsZW1lbnRlZGApXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHJlZmVyZW5jZWQgdGFibGUgbmFtZS5cbiAgICovXG4gIGdldFJlZmVyZW5jZWRUYWJsZU5hbWUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAnZ2V0UmVmZXJlbmNlZFRhYmxlTmFtZScgbm90IGltcGxlbWVudGVkYClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9iYXNlLXRhYmxlLmpzXCIpLmRlZmF1bHR9IC0gVGhlIHRhYmxlLlxuICAgKi9cbiAgZ2V0VGFibGUoKSB7XG4gICAgaWYgKCF0aGlzLnRhYmxlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyB0YWJsZSBzZXQgb24gY29sdW1uXCIpXG5cbiAgICByZXR1cm4gdGhpcy50YWJsZVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSB0YWJsZSBuYW1lLlxuICAgKi9cbiAgZ2V0VGFibGVOYW1lKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidnZXRUYWJsZU5hbWUnIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtUYWJsZUZvcmVpZ25LZXl9IC0gVGhlIHRhYmxlIGRhdGEgZm9yZWlnbiBrZXkuXG4gICAqL1xuICBnZXRUYWJsZURhdGFGb3JlaWduS2V5KCkge1xuICAgIHJldHVybiBuZXcgVGFibGVGb3JlaWduS2V5KHtcbiAgICAgIGNvbHVtbk5hbWU6IHRoaXMuZ2V0Q29sdW1uTmFtZSgpLFxuICAgICAgbmFtZTogdGhpcy5nZXROYW1lKCksXG4gICAgICB0YWJsZU5hbWU6IHRoaXMuZ2V0VGFibGVOYW1lKCksXG4gICAgICByZWZlcmVuY2VkQ29sdW1uTmFtZTogdGhpcy5nZXRSZWZlcmVuY2VkQ29sdW1uTmFtZSgpLFxuICAgICAgcmVmZXJlbmNlZFRhYmxlTmFtZTogdGhpcy5nZXRSZWZlcmVuY2VkVGFibGVOYW1lKClcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -2,58 +2,58 @@ export default class VelociousDatabaseDriversBaseTable {
2
2
  /** @type {import("./base.js").default | undefined} */
3
3
  driver: import("./base.js").default | undefined;
4
4
  /**
5
- * @param {string} columnName
6
- * @returns {Promise<import("./base-column.js").default | undefined>}
5
+ * @param {string} columnName - Column name.
6
+ * @returns {Promise<import("./base-column.js").default | undefined>} - Resolves with the column by name.
7
7
  */
8
8
  getColumnByName(columnName: string): Promise<import("./base-column.js").default | undefined>;
9
9
  /**
10
- * @param {string} columnName
11
- * @returns {Promise<import("./base-column.js").default>}
10
+ * @param {string} columnName - Column name.
11
+ * @returns {Promise<import("./base-column.js").default>} - Resolves with the column by name or fail.
12
12
  */
13
13
  getColumnByNameOrFail(columnName: string): Promise<import("./base-column.js").default>;
14
14
  /**
15
15
  * @abstract
16
- * @returns {Promise<Array<import("./base-column.js").default>>}
16
+ * @returns {Promise<Array<import("./base-column.js").default>>} - Resolves with the columns.
17
17
  */
18
18
  getColumns(): Promise<Array<import("./base-column.js").default>>;
19
19
  /**
20
- * @returns {import("./base.js").default}
20
+ * @returns {import("./base.js").default} - The driver.
21
21
  */
22
22
  getDriver(): import("./base.js").default;
23
23
  /**
24
24
  * @abstract
25
- * @returns {Promise<import("./base-foreign-key.js").default[]>}
25
+ * @returns {Promise<import("./base-foreign-key.js").default[]>} - Resolves with the foreign keys.
26
26
  */
27
27
  getForeignKeys(): Promise<import("./base-foreign-key.js").default[]>;
28
28
  /**
29
29
  * @abstract
30
- * @returns {Promise<import("./base-columns-index.js").default[]>}
30
+ * @returns {Promise<import("./base-columns-index.js").default[]>} - Resolves with the indexes.
31
31
  */
32
32
  getIndexes(): Promise<import("./base-columns-index.js").default[]>;
33
33
  /**
34
34
  * @abstract
35
- * @returns {string}
35
+ * @returns {string} - The name.
36
36
  */
37
37
  getName(): string;
38
38
  /**
39
- * @returns {import("../query-parser/options.js").default}
39
+ * @returns {import("../query-parser/options.js").default} - The options options.
40
40
  */
41
41
  getOptions(): import("../query-parser/options.js").default;
42
42
  /**
43
- * @returns {Promise<TableData>}
43
+ * @returns {Promise<TableData>} - Resolves with the table data.
44
44
  */
45
45
  getTableData(): Promise<TableData>;
46
46
  /**
47
- * @returns {Promise<number>}
47
+ * @returns {Promise<number>} - Resolves with the rows count.
48
48
  */
49
49
  rowsCount(): Promise<number>;
50
50
  /**
51
- * @param {{cascade: boolean}} [args]
52
- * @returns {Promise<Array<Record<string, any>>>}
51
+ * @param {{cascade: boolean}} [args] - Truncate options.
52
+ * @returns {Promise<Array<Record<string, unknown>>>} - Resolves with the truncate.
53
53
  */
54
54
  truncate(args?: {
55
55
  cascade: boolean;
56
- }): Promise<Array<Record<string, any>>>;
56
+ }): Promise<Array<Record<string, unknown>>>;
57
57
  }
58
58
  import TableData from "../table-data/index.js";
59
59
  //# sourceMappingURL=base-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-table.d.ts","sourceRoot":"","sources":["../../../../src/database/drivers/base-table.js"],"names":[],"mappings":"AAKA;IACE,sDAAsD;IACtD,QADW,OAAO,WAAW,EAAE,OAAO,GAAG,SAAS,CAChC;IAElB;;;OAGG;IACH,4BAHW,MAAM,GACJ,OAAO,CAAC,OAAO,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC,CAOnE;IAED;;;OAGG;IACH,kCAHW,MAAM,GACJ,OAAO,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,CAQvD;IAED;;;OAGG;IACH,cAFa,OAAO,CAAC,KAAK,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAI9D;IAED;;OAEG;IACH,aAFa,OAAO,WAAW,EAAE,OAAO,CAMvC;IAED;;;OAGG;IACH,kBAFa,OAAO,CAAC,OAAO,uBAAuB,EAAE,OAAO,EAAE,CAAC,CAI9D;IAED;;;OAGG;IACH,cAFa,OAAO,CAAC,OAAO,yBAAyB,EAAE,OAAO,EAAE,CAAC,CAIhE;IAED;;;OAGG;IACH,WAFa,MAAM,CAIlB;IAED;;OAEG;IACH,cAFa,OAAO,4BAA4B,EAAE,OAAO,CAIxD;IAED;;OAEG;IACH,gBAFa,OAAO,CAAC,SAAS,CAAC,CA4B9B;IAED;;OAEG;IACH,aAFa,OAAO,CAAC,MAAM,CAAC,CAM3B;IAED;;;OAGG;IACH,gBAHW;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,GAChB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAiB/C;CACF;sBAzIqB,wBAAwB"}
1
+ {"version":3,"file":"base-table.d.ts","sourceRoot":"","sources":["../../../../src/database/drivers/base-table.js"],"names":[],"mappings":"AAKA;IACE,sDAAsD;IACtD,QADW,OAAO,WAAW,EAAE,OAAO,GAAG,SAAS,CAChC;IAElB;;;OAGG;IACH,4BAHW,MAAM,GACJ,OAAO,CAAC,OAAO,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC,CAOnE;IAED;;;OAGG;IACH,kCAHW,MAAM,GACJ,OAAO,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,CAQvD;IAED;;;OAGG;IACH,cAFa,OAAO,CAAC,KAAK,CAAC,OAAO,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAI9D;IAED;;OAEG;IACH,aAFa,OAAO,WAAW,EAAE,OAAO,CAMvC;IAED;;;OAGG;IACH,kBAFa,OAAO,CAAC,OAAO,uBAAuB,EAAE,OAAO,EAAE,CAAC,CAI9D;IAED;;;OAGG;IACH,cAFa,OAAO,CAAC,OAAO,yBAAyB,EAAE,OAAO,EAAE,CAAC,CAIhE;IAED;;;OAGG;IACH,WAFa,MAAM,CAIlB;IAED;;OAEG;IACH,cAFa,OAAO,4BAA4B,EAAE,OAAO,CAIxD;IAED;;OAEG;IACH,gBAFa,OAAO,CAAC,SAAS,CAAC,CA4B9B;IAED;;OAEG;IACH,aAFa,OAAO,CAAC,MAAM,CAAC,CAM3B;IAED;;;OAGG;IACH,gBAHW;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,GAChB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAkBnD;CACF;sBA1IqB,wBAAwB"}
@@ -5,8 +5,8 @@ export default class VelociousDatabaseDriversBaseTable {
5
5
  /** @type {import("./base.js").default | undefined} */
6
6
  driver = undefined;
7
7
  /**
8
- * @param {string} columnName
9
- * @returns {Promise<import("./base-column.js").default | undefined>}
8
+ * @param {string} columnName - Column name.
9
+ * @returns {Promise<import("./base-column.js").default | undefined>} - Resolves with the column by name.
10
10
  */
11
11
  async getColumnByName(columnName) {
12
12
  const columnes = await this.getColumns();
@@ -14,8 +14,8 @@ export default class VelociousDatabaseDriversBaseTable {
14
14
  return column;
15
15
  }
16
16
  /**
17
- * @param {string} columnName
18
- * @returns {Promise<import("./base-column.js").default>}
17
+ * @param {string} columnName - Column name.
18
+ * @returns {Promise<import("./base-column.js").default>} - Resolves with the column by name or fail.
19
19
  */
20
20
  async getColumnByNameOrFail(columnName) {
21
21
  const column = await this.getColumnByName(columnName);
@@ -25,13 +25,13 @@ export default class VelociousDatabaseDriversBaseTable {
25
25
  }
26
26
  /**
27
27
  * @abstract
28
- * @returns {Promise<Array<import("./base-column.js").default>>}
28
+ * @returns {Promise<Array<import("./base-column.js").default>>} - Resolves with the columns.
29
29
  */
30
30
  getColumns() {
31
31
  throw new Error("getColumns not implemented");
32
32
  }
33
33
  /**
34
- * @returns {import("./base.js").default}
34
+ * @returns {import("./base.js").default} - The driver.
35
35
  */
36
36
  getDriver() {
37
37
  if (!this.driver)
@@ -40,33 +40,33 @@ export default class VelociousDatabaseDriversBaseTable {
40
40
  }
41
41
  /**
42
42
  * @abstract
43
- * @returns {Promise<import("./base-foreign-key.js").default[]>}
43
+ * @returns {Promise<import("./base-foreign-key.js").default[]>} - Resolves with the foreign keys.
44
44
  */
45
45
  getForeignKeys() {
46
46
  throw new Error("'getForeignKeys' not implemented");
47
47
  }
48
48
  /**
49
49
  * @abstract
50
- * @returns {Promise<import("./base-columns-index.js").default[]>}
50
+ * @returns {Promise<import("./base-columns-index.js").default[]>} - Resolves with the indexes.
51
51
  */
52
52
  getIndexes() {
53
53
  throw new Error("'getForeignKeys' not implemented");
54
54
  }
55
55
  /**
56
56
  * @abstract
57
- * @returns {string}
57
+ * @returns {string} - The name.
58
58
  */
59
59
  getName() {
60
60
  throw new Error("getName not implemented");
61
61
  }
62
62
  /**
63
- * @returns {import("../query-parser/options.js").default}
63
+ * @returns {import("../query-parser/options.js").default} - The options options.
64
64
  */
65
65
  getOptions() {
66
66
  return this.getDriver().options();
67
67
  }
68
68
  /**
69
- * @returns {Promise<TableData>}
69
+ * @returns {Promise<TableData>} - Resolves with the table data.
70
70
  */
71
71
  async getTableData() {
72
72
  const tableData = new TableData(this.getName());
@@ -89,17 +89,18 @@ export default class VelociousDatabaseDriversBaseTable {
89
89
  return tableData;
90
90
  }
91
91
  /**
92
- * @returns {Promise<number>}
92
+ * @returns {Promise<number>} - Resolves with the rows count.
93
93
  */
94
94
  async rowsCount() {
95
95
  const result = await this.getDriver().query(`SELECT COUNT(*) AS count FROM ${this.getOptions().quoteTableName(this.getName())}`);
96
96
  return digg(result, 0, "count");
97
97
  }
98
98
  /**
99
- * @param {{cascade: boolean}} [args]
100
- * @returns {Promise<Array<Record<string, any>>>}
99
+ * @param {{cascade: boolean}} [args] - Truncate options.
100
+ * @returns {Promise<Array<Record<string, unknown>>>} - Resolves with the truncate.
101
101
  */
102
102
  async truncate(args) {
103
+ this.getDriver()._assertNotReadOnly();
103
104
  const databaseType = this.getDriver().getType();
104
105
  let sql;
105
106
  if (databaseType == "sqlite") {
@@ -114,4 +115,4 @@ export default class VelociousDatabaseDriversBaseTable {
114
115
  return await this.getDriver().query(sql);
115
116
  }
116
117
  }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UtdGFibGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFFOUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxpQ0FBaUM7SUFDcEQsc0RBQXNEO0lBQ3RELE1BQU0sR0FBRyxTQUFTLENBQUE7SUFFbEI7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FBQyxVQUFVO1FBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQTtRQUV4RSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMscUJBQXFCLENBQUMsVUFBVTtRQUNwQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFckQsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxVQUFVLEdBQUcsQ0FBQyxDQUFBO1FBRW5GLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtR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QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUE7WUFFMUUsSUFBSSxJQUFJLEVBQUUsT0FBTyxJQUFJLFlBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDN0MsR0FBRyxJQUFJLFVBQVUsQ0FBQTtZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFRhYmxlRGF0YSBmcm9tIFwiLi4vdGFibGUtZGF0YS9pbmRleC5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlRHJpdmVyc0Jhc2VUYWJsZSB7XG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9ICovXG4gIGRyaXZlciA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29sdW1uTmFtZVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL2Jhc2UtY29sdW1uLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWQ+fVxuICAgKi9cbiAgYXN5bmMgZ2V0Q29sdW1uQnlOYW1lKGNvbHVtbk5hbWUpIHtcbiAgICBjb25zdCBjb2x1bW5lcyA9IGF3YWl0IHRoaXMuZ2V0Q29sdW1ucygpXG4gICAgY29uc3QgY29sdW1uID0gY29sdW1uZXMuZmluZCgoY29sdW1uKSA9PiBjb2x1bW4uZ2V0TmFtZSgpID09IGNvbHVtbk5hbWUpXG5cbiAgICByZXR1cm4gY29sdW1uXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbHVtbk5hbWVcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9iYXNlLWNvbHVtbi5qc1wiKS5kZWZhdWx0Pn1cbiAgICovXG4gIGFzeW5jIGdldENvbHVtbkJ5TmFtZU9yRmFpbChjb2x1bW5OYW1lKSB7XG4gICAgY29uc3QgY29sdW1uID0gYXdhaXQgdGhpcy5nZXRDb2x1bW5CeU5hbWUoY29sdW1uTmFtZSlcblxuICAgIGlmICghY29sdW1uKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IGZpbmQgYSBjb2x1bW4gYnkgdGhhdCBuYW1lIFwiJHtjb2x1bW5OYW1lfVwiYClcblxuICAgIHJldHVybiBjb2x1bW5cbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8aW1wb3J0KFwiLi9iYXNlLWNvbHVtbi5qc1wiKS5kZWZhdWx0Pj59XG4gICAqL1xuICBnZXRDb2x1bW5zKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImdldENvbHVtbnMgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vYmFzZS5qc1wiKS5kZWZhdWx0fVxuICAgKi9cbiAgZ2V0RHJpdmVyKCkge1xuICAgIGlmICghdGhpcy5kcml2ZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIGRyaXZlciBzZXQgb24gdGFibGVcIilcblxuICAgIHJldHVybiB0aGlzLmRyaXZlclxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL2Jhc2UtZm9yZWlnbi1rZXkuanNcIikuZGVmYXVsdFtdPn1cbiAgICovXG4gIGdldEZvcmVpZ25LZXlzKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidnZXRGb3JlaWduS2V5cycgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vYmFzZS1jb2x1bW5zLWluZGV4LmpzXCIpLmRlZmF1bHRbXT59XG4gICAqL1xuICBnZXRJbmRleGVzKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidnZXRGb3JlaWduS2V5cycgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBnZXROYW1lKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImdldE5hbWUgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL3F1ZXJ5LXBhcnNlci9vcHRpb25zLmpzXCIpLmRlZmF1bHR9XG4gICAqL1xuICBnZXRPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmdldERyaXZlcigpLm9wdGlvbnMoKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFRhYmxlRGF0YT59XG4gICAqL1xuICBhc3luYyBnZXRUYWJsZURhdGEoKSB7XG4gICAgY29uc3QgdGFibGVEYXRhID0gbmV3IFRhYmxlRGF0YSh0aGlzLmdldE5hbWUoKSlcbiAgICBjb25zdCB0YWJsZURhdGFDb2x1bW5zID0gW11cblxuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIGF3YWl0IHRoaXMuZ2V0Q29sdW1ucygpKSB7XG4gICAgICBjb25zdCB0YWJsZURhdGFDb2x1bW4gPSBjb2x1bW4uZ2V0VGFibGVEYXRhQ29sdW1uKClcblxuICAgICAgdGFibGVEYXRhLmFkZENvbHVtbih0YWJsZURhdGFDb2x1bW4pXG4gICAgICB0YWJsZURhdGFDb2x1bW5zLnB1c2godGFibGVEYXRhQ29sdW1uKVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgZm9yZWlnbktleSBvZiBhd2FpdCB0aGlzLmdldEZvcmVpZ25LZXlzKCkpIHtcbiAgICAgIHRhYmxlRGF0YS5hZGRGb3JlaWduS2V5KGZvcmVpZ25LZXkuZ2V0VGFibGVEYXRhRm9yZWlnbktleSgpKVxuXG4gICAgICBjb25zdCB0YWJsZURhdGFDb2x1bW4gPSB0YWJsZURhdGFDb2x1bW5zLmZpbmQoKHRhYmxlRGF0YUNvbHVtbikgPT4gdGFibGVEYXRhQ29sdW1uLmdldE5hbWUoKSA9PSBmb3JlaWduS2V5LmdldENvbHVtbk5hbWUoKSlcblxuICAgICAgaWYgKCF0YWJsZURhdGFDb2x1bW4pIHRocm93IG5ldyBFcnJvcihgQ291bGRuJ3QgZmluZCB0YWJsZSBkYXRhIGNvbHVtbiBmb3IgZm9yZWlnbiBrZXk6ICR7Zm9yZWlnbktleS5nZXRDb2x1bW5OYW1lKCl9YClcblxuICAgICAgdGFibGVEYXRhQ29sdW1uLnNldEZvcmVpZ25LZXkoZm9yZWlnbktleSlcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGF3YWl0IHRoaXMuZ2V0SW5kZXhlcygpKSB7XG4gICAgICB0YWJsZURhdGEuYWRkSW5kZXgoaW5kZXguZ2V0VGFibGVEYXRhSW5kZXgoKSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGFibGVEYXRhXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8bnVtYmVyPn1cbiAgICovXG4gIGFzeW5jIHJvd3NDb3VudCgpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmdldERyaXZlcigpLnF1ZXJ5KGBTRUxFQ1QgQ09VTlQoKikgQVMgY291bnQgRlJPTSAke3RoaXMuZ2V0T3B0aW9ucygpLnF1b3RlVGFibGVOYW1lKHRoaXMuZ2V0TmFtZSgpKX1gKVxuXG4gICAgcmV0dXJuIGRpZ2cocmVzdWx0LCAwLCBcImNvdW50XCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt7Y2FzY2FkZTogYm9vbGVhbn19IFthcmdzXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pj59XG4gICAqL1xuICBhc3luYyB0cnVuY2F0ZShhcmdzKSB7XG4gICAgY29uc3QgZGF0YWJhc2VUeXBlID0gdGhpcy5nZXREcml2ZXIoKS5nZXRUeXBlKClcbiAgICBsZXQgc3FsXG5cbiAgICBpZiAoZGF0YWJhc2VUeXBlID09IFwic3FsaXRlXCIpIHtcbiAgICAgIHNxbCA9IGBERUxFVEUgRlJPTSAke3RoaXMuZ2V0T3B0aW9ucygpLnF1b3RlVGFibGVOYW1lKHRoaXMuZ2V0TmFtZSgpKX1gXG4gICAgfSBlbHNlIHtcbiAgICAgIHNxbCA9IGBUUlVOQ0FURSBUQUJMRSAke3RoaXMuZ2V0T3B0aW9ucygpLnF1b3RlVGFibGVOYW1lKHRoaXMuZ2V0TmFtZSgpKX1gXG5cbiAgICAgIGlmIChhcmdzPy5jYXNjYWRlICYmIGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIpIHtcbiAgICAgICAgc3FsICs9IFwiIENBU0NBREVcIlxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmdldERyaXZlcigpLnF1ZXJ5KHNxbClcbiAgfVxufVxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UtdGFibGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFFOUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxpQ0FBaUM7SUFDcEQsc0RBQXNEO0lBQ3RELE1BQU0sR0FBRyxTQUFTLENBQUE7SUFFbEI7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FBQyxVQUFVO1FBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQTtRQUV4RSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMscUJBQXFCLENBQUMsVUFBVTtRQUNwQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFckQsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxVQUFVLEdBQUcsQ0FBQyxDQUFBO1FBRW5GLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtR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QUFrQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUE7WUFFMUUsSUFBSSxJQUFJLEVBQUUsT0FBTyxJQUFJLFlBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDN0MsR0FBRyxJQUFJLFVBQVUsQ0FBQTtZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFRhYmxlRGF0YSBmcm9tIFwiLi4vdGFibGUtZGF0YS9pbmRleC5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlRHJpdmVyc0Jhc2VUYWJsZSB7XG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9ICovXG4gIGRyaXZlciA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29sdW1uTmFtZSAtIENvbHVtbiBuYW1lLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL2Jhc2UtY29sdW1uLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNvbHVtbiBieSBuYW1lLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q29sdW1uQnlOYW1lKGNvbHVtbk5hbWUpIHtcbiAgICBjb25zdCBjb2x1bW5lcyA9IGF3YWl0IHRoaXMuZ2V0Q29sdW1ucygpXG4gICAgY29uc3QgY29sdW1uID0gY29sdW1uZXMuZmluZCgoY29sdW1uKSA9PiBjb2x1bW4uZ2V0TmFtZSgpID09IGNvbHVtbk5hbWUpXG5cbiAgICByZXR1cm4gY29sdW1uXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbHVtbk5hbWUgLSBDb2x1bW4gbmFtZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9iYXNlLWNvbHVtbi5qc1wiKS5kZWZhdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjb2x1bW4gYnkgbmFtZSBvciBmYWlsLlxuICAgKi9cbiAgYXN5bmMgZ2V0Q29sdW1uQnlOYW1lT3JGYWlsKGNvbHVtbk5hbWUpIHtcbiAgICBjb25zdCBjb2x1bW4gPSBhd2FpdCB0aGlzLmdldENvbHVtbkJ5TmFtZShjb2x1bW5OYW1lKVxuXG4gICAgaWYgKCFjb2x1bW4pIHRocm93IG5ldyBFcnJvcihgQ291bGRuJ3QgZmluZCBhIGNvbHVtbiBieSB0aGF0IG5hbWUgXCIke2NvbHVtbk5hbWV9XCJgKVxuXG4gICAgcmV0dXJuIGNvbHVtblxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxpbXBvcnQoXCIuL2Jhc2UtY29sdW1uLmpzXCIpLmRlZmF1bHQ+Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjb2x1bW5zLlxuICAgKi9cbiAgZ2V0Q29sdW1ucygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJnZXRDb2x1bW5zIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2Jhc2UuanNcIikuZGVmYXVsdH0gLSBUaGUgZHJpdmVyLlxuICAgKi9cbiAgZ2V0RHJpdmVyKCkge1xuICAgIGlmICghdGhpcy5kcml2ZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIGRyaXZlciBzZXQgb24gdGFibGVcIilcblxuICAgIHJldHVybiB0aGlzLmRyaXZlclxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL2Jhc2UtZm9yZWlnbi1rZXkuanNcIikuZGVmYXVsdFtdPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBmb3JlaWduIGtleXMuXG4gICAqL1xuICBnZXRGb3JlaWduS2V5cygpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0Rm9yZWlnbktleXMnIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL2Jhc2UtY29sdW1ucy1pbmRleC5qc1wiKS5kZWZhdWx0W10+fSAtIFJlc29sdmVzIHdpdGggdGhlIGluZGV4ZXMuXG4gICAqL1xuICBnZXRJbmRleGVzKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidnZXRGb3JlaWduS2V5cycgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIG5hbWUuXG4gICAqL1xuICBnZXROYW1lKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImdldE5hbWUgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL3F1ZXJ5LXBhcnNlci9vcHRpb25zLmpzXCIpLmRlZmF1bHR9IC0gVGhlIG9wdGlvbnMgb3B0aW9ucy5cbiAgICovXG4gIGdldE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RHJpdmVyKCkub3B0aW9ucygpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8VGFibGVEYXRhPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSB0YWJsZSBkYXRhLlxuICAgKi9cbiAgYXN5bmMgZ2V0VGFibGVEYXRhKCkge1xuICAgIGNvbnN0IHRhYmxlRGF0YSA9IG5ldyBUYWJsZURhdGEodGhpcy5nZXROYW1lKCkpXG4gICAgY29uc3QgdGFibGVEYXRhQ29sdW1ucyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBhd2FpdCB0aGlzLmdldENvbHVtbnMoKSkge1xuICAgICAgY29uc3QgdGFibGVEYXRhQ29sdW1uID0gY29sdW1uLmdldFRhYmxlRGF0YUNvbHVtbigpXG5cbiAgICAgIHRhYmxlRGF0YS5hZGRDb2x1bW4odGFibGVEYXRhQ29sdW1uKVxuICAgICAgdGFibGVEYXRhQ29sdW1ucy5wdXNoKHRhYmxlRGF0YUNvbHVtbilcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGZvcmVpZ25LZXkgb2YgYXdhaXQgdGhpcy5nZXRGb3JlaWduS2V5cygpKSB7XG4gICAgICB0YWJsZURhdGEuYWRkRm9yZWlnbktleShmb3JlaWduS2V5LmdldFRhYmxlRGF0YUZvcmVpZ25LZXkoKSlcblxuICAgICAgY29uc3QgdGFibGVEYXRhQ29sdW1uID0gdGFibGVEYXRhQ29sdW1ucy5maW5kKCh0YWJsZURhdGFDb2x1bW4pID0+IHRhYmxlRGF0YUNvbHVtbi5nZXROYW1lKCkgPT0gZm9yZWlnbktleS5nZXRDb2x1bW5OYW1lKCkpXG5cbiAgICAgIGlmICghdGFibGVEYXRhQ29sdW1uKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IGZpbmQgdGFibGUgZGF0YSBjb2x1bW4gZm9yIGZvcmVpZ24ga2V5OiAke2ZvcmVpZ25LZXkuZ2V0Q29sdW1uTmFtZSgpfWApXG5cbiAgICAgIHRhYmxlRGF0YUNvbHVtbi5zZXRGb3JlaWduS2V5KGZvcmVpZ25LZXkpXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBpbmRleCBvZiBhd2FpdCB0aGlzLmdldEluZGV4ZXMoKSkge1xuICAgICAgdGFibGVEYXRhLmFkZEluZGV4KGluZGV4LmdldFRhYmxlRGF0YUluZGV4KCkpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRhYmxlRGF0YVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPG51bWJlcj59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgcm93cyBjb3VudC5cbiAgICovXG4gIGFzeW5jIHJvd3NDb3VudCgpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmdldERyaXZlcigpLnF1ZXJ5KGBTRUxFQ1QgQ09VTlQoKikgQVMgY291bnQgRlJPTSAke3RoaXMuZ2V0T3B0aW9ucygpLnF1b3RlVGFibGVOYW1lKHRoaXMuZ2V0TmFtZSgpKX1gKVxuXG4gICAgcmV0dXJuIGRpZ2cocmVzdWx0LCAwLCBcImNvdW50XCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt7Y2FzY2FkZTogYm9vbGVhbn19IFthcmdzXSAtIFRydW5jYXRlIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgdHJ1bmNhdGUuXG4gICAqL1xuICBhc3luYyB0cnVuY2F0ZShhcmdzKSB7XG4gICAgdGhpcy5nZXREcml2ZXIoKS5fYXNzZXJ0Tm90UmVhZE9ubHkoKVxuICAgIGNvbnN0IGRhdGFiYXNlVHlwZSA9IHRoaXMuZ2V0RHJpdmVyKCkuZ2V0VHlwZSgpXG4gICAgbGV0IHNxbFxuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInNxbGl0ZVwiKSB7XG4gICAgICBzcWwgPSBgREVMRVRFIEZST00gJHt0aGlzLmdldE9wdGlvbnMoKS5xdW90ZVRhYmxlTmFtZSh0aGlzLmdldE5hbWUoKSl9YFxuICAgIH0gZWxzZSB7XG4gICAgICBzcWwgPSBgVFJVTkNBVEUgVEFCTEUgJHt0aGlzLmdldE9wdGlvbnMoKS5xdW90ZVRhYmxlTmFtZSh0aGlzLmdldE5hbWUoKSl9YFxuXG4gICAgICBpZiAoYXJncz8uY2FzY2FkZSAmJiBkYXRhYmFzZVR5cGUgPT0gXCJwZ3NxbFwiKSB7XG4gICAgICAgIHNxbCArPSBcIiBDQVNDQURFXCJcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXREcml2ZXIoKS5xdWVyeShzcWwpXG4gIH1cbn1cbiJdfQ==