velocious 1.0.145 → 1.0.147

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 (291) hide show
  1. package/build/src/application.d.ts +8 -8
  2. package/build/src/application.d.ts.map +1 -1
  3. package/build/src/application.js +9 -9
  4. package/build/src/cli/base-command.d.ts +5 -5
  5. package/build/src/cli/base-command.d.ts.map +1 -1
  6. package/build/src/cli/base-command.js +6 -6
  7. package/build/src/cli/browser-cli.d.ts +2 -2
  8. package/build/src/cli/browser-cli.js +3 -3
  9. package/build/src/cli/commands/db/create.d.ts +3 -3
  10. package/build/src/cli/commands/db/create.js +4 -4
  11. package/build/src/cli/index.d.ts +1 -1
  12. package/build/src/cli/index.d.ts.map +1 -1
  13. package/build/src/cli/index.js +2 -2
  14. package/build/src/configuration-resolver.d.ts +1 -1
  15. package/build/src/configuration-resolver.js +2 -2
  16. package/build/src/configuration-types.d.ts +2 -0
  17. package/build/src/configuration-types.d.ts.map +1 -1
  18. package/build/src/configuration-types.js +2 -1
  19. package/build/src/configuration.d.ts +34 -34
  20. package/build/src/configuration.d.ts.map +1 -1
  21. package/build/src/configuration.js +35 -35
  22. package/build/src/controller.d.ts +13 -13
  23. package/build/src/controller.d.ts.map +1 -1
  24. package/build/src/controller.js +14 -14
  25. package/build/src/database/drivers/base-column.d.ts +13 -13
  26. package/build/src/database/drivers/base-column.js +14 -14
  27. package/build/src/database/drivers/base-columns-index.d.ts +8 -8
  28. package/build/src/database/drivers/base-columns-index.js +9 -9
  29. package/build/src/database/drivers/base-foreign-key.d.ts +9 -9
  30. package/build/src/database/drivers/base-foreign-key.js +10 -10
  31. package/build/src/database/drivers/base-table.d.ts +11 -11
  32. package/build/src/database/drivers/base-table.d.ts.map +1 -1
  33. package/build/src/database/drivers/base-table.js +13 -12
  34. package/build/src/database/drivers/base.d.ts +78 -62
  35. package/build/src/database/drivers/base.d.ts.map +1 -1
  36. package/build/src/database/drivers/base.js +132 -63
  37. package/build/src/database/drivers/mssql/index.d.ts +5 -5
  38. package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
  39. package/build/src/database/drivers/mssql/index.js +26 -25
  40. package/build/src/database/drivers/mssql/options.js +6 -6
  41. package/build/src/database/drivers/mssql/structure-sql.d.ts +2 -2
  42. package/build/src/database/drivers/mssql/structure-sql.js +3 -3
  43. package/build/src/database/drivers/mssql/table.d.ts.map +1 -1
  44. package/build/src/database/drivers/mssql/table.js +3 -2
  45. package/build/src/database/drivers/mysql/index.d.ts +5 -5
  46. package/build/src/database/drivers/mysql/index.js +27 -27
  47. package/build/src/database/drivers/mysql/options.js +2 -2
  48. package/build/src/database/drivers/mysql/query.d.ts +2 -1
  49. package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
  50. package/build/src/database/drivers/mysql/query.js +2 -1
  51. package/build/src/database/drivers/mysql/structure-sql.d.ts +3 -3
  52. package/build/src/database/drivers/mysql/structure-sql.js +4 -4
  53. package/build/src/database/drivers/pgsql/index.d.ts +1 -1
  54. package/build/src/database/drivers/pgsql/index.js +14 -14
  55. package/build/src/database/drivers/pgsql/options.d.ts +1 -1
  56. package/build/src/database/drivers/pgsql/options.js +2 -2
  57. package/build/src/database/drivers/pgsql/structure-sql.d.ts +2 -2
  58. package/build/src/database/drivers/pgsql/structure-sql.js +3 -3
  59. package/build/src/database/drivers/sqlite/base.d.ts +4 -4
  60. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  61. package/build/src/database/drivers/sqlite/base.js +24 -21
  62. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +1 -1
  63. package/build/src/database/drivers/sqlite/connection-sql-js.js +2 -2
  64. package/build/src/database/drivers/sqlite/index.js +2 -2
  65. package/build/src/database/drivers/sqlite/index.web.d.ts +1 -1
  66. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  67. package/build/src/database/drivers/sqlite/index.web.js +3 -3
  68. package/build/src/database/drivers/sqlite/options.d.ts +1 -1
  69. package/build/src/database/drivers/sqlite/options.js +2 -2
  70. package/build/src/database/drivers/sqlite/query.d.ts +1 -1
  71. package/build/src/database/drivers/sqlite/query.js +2 -2
  72. package/build/src/database/drivers/sqlite/query.web.d.ts +1 -1
  73. package/build/src/database/drivers/sqlite/query.web.js +2 -2
  74. package/build/src/database/drivers/sqlite/sql/alter-table.js +2 -2
  75. package/build/src/database/drivers/sqlite/structure-sql.d.ts +1 -1
  76. package/build/src/database/drivers/sqlite/structure-sql.js +2 -2
  77. package/build/src/database/drivers/sqlite/table.d.ts +4 -1
  78. package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
  79. package/build/src/database/drivers/sqlite/table.js +6 -3
  80. package/build/src/database/drivers/structure-sql/utils.d.ts +2 -2
  81. package/build/src/database/drivers/structure-sql/utils.js +3 -3
  82. package/build/src/database/handler.d.ts +1 -1
  83. package/build/src/database/handler.js +2 -2
  84. package/build/src/database/initializer-from-require-context.d.ts +1 -1
  85. package/build/src/database/initializer-from-require-context.js +2 -2
  86. package/build/src/database/migration/index.d.ts +17 -17
  87. package/build/src/database/migration/index.d.ts.map +1 -1
  88. package/build/src/database/migration/index.js +19 -19
  89. package/build/src/database/migrator/files-finder.d.ts +1 -1
  90. package/build/src/database/migrator/files-finder.js +2 -2
  91. package/build/src/database/migrator.d.ts +10 -10
  92. package/build/src/database/migrator.d.ts.map +1 -1
  93. package/build/src/database/migrator.js +11 -11
  94. package/build/src/database/pool/async-tracked-multi-connection.d.ts +4 -4
  95. package/build/src/database/pool/async-tracked-multi-connection.js +9 -9
  96. package/build/src/database/pool/base-methods-forward.d.ts +1 -1
  97. package/build/src/database/pool/base-methods-forward.js +2 -2
  98. package/build/src/database/pool/base.d.ts +11 -11
  99. package/build/src/database/pool/base.js +12 -12
  100. package/build/src/database/pool/single-multi-use.js +4 -4
  101. package/build/src/database/query/alter-table-base.js +2 -2
  102. package/build/src/database/query/base.d.ts +2 -2
  103. package/build/src/database/query/base.js +3 -3
  104. package/build/src/database/query/create-database-base.d.ts +1 -1
  105. package/build/src/database/query/create-database-base.js +2 -2
  106. package/build/src/database/query/create-index-base.js +2 -2
  107. package/build/src/database/query/create-table-base.d.ts +1 -1
  108. package/build/src/database/query/create-table-base.js +2 -2
  109. package/build/src/database/query/drop-table-base.js +2 -2
  110. package/build/src/database/query/from-base.d.ts +3 -3
  111. package/build/src/database/query/from-base.js +4 -4
  112. package/build/src/database/query/index.d.ts +18 -18
  113. package/build/src/database/query/index.d.ts.map +1 -1
  114. package/build/src/database/query/index.js +19 -19
  115. package/build/src/database/query/insert-base.d.ts +2 -1
  116. package/build/src/database/query/insert-base.d.ts.map +1 -1
  117. package/build/src/database/query/insert-base.js +3 -2
  118. package/build/src/database/query/join-base.d.ts +2 -2
  119. package/build/src/database/query/join-base.js +3 -3
  120. package/build/src/database/query/join-object.d.ts +1 -1
  121. package/build/src/database/query/join-object.js +2 -2
  122. package/build/src/database/query/model-class-query.d.ts +14 -14
  123. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  124. package/build/src/database/query/model-class-query.js +15 -15
  125. package/build/src/database/query/order-base.d.ts +2 -2
  126. package/build/src/database/query/order-base.js +3 -3
  127. package/build/src/database/query/select-base.d.ts +2 -2
  128. package/build/src/database/query/select-base.js +3 -3
  129. package/build/src/database/query/update-base.d.ts +1 -1
  130. package/build/src/database/query/update-base.js +2 -2
  131. package/build/src/database/query/where-base.d.ts +3 -3
  132. package/build/src/database/query/where-base.js +4 -4
  133. package/build/src/database/query/where-hash.d.ts +1 -0
  134. package/build/src/database/query/where-hash.d.ts.map +1 -1
  135. package/build/src/database/query/where-hash.js +5 -1
  136. package/build/src/database/query-parser/from-parser.d.ts +1 -1
  137. package/build/src/database/query-parser/from-parser.d.ts.map +1 -1
  138. package/build/src/database/query-parser/from-parser.js +2 -2
  139. package/build/src/database/query-parser/group-parser.d.ts +1 -1
  140. package/build/src/database/query-parser/group-parser.js +2 -2
  141. package/build/src/database/query-parser/options.d.ts +6 -6
  142. package/build/src/database/query-parser/options.js +7 -7
  143. package/build/src/database/record/index.d.ts +99 -87
  144. package/build/src/database/record/index.d.ts.map +1 -1
  145. package/build/src/database/record/index.js +121 -91
  146. package/build/src/database/record/instance-relationships/base.d.ts +7 -7
  147. package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
  148. package/build/src/database/record/instance-relationships/base.js +8 -8
  149. package/build/src/database/record/instance-relationships/belongs-to.d.ts +1 -1
  150. package/build/src/database/record/instance-relationships/belongs-to.js +2 -2
  151. package/build/src/database/record/instance-relationships/has-many.d.ts +7 -7
  152. package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
  153. package/build/src/database/record/instance-relationships/has-many.js +9 -9
  154. package/build/src/database/record/instance-relationships/has-one.d.ts +1 -1
  155. package/build/src/database/record/instance-relationships/has-one.js +2 -2
  156. package/build/src/database/record/relationships/base.d.ts +3 -3
  157. package/build/src/database/record/relationships/base.d.ts.map +1 -1
  158. package/build/src/database/record/relationships/base.js +4 -4
  159. package/build/src/database/record/relationships/belongs-to.js +3 -3
  160. package/build/src/database/record/relationships/has-many.js +3 -3
  161. package/build/src/database/record/relationships/has-one.js +3 -3
  162. package/build/src/database/record/validators/base.d.ts +1 -1
  163. package/build/src/database/record/validators/base.js +2 -2
  164. package/build/src/database/record/validators/uniqueness.js +2 -2
  165. package/build/src/database/table-data/index.d.ts +19 -19
  166. package/build/src/database/table-data/index.js +20 -20
  167. package/build/src/database/table-data/table-column.d.ts +23 -23
  168. package/build/src/database/table-data/table-column.js +24 -24
  169. package/build/src/database/table-data/table-foreign-key.d.ts +7 -7
  170. package/build/src/database/table-data/table-foreign-key.js +8 -8
  171. package/build/src/database/table-data/table-index.d.ts +3 -3
  172. package/build/src/database/table-data/table-index.js +4 -4
  173. package/build/src/database/use-database.d.ts +1 -1
  174. package/build/src/database/use-database.js +2 -2
  175. package/build/src/environment-handlers/base.d.ts +24 -24
  176. package/build/src/environment-handlers/base.js +25 -25
  177. package/build/src/environment-handlers/browser.d.ts +4 -4
  178. package/build/src/environment-handlers/browser.js +9 -9
  179. package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts +1 -1
  180. package/build/src/environment-handlers/node/cli/commands/destroy/migration.js +2 -2
  181. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +2 -2
  182. package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +3 -3
  183. package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts +1 -1
  184. package/build/src/environment-handlers/node/cli/commands/generate/migration.js +2 -2
  185. package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts +1 -1
  186. package/build/src/environment-handlers/node/cli/commands/generate/model.js +2 -2
  187. package/build/src/environment-handlers/node/cli/commands/init.d.ts +1 -1
  188. package/build/src/environment-handlers/node/cli/commands/init.js +2 -2
  189. package/build/src/environment-handlers/node/cli/commands/routes.d.ts +2 -2
  190. package/build/src/environment-handlers/node/cli/commands/routes.js +3 -3
  191. package/build/src/environment-handlers/node.d.ts +9 -9
  192. package/build/src/environment-handlers/node.js +21 -21
  193. package/build/src/error-logger.d.ts +1 -0
  194. package/build/src/error-logger.d.ts.map +1 -1
  195. package/build/src/error-logger.js +3 -2
  196. package/build/src/http-client/index.d.ts +1 -1
  197. package/build/src/http-client/index.js +2 -2
  198. package/build/src/http-client/request.d.ts +6 -0
  199. package/build/src/http-client/request.d.ts.map +1 -1
  200. package/build/src/http-client/request.js +7 -1
  201. package/build/src/http-client/response.d.ts +2 -2
  202. package/build/src/http-client/response.js +3 -3
  203. package/build/src/http-client/websocket-client.d.ts +7 -7
  204. package/build/src/http-client/websocket-client.d.ts.map +1 -1
  205. package/build/src/http-client/websocket-client.js +8 -8
  206. package/build/src/http-server/client/index.d.ts +5 -5
  207. package/build/src/http-server/client/index.d.ts.map +1 -1
  208. package/build/src/http-server/client/index.js +6 -6
  209. package/build/src/http-server/client/params-to-object.d.ts +3 -3
  210. package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
  211. package/build/src/http-server/client/params-to-object.js +4 -4
  212. package/build/src/http-server/client/request-buffer/form-data-part.d.ts +2 -2
  213. package/build/src/http-server/client/request-buffer/form-data-part.js +3 -3
  214. package/build/src/http-server/client/request-buffer/index.d.ts +10 -10
  215. package/build/src/http-server/client/request-buffer/index.js +11 -11
  216. package/build/src/http-server/client/request-parser.d.ts +14 -14
  217. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  218. package/build/src/http-server/client/request-parser.js +15 -15
  219. package/build/src/http-server/client/request.d.ts +2 -2
  220. package/build/src/http-server/client/request.js +3 -3
  221. package/build/src/http-server/client/response.d.ts +8 -8
  222. package/build/src/http-server/client/response.js +9 -9
  223. package/build/src/http-server/client/uploaded-file/memory-uploaded-file.js +2 -2
  224. package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.js +2 -2
  225. package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +1 -1
  226. package/build/src/http-server/client/uploaded-file/uploaded-file.js +2 -2
  227. package/build/src/http-server/client/websocket-session.d.ts +10 -10
  228. package/build/src/http-server/client/websocket-session.js +11 -11
  229. package/build/src/http-server/index.d.ts +12 -12
  230. package/build/src/http-server/index.d.ts.map +1 -1
  231. package/build/src/http-server/index.js +13 -13
  232. package/build/src/http-server/server-client.d.ts +6 -6
  233. package/build/src/http-server/server-client.d.ts.map +1 -1
  234. package/build/src/http-server/server-client.js +7 -7
  235. package/build/src/http-server/websocket-events-host.d.ts +2 -2
  236. package/build/src/http-server/websocket-events-host.js +3 -3
  237. package/build/src/http-server/websocket-events.d.ts +1 -1
  238. package/build/src/http-server/websocket-events.js +2 -2
  239. package/build/src/http-server/worker-handler/index.d.ts +4 -4
  240. package/build/src/http-server/worker-handler/index.js +5 -5
  241. package/build/src/http-server/worker-handler/worker-thread.d.ts +2 -2
  242. package/build/src/http-server/worker-handler/worker-thread.js +3 -3
  243. package/build/src/initializer.d.ts +3 -3
  244. package/build/src/initializer.js +4 -4
  245. package/build/src/logger.d.ts +9 -9
  246. package/build/src/logger.js +17 -17
  247. package/build/src/routes/app-routes.d.ts +1 -1
  248. package/build/src/routes/app-routes.js +2 -2
  249. package/build/src/routes/base-route.d.ts +6 -6
  250. package/build/src/routes/base-route.d.ts.map +1 -1
  251. package/build/src/routes/base-route.js +7 -7
  252. package/build/src/routes/basic-route.d.ts +1 -1
  253. package/build/src/routes/basic-route.js +5 -5
  254. package/build/src/routes/get-route.js +2 -2
  255. package/build/src/routes/index.d.ts +1 -1
  256. package/build/src/routes/index.js +2 -2
  257. package/build/src/routes/namespace-route.js +2 -2
  258. package/build/src/routes/post-route.js +2 -2
  259. package/build/src/routes/resolver.d.ts +4 -4
  260. package/build/src/routes/resolver.d.ts.map +1 -1
  261. package/build/src/routes/resolver.js +9 -6
  262. package/build/src/routes/resource-route.js +2 -2
  263. package/build/src/testing/format-value.d.ts +2 -2
  264. package/build/src/testing/format-value.js +5 -5
  265. package/build/src/testing/request-client.d.ts +6 -6
  266. package/build/src/testing/request-client.d.ts.map +1 -1
  267. package/build/src/testing/request-client.js +7 -7
  268. package/build/src/testing/test-files-finder.d.ts +8 -7
  269. package/build/src/testing/test-files-finder.d.ts.map +1 -1
  270. package/build/src/testing/test-files-finder.js +8 -7
  271. package/build/src/testing/test-runner.d.ts +14 -14
  272. package/build/src/testing/test-runner.js +15 -15
  273. package/build/src/testing/test.d.ts +26 -26
  274. package/build/src/testing/test.js +27 -27
  275. package/build/src/utils/backtrace-cleaner.d.ts +2 -2
  276. package/build/src/utils/backtrace-cleaner.js +3 -3
  277. package/build/src/utils/ensure-error.d.ts +1 -1
  278. package/build/src/utils/ensure-error.js +2 -2
  279. package/build/src/utils/file-exists.d.ts +1 -1
  280. package/build/src/utils/file-exists.js +2 -2
  281. package/build/src/utils/nest-callbacks.d.ts +1 -1
  282. package/build/src/utils/nest-callbacks.js +2 -2
  283. package/build/src/utils/rest-args-error.d.ts +1 -1
  284. package/build/src/utils/rest-args-error.js +2 -2
  285. package/build/src/utils/singularize-model-name.d.ts +1 -1
  286. package/build/src/utils/singularize-model-name.js +2 -2
  287. package/build/src/utils/with-tracked-stack-async-hooks.d.ts +1 -1
  288. package/build/src/utils/with-tracked-stack-async-hooks.js +2 -2
  289. package/build/src/utils/with-tracked-stack.d.ts +1 -1
  290. package/build/src/utils/with-tracked-stack.js +2 -2
  291. package/package.json +1 -1
@@ -14,35 +14,35 @@
14
14
  export default class VelociousEnvironmentHandlerBase {
15
15
  /**
16
16
  * @param {import("../cli/base-command.js").default} _command
17
- * @returns {Promise<void>}
17
+ * @returns {Promise<void>} - Result.
18
18
  */
19
19
  async cliCommandsGenerateBaseModels(_command) {
20
20
  throw new Error("cliCommandsGenerateBaseModels not implemented");
21
21
  }
22
22
  /**
23
23
  * @param {import("../cli/base-command.js").default} command
24
- * @returns {Promise<void>}
24
+ * @returns {Promise<void>} - Result.
25
25
  */
26
26
  async cliCommandsInit(command) {
27
27
  throw new Error("cliCommandsInit not implemented");
28
28
  }
29
29
  /**
30
30
  * @param {import("../cli/base-command.js").default} _command
31
- * @returns {Promise<void>}
31
+ * @returns {Promise<void>} - Result.
32
32
  */
33
33
  async cliCommandsMigrationGenerate(_command) {
34
34
  throw new Error("cliCommandsMigrationGenerate not implemented");
35
35
  }
36
36
  /**
37
37
  * @param {import("../cli/base-command.js").default} _command
38
- * @returns {Promise<void>}
38
+ * @returns {Promise<void>} - Result.
39
39
  */
40
40
  async cliCommandsMigrationDestroy(_command) {
41
41
  throw new Error("cliCommandsMigrationDestroy not implemented");
42
42
  }
43
43
  /**
44
44
  * @param {import("../cli/base-command.js").default} _command
45
- * @returns {Promise<void>}
45
+ * @returns {Promise<void>} - Result.
46
46
  */
47
47
  async cliCommandsGenerateModel(_command) {
48
48
  throw new Error("cliCommandsGenerateModel not implemented");
@@ -50,39 +50,39 @@ export default class VelociousEnvironmentHandlerBase {
50
50
  /**
51
51
  * @abstract
52
52
  * @param {import("../cli/base-command.js").default} _command
53
- * @returns {Promise<void>}
53
+ * @returns {Promise<void>} - Result.
54
54
  */
55
55
  async cliCommandsRoutes(_command) {
56
56
  throw new Error("cliCommandsRoutes not implemented");
57
57
  }
58
58
  /**
59
59
  * @param {import("../cli/base-command.js").default} _command
60
- * @returns {Promise<void>}
60
+ * @returns {Promise<void>} - Result.
61
61
  */
62
62
  async cliCommandsServer(_command) {
63
63
  throw new Error("cliCommandsServer not implemented");
64
64
  }
65
65
  /**
66
66
  * @param {import("../cli/base-command.js").default} _command
67
- * @returns {Promise<void>}
67
+ * @returns {Promise<void>} - Result.
68
68
  */
69
69
  async cliCommandsTest(_command) {
70
70
  throw new Error("cliCommandsTest not implemented");
71
71
  }
72
72
  /**
73
73
  * @abstract
74
- * @returns {Promise<CommandFileObjectType[]>}
74
+ * @returns {Promise<CommandFileObjectType[]>} - Result.
75
75
  */
76
76
  async findCommands() { throw new Error("findCommands not implemented"); }
77
77
  /**
78
78
  * @abstract
79
- * @returns {Promise<Array<MigrationObjectType>>}
79
+ * @returns {Promise<Array<MigrationObjectType>>} - Result.
80
80
  */
81
81
  async findMigrations() { throw new Error("findMigrations not implemneted"); }
82
82
  /**
83
83
  * @param {import("../cli/base-command.js").default} command
84
84
  * @param {typeof import("../cli/base-command.js").default} CommandClass
85
- * @returns {Promise<any>}
85
+ * @returns {Promise<any>} - Result.
86
86
  */
87
87
  async forwardCommand(command, CommandClass) {
88
88
  const newCommand = new CommandClass({
@@ -93,29 +93,29 @@ export default class VelociousEnvironmentHandlerBase {
93
93
  }
94
94
  /**
95
95
  * @abstract
96
- * @returns {Promise<string>}
96
+ * @returns {Promise<string>} - Result.
97
97
  */
98
98
  getVelociousPath() { throw new Error("getVelociousPath not implemented"); }
99
99
  /**
100
100
  * @abstract
101
- * @returns {Promise<import("../routes/index.js").default>}
101
+ * @returns {Promise<import("../routes/index.js").default>} - Result.
102
102
  */
103
103
  async importApplicationRoutes() { throw new Error("importApplicationRoutes not implemented"); }
104
104
  /**
105
105
  * @abstract
106
106
  * @param {string[]} _testFiles
107
- * @returns {Promise<void>}
107
+ * @returns {Promise<void>} - Result.
108
108
  */
109
109
  importTestFiles(_testFiles) { throw new Error("'importTestFiles' not implemented"); } // eslint-disable-line no-unused-vars
110
110
  /**
111
111
  * @abstract
112
- * @returns {Promise<void>}
112
+ * @returns {Promise<void>} - Result.
113
113
  */
114
114
  importTestingConfigPath() { throw new Error(`'importTestingConfigPath' not implemented`); }
115
115
  /**
116
116
  * @param {object} args
117
117
  * @param {Record<string, import("../database/drivers/base.js").default>} args.dbs
118
- * @returns {Promise<void>}
118
+ * @returns {Promise<void>} - Result.
119
119
  */
120
120
  async afterMigrations(args) {
121
121
  return;
@@ -124,21 +124,21 @@ export default class VelociousEnvironmentHandlerBase {
124
124
  * @abstract
125
125
  * @param {object} args
126
126
  * @param {string[]} args.commandParts
127
- * @returns {Promise<typeof import ("../cli/base-command.js").default>}
127
+ * @returns {Promise<typeof import ("../cli/base-command.js").default>} - Result.
128
128
  */
129
129
  async requireCommand({ commandParts }) { throw new Error("'requireCommand' not implemented"); } // eslint-disable-line no-unused-vars
130
130
  /**
131
131
  * @param {object} newArgs
132
- * @returns {void}
132
+ * @returns {void} - Result.
133
133
  */
134
134
  setArgs(newArgs) { this.args = newArgs; }
135
135
  /**
136
136
  * @param {import("../configuration.js").default} newConfiguration
137
- * @returns {void}
137
+ * @returns {void} - Result.
138
138
  */
139
139
  setConfiguration(newConfiguration) { this.configuration = newConfiguration; }
140
140
  /**
141
- * @returns {import("../configuration.js").default}
141
+ * @returns {import("../configuration.js").default} - Result.
142
142
  */
143
143
  getConfiguration() {
144
144
  if (!this.configuration)
@@ -147,13 +147,13 @@ export default class VelociousEnvironmentHandlerBase {
147
147
  }
148
148
  /**
149
149
  * @param {string[]} newProcessArgs
150
- * @returns {void}
150
+ * @returns {void} - Result.
151
151
  */
152
152
  setProcessArgs(newProcessArgs) { this.processArgs = newProcessArgs; }
153
153
  /**
154
154
  * @param {object} _args
155
155
  * @param {import("../configuration.js").default} _args.configuration
156
- * @returns {string | undefined}
156
+ * @returns {string | undefined} - Result.
157
157
  */
158
158
  getDefaultLogDirectory(_args) {
159
159
  return undefined;
@@ -163,7 +163,7 @@ export default class VelociousEnvironmentHandlerBase {
163
163
  * @param {import("../configuration.js").default} _args.configuration
164
164
  * @param {string | undefined} _args.directory
165
165
  * @param {string} _args.environment
166
- * @returns {string | undefined}
166
+ * @returns {string | undefined} - Result.
167
167
  */
168
168
  getLogFilePath(_args) {
169
169
  return undefined;
@@ -172,10 +172,10 @@ export default class VelociousEnvironmentHandlerBase {
172
172
  * @param {object} _args
173
173
  * @param {string} _args.filePath
174
174
  * @param {string} _args.message
175
- * @returns {Promise<void>}
175
+ * @returns {Promise<void>} - Result.
176
176
  */
177
177
  async writeLogToFile(_args) {
178
178
  return;
179
179
  }
180
180
  }
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7OztHQUlHO0FBRUg7Ozs7OztHQU1HO0FBRUgsTUFBTSxDQUFDLE9BQU8sT0FBTywrQkFBK0I7SUFDbEQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLDZCQUE2QixDQUFDLFFBQVE7UUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU87UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsNEJBQTRCLENBQUMsUUFBUTtRQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxRQUFRO1FBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFFBQVE7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVE7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUTtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBUTtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUV4RTs7O09BR0c7SUFDSCxLQUFLLENBQUMsY0FBYyxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFNUU7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVk7UUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxZQUFZLENBQUM7WUFDbEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztTQUNqQixDQUFDLENBQUE7UUFFRixPQUFPLE1BQU0sVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0IsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTFFOzs7T0FHRztJQUNILEtBQUssQ0FBQyx1QkFBdUIsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTlGOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsVUFBVSxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7SUFFMUg7OztPQUdHO0lBQ0gsdUJBQXVCLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUUxRjs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJO1FBQ3hCLE9BQU07SUFDUixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLHFDQUFxQztJQUVsSTs7O09BR0c7SUFDSCxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFBLENBQUMsQ0FBQztJQUV4Qzs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFBLENBQUMsQ0FBQztJQUU1RTs7T0FFRztJQUNILGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQTtRQUV6RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUE7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUEsQ0FBQyxDQUFDO0lBRXBFOzs7O09BSUc7SUFDSCxzQkFBc0IsQ0FBQyxLQUFLO1FBQzFCLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxjQUFjLENBQUMsS0FBSztRQUNsQixPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUs7UUFDeEIsT0FBTTtJQUNSLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IENvbW1hbmRGaWxlT2JqZWN0VHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBmaWxlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBNaWdyYXRpb25PYmplY3RUeXBlXG4gKiBAcHJvcGVydHkge251bWJlcn0gZGF0ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmdWxsUGF0aF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBtaWdyYXRpb25DbGFzc05hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBmaWxlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRW52aXJvbm1lbnRIYW5kbGVyQmFzZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gX2NvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc0dlbmVyYXRlQmFzZU1vZGVscyhfY29tbWFuZCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY2xpQ29tbWFuZHNHZW5lcmF0ZUJhc2VNb2RlbHMgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc0luaXQoY29tbWFuZCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY2xpQ29tbWFuZHNJbml0IG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBfY29tbWFuZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzTWlncmF0aW9uR2VuZXJhdGUoX2NvbW1hbmQpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHRocm93IG5ldyBFcnJvcihcImNsaUNvbW1hbmRzTWlncmF0aW9uR2VuZXJhdGUgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IF9jb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNNaWdyYXRpb25EZXN0cm95KF9jb21tYW5kKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjbGlDb21tYW5kc01pZ3JhdGlvbkRlc3Ryb3kgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IF9jb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNHZW5lcmF0ZU1vZGVsKF9jb21tYW5kKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjbGlDb21tYW5kc0dlbmVyYXRlTW9kZWwgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBfY29tbWFuZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzUm91dGVzKF9jb21tYW5kKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjbGlDb21tYW5kc1JvdXRlcyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gX2NvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc1NlcnZlcihfY29tbWFuZCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY2xpQ29tbWFuZHNTZXJ2ZXIgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IF9jb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNUZXN0KF9jb21tYW5kKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjbGlDb21tYW5kc1Rlc3Qgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPENvbW1hbmRGaWxlT2JqZWN0VHlwZVtdPn1cbiAgICovXG4gIGFzeW5jIGZpbmRDb21tYW5kcygpIHsgdGhyb3cgbmV3IEVycm9yKFwiZmluZENvbW1hbmRzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxNaWdyYXRpb25PYmplY3RUeXBlPj59XG4gICAqL1xuICBhc3luYyBmaW5kTWlncmF0aW9ucygpIHsgdGhyb3cgbmV3IEVycm9yKFwiZmluZE1pZ3JhdGlvbnMgbm90IGltcGxlbW5ldGVkXCIpIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBDb21tYW5kQ2xhc3NcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGZvcndhcmRDb21tYW5kKGNvbW1hbmQsIENvbW1hbmRDbGFzcykge1xuICAgIGNvbnN0IG5ld0NvbW1hbmQgPSBuZXcgQ29tbWFuZENsYXNzKHtcbiAgICAgIGFyZ3M6IGNvbW1hbmQuYXJncyxcbiAgICAgIGNsaTogY29tbWFuZC5jbGlcbiAgICB9KVxuXG4gICAgcmV0dXJuIGF3YWl0IG5ld0NvbW1hbmQuZXhlY3V0ZSgpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59XG4gICAqL1xuICBnZXRWZWxvY2lvdXNQYXRoKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJnZXRWZWxvY2lvdXNQYXRoIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9yb3V0ZXMvaW5kZXguanNcIikuZGVmYXVsdD59XG4gICAqL1xuICBhc3luYyBpbXBvcnRBcHBsaWNhdGlvblJvdXRlcygpIHsgdGhyb3cgbmV3IEVycm9yKFwiaW1wb3J0QXBwbGljYXRpb25Sb3V0ZXMgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7c3RyaW5nW119IF90ZXN0RmlsZXNcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBpbXBvcnRUZXN0RmlsZXMoX3Rlc3RGaWxlcykgeyB0aHJvdyBuZXcgRXJyb3IoXCInaW1wb3J0VGVzdEZpbGVzJyBub3QgaW1wbGVtZW50ZWRcIikgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGltcG9ydFRlc3RpbmdDb25maWdQYXRoKCkgeyB0aHJvdyBuZXcgRXJyb3IoYCdpbXBvcnRUZXN0aW5nQ29uZmlnUGF0aCcgbm90IGltcGxlbWVudGVkYCkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gYXJncy5kYnNcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBhZnRlck1pZ3JhdGlvbnMoYXJncykgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgcmV0dXJuXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGFyZ3MuY29tbWFuZFBhcnRzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHR5cGVvZiBpbXBvcnQgKFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0Pn1cbiAgICovXG4gIGFzeW5jIHJlcXVpcmVDb21tYW5kKHtjb21tYW5kUGFydHN9KSB7IHRocm93IG5ldyBFcnJvcihcIidyZXF1aXJlQ29tbWFuZCcgbm90IGltcGxlbWVudGVkXCIpIH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gbmV3QXJnc1xuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHNldEFyZ3MobmV3QXJncykgeyB0aGlzLmFyZ3MgPSBuZXdBcmdzIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IG5ld0NvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZXRDb25maWd1cmF0aW9uKG5ld0NvbmZpZ3VyYXRpb24pIHsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3Q29uZmlndXJhdGlvbiB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9XG4gICAqL1xuICBnZXRDb25maWd1cmF0aW9uKCkge1xuICAgIGlmICghdGhpcy5jb25maWd1cmF0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJDb25maWd1cmF0aW9uIGhhc24ndCBiZWVuIHNldFwiKVxuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IG5ld1Byb2Nlc3NBcmdzXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc2V0UHJvY2Vzc0FyZ3MobmV3UHJvY2Vzc0FyZ3MpIHsgdGhpcy5wcm9jZXNzQXJncyA9IG5ld1Byb2Nlc3NBcmdzIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IF9hcmdzXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBfYXJncy5jb25maWd1cmF0aW9uXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqL1xuICBnZXREZWZhdWx0TG9nRGlyZWN0b3J5KF9hcmdzKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IF9hcmdzXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBfYXJncy5jb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSBfYXJncy5kaXJlY3RvcnlcbiAgICogQHBhcmFtIHtzdHJpbmd9IF9hcmdzLmVudmlyb25tZW50XG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqL1xuICBnZXRMb2dGaWxlUGF0aChfYXJncykgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBfYXJnc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gX2FyZ3MuZmlsZVBhdGhcbiAgICogQHBhcmFtIHtzdHJpbmd9IF9hcmdzLm1lc3NhZ2VcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyB3cml0ZUxvZ1RvRmlsZShfYXJncykgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgcmV0dXJuXG4gIH1cbn1cbiJdfQ==
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7OztHQUlHO0FBRUg7Ozs7OztHQU1HO0FBRUgsTUFBTSxDQUFDLE9BQU8sT0FBTywrQkFBK0I7SUFDbEQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLDZCQUE2QixDQUFDLFFBQVE7UUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU87UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsNEJBQTRCLENBQUMsUUFBUTtRQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxRQUFRO1FBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFFBQVE7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVE7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUTtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBUTtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUV4RTs7O09BR0c7SUFDSCxLQUFLLENBQUMsY0FBYyxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFNUU7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVk7UUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxZQUFZLENBQUM7WUFDbEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztTQUNqQixDQUFDLENBQUE7UUFFRixPQUFPLE1BQU0sVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0IsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTFFOzs7T0FHRztJQUNILEtBQUssQ0FBQyx1QkFBdUIsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTlGOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsVUFBVSxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7SUFFMUg7OztPQUdHO0lBQ0gsdUJBQXVCLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUUxRjs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJO1FBQ3hCLE9BQU07SUFDUixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLHFDQUFxQztJQUVsSTs7O09BR0c7SUFDSCxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFBLENBQUMsQ0FBQztJQUV4Qzs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFBLENBQUMsQ0FBQztJQUU1RTs7T0FFRztJQUNILGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQTtRQUV6RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUE7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUEsQ0FBQyxDQUFDO0lBRXBFOzs7O09BSUc7SUFDSCxzQkFBc0IsQ0FBQyxLQUFLO1FBQzFCLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxjQUFjLENBQUMsS0FBSztRQUNsQixPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUs7UUFDeEIsT0FBTTtJQUNSLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IENvbW1hbmRGaWxlT2JqZWN0VHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBmaWxlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBNaWdyYXRpb25PYmplY3RUeXBlXG4gKiBAcHJvcGVydHkge251bWJlcn0gZGF0ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmdWxsUGF0aF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBtaWdyYXRpb25DbGFzc05hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBmaWxlXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRW52aXJvbm1lbnRIYW5kbGVyQmFzZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gX2NvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNHZW5lcmF0ZUJhc2VNb2RlbHMoX2NvbW1hbmQpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHRocm93IG5ldyBFcnJvcihcImNsaUNvbW1hbmRzR2VuZXJhdGVCYXNlTW9kZWxzIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzSW5pdChjb21tYW5kKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjbGlDb21tYW5kc0luaXQgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IF9jb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzTWlncmF0aW9uR2VuZXJhdGUoX2NvbW1hbmQpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHRocm93IG5ldyBFcnJvcihcImNsaUNvbW1hbmRzTWlncmF0aW9uR2VuZXJhdGUgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IF9jb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzTWlncmF0aW9uRGVzdHJveShfY29tbWFuZCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY2xpQ29tbWFuZHNNaWdyYXRpb25EZXN0cm95IG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBfY29tbWFuZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXN1bHQuXG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc0dlbmVyYXRlTW9kZWwoX2NvbW1hbmQpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHRocm93IG5ldyBFcnJvcihcImNsaUNvbW1hbmRzR2VuZXJhdGVNb2RlbCBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IF9jb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzUm91dGVzKF9jb21tYW5kKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjbGlDb21tYW5kc1JvdXRlcyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gX2NvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNTZXJ2ZXIoX2NvbW1hbmQpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHRocm93IG5ldyBFcnJvcihcImNsaUNvbW1hbmRzU2VydmVyIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBfY29tbWFuZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXN1bHQuXG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc1Rlc3QoX2NvbW1hbmQpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHRocm93IG5ldyBFcnJvcihcImNsaUNvbW1hbmRzVGVzdCBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge1Byb21pc2U8Q29tbWFuZEZpbGVPYmplY3RUeXBlW10+fSAtIFJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGZpbmRDb21tYW5kcygpIHsgdGhyb3cgbmV3IEVycm9yKFwiZmluZENvbW1hbmRzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxNaWdyYXRpb25PYmplY3RUeXBlPj59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgZmluZE1pZ3JhdGlvbnMoKSB7IHRocm93IG5ldyBFcnJvcihcImZpbmRNaWdyYXRpb25zIG5vdCBpbXBsZW1uZXRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gQ29tbWFuZENsYXNzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ29tbWFuZENsYXNzKSB7XG4gICAgY29uc3QgbmV3Q29tbWFuZCA9IG5ldyBDb21tYW5kQ2xhc3Moe1xuICAgICAgYXJnczogY29tbWFuZC5hcmdzLFxuICAgICAgY2xpOiBjb21tYW5kLmNsaVxuICAgIH0pXG5cbiAgICByZXR1cm4gYXdhaXQgbmV3Q29tbWFuZC5leGVjdXRlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBSZXN1bHQuXG4gICAqL1xuICBnZXRWZWxvY2lvdXNQYXRoKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJnZXRWZWxvY2lvdXNQYXRoIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9yb3V0ZXMvaW5kZXguanNcIikuZGVmYXVsdD59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgaW1wb3J0QXBwbGljYXRpb25Sb3V0ZXMoKSB7IHRocm93IG5ldyBFcnJvcihcImltcG9ydEFwcGxpY2F0aW9uUm91dGVzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBfdGVzdEZpbGVzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc3VsdC5cbiAgICovXG4gIGltcG9ydFRlc3RGaWxlcyhfdGVzdEZpbGVzKSB7IHRocm93IG5ldyBFcnJvcihcIidpbXBvcnRUZXN0RmlsZXMnIG5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc3VsdC5cbiAgICovXG4gIGltcG9ydFRlc3RpbmdDb25maWdQYXRoKCkgeyB0aHJvdyBuZXcgRXJyb3IoYCdpbXBvcnRUZXN0aW5nQ29uZmlnUGF0aCcgbm90IGltcGxlbWVudGVkYCkgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gYXJncy5kYnNcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgYWZ0ZXJNaWdyYXRpb25zKGFyZ3MpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHJldHVyblxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBhcmdzLmNvbW1hbmRQYXJ0c1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx0eXBlb2YgaW1wb3J0IChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdD59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgcmVxdWlyZUNvbW1hbmQoe2NvbW1hbmRQYXJ0c30pIHsgdGhyb3cgbmV3IEVycm9yKFwiJ3JlcXVpcmVDb21tYW5kJyBub3QgaW1wbGVtZW50ZWRcIikgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBuZXdBcmdzXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIFJlc3VsdC5cbiAgICovXG4gIHNldEFyZ3MobmV3QXJncykgeyB0aGlzLmFyZ3MgPSBuZXdBcmdzIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IG5ld0NvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMge3ZvaWR9IC0gUmVzdWx0LlxuICAgKi9cbiAgc2V0Q29uZmlndXJhdGlvbihuZXdDb25maWd1cmF0aW9uKSB7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ld0NvbmZpZ3VyYXRpb24gfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSAtIFJlc3VsdC5cbiAgICovXG4gIGdldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZ3VyYXRpb24pIHRocm93IG5ldyBFcnJvcihcIkNvbmZpZ3VyYXRpb24gaGFzbid0IGJlZW4gc2V0XCIpXG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gbmV3UHJvY2Vzc0FyZ3NcbiAgICogQHJldHVybnMge3ZvaWR9IC0gUmVzdWx0LlxuICAgKi9cbiAgc2V0UHJvY2Vzc0FyZ3MobmV3UHJvY2Vzc0FyZ3MpIHsgdGhpcy5wcm9jZXNzQXJncyA9IG5ld1Byb2Nlc3NBcmdzIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IF9hcmdzXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBfYXJncy5jb25maWd1cmF0aW9uXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IC0gUmVzdWx0LlxuICAgKi9cbiAgZ2V0RGVmYXVsdExvZ0RpcmVjdG9yeShfYXJncykgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBfYXJnc1xuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gX2FyZ3MuY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gX2FyZ3MuZGlyZWN0b3J5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBfYXJncy5lbnZpcm9ubWVudFxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIFJlc3VsdC5cbiAgICovXG4gIGdldExvZ0ZpbGVQYXRoKF9hcmdzKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IF9hcmdzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBfYXJncy5maWxlUGF0aFxuICAgKiBAcGFyYW0ge3N0cmluZ30gX2FyZ3MubWVzc2FnZVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXN1bHQuXG4gICAqL1xuICBhc3luYyB3cml0ZUxvZ1RvRmlsZShfYXJncykgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgcmV0dXJuXG4gIH1cbn1cbiJdfQ==
@@ -27,7 +27,7 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
27
27
  migrationsRequireContextCallback: () => Promise<MigrationsRequireContextType>;
28
28
  logger: Logger;
29
29
  /**
30
- * @returns {Promise<MigrationsRequireContextType>}
30
+ * @returns {Promise<MigrationsRequireContextType>} - Result.
31
31
  */
32
32
  migrationsRequireContext(): Promise<MigrationsRequireContextType>;
33
33
  _findCommandsResult: {
@@ -35,7 +35,7 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
35
35
  file: string;
36
36
  }[];
37
37
  /**
38
- * @returns {CommandsRequireContextType}
38
+ * @returns {CommandsRequireContextType} - Result.
39
39
  */
40
40
  _findCommandsRequireContext(): CommandsRequireContextType;
41
41
  _actualFindCommands(): {
@@ -44,13 +44,13 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
44
44
  }[];
45
45
  /**
46
46
  * @param {string} filePath
47
- * @returns {Promise<typeof import("../database/migration/index.js").default>}
47
+ * @returns {Promise<typeof import("../database/migration/index.js").default>} - Result.
48
48
  */
49
49
  requireMigration: (filePath: string) => Promise<typeof import("../database/migration/index.js").default>;
50
50
  /**
51
51
  * @param {object} args
52
52
  * @param {Record<string, import("../database/drivers/base.js").default>} args.dbs
53
- * @returns {Promise<string | null>}
53
+ * @returns {Promise<string | null>} - Result.
54
54
  */
55
55
  _sqliteStructureSql({ dbs }: {
56
56
  dbs: Record<string, import("../database/drivers/base.js").default>;
@@ -32,7 +32,7 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
32
32
  this.logger = new Logger(this);
33
33
  }
34
34
  /**
35
- * @returns {Promise<MigrationsRequireContextType>}
35
+ * @returns {Promise<MigrationsRequireContextType>} - Result.
36
36
  */
37
37
  async migrationsRequireContext() {
38
38
  const { migrationsRequireContextCallback } = this;
@@ -42,14 +42,14 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
42
42
  return this._migrationsRequireContextResult;
43
43
  }
44
44
  /**
45
- * @returns {Promise<Array<import("./base.js").CommandFileObjectType>>}
45
+ * @returns {Promise<Array<import("./base.js").CommandFileObjectType>>} - Result.
46
46
  */
47
47
  async findCommands() {
48
48
  this._findCommandsResult = this._actualFindCommands();
49
49
  return this._findCommandsResult;
50
50
  }
51
51
  /**
52
- * @returns {CommandsRequireContextType}
52
+ * @returns {CommandsRequireContextType} - Result.
53
53
  */
54
54
  _findCommandsRequireContext() {
55
55
  // @ts-expect-error
@@ -76,7 +76,7 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
76
76
  /**
77
77
  * @param {object} args
78
78
  * @param {Array<string>} args.commandParts
79
- * @returns {Promise<typeof import("../cli/base-command.js").default>}
79
+ * @returns {Promise<typeof import("../cli/base-command.js").default>} - Result.
80
80
  */
81
81
  async requireCommand({ commandParts }) {
82
82
  let filePath = ".";
@@ -108,7 +108,7 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
108
108
  return CommandClass;
109
109
  }
110
110
  /**
111
- * @returns {Promise<Array<import("./base.js").MigrationObjectType>>}
111
+ * @returns {Promise<Array<import("./base.js").MigrationObjectType>>} - Result.
112
112
  */
113
113
  async findMigrations() {
114
114
  const migrationsRequireContext = await this.migrationsRequireContext();
@@ -143,7 +143,7 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
143
143
  }
144
144
  /**
145
145
  * @param {string} filePath
146
- * @returns {Promise<typeof import("../database/migration/index.js").default>}
146
+ * @returns {Promise<typeof import("../database/migration/index.js").default>} - Result.
147
147
  */
148
148
  requireMigration = async (filePath) => {
149
149
  if (!filePath)
@@ -162,7 +162,7 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
162
162
  /**
163
163
  * @param {object} args
164
164
  * @param {Record<string, import("../database/drivers/base.js").default>} args.dbs
165
- * @returns {Promise<void>}
165
+ * @returns {Promise<void>} - Result.
166
166
  */
167
167
  async afterMigrations({ dbs }) {
168
168
  const structureSql = await this._sqliteStructureSql({ dbs });
@@ -173,7 +173,7 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
173
173
  /**
174
174
  * @param {object} args
175
175
  * @param {Record<string, import("../database/drivers/base.js").default>} args.dbs
176
- * @returns {Promise<string | null>}
176
+ * @returns {Promise<string | null>} - Result.
177
177
  */
178
178
  async _sqliteStructureSql({ dbs }) {
179
179
  const sqliteIdentifiers = Object.keys(dbs)
@@ -197,4 +197,4 @@ export default class VelociousEnvironmentsHandlerBrowser extends Base {
197
197
  return `${sections.join("\n\n")}\n`;
198
198
  }
199
199
  }
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9icm93c2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUM1QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBRW5DOzs7Ozs7R0FNRztBQUVIOzs7Ozs7R0FNRztBQUVILE1BQU0sQ0FBQyxPQUFPLE9BQU8sbUNBQW9DLFNBQVEsSUFBSTtJQUNuRSxxREFBcUQ7SUFDckQsZ0NBQWdDLEdBQUcsU0FBUyxDQUFBO0lBRTVDLHVEQUF1RDtJQUN2RCwrQkFBK0IsR0FBRyxTQUFTLENBQUE7SUFFM0M7OztPQUdHO0lBQ0gsWUFBWSxFQUFDLGdDQUFnQyxFQUFFLEdBQUcsUUFBUSxFQUFDLEdBQUcsRUFBRTtRQUM5RCxLQUFLLEVBQUUsQ0FBQTtRQUNQLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsZ0NBQWdDLENBQUE7UUFDeEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsd0JBQXdCO1FBQzVCLE1BQU0sRUFBQyxnQ0FBZ0MsRUFBQyxHQUFHLElBQUksQ0FBQTtRQUUvQyxJQUFJLENBQUMsZ0NBQWdDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFBO1FBRXRHLElBQUksQ0FBQywrQkFBK0IsS0FBSyxNQUFNLGdDQUFnQyxFQUFFLENBQUE7UUFFakYsT0FBTyxJQUFJLENBQUMsK0JBQStCLENBQUE7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gs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YXNlLmpzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSBcIi4uL2xvZ2dlci5qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYgeyhpZDogc3RyaW5nKSA9PiB7ZGVmYXVsdDogdHlwZW9mIGltcG9ydChcIi4uL2RhdGFiYXNlL21pZ3JhdGlvbi9pbmRleC5qc1wiKS5kZWZhdWx0fX0gTWlncmF0aW9uc1JlcXVpcmVDb250ZXh0SURGdW5jdGlvblR5cGVcbiAqIEB0eXBlZGVmIHtNaWdyYXRpb25zUmVxdWlyZUNvbnRleHRJREZ1bmN0aW9uVHlwZSAmIHtcbiAqICAga2V5czogKCkgPT4gc3RyaW5nW10sXG4gKiAgIGlkOiBzdHJpbmdcbiAqIH19IE1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dFR5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHsoaWQ6IHN0cmluZykgPT4ge2RlZmF1bHQ6IHR5cGVvZiBpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9fSBDb21tYW5kc1JlcXVpcmVDb250ZXh0SURGdW5jdGlvblR5cGVcbiAqIEB0eXBlZGVmIHtDb21tYW5kc1JlcXVpcmVDb250ZXh0SURGdW5jdGlvblR5cGUgJiB7XG4gKiAgIGtleXM6ICgpID0+IHN0cmluZ1tdLFxuICogICBpZDogc3RyaW5nXG4gKiB9fSBDb21tYW5kc1JlcXVpcmVDb250ZXh0VHlwZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0Vudmlyb25tZW50c0hhbmRsZXJCcm93c2VyIGV4dGVuZHMgQmFzZSB7XG4gIC8qKiBAdHlwZSB7Q29tbWFuZHNSZXF1aXJlQ29udGV4dFR5cGUgfCB1bmRlZmluZWR9ICovXG4gIGZpbmRDb21tYW5kc1JlcXVpcmVDb250ZXh0UmVzdWx0ID0gdW5kZWZpbmVkXG5cbiAgLyoqIEB0eXBlIHtNaWdyYXRpb25zUmVxdWlyZUNvbnRleHRUeXBlIHwgdW5kZWZpbmVkfSAqL1xuICBfbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0UmVzdWx0ID0gdW5kZWZpbmVkXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7KCkgPT4gUHJvbWlzZTxNaWdyYXRpb25zUmVxdWlyZUNvbnRleHRUeXBlPn0gW2FyZ3MubWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2tdXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7bWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2ssIC4uLnJlc3RBcmdzfSA9IHt9KSB7XG4gICAgc3VwZXIoKVxuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICB0aGlzLm1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dENhbGxiYWNrID0gbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2tcbiAgICB0aGlzLmxvZ2dlciA9IG5ldyBMb2dnZXIodGhpcylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxNaWdyYXRpb25zUmVxdWlyZUNvbnRleHRUeXBlPn1cbiAgICovXG4gIGFzeW5jIG1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dCgpIHtcbiAgICBjb25zdCB7bWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2t9ID0gdGhpc1xuXG4gICAgaWYgKCFtaWdyYXRpb25zUmVxdWlyZUNvbnRleHRDYWxsYmFjaykgdGhyb3cgbmV3IEVycm9yKFwibWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2sgaXMgcmVxdWlyZWRcIilcblxuICAgIHRoaXMuX21pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dFJlc3VsdCB8fD0gYXdhaXQgbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2soKVxuXG4gICAgcmV0dXJuIHRoaXMuX21pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dFJlc3VsdFxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PGltcG9ydChcIi4vYmFzZS5qc1wiKS5Db21tYW5kRmlsZU9iamVjdFR5cGU+Pn1cbiAgICovXG4gIGFzeW5jIGZpbmRDb21tYW5kcygpIHtcbiAgICB0aGlzLl9maW5kQ29tbWFuZHNSZXN1bHQgPSB0aGlzLl9hY3R1YWxGaW5kQ29tbWFuZHMoKVxuXG4gICAgcmV0dXJuIHRoaXMuX2ZpbmRDb21tYW5kc1Jlc3VsdFxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtDb21tYW5kc1JlcXVpcmVDb250ZXh0VHlwZX1cbiAgICovXG4gIF9maW5kQ29tbWFuZHNSZXF1aXJlQ29udGV4dCgpIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdGhpcy5maW5kQ29tbWFuZHNSZXF1aXJlQ29udGV4dFJlc3VsdCB8fD0gLyoqIEB0eXBlIHtDb21tYW5kc1JlcXVpcmVDb250ZXh0VHlwZX0gKi8gKHJlcXVpcmUuY29udGV4dChcIi4uL2NsaS9jb21tYW5kc1wiLCB0cnVlLCAvXFwuanMkLykpXG5cbiAgICByZXR1cm4gdGhpcy5maW5kQ29tbWFuZHNSZXF1aXJlQ29udGV4dFJlc3VsdFxuICB9XG5cbiAgX2FjdHVhbEZpbmRDb21tYW5kcygpIHtcbiAgICBjb25zdCBjb21tYW5kRmlsZXMgPSB0aGlzLl9maW5kQ29tbWFuZHNSZXF1aXJlQ29udGV4dCgpXG4gICAgY29uc3QgY29tbWFuZHMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBhRmlsZVBhdGggb2YgY29tbWFuZEZpbGVzLmtleXMoKSkge1xuICAgICAgY29uc3QgYUZpbGVQYXRoUGFydHMgPSBhRmlsZVBhdGguc3BsaXQoXCIvXCIpXG4gICAgICBjb25zdCBsYXN0UGFydCA9IGFGaWxlUGF0aFBhcnRzW2FGaWxlUGF0aFBhcnRzLmxlbmd0aCAtIDFdXG4gICAgICBsZXQgbmFtZVxuXG4gICAgICBpZiAobGFzdFBhcnQgPT0gXCJpbmRleC5qc1wiKSB7XG4gICAgICAgIG5hbWUgPSBhRmlsZVBhdGhQYXJ0c1thRmlsZVBhdGhQYXJ0cy5sZW5ndGggLSAyXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmFtZSA9IGxhc3RQYXJ0LnJlcGxhY2UoXCIuanNcIiwgXCJcIilcbiAgICAgIH1cblxuICAgICAgY29tbWFuZHMucHVzaCh7bmFtZSwgZmlsZTogYUZpbGVQYXRofSlcbiAgICB9XG5cbiAgICByZXR1cm4gY29tbWFuZHNcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IGFyZ3MuY29tbWFuZFBhcnRzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHR5cGVvZiBpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHQ+fVxuICAgKi9cbiAgYXN5bmMgcmVxdWlyZUNvbW1hbmQoe2NvbW1hbmRQYXJ0c30pIHtcbiAgICBsZXQgZmlsZVBhdGggPSBcIi5cIlxuXG4gICAgZm9yIChsZXQgY29tbWFuZFBhcnQgb2YgY29tbWFuZFBhcnRzKSB7XG4gICAgICBpZiAoY29tbWFuZFBhcnQgPT0gXCJkXCIpIGNvbW1hbmRQYXJ0ID0gXCJkZXN0cm95XCJcbiAgICAgIGlmIChjb21tYW5kUGFydCA9PSBcImdcIikgY29tbWFuZFBhcnQgPSBcImdlbmVyYXRlXCJcbiAgICAgIGlmIChjb21tYW5kUGFydCA9PSBcInNcIikgY29tbWFuZFBhcnQgPSBcInNlcnZlclwiXG5cbiAgICAgIGZpbGVQYXRoICs9IGAvJHtjb21tYW5kUGFydH1gXG4gICAgfVxuXG4gICAgY29uc3QgZmlsZVBhdGhzID0gW11cblxuICAgIGZpbGVQYXRocy5wdXNoKGAke2ZpbGVQYXRofS9pbmRleC5qc2ApXG4gICAgZmlsZVBhdGggKz0gXCIuanNcIlxuICAgIGZpbGVQYXRocy5wdXNoKGZpbGVQYXRoKVxuXG4gICAgY29uc3QgY29tbWFuZHNSZXF1aXJlQ29udGV4dCA9IGF3YWl0IHRoaXMuX2ZpbmRDb21tYW5kc1JlcXVpcmVDb250ZXh0KClcbiAgICBsZXQgY29tbWFuZENsYXNzSW1wb3J0XG5cbiAgICBmb3IgKGNvbnN0IGFGaWxlUGF0aCBvZiBmaWxlUGF0aHMpIHtcbiAgICAgIGNvbW1hbmRDbGFzc0ltcG9ydCA9IGNvbW1hbmRzUmVxdWlyZUNvbnRleHQoYUZpbGVQYXRoKVxuXG4gICAgICBpZiAoY29tbWFuZENsYXNzSW1wb3J0KSB7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFjb21tYW5kQ2xhc3NJbXBvcnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBjb21tYW5kOiAke2NvbW1hbmRQYXJ0cy5qb2luKFwiOlwiKX0uIFBvc3NpYmxlIGNvbW1hbmRzOiAke2NvbW1hbmRzUmVxdWlyZUNvbnRleHQua2V5cygpfWApXG4gICAgfVxuXG4gICAgY29uc3QgQ29tbWFuZENsYXNzID0gY29tbWFuZENsYXNzSW1wb3J0LmRlZmF1bHRcblxuICAgIHJldHVybiBDb21tYW5kQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxpbXBvcnQoXCIuL2Jhc2UuanNcIikuTWlncmF0aW9uT2JqZWN0VHlwZT4+fVxuICAgKi9cbiAgYXN5bmMgZmluZE1pZ3JhdGlvbnMoKSB7XG4gICAgY29uc3QgbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0ID0gYXdhaXQgdGhpcy5taWdyYXRpb25zUmVxdWlyZUNvbnRleHQoKVxuICAgIGNvbnN0IGZpbGVzID0gbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0XG4gICAgICAua2V5cygpXG4gICAgICAubWFwKChmaWxlKSA9PiB7XG4gICAgICAgIC8vIFwiMTMsMTRcIiBiZWNhdXNlIHNvbWVzIFwicmVxdWlyZS1jb250ZXh0XCItbnBtLW1vZHVsZSBkZWxldGVzIGZpcnN0IGNoYXJhY3RlciE/XG4gICAgICAgIGNvbnN0IG1hdGNoID0gZmlsZS5tYXRjaCgvKFxcZHsxMywxNH0pLSguKylcXC5qcyQvKVxuXG4gICAgICAgIGlmICghbWF0Y2gpIHJldHVybiBudWxsXG5cbiAgICAgICAgLy8gRml4IHJlcXVpcmUtY29udGV4dC1ucG0tbW9kdWxlIGRlbGV0ZXMgZmlyc3QgY2hhcmFjdGVyXG4gICAgICAgIGxldCBmaWxlTmFtZSA9IGZpbGVcbiAgICAgICAgbGV0IGRhdGVOdW1iZXIgPSBtYXRjaFsxXVxuXG4gICAgICAgIGlmIChkYXRlTnVtYmVyLmxlbmd0aCA9PSAxMykge1xuICAgICAgICAgIGRhdGVOdW1iZXIgPSBgMiR7ZGF0ZU51bWJlcn1gXG4gICAgICAgICAgZmlsZU5hbWUgPSBgMiR7ZmlsZU5hbWV9YFxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGFyc2UgcmVnZXhcbiAgICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlSW50KGRhdGVOdW1iZXIpXG4gICAgICAgIGNvbnN0IG1pZ3JhdGlvbk5hbWUgPSBtYXRjaFsyXVxuICAgICAgICBjb25zdCBtaWdyYXRpb25DbGFzc05hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1pZ3JhdGlvbk5hbWUucmVwbGFjZUFsbChcIi1cIiwgXCJfXCIpKVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZmlsZTogZmlsZU5hbWUsXG4gICAgICAgICAgZnVsbFBhdGg6IGZpbGUsXG4gICAgICAgICAgZGF0ZSxcbiAgICAgICAgICBtaWdyYXRpb25DbGFzc05hbWVcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKG1pZ3JhdGlvbikgPT4gQm9vbGVhbihtaWdyYXRpb24pKVxuICAgICAgLnNvcnQoKG1pZ3JhdGlvbjEsIG1pZ3JhdGlvbjIpID0+IG1pZ3JhdGlvbjEuZGF0ZSAtIG1pZ3JhdGlvbjIuZGF0ZSlcblxuICAgIHJldHVybiBmaWxlc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlUGF0aFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx0eXBlb2YgaW1wb3J0KFwiLi4vZGF0YWJhc2UvbWlncmF0aW9uL2luZGV4LmpzXCIpLmRlZmF1bHQ+fVxuICAgKi9cbiAgcmVxdWlyZU1pZ3JhdGlvbiA9IGFzeW5jIChmaWxlUGF0aCkgPT4ge1xuICAgIGlmICghZmlsZVBhdGgpIHRocm93IG5ldyBFcnJvcihcImZpbGVQYXRoIGlzIHJlcXVpcmVkXCIpXG5cbiAgICBjb25zdCBtaWdyYXRpb25zUmVxdWlyZUNvbnRleHQgPSBhd2FpdCB0aGlzLm1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dCgpXG4gICAgY29uc3QgbWlncmF0aW9uSW1wb3J0ID0gbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0KGZpbGVQYXRoKVxuXG4gICAgaWYgKCFtaWdyYXRpb25JbXBvcnQpIHRocm93IG5ldyBFcnJvcihgTWlncmF0aW9uIGZpbGUgJHtmaWxlUGF0aH0gbm90IGZvdW5kYClcblxuICAgIGNvbnN0IG1pZ3JhdGlvbkltcG9ydERlZmF1bHQgPSBtaWdyYXRpb25JbXBvcnQuZGVmYXVsdFxuXG4gICAgaWYgKCFtaWdyYXRpb25JbXBvcnREZWZhdWx0KSB0aHJvdyBuZXcgRXJyb3IoXCJNaWdyYXRpb24gZmlsZSBtdXN0IGV4cG9ydCBhIGRlZmF1bHQgbWlncmF0aW9uIGNsYXNzXCIpXG4gICAgaWYgKHR5cGVvZiBtaWdyYXRpb25JbXBvcnREZWZhdWx0ICE9PSBcImZ1bmN0aW9uXCIpIHRocm93IG5ldyBFcnJvcihcIk1pZ3JhdGlvbiBkZWZhdWx0IGV4cG9ydCBpc24ndCBhIGZ1bmN0aW9uIChzaG91bGQgYmUgYSBjbGFzcyB3aGljaCBpcyBhIGZ1bmN0aW9uIGluIEpTKVwiKVxuXG4gICAgcmV0dXJuIG1pZ3JhdGlvbkltcG9ydERlZmF1bHRcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gYXJncy5kYnNcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBhZnRlck1pZ3JhdGlvbnMoe2Ric30pIHtcbiAgICBjb25zdCBzdHJ1Y3R1cmVTcWwgPSBhd2FpdCB0aGlzLl9zcWxpdGVTdHJ1Y3R1cmVTcWwoe2Ric30pXG5cbiAgICBpZiAoIXN0cnVjdHVyZVNxbCkgcmV0dXJuXG5cbiAgICBhd2FpdCB0aGlzLmxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJzdHJ1Y3R1cmUuc3FsOlwiLCBzdHJ1Y3R1cmVTcWxdKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgaW1wb3J0KFwiLi4vZGF0YWJhc2UvZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSBhcmdzLmRic1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmcgfCBudWxsPn1cbiAgICovXG4gIGFzeW5jIF9zcWxpdGVTdHJ1Y3R1cmVTcWwoe2Ric30pIHtcbiAgICBjb25zdCBzcWxpdGVJZGVudGlmaWVycyA9IE9iamVjdC5rZXlzKGRicylcbiAgICAgIC5maWx0ZXIoKGlkZW50aWZpZXIpID0+IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldERhdGFiYXNlVHlwZShpZGVudGlmaWVyKSA9PSBcInNxbGl0ZVwiKVxuXG4gICAgaWYgKHNxbGl0ZUlkZW50aWZpZXJzLmxlbmd0aCA9PSAwKSByZXR1cm4gbnVsbFxuXG4gICAgY29uc3Qgc2VjdGlvbnMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBpZGVudGlmaWVyIG9mIHNxbGl0ZUlkZW50aWZpZXJzKSB7XG4gICAgICBjb25zdCBkYiA9IGRic1tpZGVudGlmaWVyXVxuICAgICAgY29uc3Qgc3RydWN0dXJlU3FsID0gdHlwZW9mIGRiLnN0cnVjdHVyZVNxbCA9PT0gXCJmdW5jdGlvblwiID8gYXdhaXQgZGIuc3RydWN0dXJlU3FsKCkgOiBudWxsXG4gICAgICBjb25zdCB0cmltbWVkU3FsID0gc3RydWN0dXJlU3FsPy50cmltRW5kKClcblxuICAgICAgaWYgKCF0cmltbWVkU3FsKSBjb250aW51ZVxuXG4gICAgICBpZiAoc3FsaXRlSWRlbnRpZmllcnMubGVuZ3RoID4gMSkge1xuICAgICAgICBzZWN0aW9ucy5wdXNoKGAtLSAke2lkZW50aWZpZXJ9YClcbiAgICAgIH1cblxuICAgICAgc2VjdGlvbnMucHVzaCh0cmltbWVkU3FsKVxuICAgIH1cblxuICAgIGlmIChzZWN0aW9ucy5sZW5ndGggPT0gMCkgcmV0dXJuIG51bGxcblxuICAgIHJldHVybiBgJHtzZWN0aW9ucy5qb2luKFwiXFxuXFxuXCIpfVxcbmBcbiAgfVxufVxuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9icm93c2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUM1QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBRW5DOzs7Ozs7R0FNRztBQUVIOzs7Ozs7R0FNRztBQUVILE1BQU0sQ0FBQyxPQUFPLE9BQU8sbUNBQW9DLFNBQVEsSUFBSTtJQUNuRSxxREFBcUQ7SUFDckQsZ0NBQWdDLEdBQUcsU0FBUyxDQUFBO0lBRTVDLHVEQUF1RDtJQUN2RCwrQkFBK0IsR0FBRyxTQUFTLENBQUE7SUFFM0M7OztPQUdHO0lBQ0gsWUFBWSxFQUFDLGdDQUFnQyxFQUFFLEdBQUcsUUFBUSxFQUFDLEdBQUcsRUFBRTtRQUM5RCxLQUFLLEVBQUUsQ0FBQTtRQUNQLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsZ0NBQWdDLENBQUE7UUFDeEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsd0JBQXdCO1FBQzVCLE1BQU0sRUFBQyxnQ0FBZ0MsRUFBQyxHQUFHLElBQUksQ0FBQTtRQUUvQyxJQUFJLENBQUMsZ0NBQWdDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFBO1FBRXRHLElBQUksQ0FBQywrQkFBK0IsS0FBSyxNQUFNLGdDQUFnQyxFQUFFLENBQUE7UUFFakYsT0FBTyxJQUFJLENBQUMsK0JBQStCLENBQUE7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gs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YXNlLmpzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSBcIi4uL2xvZ2dlci5qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYgeyhpZDogc3RyaW5nKSA9PiB7ZGVmYXVsdDogdHlwZW9mIGltcG9ydChcIi4uL2RhdGFiYXNlL21pZ3JhdGlvbi9pbmRleC5qc1wiKS5kZWZhdWx0fX0gTWlncmF0aW9uc1JlcXVpcmVDb250ZXh0SURGdW5jdGlvblR5cGVcbiAqIEB0eXBlZGVmIHtNaWdyYXRpb25zUmVxdWlyZUNvbnRleHRJREZ1bmN0aW9uVHlwZSAmIHtcbiAqICAga2V5czogKCkgPT4gc3RyaW5nW10sXG4gKiAgIGlkOiBzdHJpbmdcbiAqIH19IE1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dFR5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHsoaWQ6IHN0cmluZykgPT4ge2RlZmF1bHQ6IHR5cGVvZiBpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9fSBDb21tYW5kc1JlcXVpcmVDb250ZXh0SURGdW5jdGlvblR5cGVcbiAqIEB0eXBlZGVmIHtDb21tYW5kc1JlcXVpcmVDb250ZXh0SURGdW5jdGlvblR5cGUgJiB7XG4gKiAgIGtleXM6ICgpID0+IHN0cmluZ1tdLFxuICogICBpZDogc3RyaW5nXG4gKiB9fSBDb21tYW5kc1JlcXVpcmVDb250ZXh0VHlwZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0Vudmlyb25tZW50c0hhbmRsZXJCcm93c2VyIGV4dGVuZHMgQmFzZSB7XG4gIC8qKiBAdHlwZSB7Q29tbWFuZHNSZXF1aXJlQ29udGV4dFR5cGUgfCB1bmRlZmluZWR9ICovXG4gIGZpbmRDb21tYW5kc1JlcXVpcmVDb250ZXh0UmVzdWx0ID0gdW5kZWZpbmVkXG5cbiAgLyoqIEB0eXBlIHtNaWdyYXRpb25zUmVxdWlyZUNvbnRleHRUeXBlIHwgdW5kZWZpbmVkfSAqL1xuICBfbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0UmVzdWx0ID0gdW5kZWZpbmVkXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7KCkgPT4gUHJvbWlzZTxNaWdyYXRpb25zUmVxdWlyZUNvbnRleHRUeXBlPn0gW2FyZ3MubWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2tdXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7bWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2ssIC4uLnJlc3RBcmdzfSA9IHt9KSB7XG4gICAgc3VwZXIoKVxuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICB0aGlzLm1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dENhbGxiYWNrID0gbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2tcbiAgICB0aGlzLmxvZ2dlciA9IG5ldyBMb2dnZXIodGhpcylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxNaWdyYXRpb25zUmVxdWlyZUNvbnRleHRUeXBlPn0gLSBSZXN1bHQuXG4gICAqL1xuICBhc3luYyBtaWdyYXRpb25zUmVxdWlyZUNvbnRleHQoKSB7XG4gICAgY29uc3Qge21pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dENhbGxiYWNrfSA9IHRoaXNcblxuICAgIGlmICghbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0Q2FsbGJhY2spIHRocm93IG5ldyBFcnJvcihcIm1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dENhbGxiYWNrIGlzIHJlcXVpcmVkXCIpXG5cbiAgICB0aGlzLl9taWdyYXRpb25zUmVxdWlyZUNvbnRleHRSZXN1bHQgfHw9IGF3YWl0IG1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dENhbGxiYWNrKClcblxuICAgIHJldHVybiB0aGlzLl9taWdyYXRpb25zUmVxdWlyZUNvbnRleHRSZXN1bHRcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxpbXBvcnQoXCIuL2Jhc2UuanNcIikuQ29tbWFuZEZpbGVPYmplY3RUeXBlPj59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgZmluZENvbW1hbmRzKCkge1xuICAgIHRoaXMuX2ZpbmRDb21tYW5kc1Jlc3VsdCA9IHRoaXMuX2FjdHVhbEZpbmRDb21tYW5kcygpXG5cbiAgICByZXR1cm4gdGhpcy5fZmluZENvbW1hbmRzUmVzdWx0XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge0NvbW1hbmRzUmVxdWlyZUNvbnRleHRUeXBlfSAtIFJlc3VsdC5cbiAgICovXG4gIF9maW5kQ29tbWFuZHNSZXF1aXJlQ29udGV4dCgpIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdGhpcy5maW5kQ29tbWFuZHNSZXF1aXJlQ29udGV4dFJlc3VsdCB8fD0gLyoqIEB0eXBlIHtDb21tYW5kc1JlcXVpcmVDb250ZXh0VHlwZX0gKi8gKHJlcXVpcmUuY29udGV4dChcIi4uL2NsaS9jb21tYW5kc1wiLCB0cnVlLCAvXFwuanMkLykpXG5cbiAgICByZXR1cm4gdGhpcy5maW5kQ29tbWFuZHNSZXF1aXJlQ29udGV4dFJlc3VsdFxuICB9XG5cbiAgX2FjdHVhbEZpbmRDb21tYW5kcygpIHtcbiAgICBjb25zdCBjb21tYW5kRmlsZXMgPSB0aGlzLl9maW5kQ29tbWFuZHNSZXF1aXJlQ29udGV4dCgpXG4gICAgY29uc3QgY29tbWFuZHMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBhRmlsZVBhdGggb2YgY29tbWFuZEZpbGVzLmtleXMoKSkge1xuICAgICAgY29uc3QgYUZpbGVQYXRoUGFydHMgPSBhRmlsZVBhdGguc3BsaXQoXCIvXCIpXG4gICAgICBjb25zdCBsYXN0UGFydCA9IGFGaWxlUGF0aFBhcnRzW2FGaWxlUGF0aFBhcnRzLmxlbmd0aCAtIDFdXG4gICAgICBsZXQgbmFtZVxuXG4gICAgICBpZiAobGFzdFBhcnQgPT0gXCJpbmRleC5qc1wiKSB7XG4gICAgICAgIG5hbWUgPSBhRmlsZVBhdGhQYXJ0c1thRmlsZVBhdGhQYXJ0cy5sZW5ndGggLSAyXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmFtZSA9IGxhc3RQYXJ0LnJlcGxhY2UoXCIuanNcIiwgXCJcIilcbiAgICAgIH1cblxuICAgICAgY29tbWFuZHMucHVzaCh7bmFtZSwgZmlsZTogYUZpbGVQYXRofSlcbiAgICB9XG5cbiAgICByZXR1cm4gY29tbWFuZHNcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IGFyZ3MuY29tbWFuZFBhcnRzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHR5cGVvZiBpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHQ+fSAtIFJlc3VsdC5cbiAgICovXG4gIGFzeW5jIHJlcXVpcmVDb21tYW5kKHtjb21tYW5kUGFydHN9KSB7XG4gICAgbGV0IGZpbGVQYXRoID0gXCIuXCJcblxuICAgIGZvciAobGV0IGNvbW1hbmRQYXJ0IG9mIGNvbW1hbmRQYXJ0cykge1xuICAgICAgaWYgKGNvbW1hbmRQYXJ0ID09IFwiZFwiKSBjb21tYW5kUGFydCA9IFwiZGVzdHJveVwiXG4gICAgICBpZiAoY29tbWFuZFBhcnQgPT0gXCJnXCIpIGNvbW1hbmRQYXJ0ID0gXCJnZW5lcmF0ZVwiXG4gICAgICBpZiAoY29tbWFuZFBhcnQgPT0gXCJzXCIpIGNvbW1hbmRQYXJ0ID0gXCJzZXJ2ZXJcIlxuXG4gICAgICBmaWxlUGF0aCArPSBgLyR7Y29tbWFuZFBhcnR9YFxuICAgIH1cblxuICAgIGNvbnN0IGZpbGVQYXRocyA9IFtdXG5cbiAgICBmaWxlUGF0aHMucHVzaChgJHtmaWxlUGF0aH0vaW5kZXguanNgKVxuICAgIGZpbGVQYXRoICs9IFwiLmpzXCJcbiAgICBmaWxlUGF0aHMucHVzaChmaWxlUGF0aClcblxuICAgIGNvbnN0IGNvbW1hbmRzUmVxdWlyZUNvbnRleHQgPSBhd2FpdCB0aGlzLl9maW5kQ29tbWFuZHNSZXF1aXJlQ29udGV4dCgpXG4gICAgbGV0IGNvbW1hbmRDbGFzc0ltcG9ydFxuXG4gICAgZm9yIChjb25zdCBhRmlsZVBhdGggb2YgZmlsZVBhdGhzKSB7XG4gICAgICBjb21tYW5kQ2xhc3NJbXBvcnQgPSBjb21tYW5kc1JlcXVpcmVDb250ZXh0KGFGaWxlUGF0aClcblxuICAgICAgaWYgKGNvbW1hbmRDbGFzc0ltcG9ydCkge1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghY29tbWFuZENsYXNzSW1wb3J0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29tbWFuZDogJHtjb21tYW5kUGFydHMuam9pbihcIjpcIil9LiBQb3NzaWJsZSBjb21tYW5kczogJHtjb21tYW5kc1JlcXVpcmVDb250ZXh0LmtleXMoKX1gKVxuICAgIH1cblxuICAgIGNvbnN0IENvbW1hbmRDbGFzcyA9IGNvbW1hbmRDbGFzc0ltcG9ydC5kZWZhdWx0XG5cbiAgICByZXR1cm4gQ29tbWFuZENsYXNzXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8aW1wb3J0KFwiLi9iYXNlLmpzXCIpLk1pZ3JhdGlvbk9iamVjdFR5cGU+Pn0gLSBSZXN1bHQuXG4gICAqL1xuICBhc3luYyBmaW5kTWlncmF0aW9ucygpIHtcbiAgICBjb25zdCBtaWdyYXRpb25zUmVxdWlyZUNvbnRleHQgPSBhd2FpdCB0aGlzLm1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dCgpXG4gICAgY29uc3QgZmlsZXMgPSBtaWdyYXRpb25zUmVxdWlyZUNvbnRleHRcbiAgICAgIC5rZXlzKClcbiAgICAgIC5tYXAoKGZpbGUpID0+IHtcbiAgICAgICAgLy8gXCIxMywxNFwiIGJlY2F1c2Ugc29tZXMgXCJyZXF1aXJlLWNvbnRleHRcIi1ucG0tbW9kdWxlIGRlbGV0ZXMgZmlyc3QgY2hhcmFjdGVyIT9cbiAgICAgICAgY29uc3QgbWF0Y2ggPSBmaWxlLm1hdGNoKC8oXFxkezEzLDE0fSktKC4rKVxcLmpzJC8pXG5cbiAgICAgICAgaWYgKCFtYXRjaCkgcmV0dXJuIG51bGxcblxuICAgICAgICAvLyBGaXggcmVxdWlyZS1jb250ZXh0LW5wbS1tb2R1bGUgZGVsZXRlcyBmaXJzdCBjaGFyYWN0ZXJcbiAgICAgICAgbGV0IGZpbGVOYW1lID0gZmlsZVxuICAgICAgICBsZXQgZGF0ZU51bWJlciA9IG1hdGNoWzFdXG5cbiAgICAgICAgaWYgKGRhdGVOdW1iZXIubGVuZ3RoID09IDEzKSB7XG4gICAgICAgICAgZGF0ZU51bWJlciA9IGAyJHtkYXRlTnVtYmVyfWBcbiAgICAgICAgICBmaWxlTmFtZSA9IGAyJHtmaWxlTmFtZX1gXG4gICAgICAgIH1cblxuICAgICAgICAvLyBQYXJzZSByZWdleFxuICAgICAgICBjb25zdCBkYXRlID0gcGFyc2VJbnQoZGF0ZU51bWJlcilcbiAgICAgICAgY29uc3QgbWlncmF0aW9uTmFtZSA9IG1hdGNoWzJdXG4gICAgICAgIGNvbnN0IG1pZ3JhdGlvbkNsYXNzTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUobWlncmF0aW9uTmFtZS5yZXBsYWNlQWxsKFwiLVwiLCBcIl9cIikpXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBmaWxlOiBmaWxlTmFtZSxcbiAgICAgICAgICBmdWxsUGF0aDogZmlsZSxcbiAgICAgICAgICBkYXRlLFxuICAgICAgICAgIG1pZ3JhdGlvbkNsYXNzTmFtZVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigobWlncmF0aW9uKSA9PiBCb29sZWFuKG1pZ3JhdGlvbikpXG4gICAgICAuc29ydCgobWlncmF0aW9uMSwgbWlncmF0aW9uMikgPT4gbWlncmF0aW9uMS5kYXRlIC0gbWlncmF0aW9uMi5kYXRlKVxuXG4gICAgcmV0dXJuIGZpbGVzXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVQYXRoXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHR5cGVvZiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9taWdyYXRpb24vaW5kZXguanNcIikuZGVmYXVsdD59IC0gUmVzdWx0LlxuICAgKi9cbiAgcmVxdWlyZU1pZ3JhdGlvbiA9IGFzeW5jIChmaWxlUGF0aCkgPT4ge1xuICAgIGlmICghZmlsZVBhdGgpIHRocm93IG5ldyBFcnJvcihcImZpbGVQYXRoIGlzIHJlcXVpcmVkXCIpXG5cbiAgICBjb25zdCBtaWdyYXRpb25zUmVxdWlyZUNvbnRleHQgPSBhd2FpdCB0aGlzLm1pZ3JhdGlvbnNSZXF1aXJlQ29udGV4dCgpXG4gICAgY29uc3QgbWlncmF0aW9uSW1wb3J0ID0gbWlncmF0aW9uc1JlcXVpcmVDb250ZXh0KGZpbGVQYXRoKVxuXG4gICAgaWYgKCFtaWdyYXRpb25JbXBvcnQpIHRocm93IG5ldyBFcnJvcihgTWlncmF0aW9uIGZpbGUgJHtmaWxlUGF0aH0gbm90IGZvdW5kYClcblxuICAgIGNvbnN0IG1pZ3JhdGlvbkltcG9ydERlZmF1bHQgPSBtaWdyYXRpb25JbXBvcnQuZGVmYXVsdFxuXG4gICAgaWYgKCFtaWdyYXRpb25JbXBvcnREZWZhdWx0KSB0aHJvdyBuZXcgRXJyb3IoXCJNaWdyYXRpb24gZmlsZSBtdXN0IGV4cG9ydCBhIGRlZmF1bHQgbWlncmF0aW9uIGNsYXNzXCIpXG4gICAgaWYgKHR5cGVvZiBtaWdyYXRpb25JbXBvcnREZWZhdWx0ICE9PSBcImZ1bmN0aW9uXCIpIHRocm93IG5ldyBFcnJvcihcIk1pZ3JhdGlvbiBkZWZhdWx0IGV4cG9ydCBpc24ndCBhIGZ1bmN0aW9uIChzaG91bGQgYmUgYSBjbGFzcyB3aGljaCBpcyBhIGZ1bmN0aW9uIGluIEpTKVwiKVxuXG4gICAgcmV0dXJuIG1pZ3JhdGlvbkltcG9ydERlZmF1bHRcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gYXJncy5kYnNcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgYWZ0ZXJNaWdyYXRpb25zKHtkYnN9KSB7XG4gICAgY29uc3Qgc3RydWN0dXJlU3FsID0gYXdhaXQgdGhpcy5fc3FsaXRlU3RydWN0dXJlU3FsKHtkYnN9KVxuXG4gICAgaWYgKCFzdHJ1Y3R1cmVTcWwpIHJldHVyblxuXG4gICAgYXdhaXQgdGhpcy5sb2dnZXIuZGVidWcoKCkgPT4gW1wic3RydWN0dXJlLnNxbDpcIiwgc3RydWN0dXJlU3FsXSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gYXJncy5kYnNcbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nIHwgbnVsbD59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgX3NxbGl0ZVN0cnVjdHVyZVNxbCh7ZGJzfSkge1xuICAgIGNvbnN0IHNxbGl0ZUlkZW50aWZpZXJzID0gT2JqZWN0LmtleXMoZGJzKVxuICAgICAgLmZpbHRlcigoaWRlbnRpZmllcikgPT4gdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0RGF0YWJhc2VUeXBlKGlkZW50aWZpZXIpID09IFwic3FsaXRlXCIpXG5cbiAgICBpZiAoc3FsaXRlSWRlbnRpZmllcnMubGVuZ3RoID09IDApIHJldHVybiBudWxsXG5cbiAgICBjb25zdCBzZWN0aW9ucyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGlkZW50aWZpZXIgb2Ygc3FsaXRlSWRlbnRpZmllcnMpIHtcbiAgICAgIGNvbnN0IGRiID0gZGJzW2lkZW50aWZpZXJdXG4gICAgICBjb25zdCBzdHJ1Y3R1cmVTcWwgPSB0eXBlb2YgZGIuc3RydWN0dXJlU3FsID09PSBcImZ1bmN0aW9uXCIgPyBhd2FpdCBkYi5zdHJ1Y3R1cmVTcWwoKSA6IG51bGxcbiAgICAgIGNvbnN0IHRyaW1tZWRTcWwgPSBzdHJ1Y3R1cmVTcWw/LnRyaW1FbmQoKVxuXG4gICAgICBpZiAoIXRyaW1tZWRTcWwpIGNvbnRpbnVlXG5cbiAgICAgIGlmIChzcWxpdGVJZGVudGlmaWVycy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHNlY3Rpb25zLnB1c2goYC0tICR7aWRlbnRpZmllcn1gKVxuICAgICAgfVxuXG4gICAgICBzZWN0aW9ucy5wdXNoKHRyaW1tZWRTcWwpXG4gICAgfVxuXG4gICAgaWYgKHNlY3Rpb25zLmxlbmd0aCA9PSAwKSByZXR1cm4gbnVsbFxuXG4gICAgcmV0dXJuIGAke3NlY3Rpb25zLmpvaW4oXCJcXG5cXG5cIil9XFxuYFxuICB9XG59XG4iXX0=
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export default class DbDestroyMigration extends BaseCommand {
5
5
  /**
6
- * @returns {Promise<void | DestroyMigrationResult>}
6
+ * @returns {Promise<void | DestroyMigrationResult>} - Result.
7
7
  */
8
8
  execute(): Promise<void | DestroyMigrationResult>;
9
9
  }
@@ -5,7 +5,7 @@ import fs from "fs/promises";
5
5
  */
6
6
  export default class DbDestroyMigration extends BaseCommand {
7
7
  /**
8
- * @returns {Promise<void | DestroyMigrationResult>}
8
+ * @returns {Promise<void | DestroyMigrationResult>} - Result.
9
9
  */
10
10
  async execute() {
11
11
  const migrationName = this.processArgs[1];
@@ -32,4 +32,4 @@ export default class DbDestroyMigration extends BaseCommand {
32
32
  }
33
33
  }
34
34
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Vudmlyb25tZW50LWhhbmRsZXJzL25vZGUvY2xpL2NvbW1hbmRzL2Rlc3Ryb3kvbWlncmF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLG9DQUFvQyxDQUFBO0FBQzVELE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUU1Qjs7R0FFRztBQUVILE1BQU0sQ0FBQyxPQUFPLE9BQU8sa0JBQW1CLFNBQVEsV0FBVztJQUN6RDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6QyxNQUFNLFlBQVksR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQTtRQUN4RixNQUFNLGNBQWMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDckQsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFBO1FBRXBCLEtBQUssTUFBTSxhQUFhLElBQUksY0FBYyxFQUFFLENBQUM7WUFDM0MsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1lBRXhELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDWCxTQUFRO1lBQ1YsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUV6QixJQUFJLFFBQVEsSUFBSSxhQUFhO2dCQUFFLFNBQVE7WUFFdkMsTUFBTSxZQUFZLEdBQUcsR0FBRyxZQUFZLElBQUksYUFBYSxFQUFFLENBQUE7WUFDdkQsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtnQkFDL0QsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQy9CLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE9BQU8sRUFBQyxTQUFTLEVBQUMsQ0FBQTtRQUNwQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jbGkvYmFzZS1jb21tYW5kLmpzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMvcHJvbWlzZXNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHt7ZGVzdHJveWVkOiBzdHJpbmdbXX19IERlc3Ryb3lNaWdyYXRpb25SZXN1bHRcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEYkRlc3Ryb3lNaWdyYXRpb24gZXh0ZW5kcyBCYXNlQ29tbWFuZCB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkIHwgRGVzdHJveU1pZ3JhdGlvblJlc3VsdD59XG4gICAqL1xuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGNvbnN0IG1pZ3JhdGlvbk5hbWUgPSB0aGlzLnByb2Nlc3NBcmdzWzFdXG4gICAgY29uc3QgbWlncmF0aW9uRGlyID0gYCR7dGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0RGlyZWN0b3J5KCl9L3NyYy9kYXRhYmFzZS9taWdyYXRpb25zYFxuICAgIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgZnMucmVhZGRpcihtaWdyYXRpb25EaXIpXG4gICAgY29uc3QgZGVzdHJveWVkID0gW11cblxuICAgIGZvciAoY29uc3QgbWlncmF0aW9uRmlsZSBvZiBtaWdyYXRpb25GaWxlcykge1xuICAgICAgY29uc3QgbWF0Y2ggPSBtaWdyYXRpb25GaWxlLm1hdGNoKC9eKFxcZHsxNH0pLSguKylcXC5qcyQvKVxuXG4gICAgICBpZiAoIW1hdGNoKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gbWF0Y2hbMl1cblxuICAgICAgaWYgKGZpbGVOYW1lICE9IG1pZ3JhdGlvbk5hbWUpIGNvbnRpbnVlXG5cbiAgICAgIGNvbnN0IGZ1bGxGaWxlUGF0aCA9IGAke21pZ3JhdGlvbkRpcn0vJHttaWdyYXRpb25GaWxlfWBcbiAgICAgIGRlc3Ryb3llZC5wdXNoKGZpbGVOYW1lKVxuXG4gICAgICBpZiAoIXRoaXMuYXJncy50ZXN0aW5nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBEZXN0cm95IHNyYy9kYXRhYmFzZS9taWdyYXRpb25zLyR7bWlncmF0aW9uRmlsZX1gKVxuICAgICAgICBhd2FpdCBmcy51bmxpbmsoZnVsbEZpbGVQYXRoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmFyZ3MudGVzdGluZykge1xuICAgICAgcmV0dXJuIHtkZXN0cm95ZWR9XG4gICAgfVxuICB9XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Vudmlyb25tZW50LWhhbmRsZXJzL25vZGUvY2xpL2NvbW1hbmRzL2Rlc3Ryb3kvbWlncmF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLG9DQUFvQyxDQUFBO0FBQzVELE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUU1Qjs7R0FFRztBQUVILE1BQU0sQ0FBQyxPQUFPLE9BQU8sa0JBQW1CLFNBQVEsV0FBVztJQUN6RDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6QyxNQUFNLFlBQVksR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQTtRQUN4RixNQUFNLGNBQWMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDckQsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFBO1FBRXBCLEtBQUssTUFBTSxhQUFhLElBQUksY0FBYyxFQUFFLENBQUM7WUFDM0MsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1lBRXhELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDWCxTQUFRO1lBQ1YsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUV6QixJQUFJLFFBQVEsSUFBSSxhQUFhO2dCQUFFLFNBQVE7WUFFdkMsTUFBTSxZQUFZLEdBQUcsR0FBRyxZQUFZLElBQUksYUFBYSxFQUFFLENBQUE7WUFDdkQsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtnQkFDL0QsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQy9CLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE9BQU8sRUFBQyxTQUFTLEVBQUMsQ0FBQTtRQUNwQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jbGkvYmFzZS1jb21tYW5kLmpzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMvcHJvbWlzZXNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHt7ZGVzdHJveWVkOiBzdHJpbmdbXX19IERlc3Ryb3lNaWdyYXRpb25SZXN1bHRcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEYkRlc3Ryb3lNaWdyYXRpb24gZXh0ZW5kcyBCYXNlQ29tbWFuZCB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkIHwgRGVzdHJveU1pZ3JhdGlvblJlc3VsdD59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICBjb25zdCBtaWdyYXRpb25OYW1lID0gdGhpcy5wcm9jZXNzQXJnc1sxXVxuICAgIGNvbnN0IG1pZ3JhdGlvbkRpciA9IGAke3RoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldERpcmVjdG9yeSgpfS9zcmMvZGF0YWJhc2UvbWlncmF0aW9uc2BcbiAgICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IGZzLnJlYWRkaXIobWlncmF0aW9uRGlyKVxuICAgIGNvbnN0IGRlc3Ryb3llZCA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IG1pZ3JhdGlvbkZpbGUgb2YgbWlncmF0aW9uRmlsZXMpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gbWlncmF0aW9uRmlsZS5tYXRjaCgvXihcXGR7MTR9KS0oLispXFwuanMkLylcblxuICAgICAgaWYgKCFtYXRjaCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWxlTmFtZSA9IG1hdGNoWzJdXG5cbiAgICAgIGlmIChmaWxlTmFtZSAhPSBtaWdyYXRpb25OYW1lKSBjb250aW51ZVxuXG4gICAgICBjb25zdCBmdWxsRmlsZVBhdGggPSBgJHttaWdyYXRpb25EaXJ9LyR7bWlncmF0aW9uRmlsZX1gXG4gICAgICBkZXN0cm95ZWQucHVzaChmaWxlTmFtZSlcblxuICAgICAgaWYgKCF0aGlzLmFyZ3MudGVzdGluZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgRGVzdHJveSBzcmMvZGF0YWJhc2UvbWlncmF0aW9ucy8ke21pZ3JhdGlvbkZpbGV9YClcbiAgICAgICAgYXdhaXQgZnMudW5saW5rKGZ1bGxGaWxlUGF0aClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5hcmdzLnRlc3RpbmcpIHtcbiAgICAgIHJldHVybiB7ZGVzdHJveWVkfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -2,12 +2,12 @@ export default class DbGenerateModel extends BaseCommand {
2
2
  execute(): Promise<void>;
3
3
  /**
4
4
  * @param {import("../../../../../database/drivers/base-column.js").default} column
5
- * @returns {string | undefined}
5
+ * @returns {string | undefined} - Result.
6
6
  */
7
7
  jsDocTypeFromColumn(column: import("../../../../../database/drivers/base-column.js").default): string | undefined;
8
8
  /**
9
9
  * @param {import("../../../../../database/drivers/base-column.js").default} column
10
- * @returns {string | undefined}
10
+ * @returns {string | undefined} - Result.
11
11
  */
12
12
  jsDocSetterTypeFromColumn(column: import("../../../../../database/drivers/base-column.js").default): string | undefined;
13
13
  }