velocious 1.0.577 → 1.0.579

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 (1676) hide show
  1. package/README.md +12 -6
  2. package/build/application.js +3 -3
  3. package/build/authorization/ability.js +6 -6
  4. package/build/authorization/base-resource.js +1 -1
  5. package/build/background-jobs/client.js +2 -2
  6. package/build/background-jobs/forked-runner-child.js +4 -4
  7. package/build/background-jobs/job-runner.js +2 -2
  8. package/build/background-jobs/job.js +6 -6
  9. package/build/background-jobs/json-socket.js +1 -1
  10. package/build/background-jobs/main.js +13 -13
  11. package/build/background-jobs/normalize-error.js +2 -2
  12. package/build/background-jobs/pooled-runner-child.js +3 -3
  13. package/build/background-jobs/scheduler.js +1 -1
  14. package/build/background-jobs/status-reporter.js +2 -2
  15. package/build/background-jobs/store.js +23 -23
  16. package/build/background-jobs/types.js +6 -6
  17. package/build/background-jobs/web/controller.js +6 -6
  18. package/build/background-jobs/web/counts-channel.js +1 -1
  19. package/build/background-jobs/worker.js +8 -8
  20. package/build/beacon/client.js +3 -3
  21. package/build/beacon/in-process-client.js +3 -3
  22. package/build/beacon/types.js +1 -1
  23. package/build/cli/base-command.js +1 -1
  24. package/build/cli/commands/console.js +1 -1
  25. package/build/cli/commands/db/schema/dump.js +1 -1
  26. package/build/cli/commands/db/schema/load.js +1 -1
  27. package/build/cli/commands/db/seed.js +1 -1
  28. package/build/cli/commands/generate/frontend-models.js +1 -1
  29. package/build/cli/commands/lint/relationships.js +1 -1
  30. package/build/cli/commands/run-script.js +1 -1
  31. package/build/cli/commands/runner.js +1 -1
  32. package/build/cli/index.js +2 -2
  33. package/build/cli/tenant-database-command-helper.js +2 -2
  34. package/build/configuration-types.js +48 -47
  35. package/build/configuration.js +150 -65
  36. package/build/controller.js +11 -8
  37. package/build/current.js +2 -2
  38. package/build/database/annotations-async-hooks.js +3 -3
  39. package/build/database/annotations.js +1 -1
  40. package/build/database/drivers/base-column.js +1 -1
  41. package/build/database/drivers/base-foreign-key.js +1 -1
  42. package/build/database/drivers/base-table.js +1 -1
  43. package/build/database/drivers/base.js +18 -18
  44. package/build/database/drivers/mssql/column.js +1 -1
  45. package/build/database/drivers/mssql/index.js +2 -2
  46. package/build/database/drivers/mssql/options.js +1 -1
  47. package/build/database/drivers/mssql/structure-sql.js +1 -1
  48. package/build/database/drivers/mssql/table.js +1 -1
  49. package/build/database/drivers/mysql/column.js +1 -1
  50. package/build/database/drivers/mysql/index.js +4 -4
  51. package/build/database/drivers/mysql/options.js +1 -1
  52. package/build/database/drivers/mysql/query.js +7 -7
  53. package/build/database/drivers/mysql/structure-sql.js +71 -10
  54. package/build/database/drivers/pgsql/column.js +1 -1
  55. package/build/database/drivers/pgsql/index.js +6 -6
  56. package/build/database/drivers/pgsql/structure-sql.js +1 -1
  57. package/build/database/drivers/sqlite/base.js +7 -7
  58. package/build/database/drivers/sqlite/column.js +1 -1
  59. package/build/database/drivers/sqlite/connection-sql-js.js +1 -1
  60. package/build/database/drivers/sqlite/foreign-key.js +1 -1
  61. package/build/database/drivers/sqlite/index.js +1 -1
  62. package/build/database/drivers/sqlite/index.native.js +2 -2
  63. package/build/database/drivers/sqlite/index.web.js +2 -2
  64. package/build/database/drivers/sqlite/query.js +2 -2
  65. package/build/database/drivers/sqlite/query.native.js +2 -2
  66. package/build/database/drivers/sqlite/query.web.js +2 -2
  67. package/build/database/drivers/sqlite/table-rebuilder.js +1 -1
  68. package/build/database/migration/index.js +2 -2
  69. package/build/database/migrator/types.js +2 -2
  70. package/build/database/operation.js +59 -6
  71. package/build/database/pool/async-tracked-multi-connection.js +75 -24
  72. package/build/database/pool/base-methods-forward.js +2 -2
  73. package/build/database/pool/base.js +48 -17
  74. package/build/database/pool/single-multi-use.js +501 -103
  75. package/build/database/query/delete-base.js +1 -1
  76. package/build/database/query/index.js +3 -3
  77. package/build/database/query/insert-base.js +4 -4
  78. package/build/database/query/model-class-query.js +39 -39
  79. package/build/database/query/preloader/belongs-to.js +2 -2
  80. package/build/database/query/preloader/ensure-model-class-initialized.js +3 -2
  81. package/build/database/query/preloader/has-many.js +3 -3
  82. package/build/database/query/preloader/has-one.js +1 -1
  83. package/build/database/query/preloader.js +9 -2
  84. package/build/database/query/query-data.js +7 -7
  85. package/build/database/query/update-base.js +3 -3
  86. package/build/database/query/upsert-base.js +2 -2
  87. package/build/database/query/where-model-class-hash.js +13 -13
  88. package/build/database/query/with-count.js +12 -12
  89. package/build/database/query-parser/options.js +2 -2
  90. package/build/database/query-parser/select-parser.js +1 -1
  91. package/build/database/record/acts-as-list.js +2 -2
  92. package/build/database/record/attachments/handle.js +6 -6
  93. package/build/database/record/attachments/normalize-input.js +11 -11
  94. package/build/database/record/attachments/storage-drivers/filesystem.js +1 -1
  95. package/build/database/record/attachments/storage-drivers/native.js +5 -5
  96. package/build/database/record/attachments/storage-drivers/s3.js +10 -10
  97. package/build/database/record/attachments/store.js +24 -20
  98. package/build/database/record/auditing.js +123 -29
  99. package/build/database/record/counter-cache-magnitude.js +11 -11
  100. package/build/database/record/index.js +227 -174
  101. package/build/database/record/instance-relationships/base.js +4 -4
  102. package/build/database/record/instance-relationships/belongs-to.js +1 -1
  103. package/build/database/record/instance-relationships/has-many.js +3 -3
  104. package/build/database/record/instance-relationships/has-one.js +1 -1
  105. package/build/database/record/record-not-found-error.js +1 -0
  106. package/build/database/record/relationships/base.js +22 -0
  107. package/build/database/record/state-machine.js +6 -6
  108. package/build/database/record/validators/base.js +1 -1
  109. package/build/database/structure-sql-loader.js +3 -3
  110. package/build/database/table-data/table-column.js +3 -3
  111. package/build/database/use-live-query.js +3 -3
  112. package/build/environment-handlers/base.js +56 -37
  113. package/build/environment-handlers/browser.js +1 -1
  114. package/build/environment-handlers/node/cli/commands/console.js +4 -4
  115. package/build/environment-handlers/node/cli/commands/db/seed.js +2 -2
  116. package/build/environment-handlers/node/cli/commands/generate/base-models.js +1 -1
  117. package/build/environment-handlers/node/cli/commands/run-script.js +2 -2
  118. package/build/environment-handlers/node/cli/commands/runner.js +2 -2
  119. package/build/environment-handlers/node/cli/commands/server.js +1 -1
  120. package/build/environment-handlers/node.js +36 -36
  121. package/build/error-logger.js +2 -2
  122. package/build/error-reporting/request-details.js +32 -32
  123. package/build/frontend-model-controller.js +215 -213
  124. package/build/frontend-model-resource/base-resource.js +44 -44
  125. package/build/frontend-model-resource/velocious-attachment-resource.js +1 -1
  126. package/build/frontend-models/base.js +146 -142
  127. package/build/frontend-models/clear-pending-debounced-callback.js +2 -2
  128. package/build/frontend-models/model-registry.js +4 -4
  129. package/build/frontend-models/outgoing-event-buffer.js +1 -1
  130. package/build/frontend-models/preloader.js +1 -1
  131. package/build/frontend-models/query.js +60 -60
  132. package/build/frontend-models/resource-definition.js +9 -9
  133. package/build/frontend-models/transport-serialization.js +27 -27
  134. package/build/frontend-models/websocket-channel.js +4 -4
  135. package/build/frontend-models/websocket-publishers.js +1 -1
  136. package/build/http-client/request.js +1 -1
  137. package/build/http-client/response.js +1 -1
  138. package/build/http-server/client/index.js +4 -4
  139. package/build/http-server/client/params-to-object.js +16 -16
  140. package/build/http-server/client/request-buffer/index.js +5 -2
  141. package/build/http-server/client/request-parser.js +2 -2
  142. package/build/http-server/client/request-runner.js +2 -2
  143. package/build/http-server/client/request.js +2 -2
  144. package/build/http-server/client/websocket-request.js +6 -6
  145. package/build/http-server/client/websocket-session.js +28 -28
  146. package/build/http-server/cookie.js +2 -2
  147. package/build/http-server/development-reloader.js +1 -1
  148. package/build/http-server/index.js +5 -5
  149. package/build/http-server/remote-address.js +1 -1
  150. package/build/http-server/server-lock.js +4 -4
  151. package/build/http-server/websocket-channel-subscribers.js +4 -4
  152. package/build/http-server/websocket-channel.js +1 -1
  153. package/build/http-server/websocket-connection.js +3 -3
  154. package/build/http-server/websocket-event-log-store.js +9 -9
  155. package/build/http-server/websocket-events-host.js +7 -7
  156. package/build/http-server/websocket-events.js +4 -4
  157. package/build/http-server/worker-handler/channel-subscriber-dispatch.js +1 -1
  158. package/build/http-server/worker-handler/in-process.js +5 -5
  159. package/build/http-server/worker-handler/index.js +10 -10
  160. package/build/http-server/worker-handler/worker-thread.js +8 -8
  161. package/build/index.d.ts.map +1 -1
  162. package/build/logger/base-logger.js +1 -1
  163. package/build/logger.js +12 -12
  164. package/build/mailer/backends/smtp.js +3 -3
  165. package/build/mailer/base.js +14 -14
  166. package/build/mailer/delivery.js +3 -3
  167. package/build/mailer/index.js +1 -1
  168. package/build/mailer.js +1 -1
  169. package/build/plugins/sqljs-wasm-route-controller.js +1 -1
  170. package/build/record-payload-values.js +3 -3
  171. package/build/routes/base-route.js +5 -5
  172. package/build/routes/basic-route.js +4 -4
  173. package/build/routes/get-route.js +2 -2
  174. package/build/routes/hooks/frontend-model-command-route-hook.js +1 -1
  175. package/build/routes/index.js +3 -3
  176. package/build/routes/namespace-route.js +1 -1
  177. package/build/routes/plugin-routes.js +1 -1
  178. package/build/routes/post-route.js +2 -2
  179. package/build/routes/resolver.js +5 -5
  180. package/build/routes/resource-route.js +1 -1
  181. package/build/src/application.d.ts +26 -29
  182. package/build/src/application.d.ts.map +1 -1
  183. package/build/src/application.js +4 -4
  184. package/build/src/authorization/ability.d.ts +47 -53
  185. package/build/src/authorization/ability.d.ts.map +1 -1
  186. package/build/src/authorization/ability.js +7 -7
  187. package/build/src/authorization/base-resource.d.ts +13 -13
  188. package/build/src/authorization/base-resource.d.ts.map +1 -1
  189. package/build/src/authorization/base-resource.js +2 -2
  190. package/build/src/background-jobs/client.d.ts +9 -9
  191. package/build/src/background-jobs/client.d.ts.map +1 -1
  192. package/build/src/background-jobs/client.js +3 -3
  193. package/build/src/background-jobs/cron-expression.d.ts +25 -16
  194. package/build/src/background-jobs/cron-expression.d.ts.map +1 -1
  195. package/build/src/background-jobs/forked-runner-child.js +5 -5
  196. package/build/src/background-jobs/job-record.d.ts +4 -3
  197. package/build/src/background-jobs/job-record.d.ts.map +1 -1
  198. package/build/src/background-jobs/job-registry.d.ts +6 -6
  199. package/build/src/background-jobs/job-registry.d.ts.map +1 -1
  200. package/build/src/background-jobs/job-runner.d.ts +9 -9
  201. package/build/src/background-jobs/job-runner.d.ts.map +1 -1
  202. package/build/src/background-jobs/job-runner.js +3 -3
  203. package/build/src/background-jobs/job.d.ts +14 -14
  204. package/build/src/background-jobs/job.d.ts.map +1 -1
  205. package/build/src/background-jobs/job.js +7 -7
  206. package/build/src/background-jobs/json-socket.d.ts +9 -10
  207. package/build/src/background-jobs/json-socket.d.ts.map +1 -1
  208. package/build/src/background-jobs/json-socket.js +2 -2
  209. package/build/src/background-jobs/main.d.ts +56 -59
  210. package/build/src/background-jobs/main.d.ts.map +1 -1
  211. package/build/src/background-jobs/main.js +14 -14
  212. package/build/src/background-jobs/normalize-error.d.ts +2 -2
  213. package/build/src/background-jobs/normalize-error.d.ts.map +1 -1
  214. package/build/src/background-jobs/normalize-error.js +3 -3
  215. package/build/src/background-jobs/pooled-runner-child.js +4 -4
  216. package/build/src/background-jobs/runner-graceful-shutdown.d.ts +7 -12
  217. package/build/src/background-jobs/runner-graceful-shutdown.d.ts.map +1 -1
  218. package/build/src/background-jobs/runner-process-title.d.ts.map +1 -1
  219. package/build/src/background-jobs/scheduler.d.ts +41 -41
  220. package/build/src/background-jobs/scheduler.d.ts.map +1 -1
  221. package/build/src/background-jobs/scheduler.js +2 -2
  222. package/build/src/background-jobs/socket-request.d.ts +14 -14
  223. package/build/src/background-jobs/socket-request.d.ts.map +1 -1
  224. package/build/src/background-jobs/status-reporter.d.ts +28 -28
  225. package/build/src/background-jobs/status-reporter.d.ts.map +1 -1
  226. package/build/src/background-jobs/status-reporter.js +3 -3
  227. package/build/src/background-jobs/store.d.ts +100 -103
  228. package/build/src/background-jobs/store.d.ts.map +1 -1
  229. package/build/src/background-jobs/store.js +24 -24
  230. package/build/src/background-jobs/types.d.ts +124 -124
  231. package/build/src/background-jobs/types.d.ts.map +1 -1
  232. package/build/src/background-jobs/types.js +7 -7
  233. package/build/src/background-jobs/web/authorization.d.ts +2 -2
  234. package/build/src/background-jobs/web/authorization.d.ts.map +1 -1
  235. package/build/src/background-jobs/web/controller.d.ts +13 -13
  236. package/build/src/background-jobs/web/controller.d.ts.map +1 -1
  237. package/build/src/background-jobs/web/controller.js +7 -7
  238. package/build/src/background-jobs/web/counts-channel.d.ts +8 -8
  239. package/build/src/background-jobs/web/counts-channel.d.ts.map +1 -1
  240. package/build/src/background-jobs/web/counts-channel.js +2 -2
  241. package/build/src/background-jobs/web/index.d.ts +4 -4
  242. package/build/src/background-jobs/web/index.d.ts.map +1 -1
  243. package/build/src/background-jobs/web/path-matcher.d.ts +18 -13
  244. package/build/src/background-jobs/web/path-matcher.d.ts.map +1 -1
  245. package/build/src/background-jobs/web/registry.d.ts +21 -24
  246. package/build/src/background-jobs/web/registry.d.ts.map +1 -1
  247. package/build/src/background-jobs/worker.d.ts +74 -77
  248. package/build/src/background-jobs/worker.d.ts.map +1 -1
  249. package/build/src/background-jobs/worker.js +9 -9
  250. package/build/src/beacon/client.d.ts +30 -34
  251. package/build/src/beacon/client.d.ts.map +1 -1
  252. package/build/src/beacon/client.js +4 -4
  253. package/build/src/beacon/in-process-broker.d.ts +6 -9
  254. package/build/src/beacon/in-process-broker.d.ts.map +1 -1
  255. package/build/src/beacon/in-process-client.d.ts +17 -21
  256. package/build/src/beacon/in-process-client.d.ts.map +1 -1
  257. package/build/src/beacon/in-process-client.js +4 -4
  258. package/build/src/beacon/server.d.ts +15 -15
  259. package/build/src/beacon/server.d.ts.map +1 -1
  260. package/build/src/beacon/types.d.ts +21 -46
  261. package/build/src/beacon/types.d.ts.map +1 -1
  262. package/build/src/beacon/types.js +2 -2
  263. package/build/src/cli/base-command.d.ts +25 -28
  264. package/build/src/cli/base-command.d.ts.map +1 -1
  265. package/build/src/cli/base-command.js +2 -2
  266. package/build/src/cli/browser-cli.d.ts +1 -1
  267. package/build/src/cli/browser-cli.d.ts.map +1 -1
  268. package/build/src/cli/commands/background-jobs-main.d.ts +2 -1
  269. package/build/src/cli/commands/background-jobs-main.d.ts.map +1 -1
  270. package/build/src/cli/commands/background-jobs-runner.d.ts +2 -1
  271. package/build/src/cli/commands/background-jobs-runner.d.ts.map +1 -1
  272. package/build/src/cli/commands/background-jobs-worker.d.ts +2 -1
  273. package/build/src/cli/commands/background-jobs-worker.d.ts.map +1 -1
  274. package/build/src/cli/commands/beacon.d.ts +2 -1
  275. package/build/src/cli/commands/beacon.d.ts.map +1 -1
  276. package/build/src/cli/commands/console.d.ts +6 -1
  277. package/build/src/cli/commands/console.d.ts.map +1 -1
  278. package/build/src/cli/commands/console.js +2 -2
  279. package/build/src/cli/commands/db/base-command.d.ts +1 -1
  280. package/build/src/cli/commands/db/base-command.d.ts.map +1 -1
  281. package/build/src/cli/commands/db/create.d.ts +1 -1
  282. package/build/src/cli/commands/db/create.d.ts.map +1 -1
  283. package/build/src/cli/commands/db/drop.d.ts +1 -1
  284. package/build/src/cli/commands/db/drop.d.ts.map +1 -1
  285. package/build/src/cli/commands/db/migrate.d.ts +1 -1
  286. package/build/src/cli/commands/db/migrate.d.ts.map +1 -1
  287. package/build/src/cli/commands/db/reset.d.ts +1 -1
  288. package/build/src/cli/commands/db/reset.d.ts.map +1 -1
  289. package/build/src/cli/commands/db/rollback.d.ts +1 -1
  290. package/build/src/cli/commands/db/rollback.d.ts.map +1 -1
  291. package/build/src/cli/commands/db/schema/dump.d.ts +6 -1
  292. package/build/src/cli/commands/db/schema/dump.d.ts.map +1 -1
  293. package/build/src/cli/commands/db/schema/dump.js +2 -2
  294. package/build/src/cli/commands/db/schema/load.d.ts +6 -1
  295. package/build/src/cli/commands/db/schema/load.d.ts.map +1 -1
  296. package/build/src/cli/commands/db/schema/load.js +2 -2
  297. package/build/src/cli/commands/db/seed.d.ts +6 -1
  298. package/build/src/cli/commands/db/seed.d.ts.map +1 -1
  299. package/build/src/cli/commands/db/seed.js +2 -2
  300. package/build/src/cli/commands/db/tenants/check.d.ts +1 -1
  301. package/build/src/cli/commands/db/tenants/check.d.ts.map +1 -1
  302. package/build/src/cli/commands/db/tenants/create.d.ts +1 -1
  303. package/build/src/cli/commands/db/tenants/create.d.ts.map +1 -1
  304. package/build/src/cli/commands/db/tenants/drop.d.ts +1 -1
  305. package/build/src/cli/commands/db/tenants/drop.d.ts.map +1 -1
  306. package/build/src/cli/commands/db/tenants/migrate.d.ts +1 -1
  307. package/build/src/cli/commands/db/tenants/migrate.d.ts.map +1 -1
  308. package/build/src/cli/commands/destroy/migration.d.ts +2 -1
  309. package/build/src/cli/commands/destroy/migration.d.ts.map +1 -1
  310. package/build/src/cli/commands/generate/base-models.d.ts +2 -1
  311. package/build/src/cli/commands/generate/base-models.d.ts.map +1 -1
  312. package/build/src/cli/commands/generate/frontend-models.d.ts +6 -1
  313. package/build/src/cli/commands/generate/frontend-models.d.ts.map +1 -1
  314. package/build/src/cli/commands/generate/frontend-models.js +2 -2
  315. package/build/src/cli/commands/generate/migration.d.ts +2 -1
  316. package/build/src/cli/commands/generate/migration.d.ts.map +1 -1
  317. package/build/src/cli/commands/generate/model.d.ts +2 -1
  318. package/build/src/cli/commands/generate/model.d.ts.map +1 -1
  319. package/build/src/cli/commands/init.d.ts +4 -2
  320. package/build/src/cli/commands/init.d.ts.map +1 -1
  321. package/build/src/cli/commands/lint/relationships.d.ts +6 -1
  322. package/build/src/cli/commands/lint/relationships.d.ts.map +1 -1
  323. package/build/src/cli/commands/lint/relationships.js +2 -2
  324. package/build/src/cli/commands/routes.d.ts +2 -1
  325. package/build/src/cli/commands/routes.d.ts.map +1 -1
  326. package/build/src/cli/commands/run-script.d.ts +6 -1
  327. package/build/src/cli/commands/run-script.d.ts.map +1 -1
  328. package/build/src/cli/commands/run-script.js +2 -2
  329. package/build/src/cli/commands/runner.d.ts +6 -1
  330. package/build/src/cli/commands/runner.d.ts.map +1 -1
  331. package/build/src/cli/commands/runner.js +2 -2
  332. package/build/src/cli/commands/server.d.ts +2 -1
  333. package/build/src/cli/commands/server.d.ts.map +1 -1
  334. package/build/src/cli/commands/test.d.ts +2 -1
  335. package/build/src/cli/commands/test.d.ts.map +1 -1
  336. package/build/src/cli/index.d.ts +20 -20
  337. package/build/src/cli/index.d.ts.map +1 -1
  338. package/build/src/cli/index.js +3 -3
  339. package/build/src/cli/tenant-database-command-helper.d.ts +13 -13
  340. package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
  341. package/build/src/cli/tenant-database-command-helper.js +3 -3
  342. package/build/src/cli/use-browser-cli.d.ts +1 -1
  343. package/build/src/cli/use-browser-cli.d.ts.map +1 -1
  344. package/build/src/configuration-resolver.d.ts +1 -1
  345. package/build/src/configuration-resolver.d.ts.map +1 -1
  346. package/build/src/configuration-types.d.ts +947 -1038
  347. package/build/src/configuration-types.d.ts.map +1 -1
  348. package/build/src/configuration-types.js +49 -48
  349. package/build/src/configuration.d.ts +145 -139
  350. package/build/src/configuration.d.ts.map +1 -1
  351. package/build/src/configuration.js +149 -66
  352. package/build/src/controller.d.ts +37 -35
  353. package/build/src/controller.d.ts.map +1 -1
  354. package/build/src/controller.js +11 -9
  355. package/build/src/current-configuration.d.ts +5 -4
  356. package/build/src/current-configuration.d.ts.map +1 -1
  357. package/build/src/current.d.ts +3 -3
  358. package/build/src/current.d.ts.map +1 -1
  359. package/build/src/current.js +3 -3
  360. package/build/src/database/advisory-lock-runner.d.ts +61 -60
  361. package/build/src/database/advisory-lock-runner.d.ts.map +1 -1
  362. package/build/src/database/annotations-async-hooks.js +4 -4
  363. package/build/src/database/annotations.d.ts +4 -6
  364. package/build/src/database/annotations.d.ts.map +1 -1
  365. package/build/src/database/annotations.js +2 -2
  366. package/build/src/database/column-types.d.ts +1 -1
  367. package/build/src/database/column-types.d.ts.map +1 -1
  368. package/build/src/database/datetime-storage.d.ts +6 -6
  369. package/build/src/database/datetime-storage.d.ts.map +1 -1
  370. package/build/src/database/drivers/base-column.d.ts +3 -3
  371. package/build/src/database/drivers/base-column.d.ts.map +1 -1
  372. package/build/src/database/drivers/base-column.js +2 -2
  373. package/build/src/database/drivers/base-columns-index.d.ts +2 -2
  374. package/build/src/database/drivers/base-columns-index.d.ts.map +1 -1
  375. package/build/src/database/drivers/base-foreign-key.d.ts +7 -7
  376. package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
  377. package/build/src/database/drivers/base-foreign-key.js +2 -2
  378. package/build/src/database/drivers/base-table.d.ts +3 -3
  379. package/build/src/database/drivers/base-table.d.ts.map +1 -1
  380. package/build/src/database/drivers/base-table.js +2 -2
  381. package/build/src/database/drivers/base.d.ts +297 -342
  382. package/build/src/database/drivers/base.d.ts.map +1 -1
  383. package/build/src/database/drivers/base.js +19 -19
  384. package/build/src/database/drivers/index-metadata.d.ts +15 -18
  385. package/build/src/database/drivers/index-metadata.d.ts.map +1 -1
  386. package/build/src/database/drivers/mssql/column.d.ts +10 -5
  387. package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
  388. package/build/src/database/drivers/mssql/column.js +2 -2
  389. package/build/src/database/drivers/mssql/columns-index.d.ts +30 -22
  390. package/build/src/database/drivers/mssql/columns-index.d.ts.map +1 -1
  391. package/build/src/database/drivers/mssql/connect-connection.d.ts.map +1 -1
  392. package/build/src/database/drivers/mssql/foreign-key.d.ts +1 -1
  393. package/build/src/database/drivers/mssql/foreign-key.d.ts.map +1 -1
  394. package/build/src/database/drivers/mssql/index.d.ts +250 -9
  395. package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
  396. package/build/src/database/drivers/mssql/index.js +3 -3
  397. package/build/src/database/drivers/mssql/options.d.ts +31 -1
  398. package/build/src/database/drivers/mssql/options.d.ts.map +1 -1
  399. package/build/src/database/drivers/mssql/options.js +2 -2
  400. package/build/src/database/drivers/mssql/query-parser.d.ts +1 -1
  401. package/build/src/database/drivers/mssql/query-parser.d.ts.map +1 -1
  402. package/build/src/database/drivers/mssql/sql/alter-table.d.ts +1 -1
  403. package/build/src/database/drivers/mssql/sql/alter-table.d.ts.map +1 -1
  404. package/build/src/database/drivers/mssql/sql/create-database.d.ts +3 -2
  405. package/build/src/database/drivers/mssql/sql/create-database.d.ts.map +1 -1
  406. package/build/src/database/drivers/mssql/sql/create-index.d.ts +1 -1
  407. package/build/src/database/drivers/mssql/sql/create-index.d.ts.map +1 -1
  408. package/build/src/database/drivers/mssql/sql/create-table.d.ts +1 -1
  409. package/build/src/database/drivers/mssql/sql/create-table.d.ts.map +1 -1
  410. package/build/src/database/drivers/mssql/sql/delete.d.ts +1 -1
  411. package/build/src/database/drivers/mssql/sql/delete.d.ts.map +1 -1
  412. package/build/src/database/drivers/mssql/sql/drop-database.d.ts +14 -1
  413. package/build/src/database/drivers/mssql/sql/drop-database.d.ts.map +1 -1
  414. package/build/src/database/drivers/mssql/sql/drop-table.d.ts +1 -1
  415. package/build/src/database/drivers/mssql/sql/drop-table.d.ts.map +1 -1
  416. package/build/src/database/drivers/mssql/sql/insert.d.ts +1 -1
  417. package/build/src/database/drivers/mssql/sql/insert.d.ts.map +1 -1
  418. package/build/src/database/drivers/mssql/sql/remove-index.d.ts +1 -1
  419. package/build/src/database/drivers/mssql/sql/remove-index.d.ts.map +1 -1
  420. package/build/src/database/drivers/mssql/sql/update.d.ts +1 -1
  421. package/build/src/database/drivers/mssql/sql/update.d.ts.map +1 -1
  422. package/build/src/database/drivers/mssql/sql/upsert.d.ts +1 -1
  423. package/build/src/database/drivers/mssql/sql/upsert.d.ts.map +1 -1
  424. package/build/src/database/drivers/mssql/structure-sql.d.ts +3 -3
  425. package/build/src/database/drivers/mssql/structure-sql.d.ts.map +1 -1
  426. package/build/src/database/drivers/mssql/structure-sql.js +2 -2
  427. package/build/src/database/drivers/mssql/table.d.ts +39 -29
  428. package/build/src/database/drivers/mssql/table.d.ts.map +1 -1
  429. package/build/src/database/drivers/mssql/table.js +2 -2
  430. package/build/src/database/drivers/mysql/column.d.ts +10 -6
  431. package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
  432. package/build/src/database/drivers/mysql/column.js +2 -2
  433. package/build/src/database/drivers/mysql/columns-index.d.ts +3 -1
  434. package/build/src/database/drivers/mysql/columns-index.d.ts.map +1 -1
  435. package/build/src/database/drivers/mysql/foreign-key.d.ts +1 -1
  436. package/build/src/database/drivers/mysql/foreign-key.d.ts.map +1 -1
  437. package/build/src/database/drivers/mysql/index.d.ts +225 -6
  438. package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
  439. package/build/src/database/drivers/mysql/index.js +5 -5
  440. package/build/src/database/drivers/mysql/options.d.ts +7 -1
  441. package/build/src/database/drivers/mysql/options.d.ts.map +1 -1
  442. package/build/src/database/drivers/mysql/options.js +2 -2
  443. package/build/src/database/drivers/mysql/query-parser.d.ts +1 -1
  444. package/build/src/database/drivers/mysql/query-parser.d.ts.map +1 -1
  445. package/build/src/database/drivers/mysql/query-stream.d.ts.map +1 -1
  446. package/build/src/database/drivers/mysql/query.d.ts +2 -2
  447. package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
  448. package/build/src/database/drivers/mysql/query.js +8 -8
  449. package/build/src/database/drivers/mysql/sql/alter-table.d.ts +12 -1
  450. package/build/src/database/drivers/mysql/sql/alter-table.d.ts.map +1 -1
  451. package/build/src/database/drivers/mysql/sql/create-database.d.ts +6 -1
  452. package/build/src/database/drivers/mysql/sql/create-database.d.ts.map +1 -1
  453. package/build/src/database/drivers/mysql/sql/create-index.d.ts +1 -1
  454. package/build/src/database/drivers/mysql/sql/create-index.d.ts.map +1 -1
  455. package/build/src/database/drivers/mysql/sql/create-table.d.ts +1 -1
  456. package/build/src/database/drivers/mysql/sql/create-table.d.ts.map +1 -1
  457. package/build/src/database/drivers/mysql/sql/delete.d.ts +1 -1
  458. package/build/src/database/drivers/mysql/sql/delete.d.ts.map +1 -1
  459. package/build/src/database/drivers/mysql/sql/drop-database.d.ts +1 -1
  460. package/build/src/database/drivers/mysql/sql/drop-database.d.ts.map +1 -1
  461. package/build/src/database/drivers/mysql/sql/drop-table.d.ts +1 -1
  462. package/build/src/database/drivers/mysql/sql/drop-table.d.ts.map +1 -1
  463. package/build/src/database/drivers/mysql/sql/insert.d.ts +1 -1
  464. package/build/src/database/drivers/mysql/sql/insert.d.ts.map +1 -1
  465. package/build/src/database/drivers/mysql/sql/remove-index.d.ts +1 -1
  466. package/build/src/database/drivers/mysql/sql/remove-index.d.ts.map +1 -1
  467. package/build/src/database/drivers/mysql/sql/update.d.ts +1 -1
  468. package/build/src/database/drivers/mysql/sql/update.d.ts.map +1 -1
  469. package/build/src/database/drivers/mysql/sql/upsert.d.ts +1 -1
  470. package/build/src/database/drivers/mysql/sql/upsert.d.ts.map +1 -1
  471. package/build/src/database/drivers/mysql/structure-sql.d.ts +14 -3
  472. package/build/src/database/drivers/mysql/structure-sql.d.ts.map +1 -1
  473. package/build/src/database/drivers/mysql/structure-sql.js +62 -11
  474. package/build/src/database/drivers/mysql/table.d.ts +11 -6
  475. package/build/src/database/drivers/mysql/table.d.ts.map +1 -1
  476. package/build/src/database/drivers/pgsql/column.d.ts +10 -5
  477. package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
  478. package/build/src/database/drivers/pgsql/column.js +2 -2
  479. package/build/src/database/drivers/pgsql/columns-index.d.ts +30 -22
  480. package/build/src/database/drivers/pgsql/columns-index.d.ts.map +1 -1
  481. package/build/src/database/drivers/pgsql/foreign-key.d.ts +1 -1
  482. package/build/src/database/drivers/pgsql/foreign-key.d.ts.map +1 -1
  483. package/build/src/database/drivers/pgsql/index.d.ts +157 -6
  484. package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
  485. package/build/src/database/drivers/pgsql/index.js +7 -7
  486. package/build/src/database/drivers/pgsql/options.d.ts +1 -1
  487. package/build/src/database/drivers/pgsql/options.d.ts.map +1 -1
  488. package/build/src/database/drivers/pgsql/query-parser.d.ts +1 -1
  489. package/build/src/database/drivers/pgsql/query-parser.d.ts.map +1 -1
  490. package/build/src/database/drivers/pgsql/sql/alter-table.d.ts +1 -1
  491. package/build/src/database/drivers/pgsql/sql/alter-table.d.ts.map +1 -1
  492. package/build/src/database/drivers/pgsql/sql/create-database.d.ts +2 -1
  493. package/build/src/database/drivers/pgsql/sql/create-database.d.ts.map +1 -1
  494. package/build/src/database/drivers/pgsql/sql/create-index.d.ts +1 -1
  495. package/build/src/database/drivers/pgsql/sql/create-index.d.ts.map +1 -1
  496. package/build/src/database/drivers/pgsql/sql/create-table.d.ts +1 -1
  497. package/build/src/database/drivers/pgsql/sql/create-table.d.ts.map +1 -1
  498. package/build/src/database/drivers/pgsql/sql/delete.d.ts +1 -1
  499. package/build/src/database/drivers/pgsql/sql/delete.d.ts.map +1 -1
  500. package/build/src/database/drivers/pgsql/sql/drop-database.d.ts +1 -1
  501. package/build/src/database/drivers/pgsql/sql/drop-database.d.ts.map +1 -1
  502. package/build/src/database/drivers/pgsql/sql/drop-table.d.ts +1 -1
  503. package/build/src/database/drivers/pgsql/sql/drop-table.d.ts.map +1 -1
  504. package/build/src/database/drivers/pgsql/sql/insert.d.ts +1 -1
  505. package/build/src/database/drivers/pgsql/sql/insert.d.ts.map +1 -1
  506. package/build/src/database/drivers/pgsql/sql/remove-index.d.ts +1 -1
  507. package/build/src/database/drivers/pgsql/sql/remove-index.d.ts.map +1 -1
  508. package/build/src/database/drivers/pgsql/sql/update.d.ts +1 -1
  509. package/build/src/database/drivers/pgsql/sql/update.d.ts.map +1 -1
  510. package/build/src/database/drivers/pgsql/sql/upsert.d.ts +1 -1
  511. package/build/src/database/drivers/pgsql/sql/upsert.d.ts.map +1 -1
  512. package/build/src/database/drivers/pgsql/structure-sql.d.ts +3 -3
  513. package/build/src/database/drivers/pgsql/structure-sql.d.ts.map +1 -1
  514. package/build/src/database/drivers/pgsql/structure-sql.js +2 -2
  515. package/build/src/database/drivers/pgsql/table.d.ts +33 -31
  516. package/build/src/database/drivers/pgsql/table.d.ts.map +1 -1
  517. package/build/src/database/drivers/sqlite/base.d.ts +162 -12
  518. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  519. package/build/src/database/drivers/sqlite/base.js +8 -8
  520. package/build/src/database/drivers/sqlite/column.d.ts +12 -6
  521. package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
  522. package/build/src/database/drivers/sqlite/column.js +2 -2
  523. package/build/src/database/drivers/sqlite/columns-index.d.ts +5 -1
  524. package/build/src/database/drivers/sqlite/columns-index.d.ts.map +1 -1
  525. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +9 -9
  526. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
  527. package/build/src/database/drivers/sqlite/connection-sql-js.js +2 -2
  528. package/build/src/database/drivers/sqlite/foreign-key.d.ts +5 -4
  529. package/build/src/database/drivers/sqlite/foreign-key.d.ts.map +1 -1
  530. package/build/src/database/drivers/sqlite/foreign-key.js +2 -2
  531. package/build/src/database/drivers/sqlite/index.d.ts +53 -3
  532. package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
  533. package/build/src/database/drivers/sqlite/index.js +2 -2
  534. package/build/src/database/drivers/sqlite/index.native.d.ts +13 -5
  535. package/build/src/database/drivers/sqlite/index.native.d.ts.map +1 -1
  536. package/build/src/database/drivers/sqlite/index.native.js +3 -3
  537. package/build/src/database/drivers/sqlite/index.web.d.ts +48 -14
  538. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  539. package/build/src/database/drivers/sqlite/index.web.js +3 -3
  540. package/build/src/database/drivers/sqlite/options.d.ts +1 -1
  541. package/build/src/database/drivers/sqlite/options.d.ts.map +1 -1
  542. package/build/src/database/drivers/sqlite/query-parser.d.ts +1 -1
  543. package/build/src/database/drivers/sqlite/query-parser.d.ts.map +1 -1
  544. package/build/src/database/drivers/sqlite/query.d.ts +2 -2
  545. package/build/src/database/drivers/sqlite/query.d.ts.map +1 -1
  546. package/build/src/database/drivers/sqlite/query.js +3 -3
  547. package/build/src/database/drivers/sqlite/query.native.d.ts +4 -4
  548. package/build/src/database/drivers/sqlite/query.native.d.ts.map +1 -1
  549. package/build/src/database/drivers/sqlite/query.native.js +3 -3
  550. package/build/src/database/drivers/sqlite/query.web.d.ts +2 -2
  551. package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
  552. package/build/src/database/drivers/sqlite/query.web.js +3 -3
  553. package/build/src/database/drivers/sqlite/sql/alter-table.d.ts +19 -4
  554. package/build/src/database/drivers/sqlite/sql/alter-table.d.ts.map +1 -1
  555. package/build/src/database/drivers/sqlite/sql/create-index.d.ts +1 -1
  556. package/build/src/database/drivers/sqlite/sql/create-index.d.ts.map +1 -1
  557. package/build/src/database/drivers/sqlite/sql/create-table.d.ts +1 -1
  558. package/build/src/database/drivers/sqlite/sql/create-table.d.ts.map +1 -1
  559. package/build/src/database/drivers/sqlite/sql/delete.d.ts +1 -1
  560. package/build/src/database/drivers/sqlite/sql/delete.d.ts.map +1 -1
  561. package/build/src/database/drivers/sqlite/sql/drop-table.d.ts +1 -1
  562. package/build/src/database/drivers/sqlite/sql/drop-table.d.ts.map +1 -1
  563. package/build/src/database/drivers/sqlite/sql/insert.d.ts +1 -1
  564. package/build/src/database/drivers/sqlite/sql/insert.d.ts.map +1 -1
  565. package/build/src/database/drivers/sqlite/sql/remove-index.d.ts +1 -1
  566. package/build/src/database/drivers/sqlite/sql/remove-index.d.ts.map +1 -1
  567. package/build/src/database/drivers/sqlite/sql/update.d.ts +1 -1
  568. package/build/src/database/drivers/sqlite/sql/update.d.ts.map +1 -1
  569. package/build/src/database/drivers/sqlite/sql/upsert.d.ts +1 -1
  570. package/build/src/database/drivers/sqlite/sql/upsert.d.ts.map +1 -1
  571. package/build/src/database/drivers/sqlite/structure-sql.d.ts +1 -1
  572. package/build/src/database/drivers/sqlite/structure-sql.d.ts.map +1 -1
  573. package/build/src/database/drivers/sqlite/table-rebuilder.d.ts +5 -5
  574. package/build/src/database/drivers/sqlite/table-rebuilder.d.ts.map +1 -1
  575. package/build/src/database/drivers/sqlite/table-rebuilder.js +2 -2
  576. package/build/src/database/drivers/sqlite/table.d.ts +15 -5
  577. package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
  578. package/build/src/database/drivers/sqlite/web-persistence.d.ts +28 -34
  579. package/build/src/database/drivers/sqlite/web-persistence.d.ts.map +1 -1
  580. package/build/src/database/drivers/structure-sql/utils.d.ts +2 -2
  581. package/build/src/database/drivers/structure-sql/utils.d.ts.map +1 -1
  582. package/build/src/database/handler.d.ts.map +1 -1
  583. package/build/src/database/initializer-from-require-context.d.ts +18 -16
  584. package/build/src/database/initializer-from-require-context.d.ts.map +1 -1
  585. package/build/src/database/live-query.d.ts +13 -24
  586. package/build/src/database/live-query.d.ts.map +1 -1
  587. package/build/src/database/migration/index.d.ts +146 -169
  588. package/build/src/database/migration/index.d.ts.map +1 -1
  589. package/build/src/database/migration/index.js +3 -3
  590. package/build/src/database/migrations-ledger.d.ts.map +1 -1
  591. package/build/src/database/migrator/files-finder.d.ts +1 -1
  592. package/build/src/database/migrator/files-finder.d.ts.map +1 -1
  593. package/build/src/database/migrator/types.d.ts +26 -2
  594. package/build/src/database/migrator/types.d.ts.map +1 -1
  595. package/build/src/database/migrator/types.js +24 -1
  596. package/build/src/database/migrator.d.ts +10 -10
  597. package/build/src/database/migrator.d.ts.map +1 -1
  598. package/build/src/database/operation-connection.d.ts +3 -3
  599. package/build/src/database/operation-connection.d.ts.map +1 -1
  600. package/build/src/database/operation-lease.d.ts +4 -4
  601. package/build/src/database/operation-lease.d.ts.map +1 -1
  602. package/build/src/database/operation.d.ts +38 -7
  603. package/build/src/database/operation.d.ts.map +1 -1
  604. package/build/src/database/operation.js +55 -8
  605. package/build/src/database/pool/async-tracked-multi-connection.d.ts +174 -79
  606. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  607. package/build/src/database/pool/async-tracked-multi-connection.js +70 -25
  608. package/build/src/database/pool/base-methods-forward.d.ts.map +1 -1
  609. package/build/src/database/pool/base-methods-forward.js +3 -3
  610. package/build/src/database/pool/base.d.ts +93 -71
  611. package/build/src/database/pool/base.d.ts.map +1 -1
  612. package/build/src/database/pool/base.js +47 -17
  613. package/build/src/database/pool/single-multi-use.d.ts +243 -10
  614. package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
  615. package/build/src/database/pool/single-multi-use.js +467 -103
  616. package/build/src/database/query/alter-table-base.d.ts +8 -3
  617. package/build/src/database/query/alter-table-base.d.ts.map +1 -1
  618. package/build/src/database/query/base.d.ts +3 -3
  619. package/build/src/database/query/base.d.ts.map +1 -1
  620. package/build/src/database/query/create-database-base.d.ts +28 -22
  621. package/build/src/database/query/create-database-base.d.ts.map +1 -1
  622. package/build/src/database/query/create-index-base.d.ts +32 -30
  623. package/build/src/database/query/create-index-base.d.ts.map +1 -1
  624. package/build/src/database/query/create-table-base.d.ts +7 -7
  625. package/build/src/database/query/create-table-base.d.ts.map +1 -1
  626. package/build/src/database/query/delete-base.d.ts +5 -5
  627. package/build/src/database/query/delete-base.d.ts.map +1 -1
  628. package/build/src/database/query/delete-base.js +2 -2
  629. package/build/src/database/query/drop-database-base.d.ts +22 -18
  630. package/build/src/database/query/drop-database-base.d.ts.map +1 -1
  631. package/build/src/database/query/drop-table-base.d.ts +11 -6
  632. package/build/src/database/query/drop-table-base.d.ts.map +1 -1
  633. package/build/src/database/query/from-base.d.ts.map +1 -1
  634. package/build/src/database/query/from-plain.d.ts +3 -2
  635. package/build/src/database/query/from-plain.d.ts.map +1 -1
  636. package/build/src/database/query/from-table.d.ts +3 -2
  637. package/build/src/database/query/from-table.d.ts.map +1 -1
  638. package/build/src/database/query/index.d.ts +92 -107
  639. package/build/src/database/query/index.d.ts.map +1 -1
  640. package/build/src/database/query/index.js +4 -4
  641. package/build/src/database/query/insert-base.d.ts +18 -18
  642. package/build/src/database/query/insert-base.d.ts.map +1 -1
  643. package/build/src/database/query/insert-base.js +5 -5
  644. package/build/src/database/query/join-base.d.ts +1 -1
  645. package/build/src/database/query/join-base.d.ts.map +1 -1
  646. package/build/src/database/query/join-object.d.ts +9 -15
  647. package/build/src/database/query/join-object.d.ts.map +1 -1
  648. package/build/src/database/query/join-plain.d.ts +2 -2
  649. package/build/src/database/query/join-plain.d.ts.map +1 -1
  650. package/build/src/database/query/join-tracker.d.ts +3 -3
  651. package/build/src/database/query/join-tracker.d.ts.map +1 -1
  652. package/build/src/database/query/model-class-query.d.ts +39 -36
  653. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  654. package/build/src/database/query/model-class-query.js +40 -40
  655. package/build/src/database/query/order-base.d.ts +1 -1
  656. package/build/src/database/query/order-base.d.ts.map +1 -1
  657. package/build/src/database/query/order-column.d.ts +19 -22
  658. package/build/src/database/query/order-column.d.ts.map +1 -1
  659. package/build/src/database/query/order-plain.d.ts +3 -3
  660. package/build/src/database/query/order-plain.d.ts.map +1 -1
  661. package/build/src/database/query/preloader/belongs-to.d.ts +5 -5
  662. package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
  663. package/build/src/database/query/preloader/belongs-to.js +3 -3
  664. package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts +2 -1
  665. package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts.map +1 -1
  666. package/build/src/database/query/preloader/ensure-model-class-initialized.js +4 -3
  667. package/build/src/database/query/preloader/has-many.d.ts +6 -6
  668. package/build/src/database/query/preloader/has-many.d.ts.map +1 -1
  669. package/build/src/database/query/preloader/has-many.js +4 -4
  670. package/build/src/database/query/preloader/has-one.d.ts +5 -5
  671. package/build/src/database/query/preloader/has-one.d.ts.map +1 -1
  672. package/build/src/database/query/preloader/has-one.js +2 -2
  673. package/build/src/database/query/preloader/query-for-model.d.ts.map +1 -1
  674. package/build/src/database/query/preloader/selection.d.ts +6 -6
  675. package/build/src/database/query/preloader/selection.d.ts.map +1 -1
  676. package/build/src/database/query/preloader.d.ts +8 -8
  677. package/build/src/database/query/preloader.d.ts.map +1 -1
  678. package/build/src/database/query/preloader.js +9 -3
  679. package/build/src/database/query/query-data.d.ts +43 -55
  680. package/build/src/database/query/query-data.d.ts.map +1 -1
  681. package/build/src/database/query/query-data.js +8 -8
  682. package/build/src/database/query/remove-index-base.d.ts +21 -19
  683. package/build/src/database/query/remove-index-base.d.ts.map +1 -1
  684. package/build/src/database/query/select-base.d.ts +1 -1
  685. package/build/src/database/query/select-base.d.ts.map +1 -1
  686. package/build/src/database/query/select-plain.d.ts +3 -2
  687. package/build/src/database/query/select-plain.d.ts.map +1 -1
  688. package/build/src/database/query/select-table-and-column.d.ts +4 -3
  689. package/build/src/database/query/select-table-and-column.d.ts.map +1 -1
  690. package/build/src/database/query/update-base.d.ts +10 -10
  691. package/build/src/database/query/update-base.d.ts.map +1 -1
  692. package/build/src/database/query/update-base.js +4 -4
  693. package/build/src/database/query/upsert-base.d.ts +9 -9
  694. package/build/src/database/query/upsert-base.d.ts.map +1 -1
  695. package/build/src/database/query/upsert-base.js +3 -3
  696. package/build/src/database/query/where-base.d.ts +1 -1
  697. package/build/src/database/query/where-base.d.ts.map +1 -1
  698. package/build/src/database/query/where-combinator.d.ts +9 -4
  699. package/build/src/database/query/where-combinator.d.ts.map +1 -1
  700. package/build/src/database/query/where-hash.d.ts +11 -9
  701. package/build/src/database/query/where-hash.d.ts.map +1 -1
  702. package/build/src/database/query/where-model-class-hash.d.ts +28 -26
  703. package/build/src/database/query/where-model-class-hash.d.ts.map +1 -1
  704. package/build/src/database/query/where-model-class-hash.js +14 -14
  705. package/build/src/database/query/where-not.d.ts +8 -3
  706. package/build/src/database/query/where-not.d.ts.map +1 -1
  707. package/build/src/database/query/where-plain.d.ts +4 -3
  708. package/build/src/database/query/where-plain.d.ts.map +1 -1
  709. package/build/src/database/query/with-count.d.ts +22 -28
  710. package/build/src/database/query/with-count.d.ts.map +1 -1
  711. package/build/src/database/query/with-count.js +12 -12
  712. package/build/src/database/query-aborted-error.d.ts +5 -5
  713. package/build/src/database/query-aborted-error.d.ts.map +1 -1
  714. package/build/src/database/query-parser/base-query-parser.d.ts +3 -3
  715. package/build/src/database/query-parser/base-query-parser.d.ts.map +1 -1
  716. package/build/src/database/query-parser/from-parser.d.ts +2 -2
  717. package/build/src/database/query-parser/from-parser.d.ts.map +1 -1
  718. package/build/src/database/query-parser/group-parser.d.ts +2 -2
  719. package/build/src/database/query-parser/group-parser.d.ts.map +1 -1
  720. package/build/src/database/query-parser/joins-parser.d.ts +3 -3
  721. package/build/src/database/query-parser/joins-parser.d.ts.map +1 -1
  722. package/build/src/database/query-parser/limit-parser.d.ts +2 -2
  723. package/build/src/database/query-parser/limit-parser.d.ts.map +1 -1
  724. package/build/src/database/query-parser/options.d.ts +31 -34
  725. package/build/src/database/query-parser/options.d.ts.map +1 -1
  726. package/build/src/database/query-parser/options.js +3 -3
  727. package/build/src/database/query-parser/order-parser.d.ts +2 -2
  728. package/build/src/database/query-parser/order-parser.d.ts.map +1 -1
  729. package/build/src/database/query-parser/select-parser.d.ts +2 -2
  730. package/build/src/database/query-parser/select-parser.d.ts.map +1 -1
  731. package/build/src/database/query-parser/select-parser.js +2 -2
  732. package/build/src/database/query-parser/where-parser.d.ts +2 -2
  733. package/build/src/database/query-parser/where-parser.d.ts.map +1 -1
  734. package/build/src/database/record/acts-as-list.d.ts.map +1 -1
  735. package/build/src/database/record/acts-as-list.js +3 -3
  736. package/build/src/database/record/attachments/attachment-record.d.ts +7 -3
  737. package/build/src/database/record/attachments/attachment-record.d.ts.map +1 -1
  738. package/build/src/database/record/attachments/download.d.ts +9 -9
  739. package/build/src/database/record/attachments/download.d.ts.map +1 -1
  740. package/build/src/database/record/attachments/handle.d.ts +12 -12
  741. package/build/src/database/record/attachments/handle.d.ts.map +1 -1
  742. package/build/src/database/record/attachments/handle.js +7 -7
  743. package/build/src/database/record/attachments/normalize-input.d.ts +16 -22
  744. package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
  745. package/build/src/database/record/attachments/normalize-input.js +12 -12
  746. package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts +4 -4
  747. package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts.map +1 -1
  748. package/build/src/database/record/attachments/storage-drivers/filesystem.js +2 -2
  749. package/build/src/database/record/attachments/storage-drivers/native.d.ts +12 -12
  750. package/build/src/database/record/attachments/storage-drivers/native.d.ts.map +1 -1
  751. package/build/src/database/record/attachments/storage-drivers/native.js +6 -6
  752. package/build/src/database/record/attachments/storage-drivers/s3.d.ts +17 -17
  753. package/build/src/database/record/attachments/storage-drivers/s3.d.ts.map +1 -1
  754. package/build/src/database/record/attachments/storage-drivers/s3.js +11 -11
  755. package/build/src/database/record/attachments/store.d.ts +38 -41
  756. package/build/src/database/record/attachments/store.d.ts.map +1 -1
  757. package/build/src/database/record/attachments/store.js +24 -21
  758. package/build/src/database/record/auditing.d.ts +67 -87
  759. package/build/src/database/record/auditing.d.ts.map +1 -1
  760. package/build/src/database/record/auditing.js +109 -30
  761. package/build/src/database/record/counter-cache-magnitude.d.ts +15 -35
  762. package/build/src/database/record/counter-cache-magnitude.d.ts.map +1 -1
  763. package/build/src/database/record/counter-cache-magnitude.js +12 -12
  764. package/build/src/database/record/index.d.ts +2390 -488
  765. package/build/src/database/record/index.d.ts.map +1 -1
  766. package/build/src/database/record/index.js +222 -172
  767. package/build/src/database/record/instance-relationships/base.d.ts +20 -23
  768. package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
  769. package/build/src/database/record/instance-relationships/base.js +5 -5
  770. package/build/src/database/record/instance-relationships/belongs-to.d.ts +9 -1
  771. package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
  772. package/build/src/database/record/instance-relationships/belongs-to.js +2 -2
  773. package/build/src/database/record/instance-relationships/has-many.d.ts +15 -3
  774. package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
  775. package/build/src/database/record/instance-relationships/has-many.js +4 -4
  776. package/build/src/database/record/instance-relationships/has-one.d.ts +19 -1
  777. package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
  778. package/build/src/database/record/instance-relationships/has-one.js +2 -2
  779. package/build/src/database/record/record-not-found-error.d.ts +1 -0
  780. package/build/src/database/record/record-not-found-error.d.ts.map +1 -1
  781. package/build/src/database/record/record-not-found-error.js +2 -1
  782. package/build/src/database/record/relationships/base.d.ts +83 -71
  783. package/build/src/database/record/relationships/base.d.ts.map +1 -1
  784. package/build/src/database/record/relationships/base.js +21 -1
  785. package/build/src/database/record/relationships/belongs-to.d.ts +11 -1
  786. package/build/src/database/record/relationships/belongs-to.d.ts.map +1 -1
  787. package/build/src/database/record/relationships/has-many.d.ts +11 -1
  788. package/build/src/database/record/relationships/has-many.d.ts.map +1 -1
  789. package/build/src/database/record/relationships/has-one.d.ts +11 -1
  790. package/build/src/database/record/relationships/has-one.d.ts.map +1 -1
  791. package/build/src/database/record/state-machine.d.ts +20 -29
  792. package/build/src/database/record/state-machine.d.ts.map +1 -1
  793. package/build/src/database/record/state-machine.js +7 -7
  794. package/build/src/database/record/user-module.d.ts +1 -1
  795. package/build/src/database/record/user-module.d.ts.map +1 -1
  796. package/build/src/database/record/validation-messages.d.ts +19 -22
  797. package/build/src/database/record/validation-messages.d.ts.map +1 -1
  798. package/build/src/database/record/validators/base.d.ts +4 -4
  799. package/build/src/database/record/validators/base.d.ts.map +1 -1
  800. package/build/src/database/record/validators/base.js +2 -2
  801. package/build/src/database/record/validators/format.d.ts +12 -1
  802. package/build/src/database/record/validators/format.d.ts.map +1 -1
  803. package/build/src/database/record/validators/length.d.ts +14 -1
  804. package/build/src/database/record/validators/length.d.ts.map +1 -1
  805. package/build/src/database/record/validators/presence.d.ts +11 -1
  806. package/build/src/database/record/validators/presence.d.ts.map +1 -1
  807. package/build/src/database/record/validators/uniqueness.d.ts +12 -1
  808. package/build/src/database/record/validators/uniqueness.d.ts.map +1 -1
  809. package/build/src/database/record-changes.d.ts +7 -18
  810. package/build/src/database/record-changes.d.ts.map +1 -1
  811. package/build/src/database/structure-sql-loader.d.ts +2 -2
  812. package/build/src/database/structure-sql-loader.d.ts.map +1 -1
  813. package/build/src/database/structure-sql-loader.js +4 -4
  814. package/build/src/database/table-data/index.d.ts +21 -24
  815. package/build/src/database/table-data/index.d.ts.map +1 -1
  816. package/build/src/database/table-data/table-column.d.ts +74 -80
  817. package/build/src/database/table-data/table-column.d.ts.map +1 -1
  818. package/build/src/database/table-data/table-column.js +4 -4
  819. package/build/src/database/table-data/table-foreign-key.d.ts +10 -10
  820. package/build/src/database/table-data/table-foreign-key.d.ts.map +1 -1
  821. package/build/src/database/table-data/table-index.d.ts +12 -15
  822. package/build/src/database/table-data/table-index.d.ts.map +1 -1
  823. package/build/src/database/table-data/table-reference.d.ts +2 -2
  824. package/build/src/database/table-data/table-reference.d.ts.map +1 -1
  825. package/build/src/database/tenants/data-copier.d.ts +7 -7
  826. package/build/src/database/tenants/data-copier.d.ts.map +1 -1
  827. package/build/src/database/tenants/schema-cloner.d.ts +3 -3
  828. package/build/src/database/tenants/schema-cloner.d.ts.map +1 -1
  829. package/build/src/database/tenants/tenant-table-plan.d.ts +20 -14
  830. package/build/src/database/tenants/tenant-table-plan.d.ts.map +1 -1
  831. package/build/src/database/tenants/tenant-table-plan.js +17 -1
  832. package/build/src/database/use-database.d.ts.map +1 -1
  833. package/build/src/database/use-live-query.d.ts +17 -29
  834. package/build/src/database/use-live-query.d.ts.map +1 -1
  835. package/build/src/database/use-live-query.js +4 -4
  836. package/build/src/environment-handlers/base.d.ts +112 -103
  837. package/build/src/environment-handlers/base.d.ts.map +1 -1
  838. package/build/src/environment-handlers/base.js +54 -38
  839. package/build/src/environment-handlers/browser.d.ts +63 -56
  840. package/build/src/environment-handlers/browser.d.ts.map +1 -1
  841. package/build/src/environment-handlers/browser.js +2 -2
  842. package/build/src/environment-handlers/node/attachment-path-source.d.ts +9 -9
  843. package/build/src/environment-handlers/node/attachment-path-source.d.ts.map +1 -1
  844. package/build/src/environment-handlers/node/cli/commands/background-jobs-main.d.ts +1 -1
  845. package/build/src/environment-handlers/node/cli/commands/background-jobs-main.d.ts.map +1 -1
  846. package/build/src/environment-handlers/node/cli/commands/background-jobs-runner.d.ts +1 -1
  847. package/build/src/environment-handlers/node/cli/commands/background-jobs-runner.d.ts.map +1 -1
  848. package/build/src/environment-handlers/node/cli/commands/background-jobs-worker.d.ts +1 -1
  849. package/build/src/environment-handlers/node/cli/commands/background-jobs-worker.d.ts.map +1 -1
  850. package/build/src/environment-handlers/node/cli/commands/beacon.d.ts +1 -1
  851. package/build/src/environment-handlers/node/cli/commands/beacon.d.ts.map +1 -1
  852. package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts +7 -10
  853. package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts.map +1 -1
  854. package/build/src/environment-handlers/node/cli/commands/console.d.ts +9 -7
  855. package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
  856. package/build/src/environment-handlers/node/cli/commands/console.js +5 -5
  857. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts +1 -1
  858. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts.map +1 -1
  859. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +1 -1
  860. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -1
  861. package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts +7 -5
  862. package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts.map +1 -1
  863. package/build/src/environment-handlers/node/cli/commands/db/seed.js +3 -3
  864. package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts +4 -7
  865. package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts.map +1 -1
  866. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +1 -1
  867. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
  868. package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +2 -2
  869. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +93 -108
  870. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  871. package/build/src/environment-handlers/node/cli/commands/generate/generated-file-banner.d.ts.map +1 -1
  872. package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts +9 -12
  873. package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts.map +1 -1
  874. package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts +8 -11
  875. package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts.map +1 -1
  876. package/build/src/environment-handlers/node/cli/commands/init.d.ts +7 -9
  877. package/build/src/environment-handlers/node/cli/commands/init.d.ts.map +1 -1
  878. package/build/src/environment-handlers/node/cli/commands/lint/relationships.d.ts +7 -7
  879. package/build/src/environment-handlers/node/cli/commands/lint/relationships.d.ts.map +1 -1
  880. package/build/src/environment-handlers/node/cli/commands/routes.d.ts +1 -1
  881. package/build/src/environment-handlers/node/cli/commands/routes.d.ts.map +1 -1
  882. package/build/src/environment-handlers/node/cli/commands/run-script.d.ts +7 -5
  883. package/build/src/environment-handlers/node/cli/commands/run-script.d.ts.map +1 -1
  884. package/build/src/environment-handlers/node/cli/commands/run-script.js +3 -3
  885. package/build/src/environment-handlers/node/cli/commands/runner.d.ts +9 -7
  886. package/build/src/environment-handlers/node/cli/commands/runner.d.ts.map +1 -1
  887. package/build/src/environment-handlers/node/cli/commands/runner.js +3 -3
  888. package/build/src/environment-handlers/node/cli/commands/server.d.ts +24 -30
  889. package/build/src/environment-handlers/node/cli/commands/server.d.ts.map +1 -1
  890. package/build/src/environment-handlers/node/cli/commands/server.js +2 -2
  891. package/build/src/environment-handlers/node/cli/commands/test.d.ts +5 -5
  892. package/build/src/environment-handlers/node/cli/commands/test.d.ts.map +1 -1
  893. package/build/src/environment-handlers/node/source-peer-package.d.ts +5 -7
  894. package/build/src/environment-handlers/node/source-peer-package.d.ts.map +1 -1
  895. package/build/src/environment-handlers/node/source-peer-package.js +1 -1
  896. package/build/src/environment-handlers/node.d.ts +362 -13
  897. package/build/src/environment-handlers/node.d.ts.map +1 -1
  898. package/build/src/environment-handlers/node.js +37 -37
  899. package/build/src/error-logger.d.ts +3 -3
  900. package/build/src/error-logger.d.ts.map +1 -1
  901. package/build/src/error-logger.js +3 -3
  902. package/build/src/error-reporting/request-details.d.ts +1 -1
  903. package/build/src/error-reporting/request-details.d.ts.map +1 -1
  904. package/build/src/error-reporting/request-details.js +33 -33
  905. package/build/src/frontend-model-controller.d.ts +216 -230
  906. package/build/src/frontend-model-controller.d.ts.map +1 -1
  907. package/build/src/frontend-model-controller.js +217 -211
  908. package/build/src/frontend-model-resource/base-resource.d.ts +315 -365
  909. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  910. package/build/src/frontend-model-resource/base-resource.js +45 -45
  911. package/build/src/frontend-model-resource/velocious-attachment-resource.d.ts +11 -5
  912. package/build/src/frontend-model-resource/velocious-attachment-resource.d.ts.map +1 -1
  913. package/build/src/frontend-model-resource/velocious-attachment-resource.js +2 -2
  914. package/build/src/frontend-models/base.d.ts +632 -726
  915. package/build/src/frontend-models/base.d.ts.map +1 -1
  916. package/build/src/frontend-models/base.js +147 -143
  917. package/build/src/frontend-models/built-in-resources.d.ts +2 -2
  918. package/build/src/frontend-models/built-in-resources.d.ts.map +1 -1
  919. package/build/src/frontend-models/clear-pending-debounced-callback.d.ts +2 -2
  920. package/build/src/frontend-models/clear-pending-debounced-callback.d.ts.map +1 -1
  921. package/build/src/frontend-models/clear-pending-debounced-callback.js +3 -3
  922. package/build/src/frontend-models/event-hook-models.d.ts +3 -6
  923. package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
  924. package/build/src/frontend-models/model-registry.d.ts +5 -5
  925. package/build/src/frontend-models/model-registry.d.ts.map +1 -1
  926. package/build/src/frontend-models/model-registry.js +5 -5
  927. package/build/src/frontend-models/outgoing-event-buffer.d.ts +20 -17
  928. package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
  929. package/build/src/frontend-models/outgoing-event-buffer.js +2 -2
  930. package/build/src/frontend-models/preloader.d.ts.map +1 -1
  931. package/build/src/frontend-models/preloader.js +2 -2
  932. package/build/src/frontend-models/query.d.ts +286 -331
  933. package/build/src/frontend-models/query.d.ts.map +1 -1
  934. package/build/src/frontend-models/query.js +61 -61
  935. package/build/src/frontend-models/resource-config-validation.d.ts +2 -2
  936. package/build/src/frontend-models/resource-config-validation.d.ts.map +1 -1
  937. package/build/src/frontend-models/resource-definition.d.ts +30 -33
  938. package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
  939. package/build/src/frontend-models/resource-definition.js +10 -10
  940. package/build/src/frontend-models/transport-deadline.d.ts.map +1 -1
  941. package/build/src/frontend-models/transport-serialization.d.ts +26 -32
  942. package/build/src/frontend-models/transport-serialization.d.ts.map +1 -1
  943. package/build/src/frontend-models/transport-serialization.js +28 -28
  944. package/build/src/frontend-models/use-created-event.d.ts +4 -4
  945. package/build/src/frontend-models/use-created-event.d.ts.map +1 -1
  946. package/build/src/frontend-models/use-destroyed-event.d.ts +8 -29
  947. package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
  948. package/build/src/frontend-models/use-model-class-event.d.ts +9 -33
  949. package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
  950. package/build/src/frontend-models/use-updated-event.d.ts +8 -29
  951. package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
  952. package/build/src/frontend-models/websocket-channel.d.ts +30 -34
  953. package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
  954. package/build/src/frontend-models/websocket-channel.js +5 -5
  955. package/build/src/frontend-models/websocket-publishers.d.ts +4 -4
  956. package/build/src/frontend-models/websocket-publishers.d.ts.map +1 -1
  957. package/build/src/frontend-models/websocket-publishers.js +2 -2
  958. package/build/src/http-client/header.d.ts +2 -2
  959. package/build/src/http-client/header.d.ts.map +1 -1
  960. package/build/src/http-client/index.d.ts +23 -23
  961. package/build/src/http-client/index.d.ts.map +1 -1
  962. package/build/src/http-client/request.d.ts +9 -9
  963. package/build/src/http-client/request.d.ts.map +1 -1
  964. package/build/src/http-client/request.js +2 -2
  965. package/build/src/http-client/response.d.ts +12 -12
  966. package/build/src/http-client/response.d.ts.map +1 -1
  967. package/build/src/http-client/response.js +2 -2
  968. package/build/src/http-client/websocket-client.d.ts +20 -4
  969. package/build/src/http-client/websocket-client.d.ts.map +1 -1
  970. package/build/src/http-server/client/index.d.ts +26 -26
  971. package/build/src/http-server/client/index.d.ts.map +1 -1
  972. package/build/src/http-server/client/index.js +5 -5
  973. package/build/src/http-server/client/params-to-object.d.ts +11 -11
  974. package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
  975. package/build/src/http-server/client/params-to-object.js +17 -17
  976. package/build/src/http-server/client/request-buffer/form-data-part.d.ts +9 -9
  977. package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
  978. package/build/src/http-server/client/request-buffer/header.d.ts +3 -3
  979. package/build/src/http-server/client/request-buffer/header.d.ts.map +1 -1
  980. package/build/src/http-server/client/request-buffer/index.d.ts +28 -30
  981. package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
  982. package/build/src/http-server/client/request-buffer/index.js +5 -3
  983. package/build/src/http-server/client/request-parser.d.ts +11 -11
  984. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  985. package/build/src/http-server/client/request-parser.js +3 -3
  986. package/build/src/http-server/client/request-runner.d.ts +11 -11
  987. package/build/src/http-server/client/request-runner.d.ts.map +1 -1
  988. package/build/src/http-server/client/request-runner.js +3 -3
  989. package/build/src/http-server/client/request-timing.d.ts +5 -11
  990. package/build/src/http-server/client/request-timing.d.ts.map +1 -1
  991. package/build/src/http-server/client/request.d.ts +10 -10
  992. package/build/src/http-server/client/request.d.ts.map +1 -1
  993. package/build/src/http-server/client/request.js +3 -3
  994. package/build/src/http-server/client/response-compression.d.ts +5 -5
  995. package/build/src/http-server/client/response-compression.d.ts.map +1 -1
  996. package/build/src/http-server/client/response.d.ts +13 -13
  997. package/build/src/http-server/client/response.d.ts.map +1 -1
  998. package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts +8 -2
  999. package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts.map +1 -1
  1000. package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts +8 -2
  1001. package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts.map +1 -1
  1002. package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +4 -4
  1003. package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts.map +1 -1
  1004. package/build/src/http-server/client/websocket-request.d.ts +26 -26
  1005. package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
  1006. package/build/src/http-server/client/websocket-request.js +7 -7
  1007. package/build/src/http-server/client/websocket-session.d.ts +105 -108
  1008. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  1009. package/build/src/http-server/client/websocket-session.js +29 -29
  1010. package/build/src/http-server/client-delivery-queue.d.ts +30 -30
  1011. package/build/src/http-server/client-delivery-queue.d.ts.map +1 -1
  1012. package/build/src/http-server/cookie.d.ts +80 -108
  1013. package/build/src/http-server/cookie.d.ts.map +1 -1
  1014. package/build/src/http-server/cookie.js +3 -3
  1015. package/build/src/http-server/development-reloader.d.ts +24 -24
  1016. package/build/src/http-server/development-reloader.d.ts.map +1 -1
  1017. package/build/src/http-server/development-reloader.js +2 -2
  1018. package/build/src/http-server/index.d.ts +66 -72
  1019. package/build/src/http-server/index.d.ts.map +1 -1
  1020. package/build/src/http-server/index.js +6 -6
  1021. package/build/src/http-server/remote-address.d.ts.map +1 -1
  1022. package/build/src/http-server/remote-address.js +2 -2
  1023. package/build/src/http-server/server-client.d.ts +9 -9
  1024. package/build/src/http-server/server-client.d.ts.map +1 -1
  1025. package/build/src/http-server/server-lock.d.ts +11 -11
  1026. package/build/src/http-server/server-lock.d.ts.map +1 -1
  1027. package/build/src/http-server/server-lock.js +5 -5
  1028. package/build/src/http-server/websocket-channel-subscribers.d.ts +11 -10
  1029. package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
  1030. package/build/src/http-server/websocket-channel-subscribers.js +6 -6
  1031. package/build/src/http-server/websocket-channel.d.ts +8 -14
  1032. package/build/src/http-server/websocket-channel.d.ts.map +1 -1
  1033. package/build/src/http-server/websocket-channel.js +2 -2
  1034. package/build/src/http-server/websocket-connection.d.ts +10 -10
  1035. package/build/src/http-server/websocket-connection.d.ts.map +1 -1
  1036. package/build/src/http-server/websocket-connection.js +4 -4
  1037. package/build/src/http-server/websocket-event-log-store.d.ts +58 -64
  1038. package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
  1039. package/build/src/http-server/websocket-event-log-store.js +10 -10
  1040. package/build/src/http-server/websocket-events-host.d.ts +17 -16
  1041. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  1042. package/build/src/http-server/websocket-events-host.js +8 -8
  1043. package/build/src/http-server/websocket-events.d.ts +9 -9
  1044. package/build/src/http-server/websocket-events.d.ts.map +1 -1
  1045. package/build/src/http-server/websocket-events.js +5 -5
  1046. package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts +2 -2
  1047. package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts.map +1 -1
  1048. package/build/src/http-server/worker-handler/channel-subscriber-dispatch.js +2 -2
  1049. package/build/src/http-server/worker-handler/in-process.d.ts +22 -22
  1050. package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
  1051. package/build/src/http-server/worker-handler/in-process.js +6 -6
  1052. package/build/src/http-server/worker-handler/index.d.ts +50 -50
  1053. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  1054. package/build/src/http-server/worker-handler/index.js +11 -11
  1055. package/build/src/http-server/worker-handler/worker-thread.d.ts +61 -61
  1056. package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
  1057. package/build/src/http-server/worker-handler/worker-thread.js +9 -9
  1058. package/build/src/initializer.d.ts +2 -2
  1059. package/build/src/initializer.d.ts.map +1 -1
  1060. package/build/src/jobs/mail-delivery.d.ts +7 -2
  1061. package/build/src/jobs/mail-delivery.d.ts.map +1 -1
  1062. package/build/src/jobs/prune-terminal-background-jobs.d.ts +15 -2
  1063. package/build/src/jobs/prune-terminal-background-jobs.d.ts.map +1 -1
  1064. package/build/src/jobs/prune-terminal-background-jobs.js +1 -1
  1065. package/build/src/logger/base-logger.d.ts.map +1 -1
  1066. package/build/src/logger/base-logger.js +2 -2
  1067. package/build/src/logger/console-logger.d.ts +3 -3
  1068. package/build/src/logger/console-logger.d.ts.map +1 -1
  1069. package/build/src/logger/file-logger.d.ts +4 -4
  1070. package/build/src/logger/file-logger.d.ts.map +1 -1
  1071. package/build/src/logger/outputs/array-output.d.ts +9 -12
  1072. package/build/src/logger/outputs/array-output.d.ts.map +1 -1
  1073. package/build/src/logger/outputs/console-output.d.ts +1 -4
  1074. package/build/src/logger/outputs/console-output.d.ts.map +1 -1
  1075. package/build/src/logger/outputs/file-output.d.ts +13 -16
  1076. package/build/src/logger/outputs/file-output.d.ts.map +1 -1
  1077. package/build/src/logger/outputs/stdout-output.d.ts +1 -4
  1078. package/build/src/logger/outputs/stdout-output.d.ts.map +1 -1
  1079. package/build/src/logger.d.ts +30 -29
  1080. package/build/src/logger.d.ts.map +1 -1
  1081. package/build/src/logger.js +13 -13
  1082. package/build/src/mailer/backends/smtp.d.ts +8 -11
  1083. package/build/src/mailer/backends/smtp.d.ts.map +1 -1
  1084. package/build/src/mailer/backends/smtp.js +4 -4
  1085. package/build/src/mailer/base.d.ts +61 -61
  1086. package/build/src/mailer/base.d.ts.map +1 -1
  1087. package/build/src/mailer/base.js +15 -15
  1088. package/build/src/mailer/delivery.d.ts +16 -16
  1089. package/build/src/mailer/delivery.d.ts.map +1 -1
  1090. package/build/src/mailer/delivery.js +4 -4
  1091. package/build/src/mailer/index.d.ts +8 -13
  1092. package/build/src/mailer/index.d.ts.map +1 -1
  1093. package/build/src/mailer/index.js +2 -2
  1094. package/build/src/mailer.d.ts +9 -7
  1095. package/build/src/mailer.d.ts.map +1 -1
  1096. package/build/src/mailer.js +2 -2
  1097. package/build/src/packages/velocious-package.d.ts +5 -5
  1098. package/build/src/packages/velocious-package.d.ts.map +1 -1
  1099. package/build/src/plugins/sqljs-wasm-route-controller.d.ts +1 -1
  1100. package/build/src/plugins/sqljs-wasm-route-controller.d.ts.map +1 -1
  1101. package/build/src/plugins/sqljs-wasm-route-controller.js +2 -2
  1102. package/build/src/plugins/sqljs-wasm-route.d.ts +14 -20
  1103. package/build/src/plugins/sqljs-wasm-route.d.ts.map +1 -1
  1104. package/build/src/plugins/sqljs-wasm-route.js +1 -1
  1105. package/build/src/record-payload-values.d.ts +14 -14
  1106. package/build/src/record-payload-values.d.ts.map +1 -1
  1107. package/build/src/record-payload-values.js +4 -4
  1108. package/build/src/routes/app-routes.d.ts.map +1 -1
  1109. package/build/src/routes/base-route.d.ts +11 -10
  1110. package/build/src/routes/base-route.d.ts.map +1 -1
  1111. package/build/src/routes/base-route.js +6 -6
  1112. package/build/src/routes/basic-route.d.ts +36 -3
  1113. package/build/src/routes/basic-route.d.ts.map +1 -1
  1114. package/build/src/routes/basic-route.js +5 -5
  1115. package/build/src/routes/built-in/api-manifest/controller.d.ts +1 -1
  1116. package/build/src/routes/built-in/api-manifest/controller.d.ts.map +1 -1
  1117. package/build/src/routes/built-in/debug/controller.d.ts +1 -1
  1118. package/build/src/routes/built-in/debug/controller.d.ts.map +1 -1
  1119. package/build/src/routes/built-in/errors/controller.d.ts +1 -1
  1120. package/build/src/routes/built-in/errors/controller.d.ts.map +1 -1
  1121. package/build/src/routes/get-route.d.ts +19 -4
  1122. package/build/src/routes/get-route.d.ts.map +1 -1
  1123. package/build/src/routes/get-route.js +3 -3
  1124. package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts +1 -1
  1125. package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts.map +1 -1
  1126. package/build/src/routes/hooks/frontend-model-command-route-hook.js +2 -2
  1127. package/build/src/routes/index.d.ts +5 -5
  1128. package/build/src/routes/index.d.ts.map +1 -1
  1129. package/build/src/routes/index.js +4 -4
  1130. package/build/src/routes/namespace-route.d.ts +19 -4
  1131. package/build/src/routes/namespace-route.d.ts.map +1 -1
  1132. package/build/src/routes/namespace-route.js +2 -2
  1133. package/build/src/routes/plugin-routes.d.ts +16 -19
  1134. package/build/src/routes/plugin-routes.d.ts.map +1 -1
  1135. package/build/src/routes/plugin-routes.js +2 -2
  1136. package/build/src/routes/post-route.d.ts +19 -4
  1137. package/build/src/routes/post-route.d.ts.map +1 -1
  1138. package/build/src/routes/post-route.js +3 -3
  1139. package/build/src/routes/resolver.d.ts +16 -16
  1140. package/build/src/routes/resolver.d.ts.map +1 -1
  1141. package/build/src/routes/resolver.js +6 -6
  1142. package/build/src/routes/resource-route.d.ts +23 -8
  1143. package/build/src/routes/resource-route.d.ts.map +1 -1
  1144. package/build/src/routes/resource-route.js +2 -2
  1145. package/build/src/routes/root-route.d.ts +1 -1
  1146. package/build/src/routes/root-route.d.ts.map +1 -1
  1147. package/build/src/sync/conflict-strategy.d.ts +50 -35
  1148. package/build/src/sync/conflict-strategy.d.ts.map +1 -1
  1149. package/build/src/sync/conflict-strategy.js +2 -2
  1150. package/build/src/sync/device-identity.d.ts +109 -79
  1151. package/build/src/sync/device-identity.d.ts.map +1 -1
  1152. package/build/src/sync/local-mutation-log.d.ts +115 -92
  1153. package/build/src/sync/local-mutation-log.d.ts.map +1 -1
  1154. package/build/src/sync/offline-grant.d.ts +80 -63
  1155. package/build/src/sync/offline-grant.d.ts.map +1 -1
  1156. package/build/src/sync/peer-mutation-bundle.d.ts +33 -39
  1157. package/build/src/sync/peer-mutation-bundle.d.ts.map +1 -1
  1158. package/build/src/sync/query-scope.d.ts +3 -3
  1159. package/build/src/sync/query-scope.d.ts.map +1 -1
  1160. package/build/src/sync/query-scope.js +8 -8
  1161. package/build/src/sync/server-change-feed.d.ts +129 -129
  1162. package/build/src/sync/server-change-feed.d.ts.map +1 -1
  1163. package/build/src/sync/server-change-feed.js +14 -14
  1164. package/build/src/sync/server-sequence-allocator.d.ts +36 -36
  1165. package/build/src/sync/server-sequence-allocator.d.ts.map +1 -1
  1166. package/build/src/sync/server-sequence-allocator.js +6 -6
  1167. package/build/src/sync/signed-sync-envelope-replay-service.d.ts +60 -48
  1168. package/build/src/sync/signed-sync-envelope-replay-service.d.ts.map +1 -1
  1169. package/build/src/sync/signed-sync-envelope-replay-service.js +21 -21
  1170. package/build/src/sync/stable-json.d.ts +2 -2
  1171. package/build/src/sync/stable-json.d.ts.map +1 -1
  1172. package/build/src/sync/stable-json.js +5 -5
  1173. package/build/src/sync/sync-api-client-types.d.ts +98 -25
  1174. package/build/src/sync/sync-api-client-types.d.ts.map +1 -1
  1175. package/build/src/sync/sync-api-client-types.js +73 -1
  1176. package/build/src/sync/sync-api-client.d.ts +71 -71
  1177. package/build/src/sync/sync-api-client.d.ts.map +1 -1
  1178. package/build/src/sync/sync-api-client.js +30 -30
  1179. package/build/src/sync/sync-api-controller.d.ts +23 -23
  1180. package/build/src/sync/sync-api-controller.d.ts.map +1 -1
  1181. package/build/src/sync/sync-change-fanout.d.ts +32 -38
  1182. package/build/src/sync/sync-change-fanout.d.ts.map +1 -1
  1183. package/build/src/sync/sync-change-fanout.js +7 -7
  1184. package/build/src/sync/sync-channel-name.d.ts +1 -1
  1185. package/build/src/sync/sync-channel-name.d.ts.map +1 -1
  1186. package/build/src/sync/sync-client-registry.d.ts +4 -4
  1187. package/build/src/sync/sync-client-registry.d.ts.map +1 -1
  1188. package/build/src/sync/sync-client-registry.js +4 -4
  1189. package/build/src/sync/sync-client-types.d.ts +130 -82
  1190. package/build/src/sync/sync-client-types.d.ts.map +1 -1
  1191. package/build/src/sync/sync-client-types.js +89 -1
  1192. package/build/src/sync/sync-client.d.ts +76 -76
  1193. package/build/src/sync/sync-client.d.ts.map +1 -1
  1194. package/build/src/sync/sync-client.js +19 -19
  1195. package/build/src/sync/sync-envelope-replay-service.d.ts +266 -298
  1196. package/build/src/sync/sync-envelope-replay-service.d.ts.map +1 -1
  1197. package/build/src/sync/sync-envelope-replay-service.js +77 -77
  1198. package/build/src/sync/sync-model-change-feed-service.d.ts +23 -23
  1199. package/build/src/sync/sync-model-change-feed-service.d.ts.map +1 -1
  1200. package/build/src/sync/sync-model-change-feed-service.js +8 -8
  1201. package/build/src/sync/sync-publish-suppression.d.ts +5 -5
  1202. package/build/src/sync/sync-publish-suppression.d.ts.map +1 -1
  1203. package/build/src/sync/sync-publish-suppression.js +3 -3
  1204. package/build/src/sync/sync-publisher-types.d.ts +98 -55
  1205. package/build/src/sync/sync-publisher-types.d.ts.map +1 -1
  1206. package/build/src/sync/sync-publisher-types.js +75 -1
  1207. package/build/src/sync/sync-publisher.d.ts +43 -43
  1208. package/build/src/sync/sync-publisher.d.ts.map +1 -1
  1209. package/build/src/sync/sync-publisher.js +20 -20
  1210. package/build/src/sync/sync-realtime-bridge.d.ts +23 -23
  1211. package/build/src/sync/sync-realtime-bridge.d.ts.map +1 -1
  1212. package/build/src/sync/sync-realtime-bridge.js +9 -9
  1213. package/build/src/sync/sync-replay-upsert-applier.d.ts +70 -70
  1214. package/build/src/sync/sync-replay-upsert-applier.d.ts.map +1 -1
  1215. package/build/src/sync/sync-replay-upsert-applier.js +17 -17
  1216. package/build/src/sync/sync-resource-base.d.ts +52 -51
  1217. package/build/src/sync/sync-resource-base.d.ts.map +1 -1
  1218. package/build/src/sync/sync-resource-base.js +15 -15
  1219. package/build/src/sync/sync-scope-attributes.d.ts +2 -2
  1220. package/build/src/sync/sync-scope-attributes.d.ts.map +1 -1
  1221. package/build/src/sync/sync-scope-attributes.js +2 -2
  1222. package/build/src/sync/sync-scope-store.d.ts +36 -36
  1223. package/build/src/sync/sync-scope-store.d.ts.map +1 -1
  1224. package/build/src/sync/sync-scope-store.js +6 -6
  1225. package/build/src/sync/sync-websocket-channel.d.ts +11 -6
  1226. package/build/src/sync/sync-websocket-channel.d.ts.map +1 -1
  1227. package/build/src/sync/sync-websocket-channel.js +6 -6
  1228. package/build/src/tenants/default-tenant-database-provisioning.d.ts +4 -4
  1229. package/build/src/tenants/default-tenant-database-provisioning.d.ts.map +1 -1
  1230. package/build/src/tenants/default-tenant-database-provisioning.js +2 -2
  1231. package/build/src/tenants/tenant-aggregator.d.ts +81 -81
  1232. package/build/src/tenants/tenant-aggregator.d.ts.map +1 -1
  1233. package/build/src/tenants/tenant-aggregator.js +13 -13
  1234. package/build/src/tenants/tenant-handle.d.ts +64 -0
  1235. package/build/src/tenants/tenant-handle.d.ts.map +1 -0
  1236. package/build/src/tenants/tenant-handle.js +221 -0
  1237. package/build/src/tenants/tenant-iterator.d.ts +17 -17
  1238. package/build/src/tenants/tenant-iterator.d.ts.map +1 -1
  1239. package/build/src/tenants/tenant-iterator.js +7 -7
  1240. package/build/src/tenants/tenant-model-scope.d.ts +73 -0
  1241. package/build/src/tenants/tenant-model-scope.d.ts.map +1 -0
  1242. package/build/src/tenants/tenant-model-scope.js +115 -0
  1243. package/build/src/tenants/tenant.d.ts +16 -6
  1244. package/build/src/tenants/tenant.d.ts.map +1 -1
  1245. package/build/src/tenants/tenant.js +15 -3
  1246. package/build/src/testing/base-expect.d.ts.map +1 -1
  1247. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts +19 -31
  1248. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
  1249. package/build/src/testing/browser-test-app.js +6 -6
  1250. package/build/src/testing/expect-to-change.d.ts +9 -7
  1251. package/build/src/testing/expect-to-change.d.ts.map +1 -1
  1252. package/build/src/testing/expect-to-change.js +2 -2
  1253. package/build/src/testing/expect-utils.d.ts +30 -29
  1254. package/build/src/testing/expect-utils.d.ts.map +1 -1
  1255. package/build/src/testing/expect-utils.js +30 -30
  1256. package/build/src/testing/expect.d.ts +30 -30
  1257. package/build/src/testing/expect.d.ts.map +1 -1
  1258. package/build/src/testing/expect.js +19 -19
  1259. package/build/src/testing/factory/association-declaration.d.ts +16 -16
  1260. package/build/src/testing/factory/association-declaration.d.ts.map +1 -1
  1261. package/build/src/testing/factory/association-declaration.js +3 -3
  1262. package/build/src/testing/factory/declarations.d.ts +90 -115
  1263. package/build/src/testing/factory/declarations.d.ts.map +1 -1
  1264. package/build/src/testing/factory/declarations.js +6 -6
  1265. package/build/src/testing/factory/definition-builder.d.ts +72 -70
  1266. package/build/src/testing/factory/definition-builder.d.ts.map +1 -1
  1267. package/build/src/testing/factory/definition-builder.js +40 -40
  1268. package/build/src/testing/factory/errors.d.ts +30 -29
  1269. package/build/src/testing/factory/errors.d.ts.map +1 -1
  1270. package/build/src/testing/factory/evaluation-context.d.ts +29 -29
  1271. package/build/src/testing/factory/evaluation-context.d.ts.map +1 -1
  1272. package/build/src/testing/factory/evaluation-context.js +17 -17
  1273. package/build/src/testing/factory/events.d.ts +4 -5
  1274. package/build/src/testing/factory/events.d.ts.map +1 -1
  1275. package/build/src/testing/factory/factory-definition.d.ts +14 -14
  1276. package/build/src/testing/factory/factory-definition.d.ts.map +1 -1
  1277. package/build/src/testing/factory/factory-definition.js +3 -3
  1278. package/build/src/testing/factory/factory-registry.d.ts +56 -54
  1279. package/build/src/testing/factory/factory-registry.d.ts.map +1 -1
  1280. package/build/src/testing/factory/factory-registry.js +35 -35
  1281. package/build/src/testing/factory/factory-runner.d.ts +67 -73
  1282. package/build/src/testing/factory/factory-runner.d.ts.map +1 -1
  1283. package/build/src/testing/factory/factory-runner.js +9 -9
  1284. package/build/src/testing/factory/index.d.ts +7 -7
  1285. package/build/src/testing/factory/index.d.ts.map +1 -1
  1286. package/build/src/testing/factory/linter.d.ts +7 -7
  1287. package/build/src/testing/factory/linter.d.ts.map +1 -1
  1288. package/build/src/testing/factory/linter.js +3 -3
  1289. package/build/src/testing/factory/model-contract.d.ts +3 -3
  1290. package/build/src/testing/factory/model-contract.d.ts.map +1 -1
  1291. package/build/src/testing/factory/model-contract.js +4 -4
  1292. package/build/src/testing/factory/node/load-definitions.d.ts +2 -2
  1293. package/build/src/testing/factory/node/load-definitions.d.ts.map +1 -1
  1294. package/build/src/testing/factory/sequence.d.ts +19 -23
  1295. package/build/src/testing/factory/sequence.d.ts.map +1 -1
  1296. package/build/src/testing/factory/sequence.js +3 -3
  1297. package/build/src/testing/factory/strategies/attributes-for.d.ts +3 -3
  1298. package/build/src/testing/factory/strategies/attributes-for.d.ts.map +1 -1
  1299. package/build/src/testing/factory/strategies/attributes-for.js +2 -2
  1300. package/build/src/testing/factory/strategies/base.d.ts +32 -32
  1301. package/build/src/testing/factory/strategies/base.d.ts.map +1 -1
  1302. package/build/src/testing/factory/strategies/base.js +25 -25
  1303. package/build/src/testing/factory/strategies/build.d.ts +3 -3
  1304. package/build/src/testing/factory/strategies/build.d.ts.map +1 -1
  1305. package/build/src/testing/factory/strategies/build.js +3 -3
  1306. package/build/src/testing/factory/strategies/create.d.ts +6 -6
  1307. package/build/src/testing/factory/strategies/create.d.ts.map +1 -1
  1308. package/build/src/testing/factory/strategies/create.js +5 -5
  1309. package/build/src/testing/factory/trait-definition.d.ts +4 -4
  1310. package/build/src/testing/factory/trait-definition.d.ts.map +1 -1
  1311. package/build/src/testing/request-client.d.ts +19 -19
  1312. package/build/src/testing/request-client.d.ts.map +1 -1
  1313. package/build/src/testing/test-files-finder.d.ts +15 -15
  1314. package/build/src/testing/test-files-finder.d.ts.map +1 -1
  1315. package/build/src/testing/test-files-finder.js +2 -2
  1316. package/build/src/testing/test-filter-parser.d.ts +19 -12
  1317. package/build/src/testing/test-filter-parser.d.ts.map +1 -1
  1318. package/build/src/testing/test-runner.d.ts +204 -251
  1319. package/build/src/testing/test-runner.d.ts.map +1 -1
  1320. package/build/src/testing/test-runner.js +15 -15
  1321. package/build/src/testing/test-suite-splitter.d.ts +25 -31
  1322. package/build/src/testing/test-suite-splitter.d.ts.map +1 -1
  1323. package/build/src/testing/test.d.ts +51 -55
  1324. package/build/src/testing/test.d.ts.map +1 -1
  1325. package/build/src/testing/test.js +20 -18
  1326. package/build/src/testing/wait-for-event.d.ts +25 -25
  1327. package/build/src/testing/wait-for-event.d.ts.map +1 -1
  1328. package/build/src/testing/wait-for-event.js +6 -6
  1329. package/build/src/time-zone.d.ts +3 -3
  1330. package/build/src/time-zone.d.ts.map +1 -1
  1331. package/build/src/utils/backtrace-cleaner-node.d.ts +35 -2
  1332. package/build/src/utils/backtrace-cleaner-node.d.ts.map +1 -1
  1333. package/build/src/utils/backtrace-cleaner-node.js +1 -1
  1334. package/build/src/utils/backtrace-cleaner.d.ts +33 -28
  1335. package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
  1336. package/build/src/utils/bearer-token.d.ts +2 -2
  1337. package/build/src/utils/bearer-token.d.ts.map +1 -1
  1338. package/build/src/utils/deburr-column-name.d.ts.map +1 -1
  1339. package/build/src/utils/event-emitter.d.ts +1 -1
  1340. package/build/src/utils/event-emitter.d.ts.map +1 -1
  1341. package/build/src/utils/event-emitter.js +2 -2
  1342. package/build/src/utils/file-exists.d.ts.map +1 -1
  1343. package/build/src/utils/format-value.d.ts +9 -8
  1344. package/build/src/utils/format-value.d.ts.map +1 -1
  1345. package/build/src/utils/format-value.js +7 -7
  1346. package/build/src/utils/is-date.d.ts +2 -2
  1347. package/build/src/utils/is-date.d.ts.map +1 -1
  1348. package/build/src/utils/is-date.js +2 -2
  1349. package/build/src/utils/model-scope.d.ts +29 -24
  1350. package/build/src/utils/model-scope.d.ts.map +1 -1
  1351. package/build/src/utils/model-scope.js +11 -11
  1352. package/build/src/utils/mount-prefix.d.ts +2 -2
  1353. package/build/src/utils/mount-prefix.d.ts.map +1 -1
  1354. package/build/src/utils/nest-callbacks.d.ts.map +1 -1
  1355. package/build/src/utils/plain-object.d.ts +3 -3
  1356. package/build/src/utils/plain-object.d.ts.map +1 -1
  1357. package/build/src/utils/plain-object.js +3 -3
  1358. package/build/src/utils/ransack.d.ts +69 -90
  1359. package/build/src/utils/ransack.d.ts.map +1 -1
  1360. package/build/src/utils/ransack.js +36 -36
  1361. package/build/src/utils/rest-args-error.d.ts.map +1 -1
  1362. package/build/src/utils/sha256-hex.d.ts.map +1 -1
  1363. package/build/src/utils/shutdown-lifecycle.d.ts +1 -1
  1364. package/build/src/utils/shutdown-lifecycle.d.ts.map +1 -1
  1365. package/build/src/utils/singularize-model-name.d.ts.map +1 -1
  1366. package/build/src/utils/split-sql-statements.d.ts.map +1 -1
  1367. package/build/src/utils/to-import-specifier.d.ts.map +1 -1
  1368. package/build/src/utils/with-tracked-stack-async-hooks.d.ts +6 -5
  1369. package/build/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -1
  1370. package/build/src/utils/with-tracked-stack-async-hooks.js +9 -9
  1371. package/build/src/utils/with-tracked-stack.d.ts +6 -5
  1372. package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
  1373. package/build/src/utils/with-tracked-stack.js +7 -7
  1374. package/build/src/velocious-error.d.ts +27 -17
  1375. package/build/src/velocious-error.d.ts.map +1 -1
  1376. package/build/src/velocious-error.js +10 -4
  1377. package/build/sync/conflict-strategy.js +1 -1
  1378. package/build/sync/query-scope.js +7 -7
  1379. package/build/sync/server-change-feed.js +13 -13
  1380. package/build/sync/server-sequence-allocator.js +5 -5
  1381. package/build/sync/signed-sync-envelope-replay-service.js +20 -20
  1382. package/build/sync/stable-json.js +4 -4
  1383. package/build/sync/sync-api-client-types.js +7 -7
  1384. package/build/sync/sync-api-client.js +26 -26
  1385. package/build/sync/sync-change-fanout.js +6 -6
  1386. package/build/sync/sync-client-registry.js +3 -3
  1387. package/build/sync/sync-client-types.js +10 -10
  1388. package/build/sync/sync-client.js +18 -18
  1389. package/build/sync/sync-envelope-replay-service.js +76 -76
  1390. package/build/sync/sync-model-change-feed-service.js +7 -7
  1391. package/build/sync/sync-publish-suppression.js +2 -2
  1392. package/build/sync/sync-publisher-types.js +11 -11
  1393. package/build/sync/sync-publisher.js +19 -19
  1394. package/build/sync/sync-realtime-bridge.js +8 -8
  1395. package/build/sync/sync-replay-upsert-applier.js +16 -16
  1396. package/build/sync/sync-resource-base.js +14 -14
  1397. package/build/sync/sync-scope-attributes.js +1 -1
  1398. package/build/sync/sync-scope-store.js +5 -5
  1399. package/build/sync/sync-websocket-channel.js +5 -5
  1400. package/build/tenants/default-tenant-database-provisioning.js +1 -1
  1401. package/build/tenants/tenant-aggregator.js +13 -13
  1402. package/build/tenants/tenant-handle.js +252 -0
  1403. package/build/tenants/tenant-iterator.js +6 -6
  1404. package/build/tenants/tenant-model-scope.js +132 -0
  1405. package/build/tenants/tenant.js +15 -2
  1406. package/build/testing/browser-test-app.js +2 -2
  1407. package/build/testing/expect-to-change.js +1 -1
  1408. package/build/testing/expect-utils.js +29 -29
  1409. package/build/testing/expect.js +18 -18
  1410. package/build/testing/factory/association-declaration.js +2 -2
  1411. package/build/testing/factory/declarations.js +5 -5
  1412. package/build/testing/factory/definition-builder.js +39 -39
  1413. package/build/testing/factory/evaluation-context.js +16 -16
  1414. package/build/testing/factory/factory-definition.js +2 -2
  1415. package/build/testing/factory/factory-registry.js +34 -34
  1416. package/build/testing/factory/factory-runner.js +8 -8
  1417. package/build/testing/factory/linter.js +2 -2
  1418. package/build/testing/factory/model-contract.js +3 -3
  1419. package/build/testing/factory/sequence.js +2 -2
  1420. package/build/testing/factory/strategies/attributes-for.js +1 -1
  1421. package/build/testing/factory/strategies/base.js +24 -24
  1422. package/build/testing/factory/strategies/build.js +2 -2
  1423. package/build/testing/factory/strategies/create.js +4 -4
  1424. package/build/testing/test-files-finder.js +1 -1
  1425. package/build/testing/test-runner.js +14 -14
  1426. package/build/testing/test.js +19 -17
  1427. package/build/testing/wait-for-event.js +5 -5
  1428. package/build/tsconfig.tsbuildinfo +1 -1
  1429. package/build/utils/event-emitter.js +1 -1
  1430. package/build/utils/format-value.js +6 -6
  1431. package/build/utils/is-date.js +1 -1
  1432. package/build/utils/model-scope.js +10 -10
  1433. package/build/utils/plain-object.js +2 -2
  1434. package/build/utils/ransack.js +35 -35
  1435. package/build/utils/with-tracked-stack-async-hooks.js +8 -8
  1436. package/build/utils/with-tracked-stack.js +6 -6
  1437. package/build/velocious-error.js +9 -3
  1438. package/package.json +3 -3
  1439. package/src/application.js +3 -3
  1440. package/src/authorization/ability.js +6 -6
  1441. package/src/authorization/base-resource.js +1 -1
  1442. package/src/background-jobs/client.js +2 -2
  1443. package/src/background-jobs/forked-runner-child.js +4 -4
  1444. package/src/background-jobs/job-runner.js +2 -2
  1445. package/src/background-jobs/job.js +6 -6
  1446. package/src/background-jobs/json-socket.js +1 -1
  1447. package/src/background-jobs/main.js +13 -13
  1448. package/src/background-jobs/normalize-error.js +2 -2
  1449. package/src/background-jobs/pooled-runner-child.js +3 -3
  1450. package/src/background-jobs/scheduler.js +1 -1
  1451. package/src/background-jobs/status-reporter.js +2 -2
  1452. package/src/background-jobs/store.js +23 -23
  1453. package/src/background-jobs/types.js +6 -6
  1454. package/src/background-jobs/web/controller.js +6 -6
  1455. package/src/background-jobs/web/counts-channel.js +1 -1
  1456. package/src/background-jobs/worker.js +8 -8
  1457. package/src/beacon/client.js +3 -3
  1458. package/src/beacon/in-process-client.js +3 -3
  1459. package/src/beacon/types.js +1 -1
  1460. package/src/cli/base-command.js +1 -1
  1461. package/src/cli/commands/console.js +1 -1
  1462. package/src/cli/commands/db/schema/dump.js +1 -1
  1463. package/src/cli/commands/db/schema/load.js +1 -1
  1464. package/src/cli/commands/db/seed.js +1 -1
  1465. package/src/cli/commands/generate/frontend-models.js +1 -1
  1466. package/src/cli/commands/lint/relationships.js +1 -1
  1467. package/src/cli/commands/run-script.js +1 -1
  1468. package/src/cli/commands/runner.js +1 -1
  1469. package/src/cli/index.js +2 -2
  1470. package/src/cli/tenant-database-command-helper.js +2 -2
  1471. package/src/configuration-types.js +48 -47
  1472. package/src/configuration.js +150 -65
  1473. package/src/controller.js +11 -8
  1474. package/src/current.js +2 -2
  1475. package/src/database/annotations-async-hooks.js +3 -3
  1476. package/src/database/annotations.js +1 -1
  1477. package/src/database/drivers/base-column.js +1 -1
  1478. package/src/database/drivers/base-foreign-key.js +1 -1
  1479. package/src/database/drivers/base-table.js +1 -1
  1480. package/src/database/drivers/base.js +18 -18
  1481. package/src/database/drivers/mssql/column.js +1 -1
  1482. package/src/database/drivers/mssql/index.js +2 -2
  1483. package/src/database/drivers/mssql/options.js +1 -1
  1484. package/src/database/drivers/mssql/structure-sql.js +1 -1
  1485. package/src/database/drivers/mssql/table.js +1 -1
  1486. package/src/database/drivers/mysql/column.js +1 -1
  1487. package/src/database/drivers/mysql/index.js +4 -4
  1488. package/src/database/drivers/mysql/options.js +1 -1
  1489. package/src/database/drivers/mysql/query.js +7 -7
  1490. package/src/database/drivers/mysql/structure-sql.js +71 -10
  1491. package/src/database/drivers/pgsql/column.js +1 -1
  1492. package/src/database/drivers/pgsql/index.js +6 -6
  1493. package/src/database/drivers/pgsql/structure-sql.js +1 -1
  1494. package/src/database/drivers/sqlite/base.js +7 -7
  1495. package/src/database/drivers/sqlite/column.js +1 -1
  1496. package/src/database/drivers/sqlite/connection-sql-js.js +1 -1
  1497. package/src/database/drivers/sqlite/foreign-key.js +1 -1
  1498. package/src/database/drivers/sqlite/index.js +1 -1
  1499. package/src/database/drivers/sqlite/index.native.js +2 -2
  1500. package/src/database/drivers/sqlite/index.web.js +2 -2
  1501. package/src/database/drivers/sqlite/query.js +2 -2
  1502. package/src/database/drivers/sqlite/query.native.js +2 -2
  1503. package/src/database/drivers/sqlite/query.web.js +2 -2
  1504. package/src/database/drivers/sqlite/table-rebuilder.js +1 -1
  1505. package/src/database/migration/index.js +2 -2
  1506. package/src/database/migrator/types.js +2 -2
  1507. package/src/database/operation.js +59 -6
  1508. package/src/database/pool/async-tracked-multi-connection.js +75 -24
  1509. package/src/database/pool/base-methods-forward.js +2 -2
  1510. package/src/database/pool/base.js +48 -17
  1511. package/src/database/pool/single-multi-use.js +501 -103
  1512. package/src/database/query/delete-base.js +1 -1
  1513. package/src/database/query/index.js +3 -3
  1514. package/src/database/query/insert-base.js +4 -4
  1515. package/src/database/query/model-class-query.js +39 -39
  1516. package/src/database/query/preloader/belongs-to.js +2 -2
  1517. package/src/database/query/preloader/ensure-model-class-initialized.js +3 -2
  1518. package/src/database/query/preloader/has-many.js +3 -3
  1519. package/src/database/query/preloader/has-one.js +1 -1
  1520. package/src/database/query/preloader.js +9 -2
  1521. package/src/database/query/query-data.js +7 -7
  1522. package/src/database/query/update-base.js +3 -3
  1523. package/src/database/query/upsert-base.js +2 -2
  1524. package/src/database/query/where-model-class-hash.js +13 -13
  1525. package/src/database/query/with-count.js +12 -12
  1526. package/src/database/query-parser/options.js +2 -2
  1527. package/src/database/query-parser/select-parser.js +1 -1
  1528. package/src/database/record/acts-as-list.js +2 -2
  1529. package/src/database/record/attachments/handle.js +6 -6
  1530. package/src/database/record/attachments/normalize-input.js +11 -11
  1531. package/src/database/record/attachments/storage-drivers/filesystem.js +1 -1
  1532. package/src/database/record/attachments/storage-drivers/native.js +5 -5
  1533. package/src/database/record/attachments/storage-drivers/s3.js +10 -10
  1534. package/src/database/record/attachments/store.js +24 -20
  1535. package/src/database/record/auditing.js +123 -29
  1536. package/src/database/record/counter-cache-magnitude.js +11 -11
  1537. package/src/database/record/index.js +227 -174
  1538. package/src/database/record/instance-relationships/base.js +4 -4
  1539. package/src/database/record/instance-relationships/belongs-to.js +1 -1
  1540. package/src/database/record/instance-relationships/has-many.js +3 -3
  1541. package/src/database/record/instance-relationships/has-one.js +1 -1
  1542. package/src/database/record/record-not-found-error.js +1 -0
  1543. package/src/database/record/relationships/base.js +22 -0
  1544. package/src/database/record/state-machine.js +6 -6
  1545. package/src/database/record/validators/base.js +1 -1
  1546. package/src/database/structure-sql-loader.js +3 -3
  1547. package/src/database/table-data/table-column.js +3 -3
  1548. package/src/database/use-live-query.js +3 -3
  1549. package/src/environment-handlers/base.js +56 -37
  1550. package/src/environment-handlers/browser.js +1 -1
  1551. package/src/environment-handlers/node/cli/commands/console.js +4 -4
  1552. package/src/environment-handlers/node/cli/commands/db/seed.js +2 -2
  1553. package/src/environment-handlers/node/cli/commands/generate/base-models.js +1 -1
  1554. package/src/environment-handlers/node/cli/commands/run-script.js +2 -2
  1555. package/src/environment-handlers/node/cli/commands/runner.js +2 -2
  1556. package/src/environment-handlers/node/cli/commands/server.js +1 -1
  1557. package/src/environment-handlers/node.js +36 -36
  1558. package/src/error-logger.js +2 -2
  1559. package/src/error-reporting/request-details.js +32 -32
  1560. package/src/frontend-model-controller.js +215 -213
  1561. package/src/frontend-model-resource/base-resource.js +44 -44
  1562. package/src/frontend-model-resource/velocious-attachment-resource.js +1 -1
  1563. package/src/frontend-models/base.js +146 -142
  1564. package/src/frontend-models/clear-pending-debounced-callback.js +2 -2
  1565. package/src/frontend-models/model-registry.js +4 -4
  1566. package/src/frontend-models/outgoing-event-buffer.js +1 -1
  1567. package/src/frontend-models/preloader.js +1 -1
  1568. package/src/frontend-models/query.js +60 -60
  1569. package/src/frontend-models/resource-definition.js +9 -9
  1570. package/src/frontend-models/transport-serialization.js +27 -27
  1571. package/src/frontend-models/websocket-channel.js +4 -4
  1572. package/src/frontend-models/websocket-publishers.js +1 -1
  1573. package/src/http-client/request.js +1 -1
  1574. package/src/http-client/response.js +1 -1
  1575. package/src/http-server/client/index.js +4 -4
  1576. package/src/http-server/client/params-to-object.js +16 -16
  1577. package/src/http-server/client/request-buffer/index.js +5 -2
  1578. package/src/http-server/client/request-parser.js +2 -2
  1579. package/src/http-server/client/request-runner.js +2 -2
  1580. package/src/http-server/client/request.js +2 -2
  1581. package/src/http-server/client/websocket-request.js +6 -6
  1582. package/src/http-server/client/websocket-session.js +28 -28
  1583. package/src/http-server/cookie.js +2 -2
  1584. package/src/http-server/development-reloader.js +1 -1
  1585. package/src/http-server/index.js +5 -5
  1586. package/src/http-server/remote-address.js +1 -1
  1587. package/src/http-server/server-lock.js +4 -4
  1588. package/src/http-server/websocket-channel-subscribers.js +4 -4
  1589. package/src/http-server/websocket-channel.js +1 -1
  1590. package/src/http-server/websocket-connection.js +3 -3
  1591. package/src/http-server/websocket-event-log-store.js +9 -9
  1592. package/src/http-server/websocket-events-host.js +7 -7
  1593. package/src/http-server/websocket-events.js +4 -4
  1594. package/src/http-server/worker-handler/channel-subscriber-dispatch.js +1 -1
  1595. package/src/http-server/worker-handler/in-process.js +5 -5
  1596. package/src/http-server/worker-handler/index.js +10 -10
  1597. package/src/http-server/worker-handler/worker-thread.js +8 -8
  1598. package/src/logger/base-logger.js +1 -1
  1599. package/src/logger.js +12 -12
  1600. package/src/mailer/backends/smtp.js +3 -3
  1601. package/src/mailer/base.js +14 -14
  1602. package/src/mailer/delivery.js +3 -3
  1603. package/src/mailer/index.js +1 -1
  1604. package/src/mailer.js +1 -1
  1605. package/src/plugins/sqljs-wasm-route-controller.js +1 -1
  1606. package/src/record-payload-values.js +3 -3
  1607. package/src/routes/base-route.js +5 -5
  1608. package/src/routes/basic-route.js +4 -4
  1609. package/src/routes/get-route.js +2 -2
  1610. package/src/routes/hooks/frontend-model-command-route-hook.js +1 -1
  1611. package/src/routes/index.js +3 -3
  1612. package/src/routes/namespace-route.js +1 -1
  1613. package/src/routes/plugin-routes.js +1 -1
  1614. package/src/routes/post-route.js +2 -2
  1615. package/src/routes/resolver.js +5 -5
  1616. package/src/routes/resource-route.js +1 -1
  1617. package/src/sync/conflict-strategy.js +1 -1
  1618. package/src/sync/query-scope.js +7 -7
  1619. package/src/sync/server-change-feed.js +13 -13
  1620. package/src/sync/server-sequence-allocator.js +5 -5
  1621. package/src/sync/signed-sync-envelope-replay-service.js +20 -20
  1622. package/src/sync/stable-json.js +4 -4
  1623. package/src/sync/sync-api-client-types.js +7 -7
  1624. package/src/sync/sync-api-client.js +26 -26
  1625. package/src/sync/sync-change-fanout.js +6 -6
  1626. package/src/sync/sync-client-registry.js +3 -3
  1627. package/src/sync/sync-client-types.js +10 -10
  1628. package/src/sync/sync-client.js +18 -18
  1629. package/src/sync/sync-envelope-replay-service.js +76 -76
  1630. package/src/sync/sync-model-change-feed-service.js +7 -7
  1631. package/src/sync/sync-publish-suppression.js +2 -2
  1632. package/src/sync/sync-publisher-types.js +11 -11
  1633. package/src/sync/sync-publisher.js +19 -19
  1634. package/src/sync/sync-realtime-bridge.js +8 -8
  1635. package/src/sync/sync-replay-upsert-applier.js +16 -16
  1636. package/src/sync/sync-resource-base.js +14 -14
  1637. package/src/sync/sync-scope-attributes.js +1 -1
  1638. package/src/sync/sync-scope-store.js +5 -5
  1639. package/src/sync/sync-websocket-channel.js +5 -5
  1640. package/src/tenants/default-tenant-database-provisioning.js +1 -1
  1641. package/src/tenants/tenant-aggregator.js +13 -13
  1642. package/src/tenants/tenant-handle.js +252 -0
  1643. package/src/tenants/tenant-iterator.js +6 -6
  1644. package/src/tenants/tenant-model-scope.js +132 -0
  1645. package/src/tenants/tenant.js +15 -2
  1646. package/src/testing/browser-test-app.js +2 -2
  1647. package/src/testing/expect-to-change.js +1 -1
  1648. package/src/testing/expect-utils.js +29 -29
  1649. package/src/testing/expect.js +18 -18
  1650. package/src/testing/factory/association-declaration.js +2 -2
  1651. package/src/testing/factory/declarations.js +5 -5
  1652. package/src/testing/factory/definition-builder.js +39 -39
  1653. package/src/testing/factory/evaluation-context.js +16 -16
  1654. package/src/testing/factory/factory-definition.js +2 -2
  1655. package/src/testing/factory/factory-registry.js +34 -34
  1656. package/src/testing/factory/factory-runner.js +8 -8
  1657. package/src/testing/factory/linter.js +2 -2
  1658. package/src/testing/factory/model-contract.js +3 -3
  1659. package/src/testing/factory/sequence.js +2 -2
  1660. package/src/testing/factory/strategies/attributes-for.js +1 -1
  1661. package/src/testing/factory/strategies/base.js +24 -24
  1662. package/src/testing/factory/strategies/build.js +2 -2
  1663. package/src/testing/factory/strategies/create.js +4 -4
  1664. package/src/testing/test-files-finder.js +1 -1
  1665. package/src/testing/test-runner.js +14 -14
  1666. package/src/testing/test.js +19 -17
  1667. package/src/testing/wait-for-event.js +5 -5
  1668. package/src/utils/event-emitter.js +1 -1
  1669. package/src/utils/format-value.js +6 -6
  1670. package/src/utils/is-date.js +1 -1
  1671. package/src/utils/model-scope.js +10 -10
  1672. package/src/utils/plain-object.js +2 -2
  1673. package/src/utils/ransack.js +35 -35
  1674. package/src/utils/with-tracked-stack-async-hooks.js +8 -8
  1675. package/src/utils/with-tracked-stack.js +6 -6
  1676. package/src/velocious-error.js +9 -3
@@ -2,10 +2,10 @@
2
2
  import restArgsError from "../../utils/rest-args-error.js";
3
3
  /**
4
4
  * Defines this typedef.
5
- * @typedef {{auth?: Record<string, ?>, [key: string]: ?}} SmtpConnectionOptions */
5
+ * @typedef {{auth?: Record<string, ReturnType<typeof JSON.parse>>, [key: string]: ReturnType<typeof JSON.parse>}} SmtpConnectionOptions */
6
6
  /**
7
7
  * Runs normalize recipients.
8
- * @param {?} value - Recipient input.
8
+ * @param {ReturnType<typeof JSON.parse>} value - Recipient input.
9
9
  * @returns {string[]} - Normalized recipients.
10
10
  */
11
11
  function normalizeRecipients(value) {
@@ -135,7 +135,7 @@ export default class SmtpMailerBackend {
135
135
  connection.quit();
136
136
  };
137
137
  const sendMessage = () => {
138
- connection.send({ from: envelopeFrom, to: recipients }, /** @type {?} */ (message), (/** @type {Error | null | undefined} */ sendError) => {
138
+ connection.send({ from: envelopeFrom, to: recipients }, /** @type {ReturnType<typeof JSON.parse>} */ (message), (/** @type {Error | null | undefined} */ sendError) => {
139
139
  if (sendError) {
140
140
  rejectDelivery(sendError);
141
141
  return;
@@ -161,4 +161,4 @@ export default class SmtpMailerBackend {
161
161
  });
162
162
  }
163
163
  }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic210cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWlsZXIvYmFja2VuZHMvc210cC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFFMUQ7O21GQUVtRjtBQUVuRjs7OztHQUlHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxLQUFLO0lBQ2hDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDckIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDekMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUs7SUFDN0IsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUV2QixPQUFPLEdBQUcsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFBO0FBQzVCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxlQUFlLENBQUMsT0FBTztJQUM5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBRXpDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDNUMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sT0FBTyxpQkFBaUI7SUFDcEM7Ozs7O09BS0c7SUFDSCxZQUFZLEVBQUMsaUJBQWlCLEVBQUUsV0FB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QyxDQUFDLENBQUE7WUFDSixDQUFDLENBQUE7WUFFRCxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUMvQixVQUFVLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDekMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5cbi8qKlxuICogRGVmaW5lcyB0aGlzIHR5cGVkZWYuXG4gKiBAdHlwZWRlZiB7e2F1dGg/OiBSZWNvcmQ8c3RyaW5nLCA/PiwgW2tleTogc3RyaW5nXTogP319IFNtdHBDb25uZWN0aW9uT3B0aW9ucyAqL1xuXG4vKipcbiAqIFJ1bnMgbm9ybWFsaXplIHJlY2lwaWVudHMuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gUmVjaXBpZW50IGlucHV0LlxuICogQHJldHVybnMge3N0cmluZ1tdfSAtIE5vcm1hbGl6ZWQgcmVjaXBpZW50cy5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplUmVjaXBpZW50cyh2YWx1ZSkge1xuICBpZiAoIXZhbHVlKSByZXR1cm4gW11cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4gdmFsdWUuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkpXG4gIHJldHVybiBbdmFsdWVdLmZpbHRlcigoZW50cnkpID0+IGVudHJ5KVxufVxuXG4vKipcbiAqIFJ1bnMgaGVhZGVyIGxpbmUuXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEhlYWRlciBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IHZhbHVlIC0gSGVhZGVyIHZhbHVlLlxuICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gSGVhZGVyIGxpbmUuXG4gKi9cbmZ1bmN0aW9uIGhlYWRlckxpbmUobmFtZSwgdmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIG51bGxcblxuICByZXR1cm4gYCR7bmFtZX06ICR7dmFsdWV9YFxufVxuXG4vKipcbiAqIFJ1bnMgZW52ZWxvcGUgYWRkcmVzcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gSGVhZGVyIG9yIG1haWxib3ggYWRkcmVzcy5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU01UUCBlbnZlbG9wZSBtYWlsYm94LlxuICovXG5mdW5jdGlvbiBlbnZlbG9wZUFkZHJlc3MoYWRkcmVzcykge1xuICBjb25zdCBtYXRjaCA9IGFkZHJlc3MubWF0Y2goLzwoW148Pl0rKT4vKVxuXG4gIHJldHVybiAobWF0Y2ggPyBtYXRjaFsxXSA6IGFkZHJlc3MpLnRyaW0oKVxufVxuXG4vKipcbiAqIFNNVFAgbWFpbGVyIGJhY2tlbmQgdXNpbmcgc210cC1jb25uZWN0aW9uLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbXRwTWFpbGVyQmFja2VuZCB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIENvbnN0cnVjdG9yIGFyZ3MuXG4gICAqIEBwYXJhbSB7U210cENvbm5lY3Rpb25PcHRpb25zfSBhcmdzLmNvbm5lY3Rpb25PcHRpb25zIC0gc210cC1jb25uZWN0aW9uIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5kZWZhdWx0RnJvbV0gLSBEZWZhdWx0IGZyb20gYWRkcmVzcy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25uZWN0aW9uT3B0aW9ucywgZGVmYXVsdEZyb20sIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoIWNvbm5lY3Rpb25PcHRpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3Npbmcgc210cCBjb25uZWN0aW9uIG9wdGlvbnMuIEdvdDogJHtTdHJpbmcoY29ubmVjdGlvbk9wdGlvbnMpfWApXG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uT3B0aW9ucyA9IGNvbm5lY3Rpb25PcHRpb25zXG4gICAgdGhpcy5kZWZhdWx0RnJvbSA9IGRlZmF1bHRGcm9tXG4gIH1cblxuICAvKipcbiAgICogUnVucyBkZWxpdmVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIERlbGl2ZXJ5IGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkfSBhcmdzLnBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBbYXJncy5jb25maWd1cmF0aW9uXSAtIEFjdGl2ZSBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgZGVsaXZlcih7cGF5bG9hZCwgY29uZmlndXJhdGlvbjogX2NvbmZpZ3VyYXRpb24sIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBjb25zdCBmcm9tID0gcGF5bG9hZC5mcm9tIHx8IHRoaXMuZGVmYXVsdEZyb21cblxuICAgIGlmICghZnJvbSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIG1haWwgXCJmcm9tXCIgYWRkcmVzcy4gR290OiAke1N0cmluZyhmcm9tKX1gKVxuICAgIH1cblxuICAgIGNvbnN0IGVudmVsb3BlRnJvbSA9IGVudmVsb3BlQWRkcmVzcyhTdHJpbmcoZnJvbSkpXG5cbiAgICBjb25zdCB0b0xpc3QgPSBub3JtYWxpemVSZWNpcGllbnRzKHBheWxvYWQudG8pXG4gICAgY29uc3QgY2NMaXN0ID0gbm9ybWFsaXplUmVjaXBpZW50cyhwYXlsb2FkLmNjKVxuICAgIGNvbnN0IGJjY0xpc3QgPSBub3JtYWxpemVSZWNpcGllbnRzKHBheWxvYWQuYmNjKVxuICAgIGNvbnN0IHJlY2lwaWVudHMgPSBbLi4udG9MaXN0LCAuLi5jY0xpc3QsIC4uLmJjY0xpc3RdXG5cbiAgICBpZiAocmVjaXBpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBtYWlsIHJlY2lwaWVudHMuIEdvdDogJHtKU09OLnN0cmluZ2lmeSh7dG86IHBheWxvYWQudG8sIGNjOiBwYXlsb2FkLmNjLCBiY2M6IHBheWxvYWQuYmNjfSl9YClcbiAgICB9XG5cbiAgICBjb25zdCBoZWFkZXJzID0gW1xuICAgICAgaGVhZGVyTGluZShcIkZyb21cIiwgZnJvbSksXG4gICAgICBoZWFkZXJMaW5lKFwiVG9cIiwgdG9MaXN0Lmxlbmd0aCA+IDAgPyB0b0xpc3Quam9pbihcIiwgXCIpIDogdW5kZWZpbmVkKSxcbiAgICAgIGhlYWRlckxpbmUoXCJDY1wiLCBjY0xpc3QubGVuZ3RoID4gMCA/IGNjTGlzdC5qb2luKFwiLCBcIikgOiB1bmRlZmluZWQpLFxuICAgICAgaGVhZGVyTGluZShcIlN1YmplY3RcIiwgcGF5bG9hZC5zdWJqZWN0KSxcbiAgICAgIFwiTUlNRS1WZXJzaW9uOiAxLjBcIixcbiAgICAgIFwiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLThcIlxuICAgIF0uZmlsdGVyKChsaW5lKSA9PiBsaW5lKVxuXG4gICAgaWYgKHBheWxvYWQuaGVhZGVycykge1xuICAgICAgZm9yIChjb25zdCBbaGVhZGVyTmFtZSwgaGVhZGVyVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBheWxvYWQuaGVhZGVycykpIHtcbiAgICAgICAgaGVhZGVycy5wdXNoKGAke2hlYWRlck5hbWV9OiAke2hlYWRlclZhbHVlfWApXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbWVzc2FnZSA9IGAke2hlYWRlcnMuam9pbihcIlxcclxcblwiKX1cXHJcXG5cXHJcXG4ke3BheWxvYWQuaHRtbH1gXG4gICAgY29uc3Qge2RlZmF1bHQ6IFNtdHBDb25uZWN0aW9ufSA9IGF3YWl0IGltcG9ydChcInNtdHAtY29ubmVjdGlvblwiKVxuICAgIGNvbnN0IGNvbm5lY3Rpb25PcHRpb25zID0gdGhpcy5jb25uZWN0aW9uT3B0aW9uc1xuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBuZXcgU210cENvbm5lY3Rpb24oY29ubmVjdGlvbk9wdGlvbnMpXG5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBsZXQgc2V0dGxlZCA9IGZhbHNlXG4gICAgICBsZXQgc2h1dHRpbmdEb3duID0gZmFsc2VcblxuICAgICAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICAgICAgY29ubmVjdGlvbi5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLCBvbkVuZClcbiAgICAgICAgY29ubmVjdGlvbi5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsIG9uRXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc29sdmVEZWxpdmVyeSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHNldHRsZWQpIHJldHVyblxuXG4gICAgICAgIHNldHRsZWQgPSB0cnVlXG4gICAgICAgIGNsZWFudXAoKVxuICAgICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZWplY3QgZGVsaXZlcnkuXG4gICAgICAgKiBAcGFyYW0ge0Vycm9yfSBlcnJvciAtIEVycm9yIHRoYXQgZmFpbGVkIGRlbGl2ZXJ5LlxuICAgICAgICovXG4gICAgICBjb25zdCByZWplY3REZWxpdmVyeSA9IChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoc2V0dGxlZCkgcmV0dXJuXG5cbiAgICAgICAgc2V0dGxlZCA9IHRydWVcbiAgICAgICAgY2xlYW51cCgpXG4gICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKVxuICAgICAgICByZWplY3QoZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9uRW5kID0gKCkgPT4gcmVzb2x2ZURlbGl2ZXJ5KClcblxuICAgICAgLyoqXG4gICAgICAgKiBPbiBlcnJvci5cbiAgICAgICAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIC0gRXJyb3IgZW1pdHRlZCBieSB0aGUgU01UUCBjb25uZWN0aW9uLlxuICAgICAgICovXG4gICAgICBjb25zdCBvbkVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChzaHV0dGluZ0Rvd24pIHtcbiAgICAgICAgICByZXNvbHZlRGVsaXZlcnkoKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgcmVqZWN0RGVsaXZlcnkoZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHF1aXRBZnRlckFjY2VwdGVkTWVzc2FnZSA9ICgpID0+IHtcbiAgICAgICAgc2h1dHRpbmdEb3duID0gdHJ1ZVxuICAgICAgICBjb25uZWN0aW9uLm9uY2UoXCJlbmRcIiwgb25FbmQpXG4gICAgICAgIGNvbm5lY3Rpb24ucXVpdCgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlbmRNZXNzYWdlID0gKCkgPT4ge1xuICAgICAgICBjb25uZWN0aW9uLnNlbmQoe2Zyb206IGVudmVsb3BlRnJvbSwgdG86IHJlY2lwaWVudHN9LCAvKiogQHR5cGUgez99ICovIChtZXNzYWdlKSwgKC8qKiBAdHlwZSB7RXJyb3IgfCBudWxsIHwgdW5kZWZpbmVkfSAqLyBzZW5kRXJyb3IpID0+IHtcbiAgICAgICAgICBpZiAoc2VuZEVycm9yKSB7XG4gICAgICAgICAgICByZWplY3REZWxpdmVyeShzZW5kRXJyb3IpXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBxdWl0QWZ0ZXJBY2NlcHRlZE1lc3NhZ2UoKVxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBhdXRoZW50aWNhdGVBbmRTZW5kID0gKCkgPT4ge1xuICAgICAgICBpZiAoIWNvbm5lY3Rpb25PcHRpb25zLmF1dGgpIHtcbiAgICAgICAgICBzZW5kTWVzc2FnZSgpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjb25uZWN0aW9uLmxvZ2luKGNvbm5lY3Rpb25PcHRpb25zLmF1dGgsIChsb2dpbkVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKGxvZ2luRXJyb3IpIHtcbiAgICAgICAgICAgIHJlamVjdERlbGl2ZXJ5KGxvZ2luRXJyb3IpXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZW5kTWVzc2FnZSgpXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGNvbm5lY3Rpb24ub24oXCJlcnJvclwiLCBvbkVycm9yKVxuICAgICAgY29ubmVjdGlvbi5jb25uZWN0KGF1dGhlbnRpY2F0ZUFuZFNlbmQpXG4gICAgfSlcbiAgfVxufVxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic210cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWlsZXIvYmFja2VuZHMvc210cC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFFMUQ7OzJJQUUySTtBQUUzSTs7OztHQUlHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxLQUFLO0lBQ2hDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDckIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDekMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUs7SUFDN0IsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUV2QixPQUFPLEdBQUcsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFBO0FBQzVCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxlQUFlLENBQUMsT0FBTztJQUM5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBRXpDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDNUMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sT0FBTyxpQkFBaUI7SUFDcEM7Ozs7O09BS0c7SUFDSCxZQUFZLEVBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQ3ZELGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDdkYsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQ2pFLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUE7UUFFN0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN0RSxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRWxELE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUM5QyxNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDOUMsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2hELE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQTtRQUVyRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDeEgsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHO1lBQ2QsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDeEIsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ25FLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNuRSxVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDdEMsbUJBQW1CO1lBQ25CLHdDQUF3QztTQUN6QyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFeEIsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3hFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLEtBQUssV0FBVyxFQUFFLENBQUMsQ0FBQTtZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDaEUsTUFBTSxFQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUMsR0FBRyxNQUFNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ2pFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFBO1FBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFeEQsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNwQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUE7WUFDbkIsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFBO1lBRXhCLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7Z0JBQ3ZDLFVBQVUsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQzdDLENBQUMsQ0FBQTtZQUVELE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRTtnQkFDM0IsSUFBSSxPQUFPO29CQUFFLE9BQU07Z0JBRW5CLE9BQU8sR0FBRyxJQUFJLENBQUE7Z0JBQ2QsT0FBTyxFQUFFLENBQUE7Z0JBQ1QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3BCLENBQUMsQ0FBQTtZQUVEOzs7ZUFHRztZQUNILE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQy9CLElBQUksT0FBTztvQkFBRSxPQUFNO2dCQUVuQixPQUFPLEdBQUcsSUFBSSxDQUFBO2dCQUNkLE9BQU8sRUFBRSxDQUFBO2dCQUNULFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtnQkFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2YsQ0FBQyxDQUFBO1lBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUE7WUFFckM7OztlQUdHO1lBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDeEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDakIsZUFBZSxFQUFFLENBQUE7b0JBQ2pCLE9BQU07Z0JBQ1IsQ0FBQztnQkFFRCxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDdkIsQ0FBQyxDQUFBO1lBRUQsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLEVBQUU7Z0JBQ3BDLFlBQVksR0FBRyxJQUFJLENBQUE7Z0JBQ25CLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO2dCQUM3QixVQUFVLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDbkIsQ0FBQyxDQUFBO1lBRUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFO2dCQUN2QixVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFDLEVBQUUsNENBQTRDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDLFNBQVMsRUFBRSxFQUFFO29CQUNsSyxJQUFJLFNBQVMsRUFBRSxDQUFDO3dCQUNkLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQTt3QkFDekIsT0FBTTtvQkFDUixDQUFDO29CQUVELHdCQUF3QixFQUFFLENBQUE7Z0JBQzVCLENBQUMsQ0FBQyxDQUFBO1lBQ0osQ0FBQyxDQUFBO1lBRUQsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDNUIsV0FBVyxFQUFFLENBQUE7b0JBQ2IsT0FBTTtnQkFDUixDQUFDO2dCQUVELFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7b0JBQ3RELElBQUksVUFBVSxFQUFFLENBQUM7d0JBQ2YsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFBO3dCQUMxQixPQUFNO29CQUNSLENBQUM7b0JBRUQsV0FBVyxFQUFFLENBQUE7Z0JBQ2YsQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDLENBQUE7WUFFRCxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUMvQixVQUFVLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDekMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5cbi8qKlxuICogRGVmaW5lcyB0aGlzIHR5cGVkZWYuXG4gKiBAdHlwZWRlZiB7e2F1dGg/OiBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj4sIFtrZXk6IHN0cmluZ106IFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fX0gU210cENvbm5lY3Rpb25PcHRpb25zICovXG5cbi8qKlxuICogUnVucyBub3JtYWxpemUgcmVjaXBpZW50cy5cbiAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IHZhbHVlIC0gUmVjaXBpZW50IGlucHV0LlxuICogQHJldHVybnMge3N0cmluZ1tdfSAtIE5vcm1hbGl6ZWQgcmVjaXBpZW50cy5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplUmVjaXBpZW50cyh2YWx1ZSkge1xuICBpZiAoIXZhbHVlKSByZXR1cm4gW11cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4gdmFsdWUuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkpXG4gIHJldHVybiBbdmFsdWVdLmZpbHRlcigoZW50cnkpID0+IGVudHJ5KVxufVxuXG4vKipcbiAqIFJ1bnMgaGVhZGVyIGxpbmUuXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEhlYWRlciBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IHZhbHVlIC0gSGVhZGVyIHZhbHVlLlxuICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gSGVhZGVyIGxpbmUuXG4gKi9cbmZ1bmN0aW9uIGhlYWRlckxpbmUobmFtZSwgdmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIG51bGxcblxuICByZXR1cm4gYCR7bmFtZX06ICR7dmFsdWV9YFxufVxuXG4vKipcbiAqIFJ1bnMgZW52ZWxvcGUgYWRkcmVzcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gSGVhZGVyIG9yIG1haWxib3ggYWRkcmVzcy5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU01UUCBlbnZlbG9wZSBtYWlsYm94LlxuICovXG5mdW5jdGlvbiBlbnZlbG9wZUFkZHJlc3MoYWRkcmVzcykge1xuICBjb25zdCBtYXRjaCA9IGFkZHJlc3MubWF0Y2goLzwoW148Pl0rKT4vKVxuXG4gIHJldHVybiAobWF0Y2ggPyBtYXRjaFsxXSA6IGFkZHJlc3MpLnRyaW0oKVxufVxuXG4vKipcbiAqIFNNVFAgbWFpbGVyIGJhY2tlbmQgdXNpbmcgc210cC1jb25uZWN0aW9uLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbXRwTWFpbGVyQmFja2VuZCB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIENvbnN0cnVjdG9yIGFyZ3MuXG4gICAqIEBwYXJhbSB7U210cENvbm5lY3Rpb25PcHRpb25zfSBhcmdzLmNvbm5lY3Rpb25PcHRpb25zIC0gc210cC1jb25uZWN0aW9uIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5kZWZhdWx0RnJvbV0gLSBEZWZhdWx0IGZyb20gYWRkcmVzcy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25uZWN0aW9uT3B0aW9ucywgZGVmYXVsdEZyb20sIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoIWNvbm5lY3Rpb25PcHRpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3Npbmcgc210cCBjb25uZWN0aW9uIG9wdGlvbnMuIEdvdDogJHtTdHJpbmcoY29ubmVjdGlvbk9wdGlvbnMpfWApXG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uT3B0aW9ucyA9IGNvbm5lY3Rpb25PcHRpb25zXG4gICAgdGhpcy5kZWZhdWx0RnJvbSA9IGRlZmF1bHRGcm9tXG4gIH1cblxuICAvKipcbiAgICogUnVucyBkZWxpdmVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIERlbGl2ZXJ5IGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkfSBhcmdzLnBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBbYXJncy5jb25maWd1cmF0aW9uXSAtIEFjdGl2ZSBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgZGVsaXZlcih7cGF5bG9hZCwgY29uZmlndXJhdGlvbjogX2NvbmZpZ3VyYXRpb24sIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBjb25zdCBmcm9tID0gcGF5bG9hZC5mcm9tIHx8IHRoaXMuZGVmYXVsdEZyb21cblxuICAgIGlmICghZnJvbSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIG1haWwgXCJmcm9tXCIgYWRkcmVzcy4gR290OiAke1N0cmluZyhmcm9tKX1gKVxuICAgIH1cblxuICAgIGNvbnN0IGVudmVsb3BlRnJvbSA9IGVudmVsb3BlQWRkcmVzcyhTdHJpbmcoZnJvbSkpXG5cbiAgICBjb25zdCB0b0xpc3QgPSBub3JtYWxpemVSZWNpcGllbnRzKHBheWxvYWQudG8pXG4gICAgY29uc3QgY2NMaXN0ID0gbm9ybWFsaXplUmVjaXBpZW50cyhwYXlsb2FkLmNjKVxuICAgIGNvbnN0IGJjY0xpc3QgPSBub3JtYWxpemVSZWNpcGllbnRzKHBheWxvYWQuYmNjKVxuICAgIGNvbnN0IHJlY2lwaWVudHMgPSBbLi4udG9MaXN0LCAuLi5jY0xpc3QsIC4uLmJjY0xpc3RdXG5cbiAgICBpZiAocmVjaXBpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBtYWlsIHJlY2lwaWVudHMuIEdvdDogJHtKU09OLnN0cmluZ2lmeSh7dG86IHBheWxvYWQudG8sIGNjOiBwYXlsb2FkLmNjLCBiY2M6IHBheWxvYWQuYmNjfSl9YClcbiAgICB9XG5cbiAgICBjb25zdCBoZWFkZXJzID0gW1xuICAgICAgaGVhZGVyTGluZShcIkZyb21cIiwgZnJvbSksXG4gICAgICBoZWFkZXJMaW5lKFwiVG9cIiwgdG9MaXN0Lmxlbmd0aCA+IDAgPyB0b0xpc3Quam9pbihcIiwgXCIpIDogdW5kZWZpbmVkKSxcbiAgICAgIGhlYWRlckxpbmUoXCJDY1wiLCBjY0xpc3QubGVuZ3RoID4gMCA/IGNjTGlzdC5qb2luKFwiLCBcIikgOiB1bmRlZmluZWQpLFxuICAgICAgaGVhZGVyTGluZShcIlN1YmplY3RcIiwgcGF5bG9hZC5zdWJqZWN0KSxcbiAgICAgIFwiTUlNRS1WZXJzaW9uOiAxLjBcIixcbiAgICAgIFwiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLThcIlxuICAgIF0uZmlsdGVyKChsaW5lKSA9PiBsaW5lKVxuXG4gICAgaWYgKHBheWxvYWQuaGVhZGVycykge1xuICAgICAgZm9yIChjb25zdCBbaGVhZGVyTmFtZSwgaGVhZGVyVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBheWxvYWQuaGVhZGVycykpIHtcbiAgICAgICAgaGVhZGVycy5wdXNoKGAke2hlYWRlck5hbWV9OiAke2hlYWRlclZhbHVlfWApXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbWVzc2FnZSA9IGAke2hlYWRlcnMuam9pbihcIlxcclxcblwiKX1cXHJcXG5cXHJcXG4ke3BheWxvYWQuaHRtbH1gXG4gICAgY29uc3Qge2RlZmF1bHQ6IFNtdHBDb25uZWN0aW9ufSA9IGF3YWl0IGltcG9ydChcInNtdHAtY29ubmVjdGlvblwiKVxuICAgIGNvbnN0IGNvbm5lY3Rpb25PcHRpb25zID0gdGhpcy5jb25uZWN0aW9uT3B0aW9uc1xuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBuZXcgU210cENvbm5lY3Rpb24oY29ubmVjdGlvbk9wdGlvbnMpXG5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBsZXQgc2V0dGxlZCA9IGZhbHNlXG4gICAgICBsZXQgc2h1dHRpbmdEb3duID0gZmFsc2VcblxuICAgICAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICAgICAgY29ubmVjdGlvbi5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLCBvbkVuZClcbiAgICAgICAgY29ubmVjdGlvbi5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsIG9uRXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc29sdmVEZWxpdmVyeSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHNldHRsZWQpIHJldHVyblxuXG4gICAgICAgIHNldHRsZWQgPSB0cnVlXG4gICAgICAgIGNsZWFudXAoKVxuICAgICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZWplY3QgZGVsaXZlcnkuXG4gICAgICAgKiBAcGFyYW0ge0Vycm9yfSBlcnJvciAtIEVycm9yIHRoYXQgZmFpbGVkIGRlbGl2ZXJ5LlxuICAgICAgICovXG4gICAgICBjb25zdCByZWplY3REZWxpdmVyeSA9IChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoc2V0dGxlZCkgcmV0dXJuXG5cbiAgICAgICAgc2V0dGxlZCA9IHRydWVcbiAgICAgICAgY2xlYW51cCgpXG4gICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKVxuICAgICAgICByZWplY3QoZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9uRW5kID0gKCkgPT4gcmVzb2x2ZURlbGl2ZXJ5KClcblxuICAgICAgLyoqXG4gICAgICAgKiBPbiBlcnJvci5cbiAgICAgICAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIC0gRXJyb3IgZW1pdHRlZCBieSB0aGUgU01UUCBjb25uZWN0aW9uLlxuICAgICAgICovXG4gICAgICBjb25zdCBvbkVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChzaHV0dGluZ0Rvd24pIHtcbiAgICAgICAgICByZXNvbHZlRGVsaXZlcnkoKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgcmVqZWN0RGVsaXZlcnkoZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHF1aXRBZnRlckFjY2VwdGVkTWVzc2FnZSA9ICgpID0+IHtcbiAgICAgICAgc2h1dHRpbmdEb3duID0gdHJ1ZVxuICAgICAgICBjb25uZWN0aW9uLm9uY2UoXCJlbmRcIiwgb25FbmQpXG4gICAgICAgIGNvbm5lY3Rpb24ucXVpdCgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlbmRNZXNzYWdlID0gKCkgPT4ge1xuICAgICAgICBjb25uZWN0aW9uLnNlbmQoe2Zyb206IGVudmVsb3BlRnJvbSwgdG86IHJlY2lwaWVudHN9LCAvKiogQHR5cGUge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSAqLyAobWVzc2FnZSksICgvKiogQHR5cGUge0Vycm9yIHwgbnVsbCB8IHVuZGVmaW5lZH0gKi8gc2VuZEVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKHNlbmRFcnJvcikge1xuICAgICAgICAgICAgcmVqZWN0RGVsaXZlcnkoc2VuZEVycm9yKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcXVpdEFmdGVyQWNjZXB0ZWRNZXNzYWdlKClcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXV0aGVudGljYXRlQW5kU2VuZCA9ICgpID0+IHtcbiAgICAgICAgaWYgKCFjb25uZWN0aW9uT3B0aW9ucy5hdXRoKSB7XG4gICAgICAgICAgc2VuZE1lc3NhZ2UoKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgY29ubmVjdGlvbi5sb2dpbihjb25uZWN0aW9uT3B0aW9ucy5hdXRoLCAobG9naW5FcnJvcikgPT4ge1xuICAgICAgICAgIGlmIChsb2dpbkVycm9yKSB7XG4gICAgICAgICAgICByZWplY3REZWxpdmVyeShsb2dpbkVycm9yKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VuZE1lc3NhZ2UoKVxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBjb25uZWN0aW9uLm9uKFwiZXJyb3JcIiwgb25FcnJvcilcbiAgICAgIGNvbm5lY3Rpb24uY29ubmVjdChhdXRoZW50aWNhdGVBbmRTZW5kKVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -1,48 +1,8 @@
1
- /**
2
- * Runs the deliveries helper.
3
- * @returns {import("./index.js").MailerDeliveryPayload[]} - Delivered payloads.
4
- */
5
- export function deliveries(): import("./index.js").MailerDeliveryPayload[];
6
- /**
7
- * Runs the clearDeliveries helper.
8
- * @returns {void} - No return value.
9
- */
10
- export function clearDeliveries(): void;
11
- /**
12
- * Runs the setDeliveryHandler helper.
13
- * @param {(payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?} handler - Delivery handler.
14
- * @returns {void} - No return value.
15
- */
16
- export function setDeliveryHandler(handler: (payload: import("./index.js").MailerDeliveryPayload) => Promise<unknown> | unknown): void;
17
- /**
18
- * Runs the getDeliveryHandler helper.
19
- * @returns {((payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?) | null} - Handler or null.
20
- */
21
- export function getDeliveryHandler(): ((payload: import("./index.js").MailerDeliveryPayload) => Promise<unknown> | unknown) | null;
22
- /**
23
- * Runs the deliverPayload helper.
24
- * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
25
- * @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Handler result.
26
- */
27
- export function deliverPayload(payload: import("./index.js").MailerDeliveryPayload): Promise<import("./index.js").MailerDeliveryPayload | unknown>;
28
- /**
29
- * Runs the enqueuePayload helper.
30
- * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
31
- * @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
32
- */
33
- export function enqueuePayload(payload: import("./index.js").MailerDeliveryPayload): Promise<string | import("./index.js").MailerDeliveryPayload | null>;
1
+ import MailerDelivery from "./delivery.js";
34
2
  /**
35
3
  * Base mailer with view rendering and delivery helpers.
36
4
  */
37
- export class VelociousMailerBase {
38
- /**
39
- * Runs constructor.
40
- * @param {object} [args] - Constructor args.
41
- * @param {import("../configuration.js").default} [args.configuration] - Configuration instance.
42
- */
43
- constructor({ configuration }?: {
44
- configuration?: import("../configuration.js").default | undefined;
45
- });
5
+ export declare class VelociousMailerBase {
46
6
  _actionName: string | null;
47
7
  _mailOptions: {
48
8
  to: any;
@@ -55,36 +15,44 @@ export class VelociousMailerBase {
55
15
  } | null;
56
16
  _viewParams: {};
57
17
  _configurationPromise: Promise<import("../configuration.js").default>;
18
+ /**
19
+ * Runs constructor.
20
+ * @param {object} [args] - Constructor args.
21
+ * @param {import("../configuration.js").default} [args.configuration] - Configuration instance.
22
+ */
23
+ constructor({ configuration }?: {
24
+ configuration?: import("../configuration.js").default;
25
+ });
58
26
  /**
59
27
  * Runs assign view.
60
- * @param {Record<string, ?>} params - View params.
28
+ * @param {Record<string, ReturnType<typeof JSON.parse>>} params - View params.
61
29
  * @returns {void} - No return value.
62
30
  */
63
- assignView(params: Record<string, unknown>): void;
31
+ assignView(params: Record<string, ReturnType<typeof JSON.parse>>): void;
64
32
  /**
65
33
  * Runs mail.
66
34
  * @param {object} args - Mail options.
67
- * @param {?} args.to - Recipient.
35
+ * @param {ReturnType<typeof JSON.parse>} args.to - Recipient.
68
36
  * @param {string} args.subject - Subject line.
69
- * @param {?} [args.from] - Sender.
70
- * @param {?} [args.cc] - CC recipients.
71
- * @param {?} [args.bcc] - BCC recipients.
72
- * @param {?} [args.replyTo] - Reply-to address.
37
+ * @param {ReturnType<typeof JSON.parse>} [args.from] - Sender.
38
+ * @param {ReturnType<typeof JSON.parse>} [args.cc] - CC recipients.
39
+ * @param {ReturnType<typeof JSON.parse>} [args.bcc] - BCC recipients.
40
+ * @param {ReturnType<typeof JSON.parse>} [args.replyTo] - Reply-to address.
73
41
  * @param {Record<string, string>} [args.headers] - Custom headers.
74
42
  * @param {string} [args.actionName] - Mailer action name.
75
- * @param {Promise<?> | ?} [args.actionPromise] - Action completion promise.
43
+ * @param {Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>} [args.actionPromise] - Action completion promise.
76
44
  * @returns {MailerDelivery} - Delivery wrapper.
77
45
  */
78
46
  mail({ to, subject, from, cc, bcc, replyTo, headers, actionName, actionPromise, ...restArgs }: {
79
- to: unknown;
47
+ to: ReturnType<typeof JSON.parse>;
80
48
  subject: string;
81
- from?: unknown;
82
- cc?: unknown;
83
- bcc?: unknown;
84
- replyTo?: unknown;
85
- headers?: Record<string, string> | undefined;
86
- actionName?: string | undefined;
87
- actionPromise?: Promise<unknown> | unknown;
49
+ from?: ReturnType<typeof JSON.parse>;
50
+ cc?: ReturnType<typeof JSON.parse>;
51
+ bcc?: ReturnType<typeof JSON.parse>;
52
+ replyTo?: ReturnType<typeof JSON.parse>;
53
+ headers?: Record<string, string>;
54
+ actionName?: string;
55
+ actionPromise?: Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>;
88
56
  }): MailerDelivery;
89
57
  /**
90
58
  * Runs get configuration.
@@ -115,9 +83,9 @@ export class VelociousMailerBase {
115
83
  /**
116
84
  * Runs deliver payload.
117
85
  * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
118
- * @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Handler result.
86
+ * @returns {Promise<import("./index.js").MailerDeliveryPayload | ReturnType<typeof JSON.parse>>} - Handler result.
119
87
  */
120
- _deliverPayload(payload: import("./index.js").MailerDeliveryPayload): Promise<import("./index.js").MailerDeliveryPayload | unknown>;
88
+ _deliverPayload(payload: import("./index.js").MailerDeliveryPayload): Promise<import("./index.js").MailerDeliveryPayload | ReturnType<typeof JSON.parse>>;
121
89
  /**
122
90
  * Runs enqueue payload.
123
91
  * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
@@ -125,5 +93,37 @@ export class VelociousMailerBase {
125
93
  */
126
94
  _enqueuePayload(payload: import("./index.js").MailerDeliveryPayload): Promise<string | import("./index.js").MailerDeliveryPayload | null>;
127
95
  }
128
- import MailerDelivery from "./delivery.js";
96
+ /**
97
+ * Runs the deliveries helper.
98
+ * @returns {import("./index.js").MailerDeliveryPayload[]} - Delivered payloads.
99
+ */
100
+ export declare function deliveries(): import("./index.js").MailerDeliveryPayload[];
101
+ /**
102
+ * Runs the clearDeliveries helper.
103
+ * @returns {void} - No return value.
104
+ */
105
+ export declare function clearDeliveries(): void;
106
+ /**
107
+ * Runs the setDeliveryHandler helper.
108
+ * @param {(payload: import("./index.js").MailerDeliveryPayload) => Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>} handler - Delivery handler.
109
+ * @returns {void} - No return value.
110
+ */
111
+ export declare function setDeliveryHandler(handler: (payload: import("./index.js").MailerDeliveryPayload) => Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>): void;
112
+ /**
113
+ * Runs the getDeliveryHandler helper.
114
+ * @returns {((payload: import("./index.js").MailerDeliveryPayload) => Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>) | null} - Handler or null.
115
+ */
116
+ export declare function getDeliveryHandler(): ((payload: import("./index.js").MailerDeliveryPayload) => Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>) | null;
117
+ /**
118
+ * Runs the deliverPayload helper.
119
+ * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
120
+ * @returns {Promise<import("./index.js").MailerDeliveryPayload | ReturnType<typeof JSON.parse>>} - Handler result.
121
+ */
122
+ export declare function deliverPayload(payload: import("./index.js").MailerDeliveryPayload): Promise<import("./index.js").MailerDeliveryPayload | ReturnType<typeof JSON.parse>>;
123
+ /**
124
+ * Runs the enqueuePayload helper.
125
+ * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
126
+ * @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
127
+ */
128
+ export declare function enqueuePayload(payload: import("./index.js").MailerDeliveryPayload): Promise<string | import("./index.js").MailerDeliveryPayload | null>;
129
129
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/mailer/base.js"],"names":[],"mappings":"AA0PA;;;GAGG;AACH,8BAFa,OAAO,YAAY,EAAE,qBAAqB,EAAE,CAIxD;AAED;;;GAGG;AACH,mCAFa,IAAI,CAIhB;AAED;;;;GAIG;AACH,4CAHW,CAAC,OAAO,EAAE,OAAO,YAAY,EAAE,qBAAqB,KAAK,OAAO,CAAC,OAAC,CAAC,GAAG,OAAC,GACrE,IAAI,CAIhB;AAED;;;GAGG;AACH,sCAFa,CAAC,CAAC,OAAO,EAAE,OAAO,YAAY,EAAE,qBAAqB,KAAK,OAAO,CAAC,OAAC,CAAC,GAAG,OAAC,CAAC,GAAG,IAAI,CAI5F;AAED;;;;GAIG;AACH,wCAHW,OAAO,YAAY,EAAE,qBAAqB,GACxC,OAAO,CAAC,OAAO,YAAY,EAAE,qBAAqB,GAAG,OAAC,CAAC,CAsBnE;AAED;;;;GAIG;AACH,wCAHW,OAAO,YAAY,EAAE,qBAAqB,GACxC,OAAO,CAAC,MAAM,GAAG,OAAO,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAW/E;AAtPD;;GAEG;AACH;IACE;;;;OAIG;IACH,gCAFG;QAAqD,aAAa;KACpE,EAMA;IAJC,2BAAuB;IACvB;;;;;;;;aAAwB;IACxB,gBAAqB;IACrB,sEAAqG;IAGvG;;;;OAIG;IACH,mBAHW,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,GACf,IAAI,CAIhB;IAED;;;;;;;;;;;;;OAaG;IACH,+FAXG;QAAgB,EAAE,EAAV,OAAC;QACY,OAAO,EAApB,MAAM;QACG,IAAI,GAAb,OAAC;QACQ,EAAE,GAAX,OAAC;QACQ,GAAG,GAAZ,OAAC;QACQ,OAAO,GAAhB,OAAC;QAC6B,OAAO;QACvB,UAAU;QACF,aAAa,GAAnC,OAAO,CAAC,OAAC,CAAC,GAAG,OAAC;KACtB,GAAU,cAAc,CAoB1B;IAED;;;OAGG;IACH,qBAFa,OAAO,CAAC,OAAO,qBAAqB,EAAE,OAAO,CAAC,CAI1D;IAED;;;OAGG;IACH,kBAFa,MAAM,CAQlB;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACJ,OAAO,YAAY,EAAE,qBAAqB,CA6BtD;IAED;;;OAGG;IACH,iBAFa,OAAO,CAAC,OAAO,YAAY,EAAE,qBAAqB,CAAC,CAM/D;IAED;;;OAGG;IACH,eAFa,OAAO,CAAC,MAAM,CAAC,CA0B3B;IAED;;;;OAIG;IACH,yBAHW,OAAO,YAAY,EAAE,qBAAqB,GACxC,OAAO,CAAC,OAAO,YAAY,EAAE,qBAAqB,GAAG,OAAC,CAAC,CAInE;IAED;;;;OAIG;IACH,yBAHW,OAAO,YAAY,EAAE,qBAAqB,GACxC,OAAO,CAAC,MAAM,GAAG,OAAO,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAI/E;CACF;2BAjP0B,eAAe"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/mailer/base.js"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import MailerDelivery from "./delivery.js";
11
11
  const deliveriesStore = [];
12
12
  /**
13
13
  * Delivery handler.
14
- * @type {((payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?) | null} */
14
+ * @type {((payload: import("./index.js").MailerDeliveryPayload) => Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>) | null} */
15
15
  let deliveryHandler = null;
16
16
  /**
17
17
  * Runs view file name.
@@ -53,7 +53,7 @@ function inferActionName(mailerClass, stack) {
53
53
  continue;
54
54
  if (Object.prototype.hasOwnProperty.call(VelociousMailerBase.prototype, frameActionName))
55
55
  continue;
56
- if (typeof /** @type {Record<string, ?>} */ ( /** @type {?} */(prototype))[frameActionName] !== "function")
56
+ if (typeof /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ ( /** @type {ReturnType<typeof JSON.parse>} */(prototype))[frameActionName] !== "function")
57
57
  continue;
58
58
  actionName = frameActionName;
59
59
  }
@@ -84,7 +84,7 @@ export class VelociousMailerBase {
84
84
  }
85
85
  /**
86
86
  * Runs assign view.
87
- * @param {Record<string, ?>} params - View params.
87
+ * @param {Record<string, ReturnType<typeof JSON.parse>>} params - View params.
88
88
  * @returns {void} - No return value.
89
89
  */
90
90
  assignView(params) {
@@ -93,15 +93,15 @@ export class VelociousMailerBase {
93
93
  /**
94
94
  * Runs mail.
95
95
  * @param {object} args - Mail options.
96
- * @param {?} args.to - Recipient.
96
+ * @param {ReturnType<typeof JSON.parse>} args.to - Recipient.
97
97
  * @param {string} args.subject - Subject line.
98
- * @param {?} [args.from] - Sender.
99
- * @param {?} [args.cc] - CC recipients.
100
- * @param {?} [args.bcc] - BCC recipients.
101
- * @param {?} [args.replyTo] - Reply-to address.
98
+ * @param {ReturnType<typeof JSON.parse>} [args.from] - Sender.
99
+ * @param {ReturnType<typeof JSON.parse>} [args.cc] - CC recipients.
100
+ * @param {ReturnType<typeof JSON.parse>} [args.bcc] - BCC recipients.
101
+ * @param {ReturnType<typeof JSON.parse>} [args.replyTo] - Reply-to address.
102
102
  * @param {Record<string, string>} [args.headers] - Custom headers.
103
103
  * @param {string} [args.actionName] - Mailer action name.
104
- * @param {Promise<?> | ?} [args.actionPromise] - Action completion promise.
104
+ * @param {Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>} [args.actionPromise] - Action completion promise.
105
105
  * @returns {MailerDelivery} - Delivery wrapper.
106
106
  */
107
107
  mail({ to, subject, from, cc, bcc, replyTo, headers, actionName, actionPromise, ...restArgs }) {
@@ -183,7 +183,7 @@ export class VelociousMailerBase {
183
183
  const actionName = this._getActionName();
184
184
  const fileName = viewFileName(actionName);
185
185
  const viewPath = `${configuration.getDirectory()}/src/mailers/${mailerDir}/${fileName}.ejs`;
186
- const translate = (/** @type {string} */ msgID, /** @type {Record<string, ?> | undefined} */ args) => configuration.getTranslator()(msgID, args);
186
+ const translate = (/** @type {string} */ msgID, /** @type {Record<string, ReturnType<typeof JSON.parse>> | undefined} */ args) => configuration.getTranslator()(msgID, args);
187
187
  const viewParams = incorporate({ mailer: this, _: translate }, this._viewParams);
188
188
  return await new Promise((resolve, reject) => {
189
189
  ejs.renderFile(viewPath, viewParams, {}, (err, str) => {
@@ -205,7 +205,7 @@ export class VelociousMailerBase {
205
205
  /**
206
206
  * Runs deliver payload.
207
207
  * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
208
- * @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Handler result.
208
+ * @returns {Promise<import("./index.js").MailerDeliveryPayload | ReturnType<typeof JSON.parse>>} - Handler result.
209
209
  */
210
210
  async _deliverPayload(payload) {
211
211
  return await deliverPayload(payload);
@@ -235,7 +235,7 @@ export function clearDeliveries() {
235
235
  }
236
236
  /**
237
237
  * Runs the setDeliveryHandler helper.
238
- * @param {(payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?} handler - Delivery handler.
238
+ * @param {(payload: import("./index.js").MailerDeliveryPayload) => Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>} handler - Delivery handler.
239
239
  * @returns {void} - No return value.
240
240
  */
241
241
  export function setDeliveryHandler(handler) {
@@ -243,7 +243,7 @@ export function setDeliveryHandler(handler) {
243
243
  }
244
244
  /**
245
245
  * Runs the getDeliveryHandler helper.
246
- * @returns {((payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?) | null} - Handler or null.
246
+ * @returns {((payload: import("./index.js").MailerDeliveryPayload) => Promise<ReturnType<typeof JSON.parse>> | ReturnType<typeof JSON.parse>) | null} - Handler or null.
247
247
  */
248
248
  export function getDeliveryHandler() {
249
249
  return deliveryHandler;
@@ -251,7 +251,7 @@ export function getDeliveryHandler() {
251
251
  /**
252
252
  * Runs the deliverPayload helper.
253
253
  * @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
254
- * @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Handler result.
254
+ * @returns {Promise<import("./index.js").MailerDeliveryPayload | ReturnType<typeof JSON.parse>>} - Handler result.
255
255
  */
256
256
  export async function deliverPayload(payload) {
257
257
  if (await isTestingEnvironment()) {
@@ -282,4 +282,4 @@ export async function enqueuePayload(payload) {
282
282
  const { default: mailDeliveryJob } = await import("../jobs/mail-delivery.js");
283
283
  return await mailDeliveryJob.performLater(payload);
284
284
  }
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYWlsZXIvYmFzZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFBO0FBQ3JCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDeEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxxQkFBcUIsTUFBTSw4QkFBOEIsQ0FBQTtBQUNoRSxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RCxPQUFPLGNBQWMsTUFBTSxlQUFlLENBQUE7QUFFMUM7OzBEQUUwRDtBQUMxRCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUE7QUFDMUI7OzhGQUU4RjtBQUM5RixJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUE7QUFFMUI7Ozs7R0FJRztBQUNILFNBQVMsWUFBWSxDQUFDLFVBQVU7SUFDOUIsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtBQUNoRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsbUJBQW1CLENBQUMsU0FBUztJQUNwQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVqRCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0FBQzlELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILHFDQUFxQztBQUNyQyxTQUFTLGVBQWUsQ0FBQyxXQUFXLEVBQUUsS0FBSztJQUN6QyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFBO0lBQ3ZDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQTtJQUVyQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFL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T0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQy9CLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQUMsT0FBTztJQUMxQyxJQUFJLE1BQU0sb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDN0IsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELE1BQU0sRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFDLEdBQUcsTUFBTSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUUzRSxPQUFPLE1BQU0sZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBlanMgZnJvbSBcImVqc1wiXG5pbXBvcnQge2luY29ycG9yYXRlfSBmcm9tIFwiaW5jb3Jwb3JhdG9yXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IGNvbmZpZ3VyYXRpb25SZXNvbHZlciBmcm9tIFwiLi4vY29uZmlndXJhdGlvbi1yZXNvbHZlci5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBNYWlsZXJEZWxpdmVyeSBmcm9tIFwiLi9kZWxpdmVyeS5qc1wiXG5cbi8qKlxuICogRGVsaXZlcmllcyBzdG9yZS5cbiAqIEB0eXBlIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZFtdfSAqL1xuY29uc3QgZGVsaXZlcmllc1N0b3JlID0gW11cbi8qKlxuICogRGVsaXZlcnkgaGFuZGxlci5cbiAqIEB0eXBlIHsoKHBheWxvYWQ6IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkKSA9PiBQcm9taXNlPD8+IHwgPykgfCBudWxsfSAqL1xubGV0IGRlbGl2ZXJ5SGFuZGxlciA9IG51bGxcblxuLyoqXG4gKiBSdW5zIHZpZXcgZmlsZSBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbk5hbWUgLSBNYWlsZXIgYWN0aW9uIG5hbWUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIFZpZXcgZmlsZSBuYW1lLlxuICovXG5mdW5jdGlvbiB2aWV3RmlsZU5hbWUoYWN0aW9uTmFtZSkge1xuICByZXR1cm4gaW5mbGVjdGlvbi5kYXNoZXJpemUoaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFjdGlvbk5hbWUpKVxufVxuXG4vKipcbiAqIFJ1bnMgbWFpbGVyIGRpcmVjdG9yeSBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmd9IGNsYXNzTmFtZSAtIE1haWxlciBjbGFzcyBuYW1lLlxuICogQHJldHVybnMge3N0cmluZ30gLSBNYWlsZXIgZGlyZWN0b3J5IG5hbWUuXG4gKi9cbmZ1bmN0aW9uIG1haWxlckRpcmVjdG9yeU5hbWUoY2xhc3NOYW1lKSB7XG4gIGNvbnN0IGJhc2VOYW1lID0gY2xhc3NOYW1lLnJlcGxhY2UoL01haWxlciQvLCBcIlwiKVxuXG4gIHJldHVybiBpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUoYmFzZU5hbWUpKVxufVxuXG4vKipcbiAqIFJ1bnMgdGhlIGluZmVyQWN0aW9uTmFtZSBoZWxwZXIuXG4gKiBAcGFyYW0ge3R5cGVvZiBWZWxvY2lvdXNNYWlsZXJCYXNlfSBtYWlsZXJDbGFzcyAtIE1haWxlciBjbGFzcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzdGFjayAtIEVycm9yIHN0YWNrLlxuICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gSW5mZXJyZWQgYWN0aW9uIG5hbWUuXG4gKi9cbi8vIGZhbGxvdy1pZ25vcmUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbmZ1bmN0aW9uIGluZmVyQWN0aW9uTmFtZShtYWlsZXJDbGFzcywgc3RhY2spIHtcbiAgY29uc3QgcHJvdG90eXBlID0gbWFpbGVyQ2xhc3MucHJvdG90eXBlXG4gIGxldCBhY3Rpb25OYW1lID0gbnVsbFxuXG4gIGZvciAoY29uc3QgbGluZSBvZiBzdGFjay5zcGxpdChcIlxcblwiKSkge1xuICAgIGNvbnN0IG1hdGNoID0gbGluZS5tYXRjaCgvXFxiYXQgKD86YXN5bmMgKT8oPzpuZXcgKT9bXlxccy5dK1xcLihbXlxccy5dKykgLylcblxuICAgIGlmICghbWF0Y2gpIGNvbnRpbnVlXG5cbiAgICBjb25zdCBmcmFtZUFjdGlvbk5hbWUgPSBtYXRjaFsxXVxuXG4gICAgaWYgKGZyYW1lQWN0aW9uTmFtZSA9PT0gXCJtYWlsXCIpIGNvbnRpbnVlXG4gICAgaWYgKGZyYW1lQWN0aW9uTmFtZS5zdGFydHNXaXRoKFwiX1wiKSkgY29udGludWVcbiAgICBpZiAoZnJhbWVBY3Rpb25OYW1lID09PSBcImNvbnN0cnVjdG9yXCIpIGNvbnRpbnVlXG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChWZWxvY2lvdXNNYWlsZXJCYXNlLnByb3RvdHlwZSwgZnJhbWVBY3Rpb25OYW1lKSkgY29udGludWVcbiAgICBpZiAodHlwZW9mIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovICgvKiogQHR5cGUgez99ICovIChwcm90b3R5cGUpKVtmcmFtZUFjdGlvbk5hbWVdICE9PSBcImZ1bmN0aW9uXCIpIGNvbnRpbnVlXG5cbiAgICBhY3Rpb25OYW1lID0gZnJhbWVBY3Rpb25OYW1lXG4gIH1cblxuICByZXR1cm4gYWN0aW9uTmFtZVxufVxuXG4vKipcbiAqIFJ1bnMgaXMgdGVzdGluZyBlbnZpcm9ubWVudC5cbiAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSAtIFdoZXRoZXIgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgdGVzdC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gaXNUZXN0aW5nRW52aXJvbm1lbnQoKSB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBhd2FpdCBjb25maWd1cmF0aW9uUmVzb2x2ZXIoKVxuXG4gIHJldHVybiBjb25maWd1cmF0aW9uLmdldEVudmlyb25tZW50KCkgPT09IFwidGVzdFwiXG59XG5cbi8qKlxuICogQmFzZSBtYWlsZXIgd2l0aCB2aWV3IHJlbmRlcmluZyBhbmQgZGVsaXZlcnkgaGVscGVycy5cbiAqL1xuZXhwb3J0IGNsYXNzIFZlbG9jaW91c01haWxlckJhc2Uge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXSAtIENvbnN0cnVjdG9yIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBbYXJncy5jb25maWd1cmF0aW9uXSAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Y29uZmlndXJhdGlvbn0gPSB7fSkge1xuICAgIHRoaXMuX2FjdGlvbk5hbWUgPSBudWxsXG4gICAgdGhpcy5fbWFpbE9wdGlvbnMgPSBudWxsXG4gICAgdGhpcy5fdmlld1BhcmFtcyA9IHt9XG4gICAgdGhpcy5fY29uZmlndXJhdGlvblByb21pc2UgPSBjb25maWd1cmF0aW9uID8gUHJvbWlzZS5yZXNvbHZlKGNvbmZpZ3VyYXRpb24pIDogY29uZmlndXJhdGlvblJlc29sdmVyKClcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGFzc2lnbiB2aWV3LlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsID8+fSBwYXJhbXMgLSBWaWV3IHBhcmFtcy5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgYXNzaWduVmlldyhwYXJhbXMpIHtcbiAgICB0aGlzLl92aWV3UGFyYW1zID0gT2JqZWN0LmFzc2lnbih0aGlzLl92aWV3UGFyYW1zLCBwYXJhbXMgfHwge30pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBtYWlsLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE1haWwgb3B0aW9ucy5cbiAgICogQHBhcmFtIHs/fSBhcmdzLnRvIC0gUmVjaXBpZW50LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zdWJqZWN0IC0gU3ViamVjdCBsaW5lLlxuICAgKiBAcGFyYW0gez99IFthcmdzLmZyb21dIC0gU2VuZGVyLlxuICAgKiBAcGFyYW0gez99IFthcmdzLmNjXSAtIENDIHJlY2lwaWVudHMuXG4gICAqIEBwYXJhbSB7P30gW2FyZ3MuYmNjXSAtIEJDQyByZWNpcGllbnRzLlxuICAgKiBAcGFyYW0gez99IFthcmdzLnJlcGx5VG9dIC0gUmVwbHktdG8gYWRkcmVzcy5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBbYXJncy5oZWFkZXJzXSAtIEN1c3RvbSBoZWFkZXJzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuYWN0aW9uTmFtZV0gLSBNYWlsZXIgYWN0aW9uIG5hbWUuXG4gICAqIEBwYXJhbSB7UHJvbWlzZTw/PiB8ID99IFthcmdzLmFjdGlvblByb21pc2VdIC0gQWN0aW9uIGNvbXBsZXRpb24gcHJvbWlzZS5cbiAgICogQHJldHVybnMge01haWxlckRlbGl2ZXJ5fSAtIERlbGl2ZXJ5IHdyYXBwZXIuXG4gICAqL1xuICBtYWlsKHt0bywgc3ViamVjdCwgZnJvbSwgY2MsIGJjYywgcmVwbHlUbywgaGVhZGVycywgYWN0aW9uTmFtZSwgYWN0aW9uUHJvbWlzZSwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIGNvbnN0IHJlc29sdmVkQWN0aW9uTmFtZSA9IGFjdGlvbk5hbWUgfHwgaW5mZXJBY3Rpb25OYW1lKC8qKiBAdHlwZSB7dHlwZW9mIFZlbG9jaW91c01haWxlckJhc2V9ICovICh0aGlzLmNvbnN0cnVjdG9yKSwgbmV3IEVycm9yKCkuc3RhY2sgfHwgXCJcIilcblxuICAgIGlmICghcmVzb2x2ZWRBY3Rpb25OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgYWN0aW9uTmFtZSBmb3IgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9Lm1haWwoKWApXG4gICAgfVxuXG4gICAgdGhpcy5fYWN0aW9uTmFtZSA9IHJlc29sdmVkQWN0aW9uTmFtZVxuICAgIHRoaXMuX21haWxPcHRpb25zID0ge3RvLCBzdWJqZWN0LCBmcm9tLCBjYywgYmNjLCByZXBseVRvLCBoZWFkZXJzfVxuICAgIGNvbnN0IHJlc29sdmVkQWN0aW9uUHJvbWlzZSA9IGFjdGlvblByb21pc2UgPT09IHVuZGVmaW5lZCA/IFByb21pc2UucmVzb2x2ZSgpIDogUHJvbWlzZS5yZXNvbHZlKGFjdGlvblByb21pc2UpXG5cbiAgICByZXR1cm4gbmV3IE1haWxlckRlbGl2ZXJ5KHtcbiAgICAgIG1haWxlcjogdGhpcyxcbiAgICAgIGFjdGlvblByb21pc2U6IHJlc29sdmVkQWN0aW9uUHJvbWlzZSxcbiAgICAgIGFjdGlvbk5hbWU6IHJlc29sdmVkQWN0aW9uTmFtZVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0Pn0gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgYXN5bmMgX2dldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2NvbmZpZ3VyYXRpb25Qcm9taXNlXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgYWN0aW9uIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gQWN0aW9uIG5hbWUuXG4gICAqL1xuICBfZ2V0QWN0aW9uTmFtZSgpIHtcbiAgICBpZiAoIXRoaXMuX2FjdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gbWFpbGVyIGFjdGlvbiBzZXQgb24gJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9YClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uTmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYnVpbGQgcGF5bG9hZCBzeW5jLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaHRtbCAtIFJlbmRlcmVkIEhUTUwuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZH0gLSBEZWxpdmVyeSBwYXlsb2FkLlxuICAgKi9cbiAgX2J1aWxkUGF5bG9hZFN5bmMoaHRtbCkge1xuICAgIGNvbnN0IG1haWxPcHRpb25zID0gdGhpcy5fbWFpbE9wdGlvbnNcblxuICAgIGlmICghbWFpbE9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBtYWlsKCkgb3B0aW9ucyBmb3IgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9IyR7dGhpcy5fZ2V0QWN0aW9uTmFtZSgpfS4gR290OiAke1N0cmluZyhtYWlsT3B0aW9ucyl9YClcbiAgICB9XG5cbiAgICBpZiAoIW1haWxPcHRpb25zLnRvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgXCJ0b1wiIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX0jJHt0aGlzLl9nZXRBY3Rpb25OYW1lKCl9LiBHb3Q6ICR7U3RyaW5nKG1haWxPcHRpb25zLnRvKX1gKVxuICAgIH1cblxuICAgIGlmICghbWFpbE9wdGlvbnMuc3ViamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIFwic3ViamVjdFwiIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX0jJHt0aGlzLl9nZXRBY3Rpb25OYW1lKCl9LiBHb3Q6ICR7U3RyaW5nKG1haWxPcHRpb25zLnN1YmplY3QpfWApXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRvOiBtYWlsT3B0aW9ucy50byxcbiAgICAgIHN1YmplY3Q6IG1haWxPcHRpb25zLnN1YmplY3QsXG4gICAgICBmcm9tOiBtYWlsT3B0aW9ucy5mcm9tLFxuICAgICAgY2M6IG1haWxPcHRpb25zLmNjLFxuICAgICAgYmNjOiBtYWlsT3B0aW9ucy5iY2MsXG4gICAgICByZXBseVRvOiBtYWlsT3B0aW9ucy5yZXBseVRvLFxuICAgICAgaGVhZGVyczogbWFpbE9wdGlvbnMuaGVhZGVycyxcbiAgICAgIGh0bWwsXG4gICAgICBtYWlsZXI6IHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgIGFjdGlvbjogdGhpcy5fZ2V0QWN0aW9uTmFtZSgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYnVpbGQgcGF5bG9hZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQ+fSAtIERlbGl2ZXJ5IHBheWxvYWQuXG4gICAqL1xuICBhc3luYyBfYnVpbGRQYXlsb2FkKCkge1xuICAgIGNvbnN0IGh0bWwgPSBhd2FpdCB0aGlzLl9yZW5kZXJWaWV3KClcblxuICAgIHJldHVybiB0aGlzLl9idWlsZFBheWxvYWRTeW5jKGh0bWwpXG4gIH1cblxuICAvKipcbiAgICogUnVucyByZW5kZXIgdmlldy5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBSZW5kZXJlZCBIVE1MLlxuICAgKi9cbiAgYXN5bmMgX3JlbmRlclZpZXcoKSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGF3YWl0IHRoaXMuX2dldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IG1haWxlckRpciA9IG1haWxlckRpcmVjdG9yeU5hbWUodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSB0aGlzLl9nZXRBY3Rpb25OYW1lKClcbiAgICBjb25zdCBmaWxlTmFtZSA9IHZpZXdGaWxlTmFtZShhY3Rpb25OYW1lKVxuICAgIGNvbnN0IHZpZXdQYXRoID0gYCR7Y29uZmlndXJhdGlvbi5nZXREaXJlY3RvcnkoKX0vc3JjL21haWxlcnMvJHttYWlsZXJEaXJ9LyR7ZmlsZU5hbWV9LmVqc2BcbiAgICBjb25zdCB0cmFuc2xhdGUgPSAoLyoqIEB0eXBlIHtzdHJpbmd9ICovIG1zZ0lELCAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsID8+IHwgdW5kZWZpbmVkfSAqLyBhcmdzKSA9PiBjb25maWd1cmF0aW9uLmdldFRyYW5zbGF0b3IoKShtc2dJRCwgYXJncylcbiAgICBjb25zdCB2aWV3UGFyYW1zID0gaW5jb3Jwb3JhdGUoe21haWxlcjogdGhpcywgXzogdHJhbnNsYXRlfSwgdGhpcy5fdmlld1BhcmFtcylcblxuICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBlanMucmVuZGVyRmlsZSh2aWV3UGF0aCwgdmlld1BhcmFtcywge30sIChlcnIsIHN0cikgPT4ge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgY29uc3QgZXJyb3JDb2RlID0gLyoqIEB0eXBlIHt7Y29kZT86IHN0cmluZ319ICovIChlcnIpLmNvZGVcblxuICAgICAgICAgIGlmIChlcnJvckNvZGUgPT09IFwiRU5PRU5UXCIpIHtcbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoYE1pc3NpbmcgbWFpbGVyIHZpZXcgZmlsZTogJHt2aWV3UGF0aH1gKSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVqZWN0KGVycilcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzb2x2ZShzdHIpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGRlbGl2ZXIgcGF5bG9hZC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZH0gcGF5bG9hZCAtIE1haWwgZGVsaXZlcnkgcGF5bG9hZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQgfCA/Pn0gLSBIYW5kbGVyIHJlc3VsdC5cbiAgICovXG4gIGFzeW5jIF9kZWxpdmVyUGF5bG9hZChwYXlsb2FkKSB7XG4gICAgcmV0dXJuIGF3YWl0IGRlbGl2ZXJQYXlsb2FkKHBheWxvYWQpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBlbnF1ZXVlIHBheWxvYWQuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9IHBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZyB8IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkIHwgbnVsbD59IC0gSm9iIGlkIG9yIHBheWxvYWQgaW4gdGVzdCBtb2RlLlxuICAgKi9cbiAgYXN5bmMgX2VucXVldWVQYXlsb2FkKHBheWxvYWQpIHtcbiAgICByZXR1cm4gYXdhaXQgZW5xdWV1ZVBheWxvYWQocGF5bG9hZClcbiAgfVxufVxuXG4vKipcbiAqIFJ1bnMgdGhlIGRlbGl2ZXJpZXMgaGVscGVyLlxuICogQHJldHVybnMge2ltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkW119IC0gRGVsaXZlcmVkIHBheWxvYWRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVsaXZlcmllcygpIHtcbiAgcmV0dXJuIGRlbGl2ZXJpZXNTdG9yZS5zbGljZSgpXG59XG5cbi8qKlxuICogUnVucyB0aGUgY2xlYXJEZWxpdmVyaWVzIGhlbHBlci5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyRGVsaXZlcmllcygpIHtcbiAgZGVsaXZlcmllc1N0b3JlLmxlbmd0aCA9IDBcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBzZXREZWxpdmVyeUhhbmRsZXIgaGVscGVyLlxuICogQHBhcmFtIHsocGF5bG9hZDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQpID0+IFByb21pc2U8Pz4gfCA/fSBoYW5kbGVyIC0gRGVsaXZlcnkgaGFuZGxlci5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldERlbGl2ZXJ5SGFuZGxlcihoYW5kbGVyKSB7XG4gIGRlbGl2ZXJ5SGFuZGxlciA9IGhhbmRsZXJcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBnZXREZWxpdmVyeUhhbmRsZXIgaGVscGVyLlxuICogQHJldHVybnMgeygocGF5bG9hZDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQpID0+IFByb21pc2U8Pz4gfCA/KSB8IG51bGx9IC0gSGFuZGxlciBvciBudWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVsaXZlcnlIYW5kbGVyKCkge1xuICByZXR1cm4gZGVsaXZlcnlIYW5kbGVyXG59XG5cbi8qKlxuICogUnVucyB0aGUgZGVsaXZlclBheWxvYWQgaGVscGVyLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZH0gcGF5bG9hZCAtIE1haWwgZGVsaXZlcnkgcGF5bG9hZC5cbiAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkIHwgPz59IC0gSGFuZGxlciByZXN1bHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxpdmVyUGF5bG9hZChwYXlsb2FkKSB7XG4gIGlmIChhd2FpdCBpc1Rlc3RpbmdFbnZpcm9ubWVudCgpKSB7XG4gICAgZGVsaXZlcmllc1N0b3JlLnB1c2gocGF5bG9hZClcbiAgICByZXR1cm4gcGF5bG9hZFxuICB9XG5cbiAgY29uc3QgY29uZmlndXJhdGlvbiA9IGF3YWl0IGNvbmZpZ3VyYXRpb25SZXNvbHZlcigpXG4gIGNvbnN0IGJhY2tlbmQgPSBjb25maWd1cmF0aW9uLmdldE1haWxlckJhY2tlbmQoKVxuXG4gIGlmIChiYWNrZW5kPy5kZWxpdmVyKSB7XG4gICAgcmV0dXJuIGF3YWl0IGJhY2tlbmQuZGVsaXZlcih7cGF5bG9hZCwgY29uZmlndXJhdGlvbn0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVyID0gZGVsaXZlcnlIYW5kbGVyXG5cbiAgaWYgKCFoYW5kbGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBObyBtYWlsIGRlbGl2ZXJ5IGhhbmRsZXIgY29uZmlndXJlZCBmb3IgXCIke3BheWxvYWQuc3ViamVjdH1cIiB0byBcIiR7cGF5bG9hZC50b31cImApXG4gIH1cblxuICByZXR1cm4gYXdhaXQgaGFuZGxlcihwYXlsb2FkKVxufVxuXG4vKipcbiAqIFJ1bnMgdGhlIGVucXVldWVQYXlsb2FkIGhlbHBlci5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9IHBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmcgfCBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCB8IG51bGw+fSAtIEpvYiBpZCBvciBwYXlsb2FkIGluIHRlc3QgbW9kZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVucXVldWVQYXlsb2FkKHBheWxvYWQpIHtcbiAgaWYgKGF3YWl0IGlzVGVzdGluZ0Vudmlyb25tZW50KCkpIHtcbiAgICBkZWxpdmVyaWVzU3RvcmUucHVzaChwYXlsb2FkKVxuICAgIHJldHVybiBwYXlsb2FkXG4gIH1cblxuICBjb25zdCB7ZGVmYXVsdDogbWFpbERlbGl2ZXJ5Sm9ifSA9IGF3YWl0IGltcG9ydChcIi4uL2pvYnMvbWFpbC1kZWxpdmVyeS5qc1wiKVxuXG4gIHJldHVybiBhd2FpdCBtYWlsRGVsaXZlcnlKb2IucGVyZm9ybUxhdGVyKHBheWxvYWQpXG59XG4iXX0=
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYWlsZXIvYmFzZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFBO0FBQ3JCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDeEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxxQkFBcUIsTUFBTSw4QkFBOEIsQ0FBQTtBQUNoRSxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RCxPQUFPLGNBQWMsTUFBTSxlQUFlLENBQUE7QUFFMUM7OzBEQUUwRDtBQUMxRCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUE7QUFDMUI7O3NKQUVzSjtBQUN0SixJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUE7QUFFMUI7Ozs7R0FJRztBQUNILFNBQVMsWUFBWSxDQUFDLFVBQVU7SUFDOUIsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtBQUNoRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsbUJBQW1CLENBQUMsU0FBUztJQUNwQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVqRCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0FBQzlELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILHFDQUFxQztBQUNyQyxTQUFTLGVBQWUsQ0FBQyxXQUFXLEVBQUUsS0FBSztJQUN6QyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFBO0lBQ3ZDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQTtJQUVyQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFL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T0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQy9CLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQUMsT0FBTztJQUMxQyxJQUFJLE1BQU0sb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDN0IsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELE1BQU0sRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFDLEdBQUcsTUFBTSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUUzRSxPQUFPLE1BQU0sZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBlanMgZnJvbSBcImVqc1wiXG5pbXBvcnQge2luY29ycG9yYXRlfSBmcm9tIFwiaW5jb3Jwb3JhdG9yXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IGNvbmZpZ3VyYXRpb25SZXNvbHZlciBmcm9tIFwiLi4vY29uZmlndXJhdGlvbi1yZXNvbHZlci5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBNYWlsZXJEZWxpdmVyeSBmcm9tIFwiLi9kZWxpdmVyeS5qc1wiXG5cbi8qKlxuICogRGVsaXZlcmllcyBzdG9yZS5cbiAqIEB0eXBlIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZFtdfSAqL1xuY29uc3QgZGVsaXZlcmllc1N0b3JlID0gW11cbi8qKlxuICogRGVsaXZlcnkgaGFuZGxlci5cbiAqIEB0eXBlIHsoKHBheWxvYWQ6IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkKSA9PiBQcm9taXNlPFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+PiB8IFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+KSB8IG51bGx9ICovXG5sZXQgZGVsaXZlcnlIYW5kbGVyID0gbnVsbFxuXG4vKipcbiAqIFJ1bnMgdmlldyBmaWxlIG5hbWUuXG4gKiBAcGFyYW0ge3N0cmluZ30gYWN0aW9uTmFtZSAtIE1haWxlciBhY3Rpb24gbmFtZS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVmlldyBmaWxlIG5hbWUuXG4gKi9cbmZ1bmN0aW9uIHZpZXdGaWxlTmFtZShhY3Rpb25OYW1lKSB7XG4gIHJldHVybiBpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUoYWN0aW9uTmFtZSkpXG59XG5cbi8qKlxuICogUnVucyBtYWlsZXIgZGlyZWN0b3J5IG5hbWUuXG4gKiBAcGFyYW0ge3N0cmluZ30gY2xhc3NOYW1lIC0gTWFpbGVyIGNsYXNzIG5hbWUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIE1haWxlciBkaXJlY3RvcnkgbmFtZS5cbiAqL1xuZnVuY3Rpb24gbWFpbGVyRGlyZWN0b3J5TmFtZShjbGFzc05hbWUpIHtcbiAgY29uc3QgYmFzZU5hbWUgPSBjbGFzc05hbWUucmVwbGFjZSgvTWFpbGVyJC8sIFwiXCIpXG5cbiAgcmV0dXJuIGluZmxlY3Rpb24uZGFzaGVyaXplKGluZmxlY3Rpb24udW5kZXJzY29yZShiYXNlTmFtZSkpXG59XG5cbi8qKlxuICogUnVucyB0aGUgaW5mZXJBY3Rpb25OYW1lIGhlbHBlci5cbiAqIEBwYXJhbSB7dHlwZW9mIFZlbG9jaW91c01haWxlckJhc2V9IG1haWxlckNsYXNzIC0gTWFpbGVyIGNsYXNzLlxuICogQHBhcmFtIHtzdHJpbmd9IHN0YWNrIC0gRXJyb3Igc3RhY2suXG4gKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVsbH0gLSBJbmZlcnJlZCBhY3Rpb24gbmFtZS5cbiAqL1xuLy8gZmFsbG93LWlnbm9yZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuZnVuY3Rpb24gaW5mZXJBY3Rpb25OYW1lKG1haWxlckNsYXNzLCBzdGFjaykge1xuICBjb25zdCBwcm90b3R5cGUgPSBtYWlsZXJDbGFzcy5wcm90b3R5cGVcbiAgbGV0IGFjdGlvbk5hbWUgPSBudWxsXG5cbiAgZm9yIChjb25zdCBsaW5lIG9mIHN0YWNrLnNwbGl0KFwiXFxuXCIpKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBsaW5lLm1hdGNoKC9cXGJhdCAoPzphc3luYyApPyg/Om5ldyApP1teXFxzLl0rXFwuKFteXFxzLl0rKSAvKVxuXG4gICAgaWYgKCFtYXRjaCkgY29udGludWVcblxuICAgIGNvbnN0IGZyYW1lQWN0aW9uTmFtZSA9IG1hdGNoWzFdXG5cbiAgICBpZiAoZnJhbWVBY3Rpb25OYW1lID09PSBcIm1haWxcIikgY29udGludWVcbiAgICBpZiAoZnJhbWVBY3Rpb25OYW1lLnN0YXJ0c1dpdGgoXCJfXCIpKSBjb250aW51ZVxuICAgIGlmIChmcmFtZUFjdGlvbk5hbWUgPT09IFwiY29uc3RydWN0b3JcIikgY29udGludWVcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFZlbG9jaW91c01haWxlckJhc2UucHJvdG90eXBlLCBmcmFtZUFjdGlvbk5hbWUpKSBjb250aW51ZVxuICAgIGlmICh0eXBlb2YgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59ICovICgvKiogQHR5cGUge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSAqLyAocHJvdG90eXBlKSlbZnJhbWVBY3Rpb25OYW1lXSAhPT0gXCJmdW5jdGlvblwiKSBjb250aW51ZVxuXG4gICAgYWN0aW9uTmFtZSA9IGZyYW1lQWN0aW9uTmFtZVxuICB9XG5cbiAgcmV0dXJuIGFjdGlvbk5hbWVcbn1cblxuLyoqXG4gKiBSdW5zIGlzIHRlc3RpbmcgZW52aXJvbm1lbnQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHRoZSBjdXJyZW50IGVudmlyb25tZW50IGlzIHRlc3QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGlzVGVzdGluZ0Vudmlyb25tZW50KCkge1xuICBjb25zdCBjb25maWd1cmF0aW9uID0gYXdhaXQgY29uZmlndXJhdGlvblJlc29sdmVyKClcblxuICByZXR1cm4gY29uZmlndXJhdGlvbi5nZXRFbnZpcm9ubWVudCgpID09PSBcInRlc3RcIlxufVxuXG4vKipcbiAqIEJhc2UgbWFpbGVyIHdpdGggdmlldyByZW5kZXJpbmcgYW5kIGRlbGl2ZXJ5IGhlbHBlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBWZWxvY2lvdXNNYWlsZXJCYXNlIHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBDb25zdHJ1Y3RvciBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gW2FyZ3MuY29uZmlndXJhdGlvbl0gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb259ID0ge30pIHtcbiAgICB0aGlzLl9hY3Rpb25OYW1lID0gbnVsbFxuICAgIHRoaXMuX21haWxPcHRpb25zID0gbnVsbFxuICAgIHRoaXMuX3ZpZXdQYXJhbXMgPSB7fVxuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb25Qcm9taXNlID0gY29uZmlndXJhdGlvbiA/IFByb21pc2UucmVzb2x2ZShjb25maWd1cmF0aW9uKSA6IGNvbmZpZ3VyYXRpb25SZXNvbHZlcigpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBhc3NpZ24gdmlldy5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IHBhcmFtcyAtIFZpZXcgcGFyYW1zLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBhc3NpZ25WaWV3KHBhcmFtcykge1xuICAgIHRoaXMuX3ZpZXdQYXJhbXMgPSBPYmplY3QuYXNzaWduKHRoaXMuX3ZpZXdQYXJhbXMsIHBhcmFtcyB8fCB7fSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIG1haWwuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gTWFpbCBvcHRpb25zLlxuICAgKiBAcGFyYW0ge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSBhcmdzLnRvIC0gUmVjaXBpZW50LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zdWJqZWN0IC0gU3ViamVjdCBsaW5lLlxuICAgKiBAcGFyYW0ge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSBbYXJncy5mcm9tXSAtIFNlbmRlci5cbiAgICogQHBhcmFtIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gW2FyZ3MuY2NdIC0gQ0MgcmVjaXBpZW50cy5cbiAgICogQHBhcmFtIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gW2FyZ3MuYmNjXSAtIEJDQyByZWNpcGllbnRzLlxuICAgKiBAcGFyYW0ge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSBbYXJncy5yZXBseVRvXSAtIFJlcGx5LXRvIGFkZHJlc3MuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gW2FyZ3MuaGVhZGVyc10gLSBDdXN0b20gaGVhZGVycy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmFjdGlvbk5hbWVdIC0gTWFpbGVyIGFjdGlvbiBuYW1lLlxuICAgKiBAcGFyYW0ge1Byb21pc2U8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+IHwgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IFthcmdzLmFjdGlvblByb21pc2VdIC0gQWN0aW9uIGNvbXBsZXRpb24gcHJvbWlzZS5cbiAgICogQHJldHVybnMge01haWxlckRlbGl2ZXJ5fSAtIERlbGl2ZXJ5IHdyYXBwZXIuXG4gICAqL1xuICBtYWlsKHt0bywgc3ViamVjdCwgZnJvbSwgY2MsIGJjYywgcmVwbHlUbywgaGVhZGVycywgYWN0aW9uTmFtZSwgYWN0aW9uUHJvbWlzZSwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIGNvbnN0IHJlc29sdmVkQWN0aW9uTmFtZSA9IGFjdGlvbk5hbWUgfHwgaW5mZXJBY3Rpb25OYW1lKC8qKiBAdHlwZSB7dHlwZW9mIFZlbG9jaW91c01haWxlckJhc2V9ICovICh0aGlzLmNvbnN0cnVjdG9yKSwgbmV3IEVycm9yKCkuc3RhY2sgfHwgXCJcIilcblxuICAgIGlmICghcmVzb2x2ZWRBY3Rpb25OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgYWN0aW9uTmFtZSBmb3IgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9Lm1haWwoKWApXG4gICAgfVxuXG4gICAgdGhpcy5fYWN0aW9uTmFtZSA9IHJlc29sdmVkQWN0aW9uTmFtZVxuICAgIHRoaXMuX21haWxPcHRpb25zID0ge3RvLCBzdWJqZWN0LCBmcm9tLCBjYywgYmNjLCByZXBseVRvLCBoZWFkZXJzfVxuICAgIGNvbnN0IHJlc29sdmVkQWN0aW9uUHJvbWlzZSA9IGFjdGlvblByb21pc2UgPT09IHVuZGVmaW5lZCA/IFByb21pc2UucmVzb2x2ZSgpIDogUHJvbWlzZS5yZXNvbHZlKGFjdGlvblByb21pc2UpXG5cbiAgICByZXR1cm4gbmV3IE1haWxlckRlbGl2ZXJ5KHtcbiAgICAgIG1haWxlcjogdGhpcyxcbiAgICAgIGFjdGlvblByb21pc2U6IHJlc29sdmVkQWN0aW9uUHJvbWlzZSxcbiAgICAgIGFjdGlvbk5hbWU6IHJlc29sdmVkQWN0aW9uTmFtZVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0Pn0gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgYXN5bmMgX2dldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2NvbmZpZ3VyYXRpb25Qcm9taXNlXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgYWN0aW9uIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gQWN0aW9uIG5hbWUuXG4gICAqL1xuICBfZ2V0QWN0aW9uTmFtZSgpIHtcbiAgICBpZiAoIXRoaXMuX2FjdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gbWFpbGVyIGFjdGlvbiBzZXQgb24gJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9YClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uTmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYnVpbGQgcGF5bG9hZCBzeW5jLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaHRtbCAtIFJlbmRlcmVkIEhUTUwuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZH0gLSBEZWxpdmVyeSBwYXlsb2FkLlxuICAgKi9cbiAgX2J1aWxkUGF5bG9hZFN5bmMoaHRtbCkge1xuICAgIGNvbnN0IG1haWxPcHRpb25zID0gdGhpcy5fbWFpbE9wdGlvbnNcblxuICAgIGlmICghbWFpbE9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBtYWlsKCkgb3B0aW9ucyBmb3IgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9IyR7dGhpcy5fZ2V0QWN0aW9uTmFtZSgpfS4gR290OiAke1N0cmluZyhtYWlsT3B0aW9ucyl9YClcbiAgICB9XG5cbiAgICBpZiAoIW1haWxPcHRpb25zLnRvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgXCJ0b1wiIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX0jJHt0aGlzLl9nZXRBY3Rpb25OYW1lKCl9LiBHb3Q6ICR7U3RyaW5nKG1haWxPcHRpb25zLnRvKX1gKVxuICAgIH1cblxuICAgIGlmICghbWFpbE9wdGlvbnMuc3ViamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIFwic3ViamVjdFwiIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX0jJHt0aGlzLl9nZXRBY3Rpb25OYW1lKCl9LiBHb3Q6ICR7U3RyaW5nKG1haWxPcHRpb25zLnN1YmplY3QpfWApXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRvOiBtYWlsT3B0aW9ucy50byxcbiAgICAgIHN1YmplY3Q6IG1haWxPcHRpb25zLnN1YmplY3QsXG4gICAgICBmcm9tOiBtYWlsT3B0aW9ucy5mcm9tLFxuICAgICAgY2M6IG1haWxPcHRpb25zLmNjLFxuICAgICAgYmNjOiBtYWlsT3B0aW9ucy5iY2MsXG4gICAgICByZXBseVRvOiBtYWlsT3B0aW9ucy5yZXBseVRvLFxuICAgICAgaGVhZGVyczogbWFpbE9wdGlvbnMuaGVhZGVycyxcbiAgICAgIGh0bWwsXG4gICAgICBtYWlsZXI6IHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgIGFjdGlvbjogdGhpcy5fZ2V0QWN0aW9uTmFtZSgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYnVpbGQgcGF5bG9hZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQ+fSAtIERlbGl2ZXJ5IHBheWxvYWQuXG4gICAqL1xuICBhc3luYyBfYnVpbGRQYXlsb2FkKCkge1xuICAgIGNvbnN0IGh0bWwgPSBhd2FpdCB0aGlzLl9yZW5kZXJWaWV3KClcblxuICAgIHJldHVybiB0aGlzLl9idWlsZFBheWxvYWRTeW5jKGh0bWwpXG4gIH1cblxuICAvKipcbiAgICogUnVucyByZW5kZXIgdmlldy5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBSZW5kZXJlZCBIVE1MLlxuICAgKi9cbiAgYXN5bmMgX3JlbmRlclZpZXcoKSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGF3YWl0IHRoaXMuX2dldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IG1haWxlckRpciA9IG1haWxlckRpcmVjdG9yeU5hbWUodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSB0aGlzLl9nZXRBY3Rpb25OYW1lKClcbiAgICBjb25zdCBmaWxlTmFtZSA9IHZpZXdGaWxlTmFtZShhY3Rpb25OYW1lKVxuICAgIGNvbnN0IHZpZXdQYXRoID0gYCR7Y29uZmlndXJhdGlvbi5nZXREaXJlY3RvcnkoKX0vc3JjL21haWxlcnMvJHttYWlsZXJEaXJ9LyR7ZmlsZU5hbWV9LmVqc2BcbiAgICBjb25zdCB0cmFuc2xhdGUgPSAoLyoqIEB0eXBlIHtzdHJpbmd9ICovIG1zZ0lELCAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+PiB8IHVuZGVmaW5lZH0gKi8gYXJncykgPT4gY29uZmlndXJhdGlvbi5nZXRUcmFuc2xhdG9yKCkobXNnSUQsIGFyZ3MpXG4gICAgY29uc3Qgdmlld1BhcmFtcyA9IGluY29ycG9yYXRlKHttYWlsZXI6IHRoaXMsIF86IHRyYW5zbGF0ZX0sIHRoaXMuX3ZpZXdQYXJhbXMpXG5cbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgZWpzLnJlbmRlckZpbGUodmlld1BhdGgsIHZpZXdQYXJhbXMsIHt9LCAoZXJyLCBzdHIpID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IC8qKiBAdHlwZSB7e2NvZGU/OiBzdHJpbmd9fSAqLyAoZXJyKS5jb2RlXG5cbiAgICAgICAgICBpZiAoZXJyb3JDb2RlID09PSBcIkVOT0VOVFwiKSB7XG4gICAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBNaXNzaW5nIG1haWxlciB2aWV3IGZpbGU6ICR7dmlld1BhdGh9YCkpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlamVjdChlcnIpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc29sdmUoc3RyKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBkZWxpdmVyIHBheWxvYWQuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9IHBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkIHwgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSAtIEhhbmRsZXIgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgX2RlbGl2ZXJQYXlsb2FkKHBheWxvYWQpIHtcbiAgICByZXR1cm4gYXdhaXQgZGVsaXZlclBheWxvYWQocGF5bG9hZClcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGVucXVldWUgcGF5bG9hZC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZH0gcGF5bG9hZCAtIE1haWwgZGVsaXZlcnkgcGF5bG9hZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nIHwgaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQgfCBudWxsPn0gLSBKb2IgaWQgb3IgcGF5bG9hZCBpbiB0ZXN0IG1vZGUuXG4gICAqL1xuICBhc3luYyBfZW5xdWV1ZVBheWxvYWQocGF5bG9hZCkge1xuICAgIHJldHVybiBhd2FpdCBlbnF1ZXVlUGF5bG9hZChwYXlsb2FkKVxuICB9XG59XG5cbi8qKlxuICogUnVucyB0aGUgZGVsaXZlcmllcyBoZWxwZXIuXG4gKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWRbXX0gLSBEZWxpdmVyZWQgcGF5bG9hZHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxpdmVyaWVzKCkge1xuICByZXR1cm4gZGVsaXZlcmllc1N0b3JlLnNsaWNlKClcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBjbGVhckRlbGl2ZXJpZXMgaGVscGVyLlxuICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJEZWxpdmVyaWVzKCkge1xuICBkZWxpdmVyaWVzU3RvcmUubGVuZ3RoID0gMFxufVxuXG4vKipcbiAqIFJ1bnMgdGhlIHNldERlbGl2ZXJ5SGFuZGxlciBoZWxwZXIuXG4gKiBAcGFyYW0geyhwYXlsb2FkOiBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCkgPT4gUHJvbWlzZTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj4gfCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gaGFuZGxlciAtIERlbGl2ZXJ5IGhhbmRsZXIuXG4gKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWxpdmVyeUhhbmRsZXIoaGFuZGxlcikge1xuICBkZWxpdmVyeUhhbmRsZXIgPSBoYW5kbGVyXG59XG5cbi8qKlxuICogUnVucyB0aGUgZ2V0RGVsaXZlcnlIYW5kbGVyIGhlbHBlci5cbiAqIEByZXR1cm5zIHsoKHBheWxvYWQ6IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkKSA9PiBQcm9taXNlPFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+PiB8IFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+KSB8IG51bGx9IC0gSGFuZGxlciBvciBudWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVsaXZlcnlIYW5kbGVyKCkge1xuICByZXR1cm4gZGVsaXZlcnlIYW5kbGVyXG59XG5cbi8qKlxuICogUnVucyB0aGUgZGVsaXZlclBheWxvYWQgaGVscGVyLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZH0gcGF5bG9hZCAtIE1haWwgZGVsaXZlcnkgcGF5bG9hZC5cbiAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkIHwgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSAtIEhhbmRsZXIgcmVzdWx0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsaXZlclBheWxvYWQocGF5bG9hZCkge1xuICBpZiAoYXdhaXQgaXNUZXN0aW5nRW52aXJvbm1lbnQoKSkge1xuICAgIGRlbGl2ZXJpZXNTdG9yZS5wdXNoKHBheWxvYWQpXG4gICAgcmV0dXJuIHBheWxvYWRcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBhd2FpdCBjb25maWd1cmF0aW9uUmVzb2x2ZXIoKVxuICBjb25zdCBiYWNrZW5kID0gY29uZmlndXJhdGlvbi5nZXRNYWlsZXJCYWNrZW5kKClcblxuICBpZiAoYmFja2VuZD8uZGVsaXZlcikge1xuICAgIHJldHVybiBhd2FpdCBiYWNrZW5kLmRlbGl2ZXIoe3BheWxvYWQsIGNvbmZpZ3VyYXRpb259KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlciA9IGRlbGl2ZXJ5SGFuZGxlclxuXG4gIGlmICghaGFuZGxlcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gbWFpbCBkZWxpdmVyeSBoYW5kbGVyIGNvbmZpZ3VyZWQgZm9yIFwiJHtwYXlsb2FkLnN1YmplY3R9XCIgdG8gXCIke3BheWxvYWQudG99XCJgKVxuICB9XG5cbiAgcmV0dXJuIGF3YWl0IGhhbmRsZXIocGF5bG9hZClcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBlbnF1ZXVlUGF5bG9hZCBoZWxwZXIuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkfSBwYXlsb2FkIC0gTWFpbCBkZWxpdmVyeSBwYXlsb2FkLlxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nIHwgaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQgfCBudWxsPn0gLSBKb2IgaWQgb3IgcGF5bG9hZCBpbiB0ZXN0IG1vZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnF1ZXVlUGF5bG9hZChwYXlsb2FkKSB7XG4gIGlmIChhd2FpdCBpc1Rlc3RpbmdFbnZpcm9ubWVudCgpKSB7XG4gICAgZGVsaXZlcmllc1N0b3JlLnB1c2gocGF5bG9hZClcbiAgICByZXR1cm4gcGF5bG9hZFxuICB9XG5cbiAgY29uc3Qge2RlZmF1bHQ6IG1haWxEZWxpdmVyeUpvYn0gPSBhd2FpdCBpbXBvcnQoXCIuLi9qb2JzL21haWwtZGVsaXZlcnkuanNcIilcblxuICByZXR1cm4gYXdhaXQgbWFpbERlbGl2ZXJ5Sm9iLnBlcmZvcm1MYXRlcihwYXlsb2FkKVxufVxuIl19
@@ -2,30 +2,30 @@
2
2
  * Represents a prepared mail delivery.
3
3
  */
4
4
  export default class MailerDelivery {
5
- /**
6
- * Runs constructor.
7
- * @param {object} args - Constructor args.
8
- * @param {import("./base.js").VelociousMailerBase} args.mailer - Mailer instance.
9
- * @param {Promise<?>} args.actionPromise - Action promise.
10
- * @param {string} args.actionName - Action name.
11
- */
12
- constructor({ mailer, actionPromise, actionName }: {
13
- mailer: import("./base.js").VelociousMailerBase;
14
- actionPromise: Promise<unknown>;
15
- actionName: string;
16
- });
17
5
  /**
18
6
  * Narrows the runtime value to the documented type.
19
7
  * @type {import("./base.js").VelociousMailerBase} */
20
8
  mailer: import("./base.js").VelociousMailerBase;
21
9
  /**
22
10
  * Narrows the runtime value to the documented type.
23
- * @type {Promise<?>} */
24
- actionPromise: Promise<unknown>;
11
+ * @type {Promise<ReturnType<typeof JSON.parse>>} */
12
+ actionPromise: Promise<ReturnType<typeof JSON.parse>>;
25
13
  /**
26
14
  * Narrows the runtime value to the documented type.
27
15
  * @type {string} */
28
16
  actionName: string;
17
+ /**
18
+ * Runs constructor.
19
+ * @param {object} args - Constructor args.
20
+ * @param {import("./base.js").VelociousMailerBase} args.mailer - Mailer instance.
21
+ * @param {Promise<ReturnType<typeof JSON.parse>>} args.actionPromise - Action promise.
22
+ * @param {string} args.actionName - Action name.
23
+ */
24
+ constructor({ mailer, actionPromise, actionName }: {
25
+ mailer: import("./base.js").VelociousMailerBase;
26
+ actionPromise: Promise<ReturnType<typeof JSON.parse>>;
27
+ actionName: string;
28
+ });
29
29
  /**
30
30
  * Runs build payload.
31
31
  * @returns {Promise<import("./index.js").MailerDeliveryPayload>} - Rendered mailer payload.
@@ -33,9 +33,9 @@ export default class MailerDelivery {
33
33
  buildPayload(): Promise<import("./index.js").MailerDeliveryPayload>;
34
34
  /**
35
35
  * Runs deliver now.
36
- * @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Delivered payload or handler result.
36
+ * @returns {Promise<import("./index.js").MailerDeliveryPayload | ReturnType<typeof JSON.parse>>} - Delivered payload or handler result.
37
37
  */
38
- deliverNow(): Promise<import("./index.js").MailerDeliveryPayload | unknown>;
38
+ deliverNow(): Promise<import("./index.js").MailerDeliveryPayload | ReturnType<typeof JSON.parse>>;
39
39
  /**
40
40
  * Runs deliver later.
41
41
  * @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../../src/mailer/delivery.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IAcE;;;;;;OAMG;IACH,mDAJG;QAAsD,MAAM,EAApD,OAAO,WAAW,EAAE,mBAAmB;QACtB,aAAa,EAA9B,OAAO,CAAC,OAAC,CAAC;QACG,UAAU,EAAvB,MAAM;KAChB,EAKA;IAxBD;;yDAEqD;IACrD,QADU,OAAO,WAAW,EAAE,mBAAmB,CAC3C;IACN;;4BAEwB;IACxB,eADU,OAAO,CAAC,OAAC,CAAC,CACP;IACb;;wBAEoB;IACpB,YADU,MAAM,CACN;IAeV;;;OAGG;IACH,gBAFa,OAAO,CAAC,OAAO,YAAY,EAAE,qBAAqB,CAAC,CAM/D;IAED;;;OAGG;IACH,cAFa,OAAO,CAAC,OAAO,YAAY,EAAE,qBAAqB,GAAG,OAAC,CAAC,CAMnE;IAED;;;OAGG;IACH,gBAFa,OAAO,CAAC,MAAM,GAAG,OAAO,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAM/E;IAED;;;OAGG;IACH,gBAFa,OAAO,CAAC,MAAM,GAAG,OAAO,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAI/E;CACF"}
1
+ {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../../src/mailer/delivery.js"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC;;yDAEqD;IACrD,MAAM,EADI,OAAO,WAAW,EAAE,mBAAmB,CAC3C;IACN;;wDAEoD;IACpD,aAAa,EADH,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CACnC;IACb;;wBAEoB;IACpB,UAAU,EADA,MAAM,CACN;IAEV;;;;;;OAMG;IACH,YAAY,EAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAC,EAJ5C;QAAsD,MAAM,EAApD,OAAO,WAAW,EAAE,mBAAmB,CAC/C;QAAqD,aAAa,EAA1D,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC9C;QAAqB,UAAU,EAAvB,MAAM,CAChB;KAC8C,EAI9C;IAED;;;OAGG;IACG,YAAY,IAFL,OAAO,CAAC,OAAO,YAAY,EAAE,qBAAqB,CAAC,CAM/D;IAED;;;OAGG;IACG,UAAU,IAFH,OAAO,CAAC,OAAO,YAAY,EAAE,qBAAqB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAM/F;IAED;;;OAGG;IACG,YAAY,IAFL,OAAO,CAAC,MAAM,GAAG,OAAO,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAM/E;IAED;;;OAGG;IACG,YAAY,IAFL,OAAO,CAAC,MAAM,GAAG,OAAO,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAI/E;CACF"}
@@ -9,7 +9,7 @@ export default class MailerDelivery {
9
9
  mailer;
10
10
  /**
11
11
  * Narrows the runtime value to the documented type.
12
- * @type {Promise<?>} */
12
+ * @type {Promise<ReturnType<typeof JSON.parse>>} */
13
13
  actionPromise;
14
14
  /**
15
15
  * Narrows the runtime value to the documented type.
@@ -19,7 +19,7 @@ export default class MailerDelivery {
19
19
  * Runs constructor.
20
20
  * @param {object} args - Constructor args.
21
21
  * @param {import("./base.js").VelociousMailerBase} args.mailer - Mailer instance.
22
- * @param {Promise<?>} args.actionPromise - Action promise.
22
+ * @param {Promise<ReturnType<typeof JSON.parse>>} args.actionPromise - Action promise.
23
23
  * @param {string} args.actionName - Action name.
24
24
  */
25
25
  constructor({ mailer, actionPromise, actionName }) {
@@ -37,7 +37,7 @@ export default class MailerDelivery {
37
37
  }
38
38
  /**
39
39
  * Runs deliver now.
40
- * @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Delivered payload or handler result.
40
+ * @returns {Promise<import("./index.js").MailerDeliveryPayload | ReturnType<typeof JSON.parse>>} - Delivered payload or handler result.
41
41
  */
42
42
  async deliverNow() {
43
43
  const payload = await this.buildPayload();
@@ -59,4 +59,4 @@ export default class MailerDelivery {
59
59
  return await this.deliverLater();
60
60
  }
61
61
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFpbGVyL2RlbGl2ZXJ5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBYztJQUNqQzs7eURBRXFEO0lBQ3JELE1BQU0sQ0FBQTtJQUNOOzs0QkFFd0I7SUFDeEIsYUFBYSxDQUFBO0lBQ2I7O3dCQUVvQjtJQUNwQixVQUFVLENBQUE7SUFFVjs7Ozs7O09BTUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQTtRQUV4QixPQUFPLHlEQUF5RCxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDdEcsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxVQUFVO1FBQ2QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFekMsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUV6QyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHByZXBhcmVkIG1haWwgZGVsaXZlcnkuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1haWxlckRlbGl2ZXJ5IHtcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICogQHR5cGUge2ltcG9ydChcIi4vYmFzZS5qc1wiKS5WZWxvY2lvdXNNYWlsZXJCYXNlfSAqL1xuICBtYWlsZXJcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICogQHR5cGUge1Byb21pc2U8Pz59ICovXG4gIGFjdGlvblByb21pc2VcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICogQHR5cGUge3N0cmluZ30gKi9cbiAgYWN0aW9uTmFtZVxuXG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIENvbnN0cnVjdG9yIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLlZlbG9jaW91c01haWxlckJhc2V9IGFyZ3MubWFpbGVyIC0gTWFpbGVyIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge1Byb21pc2U8Pz59IGFyZ3MuYWN0aW9uUHJvbWlzZSAtIEFjdGlvbiBwcm9taXNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5hY3Rpb25OYW1lIC0gQWN0aW9uIG5hbWUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7bWFpbGVyLCBhY3Rpb25Qcm9taXNlLCBhY3Rpb25OYW1lfSkge1xuICAgIHRoaXMubWFpbGVyID0gbWFpbGVyXG4gICAgdGhpcy5hY3Rpb25Qcm9taXNlID0gYWN0aW9uUHJvbWlzZVxuICAgIHRoaXMuYWN0aW9uTmFtZSA9IGFjdGlvbk5hbWVcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGJ1aWxkIHBheWxvYWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkPn0gLSBSZW5kZXJlZCBtYWlsZXIgcGF5bG9hZC5cbiAgICovXG4gIGFzeW5jIGJ1aWxkUGF5bG9hZCgpIHtcbiAgICBhd2FpdCB0aGlzLmFjdGlvblByb21pc2VcblxuICAgIHJldHVybiAvKiogQHR5cGUge2ltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkfSAqLyAoYXdhaXQgdGhpcy5tYWlsZXIuX2J1aWxkUGF5bG9hZCgpKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZGVsaXZlciBub3cuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkIHwgPz59IC0gRGVsaXZlcmVkIHBheWxvYWQgb3IgaGFuZGxlciByZXN1bHQuXG4gICAqL1xuICBhc3luYyBkZWxpdmVyTm93KCkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCB0aGlzLmJ1aWxkUGF5bG9hZCgpXG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5tYWlsZXIuX2RlbGl2ZXJQYXlsb2FkKHBheWxvYWQpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBkZWxpdmVyIGxhdGVyLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmcgfCBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCB8IG51bGw+fSAtIEpvYiBpZCBvciBwYXlsb2FkIGluIHRlc3QgbW9kZS5cbiAgICovXG4gIGFzeW5jIGRlbGl2ZXJMYXRlcigpIHtcbiAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgdGhpcy5idWlsZFBheWxvYWQoKVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubWFpbGVyLl9lbnF1ZXVlUGF5bG9hZChwYXlsb2FkKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZGVsaXZlciBsYXZlci5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nIHwgaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQgfCBudWxsPn0gLSBKb2IgaWQgb3IgcGF5bG9hZCBpbiB0ZXN0IG1vZGUuXG4gICAqL1xuICBhc3luYyBkZWxpdmVyTGF2ZXIoKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZGVsaXZlckxhdGVyKClcbiAgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFpbGVyL2RlbGl2ZXJ5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBYztJQUNqQzs7eURBRXFEO0lBQ3JELE1BQU0sQ0FBQTtJQUNOOzt3REFFb0Q7SUFDcEQsYUFBYSxDQUFBO0lBQ2I7O3dCQUVvQjtJQUNwQixVQUFVLENBQUE7SUFFVjs7Ozs7O09BTUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQTtRQUV4QixPQUFPLHlEQUF5RCxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDdEcsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxVQUFVO1FBQ2QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFekMsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUV6QyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHByZXBhcmVkIG1haWwgZGVsaXZlcnkuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1haWxlckRlbGl2ZXJ5IHtcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICogQHR5cGUge2ltcG9ydChcIi4vYmFzZS5qc1wiKS5WZWxvY2lvdXNNYWlsZXJCYXNlfSAqL1xuICBtYWlsZXJcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICogQHR5cGUge1Byb21pc2U8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSAqL1xuICBhY3Rpb25Qcm9taXNlXG4gIC8qKlxuICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAqIEB0eXBlIHtzdHJpbmd9ICovXG4gIGFjdGlvbk5hbWVcblxuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBDb25zdHJ1Y3RvciBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vYmFzZS5qc1wiKS5WZWxvY2lvdXNNYWlsZXJCYXNlfSBhcmdzLm1haWxlciAtIE1haWxlciBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtQcm9taXNlPFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5hY3Rpb25Qcm9taXNlIC0gQWN0aW9uIHByb21pc2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmFjdGlvbk5hbWUgLSBBY3Rpb24gbmFtZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHttYWlsZXIsIGFjdGlvblByb21pc2UsIGFjdGlvbk5hbWV9KSB7XG4gICAgdGhpcy5tYWlsZXIgPSBtYWlsZXJcbiAgICB0aGlzLmFjdGlvblByb21pc2UgPSBhY3Rpb25Qcm9taXNlXG4gICAgdGhpcy5hY3Rpb25OYW1lID0gYWN0aW9uTmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYnVpbGQgcGF5bG9hZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQ+fSAtIFJlbmRlcmVkIG1haWxlciBwYXlsb2FkLlxuICAgKi9cbiAgYXN5bmMgYnVpbGRQYXlsb2FkKCkge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9uUHJvbWlzZVxuXG4gICAgcmV0dXJuIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9ICovIChhd2FpdCB0aGlzLm1haWxlci5fYnVpbGRQYXlsb2FkKCkpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBkZWxpdmVyIG5vdy5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQgfCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IC0gRGVsaXZlcmVkIHBheWxvYWQgb3IgaGFuZGxlciByZXN1bHQuXG4gICAqL1xuICBhc3luYyBkZWxpdmVyTm93KCkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCB0aGlzLmJ1aWxkUGF5bG9hZCgpXG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5tYWlsZXIuX2RlbGl2ZXJQYXlsb2FkKHBheWxvYWQpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBkZWxpdmVyIGxhdGVyLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmcgfCBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCB8IG51bGw+fSAtIEpvYiBpZCBvciBwYXlsb2FkIGluIHRlc3QgbW9kZS5cbiAgICovXG4gIGFzeW5jIGRlbGl2ZXJMYXRlcigpIHtcbiAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgdGhpcy5idWlsZFBheWxvYWQoKVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubWFpbGVyLl9lbnF1ZXVlUGF5bG9hZChwYXlsb2FkKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZGVsaXZlciBsYXZlci5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nIHwgaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQgfCBudWxsPn0gLSBKb2IgaWQgb3IgcGF5bG9hZCBpbiB0ZXN0IG1vZGUuXG4gICAqL1xuICBhc3luYyBkZWxpdmVyTGF2ZXIoKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZGVsaXZlckxhdGVyKClcbiAgfVxufVxuIl19
@@ -1,22 +1,17 @@
1
- export default VelociousMailerBase;
2
1
  export type MailerDeliveryPayload = {
3
- to: unknown;
2
+ to: ReturnType<typeof JSON.parse>;
4
3
  subject: string;
5
- from?: unknown;
6
- cc?: unknown;
7
- bcc?: unknown;
8
- replyTo?: unknown;
4
+ from?: ReturnType<typeof JSON.parse>;
5
+ cc?: ReturnType<typeof JSON.parse>;
6
+ bcc?: ReturnType<typeof JSON.parse>;
7
+ replyTo?: ReturnType<typeof JSON.parse>;
9
8
  headers?: Record<string, string>;
10
9
  html: string;
11
10
  mailer: string;
12
11
  action: string;
13
12
  };
14
- import { VelociousMailerBase } from "./base.js";
15
- import { clearDeliveries } from "./base.js";
16
- import { deliverPayload } from "./base.js";
17
- import { deliveries } from "./base.js";
18
- import { enqueuePayload } from "./base.js";
19
- import { getDeliveryHandler } from "./base.js";
20
- import { setDeliveryHandler } from "./base.js";
13
+ /** @typedef {{to: ReturnType<typeof JSON.parse>, subject: string, from?: ReturnType<typeof JSON.parse>, cc?: ReturnType<typeof JSON.parse>, bcc?: ReturnType<typeof JSON.parse>, replyTo?: ReturnType<typeof JSON.parse>, headers?: Record<string, string>, html: string, mailer: string, action: string}} MailerDeliveryPayload */
14
+ import { clearDeliveries, deliverPayload, deliveries, enqueuePayload, getDeliveryHandler, setDeliveryHandler, VelociousMailerBase } from "./base.js";
21
15
  export { VelociousMailerBase, clearDeliveries, deliverPayload, deliveries, enqueuePayload, getDeliveryHandler, setDeliveryHandler };
16
+ export default VelociousMailerBase;
22
17
  //# sourceMappingURL=index.d.ts.map