velocious 1.0.428 → 1.0.430
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/build/src/application.d.ts +96 -9
- package/build/src/application.d.ts.map +1 -1
- package/build/src/application.js +127 -28
- package/build/src/authorization/ability.d.ts +72 -31
- package/build/src/authorization/ability.d.ts.map +1 -1
- package/build/src/authorization/ability.js +59 -22
- package/build/src/authorization/base-resource.d.ts +47 -20
- package/build/src/authorization/base-resource.d.ts.map +1 -1
- package/build/src/authorization/base-resource.js +43 -14
- package/build/src/background-jobs/client.d.ts +4 -2
- package/build/src/background-jobs/client.d.ts.map +1 -1
- package/build/src/background-jobs/client.js +4 -2
- package/build/src/background-jobs/cron-expression.d.ts +9 -5
- package/build/src/background-jobs/cron-expression.d.ts.map +1 -1
- package/build/src/background-jobs/cron-expression.js +16 -6
- package/build/src/background-jobs/forked-runner-child.js +12 -5
- package/build/src/background-jobs/job-registry.d.ts +7 -1
- package/build/src/background-jobs/job-registry.d.ts.map +1 -1
- package/build/src/background-jobs/job-registry.js +8 -2
- package/build/src/background-jobs/job-runner.d.ts +1 -0
- package/build/src/background-jobs/job-runner.d.ts.map +1 -1
- package/build/src/background-jobs/job-runner.js +8 -3
- package/build/src/background-jobs/job.d.ts +12 -8
- package/build/src/background-jobs/job.d.ts.map +1 -1
- package/build/src/background-jobs/job.js +12 -6
- package/build/src/background-jobs/json-socket.d.ts +17 -5
- package/build/src/background-jobs/json-socket.d.ts.map +1 -1
- package/build/src/background-jobs/json-socket.js +18 -6
- package/build/src/background-jobs/main.d.ts +118 -32
- package/build/src/background-jobs/main.d.ts.map +1 -1
- package/build/src/background-jobs/main.js +123 -35
- package/build/src/background-jobs/normalize-error.d.ts +2 -1
- package/build/src/background-jobs/normalize-error.d.ts.map +1 -1
- package/build/src/background-jobs/normalize-error.js +5 -3
- package/build/src/background-jobs/scheduler.d.ts +31 -10
- package/build/src/background-jobs/scheduler.d.ts.map +1 -1
- package/build/src/background-jobs/scheduler.js +33 -11
- package/build/src/background-jobs/socket-request.d.ts +2 -0
- package/build/src/background-jobs/socket-request.d.ts.map +1 -1
- package/build/src/background-jobs/socket-request.js +11 -3
- package/build/src/background-jobs/status-reporter.d.ts +5 -2
- package/build/src/background-jobs/status-reporter.d.ts.map +1 -1
- package/build/src/background-jobs/status-reporter.js +6 -3
- package/build/src/background-jobs/store.d.ts +57 -19
- package/build/src/background-jobs/store.d.ts.map +1 -1
- package/build/src/background-jobs/store.js +70 -20
- package/build/src/background-jobs/types.d.ts +7 -7
- package/build/src/background-jobs/types.d.ts.map +1 -1
- package/build/src/background-jobs/types.js +6 -6
- package/build/src/background-jobs/web/authorization.d.ts.map +1 -1
- package/build/src/background-jobs/web/authorization.js +3 -1
- package/build/src/background-jobs/web/controller.d.ts +40 -14
- package/build/src/background-jobs/web/controller.d.ts.map +1 -1
- package/build/src/background-jobs/web/controller.js +46 -15
- package/build/src/background-jobs/web/registry.d.ts +5 -0
- package/build/src/background-jobs/web/registry.d.ts.map +1 -1
- package/build/src/background-jobs/web/registry.js +4 -1
- package/build/src/background-jobs/worker.d.ts +41 -8
- package/build/src/background-jobs/worker.d.ts.map +1 -1
- package/build/src/background-jobs/worker.js +64 -16
- package/build/src/beacon/client.d.ts +39 -12
- package/build/src/beacon/client.d.ts.map +1 -1
- package/build/src/beacon/client.js +45 -15
- package/build/src/beacon/in-process-broker.d.ts +4 -0
- package/build/src/beacon/in-process-broker.d.ts.map +1 -1
- package/build/src/beacon/in-process-broker.js +8 -3
- package/build/src/beacon/in-process-client.d.ts +28 -9
- package/build/src/beacon/in-process-client.d.ts.map +1 -1
- package/build/src/beacon/in-process-client.js +27 -9
- package/build/src/beacon/server.d.ts +13 -2
- package/build/src/beacon/server.d.ts.map +1 -1
- package/build/src/beacon/server.js +21 -5
- package/build/src/beacon/types.d.ts +3 -3
- package/build/src/beacon/types.d.ts.map +1 -1
- package/build/src/beacon/types.js +2 -2
- package/build/src/cli/base-command.d.ts +18 -4
- package/build/src/cli/base-command.d.ts.map +1 -1
- package/build/src/cli/base-command.js +15 -4
- package/build/src/cli/browser-cli.d.ts +3 -0
- package/build/src/cli/browser-cli.d.ts.map +1 -1
- package/build/src/cli/browser-cli.js +7 -2
- package/build/src/cli/commands/background-jobs-main.d.ts +0 -1
- package/build/src/cli/commands/background-jobs-main.d.ts.map +1 -1
- package/build/src/cli/commands/background-jobs-runner.d.ts +0 -1
- package/build/src/cli/commands/background-jobs-runner.d.ts.map +1 -1
- package/build/src/cli/commands/background-jobs-worker.d.ts +0 -1
- package/build/src/cli/commands/background-jobs-worker.d.ts.map +1 -1
- package/build/src/cli/commands/beacon.d.ts +0 -1
- package/build/src/cli/commands/beacon.d.ts.map +1 -1
- package/build/src/cli/commands/console.d.ts +0 -2
- package/build/src/cli/commands/console.d.ts.map +1 -1
- package/build/src/cli/commands/console.js +5 -2
- package/build/src/cli/commands/db/base-command.d.ts +11 -2
- package/build/src/cli/commands/db/base-command.d.ts.map +1 -1
- package/build/src/cli/commands/db/base-command.js +12 -3
- package/build/src/cli/commands/db/create.d.ts +3 -0
- package/build/src/cli/commands/db/create.d.ts.map +1 -1
- package/build/src/cli/commands/db/create.js +4 -1
- package/build/src/cli/commands/db/drop.d.ts +3 -0
- package/build/src/cli/commands/db/drop.d.ts.map +1 -1
- package/build/src/cli/commands/db/drop.js +4 -1
- package/build/src/cli/commands/db/schema/dump.d.ts +0 -2
- package/build/src/cli/commands/db/schema/dump.d.ts.map +1 -1
- package/build/src/cli/commands/db/schema/dump.js +5 -2
- package/build/src/cli/commands/db/schema/load.d.ts +0 -2
- package/build/src/cli/commands/db/schema/load.d.ts.map +1 -1
- package/build/src/cli/commands/db/schema/load.js +5 -2
- package/build/src/cli/commands/db/seed.d.ts +0 -2
- package/build/src/cli/commands/db/seed.d.ts.map +1 -1
- package/build/src/cli/commands/db/seed.js +5 -2
- package/build/src/cli/commands/db/tenants/check.d.ts +4 -1
- package/build/src/cli/commands/db/tenants/check.d.ts.map +1 -1
- package/build/src/cli/commands/db/tenants/check.js +5 -2
- package/build/src/cli/commands/db/tenants/create.d.ts +4 -1
- package/build/src/cli/commands/db/tenants/create.d.ts.map +1 -1
- package/build/src/cli/commands/db/tenants/create.js +5 -2
- package/build/src/cli/commands/db/tenants/migrate.d.ts +4 -1
- package/build/src/cli/commands/db/tenants/migrate.d.ts.map +1 -1
- package/build/src/cli/commands/db/tenants/migrate.js +5 -2
- package/build/src/cli/commands/destroy/migration.d.ts +0 -1
- package/build/src/cli/commands/destroy/migration.d.ts.map +1 -1
- package/build/src/cli/commands/generate/base-models.d.ts +0 -1
- package/build/src/cli/commands/generate/base-models.d.ts.map +1 -1
- package/build/src/cli/commands/generate/frontend-models.d.ts +0 -2
- package/build/src/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/cli/commands/generate/frontend-models.js +5 -2
- package/build/src/cli/commands/generate/migration.d.ts +0 -1
- package/build/src/cli/commands/generate/migration.d.ts.map +1 -1
- package/build/src/cli/commands/generate/model.d.ts +0 -1
- package/build/src/cli/commands/generate/model.d.ts.map +1 -1
- package/build/src/cli/commands/init.d.ts +0 -1
- package/build/src/cli/commands/init.d.ts.map +1 -1
- package/build/src/cli/commands/routes.d.ts +0 -1
- package/build/src/cli/commands/routes.d.ts.map +1 -1
- package/build/src/cli/commands/run-script.d.ts +0 -2
- package/build/src/cli/commands/run-script.d.ts.map +1 -1
- package/build/src/cli/commands/run-script.js +5 -2
- package/build/src/cli/commands/runner.d.ts +0 -2
- package/build/src/cli/commands/runner.d.ts.map +1 -1
- package/build/src/cli/commands/runner.js +5 -2
- package/build/src/cli/commands/server.d.ts +0 -1
- package/build/src/cli/commands/server.d.ts.map +1 -1
- package/build/src/cli/commands/test.d.ts +0 -1
- package/build/src/cli/commands/test.d.ts.map +1 -1
- package/build/src/cli/index.d.ts +18 -5
- package/build/src/cli/index.d.ts.map +1 -1
- package/build/src/cli/index.js +25 -8
- package/build/src/cli/tenant-database-command-helper.d.ts +24 -9
- package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
- package/build/src/cli/tenant-database-command-helper.js +30 -11
- package/build/src/cli/use-browser-cli.d.ts +1 -0
- package/build/src/cli/use-browser-cli.d.ts.map +1 -1
- package/build/src/cli/use-browser-cli.js +5 -2
- package/build/src/configuration-resolver.d.ts +1 -0
- package/build/src/configuration-resolver.d.ts.map +1 -1
- package/build/src/configuration-resolver.js +2 -1
- package/build/src/configuration-types.d.ts +44 -44
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +27 -27
- package/build/src/configuration.d.ts +350 -114
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +416 -128
- package/build/src/controller.d.ts +67 -18
- package/build/src/controller.d.ts.map +1 -1
- package/build/src/controller.js +88 -23
- package/build/src/current-configuration.d.ts +2 -0
- package/build/src/current-configuration.d.ts.map +1 -1
- package/build/src/current-configuration.js +6 -2
- package/build/src/current.d.ts +16 -9
- package/build/src/current.d.ts.map +1 -1
- package/build/src/current.js +15 -8
- package/build/src/database/annotations-async-hooks.js +13 -6
- package/build/src/database/annotations.d.ts +7 -1
- package/build/src/database/annotations.d.ts.map +1 -1
- package/build/src/database/annotations.js +12 -5
- package/build/src/database/drivers/base-column.d.ts +21 -3
- package/build/src/database/drivers/base-column.d.ts.map +1 -1
- package/build/src/database/drivers/base-column.js +21 -3
- package/build/src/database/drivers/base-columns-index.d.ts +9 -0
- package/build/src/database/drivers/base-columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/base-columns-index.js +10 -1
- package/build/src/database/drivers/base-foreign-key.d.ts +15 -3
- package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/base-foreign-key.js +15 -3
- package/build/src/database/drivers/base-table.d.ts +16 -3
- package/build/src/database/drivers/base-table.d.ts.map +1 -1
- package/build/src/database/drivers/base-table.js +16 -3
- package/build/src/database/drivers/base.d.ts +174 -37
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +156 -40
- package/build/src/database/drivers/mssql/column.d.ts +3 -2
- package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/column.js +3 -2
- package/build/src/database/drivers/mssql/index.d.ts +5 -6
- package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.js +38 -7
- package/build/src/database/drivers/mssql/options.d.ts +1 -0
- package/build/src/database/drivers/mssql/options.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/options.js +8 -2
- package/build/src/database/drivers/mssql/sql/create-database.d.ts +1 -0
- package/build/src/database/drivers/mssql/sql/create-database.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/create-database.js +2 -1
- package/build/src/database/drivers/mssql/sql/drop-database.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/drop-database.js +2 -1
- package/build/src/database/drivers/mssql/structure-sql.d.ts +5 -2
- package/build/src/database/drivers/mssql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/structure-sql.js +5 -2
- package/build/src/database/drivers/mssql/table.d.ts +1 -0
- package/build/src/database/drivers/mssql/table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/table.js +9 -4
- package/build/src/database/drivers/mysql/column.d.ts +3 -2
- package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/column.js +4 -3
- package/build/src/database/drivers/mysql/index.d.ts +11 -3
- package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.js +54 -10
- package/build/src/database/drivers/mysql/options.d.ts +1 -0
- package/build/src/database/drivers/mysql/options.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/options.js +4 -2
- package/build/src/database/drivers/mysql/query.d.ts +3 -2
- package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query.js +6 -3
- package/build/src/database/drivers/mysql/sql/create-database.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/create-database.js +3 -1
- package/build/src/database/drivers/mysql/structure-sql.d.ts +7 -2
- package/build/src/database/drivers/mysql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/structure-sql.js +7 -2
- package/build/src/database/drivers/mysql/table.d.ts +1 -0
- package/build/src/database/drivers/mysql/table.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/table.js +7 -3
- package/build/src/database/drivers/pgsql/column.d.ts +3 -2
- package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/column.js +3 -2
- package/build/src/database/drivers/pgsql/index.d.ts +1 -1
- package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.js +36 -11
- package/build/src/database/drivers/pgsql/options.d.ts +2 -0
- package/build/src/database/drivers/pgsql/options.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/options.js +3 -1
- package/build/src/database/drivers/pgsql/structure-sql.d.ts +5 -2
- package/build/src/database/drivers/pgsql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/structure-sql.js +5 -2
- package/build/src/database/drivers/pgsql/table.d.ts +1 -0
- package/build/src/database/drivers/pgsql/table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/table.js +6 -2
- package/build/src/database/drivers/sqlite/base.d.ts +15 -5
- package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/base.js +79 -27
- package/build/src/database/drivers/sqlite/column.d.ts +3 -2
- package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/column.js +3 -2
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +4 -2
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/connection-sql-js.js +4 -2
- package/build/src/database/drivers/sqlite/foreign-key.d.ts +3 -2
- package/build/src/database/drivers/sqlite/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/foreign-key.js +3 -2
- package/build/src/database/drivers/sqlite/index.d.ts +18 -5
- package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.js +40 -16
- package/build/src/database/drivers/sqlite/index.native.d.ts +1 -1
- package/build/src/database/drivers/sqlite/index.native.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.native.js +6 -3
- package/build/src/database/drivers/sqlite/index.web.d.ts +16 -4
- package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.web.js +17 -7
- package/build/src/database/drivers/sqlite/options.d.ts +2 -0
- package/build/src/database/drivers/sqlite/options.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/options.js +3 -1
- package/build/src/database/drivers/sqlite/query.d.ts +3 -2
- package/build/src/database/drivers/sqlite/query.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.js +6 -3
- package/build/src/database/drivers/sqlite/query.native.d.ts +2 -2
- package/build/src/database/drivers/sqlite/query.native.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.native.js +3 -3
- package/build/src/database/drivers/sqlite/query.web.d.ts +3 -2
- package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.web.js +6 -3
- package/build/src/database/drivers/sqlite/sql/alter-table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/alter-table.js +9 -3
- package/build/src/database/drivers/sqlite/structure-sql.d.ts +2 -0
- package/build/src/database/drivers/sqlite/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/structure-sql.js +3 -1
- package/build/src/database/drivers/sqlite/table-rebuilder.d.ts +2 -0
- package/build/src/database/drivers/sqlite/table-rebuilder.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table-rebuilder.js +3 -1
- package/build/src/database/drivers/sqlite/table.d.ts +2 -0
- package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table.js +14 -4
- package/build/src/database/drivers/structure-sql/utils.d.ts +2 -0
- package/build/src/database/drivers/structure-sql/utils.d.ts.map +1 -1
- package/build/src/database/drivers/structure-sql/utils.js +3 -1
- package/build/src/database/handler.d.ts +1 -0
- package/build/src/database/handler.d.ts.map +1 -1
- package/build/src/database/handler.js +2 -1
- package/build/src/database/initializer-from-require-context.d.ts +8 -0
- package/build/src/database/initializer-from-require-context.d.ts.map +1 -1
- package/build/src/database/initializer-from-require-context.js +4 -1
- package/build/src/database/migration/index.d.ts +40 -5
- package/build/src/database/migration/index.d.ts.map +1 -1
- package/build/src/database/migration/index.js +34 -6
- package/build/src/database/migrator/files-finder.d.ts +2 -0
- package/build/src/database/migrator/files-finder.d.ts.map +1 -1
- package/build/src/database/migrator/files-finder.js +6 -2
- package/build/src/database/migrator.d.ts +29 -4
- package/build/src/database/migrator.d.ts.map +1 -1
- package/build/src/database/migrator.js +45 -10
- package/build/src/database/pool/async-tracked-multi-connection.d.ts +125 -31
- package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.js +189 -52
- package/build/src/database/pool/base-methods-forward.d.ts +1 -0
- package/build/src/database/pool/base-methods-forward.d.ts.map +1 -1
- package/build/src/database/pool/base-methods-forward.js +12 -3
- package/build/src/database/pool/base.d.ts +39 -7
- package/build/src/database/pool/base.d.ts.map +1 -1
- package/build/src/database/pool/base.js +59 -18
- package/build/src/database/pool/single-multi-use.d.ts +1 -0
- package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
- package/build/src/database/pool/single-multi-use.js +16 -4
- package/build/src/database/query/alter-table-base.d.ts +1 -0
- package/build/src/database/query/alter-table-base.d.ts.map +1 -1
- package/build/src/database/query/alter-table-base.js +3 -1
- package/build/src/database/query/base.d.ts +3 -0
- package/build/src/database/query/base.d.ts.map +1 -1
- package/build/src/database/query/base.js +4 -1
- package/build/src/database/query/create-database-base.d.ts +5 -0
- package/build/src/database/query/create-database-base.d.ts.map +1 -1
- package/build/src/database/query/create-database-base.js +4 -1
- package/build/src/database/query/create-index-base.d.ts +5 -0
- package/build/src/database/query/create-index-base.d.ts.map +1 -1
- package/build/src/database/query/create-index-base.js +4 -1
- package/build/src/database/query/create-table-base.d.ts +2 -0
- package/build/src/database/query/create-table-base.d.ts.map +1 -1
- package/build/src/database/query/create-table-base.js +3 -1
- package/build/src/database/query/delete-base.d.ts +3 -2
- package/build/src/database/query/delete-base.d.ts.map +1 -1
- package/build/src/database/query/delete-base.js +3 -2
- package/build/src/database/query/drop-database-base.d.ts +5 -0
- package/build/src/database/query/drop-database-base.d.ts.map +1 -1
- package/build/src/database/query/drop-database-base.js +4 -1
- package/build/src/database/query/drop-table-base.d.ts +1 -0
- package/build/src/database/query/drop-table-base.d.ts.map +1 -1
- package/build/src/database/query/drop-table-base.js +3 -1
- package/build/src/database/query/from-base.d.ts +6 -1
- package/build/src/database/query/from-base.d.ts.map +1 -1
- package/build/src/database/query/from-base.js +7 -2
- package/build/src/database/query/from-plain.d.ts +1 -0
- package/build/src/database/query/from-plain.d.ts.map +1 -1
- package/build/src/database/query/from-plain.js +2 -1
- package/build/src/database/query/from-table.d.ts +1 -0
- package/build/src/database/query/from-table.d.ts.map +1 -1
- package/build/src/database/query/from-table.js +2 -1
- package/build/src/database/query/index.d.ts +72 -12
- package/build/src/database/query/index.d.ts.map +1 -1
- package/build/src/database/query/index.js +79 -19
- package/build/src/database/query/insert-base.d.ts +13 -8
- package/build/src/database/query/insert-base.d.ts.map +1 -1
- package/build/src/database/query/insert-base.js +10 -5
- package/build/src/database/query/join-base.d.ts +4 -0
- package/build/src/database/query/join-base.d.ts.map +1 -1
- package/build/src/database/query/join-base.js +5 -1
- package/build/src/database/query/join-object.d.ts +11 -0
- package/build/src/database/query/join-object.d.ts.map +1 -1
- package/build/src/database/query/join-object.js +15 -4
- package/build/src/database/query/join-plain.d.ts +1 -0
- package/build/src/database/query/join-plain.d.ts.map +1 -1
- package/build/src/database/query/join-plain.js +2 -1
- package/build/src/database/query/join-tracker.d.ts +7 -0
- package/build/src/database/query/join-tracker.d.ts.map +1 -1
- package/build/src/database/query/join-tracker.js +8 -1
- package/build/src/database/query/model-class-query.d.ts +92 -26
- package/build/src/database/query/model-class-query.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.js +230 -76
- package/build/src/database/query/order-base.d.ts +3 -0
- package/build/src/database/query/order-base.d.ts.map +1 -1
- package/build/src/database/query/order-base.js +4 -1
- package/build/src/database/query/order-column.d.ts +9 -1
- package/build/src/database/query/order-column.d.ts.map +1 -1
- package/build/src/database/query/order-column.js +10 -2
- package/build/src/database/query/order-plain.d.ts +1 -0
- package/build/src/database/query/order-plain.d.ts.map +1 -1
- package/build/src/database/query/order-plain.js +2 -1
- package/build/src/database/query/preloader/belongs-to.d.ts +1 -0
- package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
- package/build/src/database/query/preloader/belongs-to.js +68 -23
- package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts +1 -0
- package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts.map +1 -1
- package/build/src/database/query/preloader/ensure-model-class-initialized.js +2 -1
- package/build/src/database/query/preloader/has-many.d.ts +5 -3
- package/build/src/database/query/preloader/has-many.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-many.js +66 -24
- package/build/src/database/query/preloader/has-one.d.ts +1 -0
- package/build/src/database/query/preloader/has-one.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-one.js +26 -9
- package/build/src/database/query/preloader/selection.d.ts +7 -1
- package/build/src/database/query/preloader/selection.d.ts.map +1 -1
- package/build/src/database/query/preloader/selection.js +13 -5
- package/build/src/database/query/preloader.d.ts +1 -0
- package/build/src/database/query/preloader.d.ts.map +1 -1
- package/build/src/database/query/preloader.js +28 -9
- package/build/src/database/query/query-data.d.ts +21 -7
- package/build/src/database/query/query-data.d.ts.map +1 -1
- package/build/src/database/query/query-data.js +37 -18
- package/build/src/database/query/select-base.d.ts +3 -0
- package/build/src/database/query/select-base.d.ts.map +1 -1
- package/build/src/database/query/select-base.js +4 -1
- package/build/src/database/query/select-plain.d.ts +1 -0
- package/build/src/database/query/select-plain.d.ts.map +1 -1
- package/build/src/database/query/select-plain.js +2 -1
- package/build/src/database/query/select-table-and-column.d.ts +1 -0
- package/build/src/database/query/select-table-and-column.d.ts.map +1 -1
- package/build/src/database/query/select-table-and-column.js +2 -1
- package/build/src/database/query/update-base.d.ts +9 -6
- package/build/src/database/query/update-base.d.ts.map +1 -1
- package/build/src/database/query/update-base.js +7 -4
- package/build/src/database/query/upsert-base.d.ts +13 -4
- package/build/src/database/query/upsert-base.d.ts.map +1 -1
- package/build/src/database/query/upsert-base.js +12 -3
- package/build/src/database/query/where-base.d.ts +4 -0
- package/build/src/database/query/where-base.d.ts.map +1 -1
- package/build/src/database/query/where-base.js +5 -1
- package/build/src/database/query/where-combinator.d.ts +1 -0
- package/build/src/database/query/where-combinator.d.ts.map +1 -1
- package/build/src/database/query/where-combinator.js +6 -2
- package/build/src/database/query/where-hash.d.ts +6 -0
- package/build/src/database/query/where-hash.d.ts.map +1 -1
- package/build/src/database/query/where-hash.js +5 -1
- package/build/src/database/query/where-model-class-hash.d.ts +30 -16
- package/build/src/database/query/where-model-class-hash.d.ts.map +1 -1
- package/build/src/database/query/where-model-class-hash.js +55 -20
- package/build/src/database/query/where-not.d.ts +1 -0
- package/build/src/database/query/where-not.d.ts.map +1 -1
- package/build/src/database/query/where-not.js +3 -1
- package/build/src/database/query/where-plain.d.ts +1 -0
- package/build/src/database/query/where-plain.d.ts.map +1 -1
- package/build/src/database/query/where-plain.js +2 -1
- package/build/src/database/query/with-count.d.ts +11 -5
- package/build/src/database/query/with-count.d.ts.map +1 -1
- package/build/src/database/query/with-count.js +36 -15
- package/build/src/database/query-parser/base-query-parser.d.ts +1 -0
- package/build/src/database/query-parser/base-query-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/base-query-parser.js +2 -1
- package/build/src/database/query-parser/from-parser.d.ts +5 -1
- package/build/src/database/query-parser/from-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/from-parser.js +6 -2
- package/build/src/database/query-parser/group-parser.d.ts +2 -0
- package/build/src/database/query-parser/group-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/group-parser.js +3 -1
- package/build/src/database/query-parser/joins-parser.d.ts +1 -0
- package/build/src/database/query-parser/joins-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/joins-parser.js +2 -1
- package/build/src/database/query-parser/limit-parser.d.ts +1 -0
- package/build/src/database/query-parser/limit-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/limit-parser.js +2 -1
- package/build/src/database/query-parser/options.d.ts +15 -4
- package/build/src/database/query-parser/options.d.ts.map +1 -1
- package/build/src/database/query-parser/options.js +11 -3
- package/build/src/database/query-parser/order-parser.d.ts +1 -0
- package/build/src/database/query-parser/order-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/order-parser.js +2 -1
- package/build/src/database/query-parser/select-parser.d.ts +1 -0
- package/build/src/database/query-parser/select-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/select-parser.js +2 -1
- package/build/src/database/query-parser/where-parser.d.ts +1 -0
- package/build/src/database/query-parser/where-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/where-parser.js +2 -1
- package/build/src/database/record/acts-as-list.d.ts +0 -1
- package/build/src/database/record/acts-as-list.d.ts.map +1 -1
- package/build/src/database/record/acts-as-list.js +89 -45
- package/build/src/database/record/attachments/download.d.ts +34 -15
- package/build/src/database/record/attachments/download.d.ts.map +1 -1
- package/build/src/database/record/attachments/download.js +34 -22
- package/build/src/database/record/attachments/handle.d.ts +17 -5
- package/build/src/database/record/attachments/handle.d.ts.map +1 -1
- package/build/src/database/record/attachments/handle.js +25 -9
- package/build/src/database/record/attachments/normalize-input.d.ts +6 -1
- package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
- package/build/src/database/record/attachments/normalize-input.js +54 -17
- package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts +7 -1
- package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/filesystem.js +10 -2
- package/build/src/database/record/attachments/storage-drivers/native.d.ts +12 -7
- package/build/src/database/record/attachments/storage-drivers/native.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/native.js +13 -6
- package/build/src/database/record/attachments/storage-drivers/s3.d.ts +18 -9
- package/build/src/database/record/attachments/storage-drivers/s3.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/s3.js +38 -13
- package/build/src/database/record/attachments/store.d.ts +48 -25
- package/build/src/database/record/attachments/store.d.ts.map +1 -1
- package/build/src/database/record/attachments/store.js +63 -25
- package/build/src/database/record/index.d.ts +394 -146
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +697 -248
- package/build/src/database/record/instance-relationships/base.d.ts +78 -19
- package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/base.js +98 -26
- package/build/src/database/record/instance-relationships/belongs-to.d.ts +1 -0
- package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/belongs-to.js +13 -5
- package/build/src/database/record/instance-relationships/has-many.d.ts +27 -7
- package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-many.js +50 -16
- package/build/src/database/record/instance-relationships/has-one.d.ts +4 -1
- package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-one.js +28 -10
- package/build/src/database/record/relationships/base.d.ts +61 -14
- package/build/src/database/record/relationships/base.d.ts.map +1 -1
- package/build/src/database/record/relationships/base.js +60 -15
- package/build/src/database/record/relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/relationships/belongs-to.js +9 -3
- package/build/src/database/record/relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/relationships/has-many.js +9 -3
- package/build/src/database/record/relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/relationships/has-one.js +9 -3
- package/build/src/database/record/state-machine.d.ts +9 -1
- package/build/src/database/record/state-machine.d.ts.map +1 -1
- package/build/src/database/record/state-machine.js +35 -14
- package/build/src/database/record/user-module.d.ts +2 -0
- package/build/src/database/record/user-module.d.ts.map +1 -1
- package/build/src/database/record/user-module.js +3 -1
- package/build/src/database/record/validators/base.d.ts +4 -2
- package/build/src/database/record/validators/base.d.ts.map +1 -1
- package/build/src/database/record/validators/base.js +4 -2
- package/build/src/database/record/validators/format.d.ts.map +1 -1
- package/build/src/database/record/validators/format.js +2 -1
- package/build/src/database/record/validators/presence.d.ts.map +1 -1
- package/build/src/database/record/validators/presence.js +5 -2
- package/build/src/database/record/validators/uniqueness.d.ts +0 -2
- package/build/src/database/record/validators/uniqueness.d.ts.map +1 -1
- package/build/src/database/record/validators/uniqueness.js +18 -8
- package/build/src/database/table-data/index.d.ts +40 -4
- package/build/src/database/table-data/index.d.ts.map +1 -1
- package/build/src/database/table-data/index.js +38 -5
- package/build/src/database/table-data/table-column.d.ts +43 -5
- package/build/src/database/table-data/table-column.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.js +37 -4
- package/build/src/database/table-data/table-foreign-key.d.ts +8 -0
- package/build/src/database/table-data/table-foreign-key.d.ts.map +1 -1
- package/build/src/database/table-data/table-foreign-key.js +9 -1
- package/build/src/database/table-data/table-index.d.ts +8 -0
- package/build/src/database/table-data/table-index.d.ts.map +1 -1
- package/build/src/database/table-data/table-index.js +6 -1
- package/build/src/database/table-data/table-reference.d.ts +1 -0
- package/build/src/database/table-data/table-reference.d.ts.map +1 -1
- package/build/src/database/table-data/table-reference.js +2 -1
- package/build/src/database/use-database.d.ts +1 -0
- package/build/src/database/use-database.d.ts.map +1 -1
- package/build/src/database/use-database.js +2 -1
- package/build/src/environment-handlers/base.d.ts +94 -36
- package/build/src/environment-handlers/base.d.ts.map +1 -1
- package/build/src/environment-handlers/base.js +90 -36
- package/build/src/environment-handlers/browser.d.ts +33 -3
- package/build/src/environment-handlers/browser.d.ts.map +1 -1
- package/build/src/environment-handlers/browser.js +36 -9
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts +5 -0
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.js +6 -2
- package/build/src/environment-handlers/node/cli/commands/console.d.ts +3 -2
- package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/console.js +23 -9
- package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts +4 -1
- package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/schema/dump.js +5 -2
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +6 -2
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +11 -5
- package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts +15 -5
- package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/seed.js +20 -6
- package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts +5 -0
- package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/destroy/migration.js +3 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +2 -0
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +6 -4
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +43 -29
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +99 -40
- package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts +5 -0
- package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/migration.js +3 -1
- package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts +5 -0
- package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/model.js +3 -1
- package/build/src/environment-handlers/node/cli/commands/init.d.ts +5 -0
- package/build/src/environment-handlers/node/cli/commands/init.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/init.js +3 -1
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts +3 -0
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/routes.js +4 -1
- package/build/src/environment-handlers/node/cli/commands/run-script.d.ts +15 -5
- package/build/src/environment-handlers/node/cli/commands/run-script.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/run-script.js +20 -6
- package/build/src/environment-handlers/node/cli/commands/runner.d.ts +18 -6
- package/build/src/environment-handlers/node/cli/commands/runner.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/runner.js +20 -6
- package/build/src/environment-handlers/node/cli/commands/server.d.ts +13 -1
- package/build/src/environment-handlers/node/cli/commands/server.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/server.js +23 -6
- package/build/src/environment-handlers/node.d.ts +14 -2
- package/build/src/environment-handlers/node.d.ts.map +1 -1
- package/build/src/environment-handlers/node.js +107 -39
- package/build/src/error-logger.d.ts +4 -3
- package/build/src/error-logger.d.ts.map +1 -1
- package/build/src/error-logger.js +4 -3
- package/build/src/frontend-model-controller.d.ts +239 -90
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +577 -787
- package/build/src/frontend-model-resource/base-resource.d.ts +118 -66
- package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
- package/build/src/frontend-model-resource/base-resource.js +205 -82
- package/build/src/frontend-models/base.d.ts +319 -163
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +717 -366
- package/build/src/frontend-models/clear-pending-debounced-callback.d.ts +2 -1
- package/build/src/frontend-models/clear-pending-debounced-callback.d.ts.map +1 -1
- package/build/src/frontend-models/clear-pending-debounced-callback.js +6 -3
- package/build/src/frontend-models/event-hook-models.d.ts +5 -0
- package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
- package/build/src/frontend-models/event-hook-models.js +10 -3
- package/build/src/frontend-models/model-registry.d.ts +5 -5
- package/build/src/frontend-models/model-registry.d.ts.map +1 -1
- package/build/src/frontend-models/model-registry.js +5 -5
- package/build/src/frontend-models/outgoing-event-buffer.d.ts +11 -3
- package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
- package/build/src/frontend-models/outgoing-event-buffer.js +13 -5
- package/build/src/frontend-models/preloader.d.ts +9 -6
- package/build/src/frontend-models/preloader.d.ts.map +1 -1
- package/build/src/frontend-models/preloader.js +21 -9
- package/build/src/frontend-models/query.d.ts +283 -73
- package/build/src/frontend-models/query.d.ts.map +1 -1
- package/build/src/frontend-models/query.js +331 -203
- package/build/src/frontend-models/resource-config-validation.d.ts +2 -0
- package/build/src/frontend-models/resource-config-validation.d.ts.map +1 -1
- package/build/src/frontend-models/resource-config-validation.js +3 -1
- package/build/src/frontend-models/resource-definition.d.ts +12 -5
- package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
- package/build/src/frontend-models/resource-definition.js +39 -13
- package/build/src/frontend-models/transport-serialization.d.ts +14 -11
- package/build/src/frontend-models/transport-serialization.d.ts.map +1 -1
- package/build/src/frontend-models/transport-serialization.js +80 -53
- package/build/src/frontend-models/use-destroyed-event.d.ts +21 -0
- package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-destroyed-event.js +34 -11
- package/build/src/frontend-models/use-model-class-event.d.ts +24 -0
- package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-model-class-event.js +39 -12
- package/build/src/frontend-models/use-updated-event.d.ts +21 -0
- package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-updated-event.js +37 -12
- package/build/src/frontend-models/websocket-channel.d.ts +51 -9
- package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-channel.js +96 -26
- package/build/src/frontend-models/websocket-publishers.d.ts +2 -0
- package/build/src/frontend-models/websocket-publishers.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-publishers.js +33 -11
- package/build/src/http-client/header.d.ts +1 -0
- package/build/src/http-client/header.d.ts.map +1 -1
- package/build/src/http-client/header.js +2 -1
- package/build/src/http-client/index.d.ts +4 -0
- package/build/src/http-client/index.d.ts.map +1 -1
- package/build/src/http-client/index.js +5 -1
- package/build/src/http-client/request.d.ts +5 -0
- package/build/src/http-client/request.d.ts.map +1 -1
- package/build/src/http-client/request.js +6 -1
- package/build/src/http-client/response.d.ts +14 -4
- package/build/src/http-client/response.d.ts.map +1 -1
- package/build/src/http-client/response.js +14 -4
- package/build/src/http-client/websocket-client.d.ts +1 -0
- package/build/src/http-client/websocket-client.d.ts.map +1 -1
- package/build/src/http-client/websocket-client.js +2 -1
- package/build/src/http-server/client/index.d.ts +16 -2
- package/build/src/http-server/client/index.d.ts.map +1 -1
- package/build/src/http-server/client/index.js +44 -13
- package/build/src/http-server/client/params-to-object.d.ts +16 -10
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +46 -17
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts +10 -6
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/form-data-part.js +11 -7
- package/build/src/http-server/client/request-buffer/header.d.ts +1 -0
- package/build/src/http-server/client/request-buffer/header.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/header.js +2 -1
- package/build/src/http-server/client/request-buffer/index.d.ts +29 -4
- package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/index.js +43 -9
- package/build/src/http-server/client/request-parser.d.ts +52 -13
- package/build/src/http-server/client/request-parser.d.ts.map +1 -1
- package/build/src/http-server/client/request-parser.js +58 -15
- package/build/src/http-server/client/request-runner.d.ts +5 -1
- package/build/src/http-server/client/request-runner.d.ts.map +1 -1
- package/build/src/http-server/client/request-runner.js +32 -8
- package/build/src/http-server/client/request-timing.d.ts +37 -7
- package/build/src/http-server/client/request-timing.d.ts.map +1 -1
- package/build/src/http-server/client/request-timing.js +32 -8
- package/build/src/http-server/client/request.d.ts +15 -5
- package/build/src/http-server/client/request.d.ts.map +1 -1
- package/build/src/http-server/client/request.js +17 -5
- package/build/src/http-server/client/response.d.ts +22 -4
- package/build/src/http-server/client/response.d.ts.map +1 -1
- package/build/src/http-server/client/response.js +29 -7
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts +1 -0
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.js +3 -1
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts +1 -0
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.js +3 -1
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +2 -0
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/uploaded-file.js +3 -1
- package/build/src/http-server/client/websocket-request.d.ts +24 -12
- package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.js +24 -10
- package/build/src/http-server/client/websocket-session.d.ts +101 -62
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-session.js +118 -61
- package/build/src/http-server/cookie.d.ts +36 -8
- package/build/src/http-server/cookie.d.ts.map +1 -1
- package/build/src/http-server/cookie.js +37 -9
- package/build/src/http-server/development-reloader.d.ts +32 -7
- package/build/src/http-server/development-reloader.d.ts.map +1 -1
- package/build/src/http-server/development-reloader.js +39 -10
- package/build/src/http-server/index.d.ts +102 -25
- package/build/src/http-server/index.d.ts.map +1 -1
- package/build/src/http-server/index.js +117 -32
- package/build/src/http-server/remote-address.d.ts +1 -0
- package/build/src/http-server/remote-address.d.ts.map +1 -1
- package/build/src/http-server/remote-address.js +15 -4
- package/build/src/http-server/server-client.d.ts +37 -8
- package/build/src/http-server/server-client.d.ts.map +1 -1
- package/build/src/http-server/server-client.js +48 -12
- package/build/src/http-server/server-lock.d.ts +76 -0
- package/build/src/http-server/server-lock.d.ts.map +1 -0
- package/build/src/http-server/server-lock.js +164 -0
- package/build/src/http-server/websocket-channel-subscribers.d.ts +13 -8
- package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
- package/build/src/http-server/websocket-channel-subscribers.js +16 -7
- package/build/src/http-server/websocket-channel.d.ts +13 -11
- package/build/src/http-server/websocket-channel.d.ts.map +1 -1
- package/build/src/http-server/websocket-channel.js +8 -12
- package/build/src/http-server/websocket-connection.d.ts +10 -14
- package/build/src/http-server/websocket-connection.d.ts.map +1 -1
- package/build/src/http-server/websocket-connection.js +8 -12
- package/build/src/http-server/websocket-event-log-store.d.ts +48 -10
- package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
- package/build/src/http-server/websocket-event-log-store.js +76 -34
- package/build/src/http-server/websocket-events-host.d.ts +21 -15
- package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
- package/build/src/http-server/websocket-events-host.js +20 -11
- package/build/src/http-server/websocket-events.d.ts +8 -7
- package/build/src/http-server/websocket-events.d.ts.map +1 -1
- package/build/src/http-server/websocket-events.js +6 -5
- package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts +3 -2
- package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/channel-subscriber-dispatch.js +3 -2
- package/build/src/http-server/worker-handler/in-process.d.ts +18 -18
- package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/in-process.js +28 -20
- package/build/src/http-server/worker-handler/index.d.ts +39 -20
- package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/index.js +34 -14
- package/build/src/http-server/worker-handler/worker-thread.d.ts +31 -15
- package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/worker-thread.js +31 -12
- package/build/src/initializer.d.ts +4 -0
- package/build/src/initializer.d.ts.map +1 -1
- package/build/src/initializer.js +5 -1
- package/build/src/jobs/mail-delivery.d.ts +1 -0
- package/build/src/jobs/mail-delivery.d.ts.map +1 -1
- package/build/src/jobs/mail-delivery.js +2 -1
- package/build/src/logger/base-logger.js +2 -2
- package/build/src/logger/console-logger.d.ts +2 -0
- package/build/src/logger/console-logger.d.ts.map +1 -1
- package/build/src/logger/console-logger.js +3 -1
- package/build/src/logger/file-logger.d.ts +2 -0
- package/build/src/logger/file-logger.d.ts.map +1 -1
- package/build/src/logger/file-logger.js +3 -1
- package/build/src/logger/outputs/array-output.d.ts +21 -5
- package/build/src/logger/outputs/array-output.d.ts.map +1 -1
- package/build/src/logger/outputs/array-output.js +19 -6
- package/build/src/logger/outputs/console-output.d.ts +10 -2
- package/build/src/logger/outputs/console-output.d.ts.map +1 -1
- package/build/src/logger/outputs/console-output.js +8 -3
- package/build/src/logger/outputs/file-output.d.ts +20 -5
- package/build/src/logger/outputs/file-output.d.ts.map +1 -1
- package/build/src/logger/outputs/file-output.js +18 -6
- package/build/src/logger/outputs/stdout-output.d.ts +7 -1
- package/build/src/logger/outputs/stdout-output.d.ts.map +1 -1
- package/build/src/logger/outputs/stdout-output.js +9 -3
- package/build/src/logger.d.ts +28 -13
- package/build/src/logger.d.ts.map +1 -1
- package/build/src/logger.js +60 -23
- package/build/src/mailer/backends/smtp.d.ts +5 -0
- package/build/src/mailer/backends/smtp.d.ts.map +1 -1
- package/build/src/mailer/backends/smtp.js +17 -4
- package/build/src/mailer/base.d.ts +33 -17
- package/build/src/mailer/base.d.ts.map +1 -1
- package/build/src/mailer/base.js +54 -18
- package/build/src/mailer/delivery.d.ts +16 -5
- package/build/src/mailer/delivery.d.ts.map +1 -1
- package/build/src/mailer/delivery.js +18 -7
- package/build/src/mailer/index.d.ts +5 -5
- package/build/src/mailer/index.d.ts.map +1 -1
- package/build/src/mailer/index.js +2 -2
- package/build/src/mailer.d.ts +5 -5
- package/build/src/mailer.d.ts.map +1 -1
- package/build/src/mailer.js +2 -2
- package/build/src/plugins/sqljs-wasm-route-controller.d.ts +4 -1
- package/build/src/plugins/sqljs-wasm-route-controller.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route-controller.js +11 -4
- package/build/src/plugins/sqljs-wasm-route.d.ts +6 -0
- package/build/src/plugins/sqljs-wasm-route.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route.js +4 -1
- package/build/src/record-payload-values.d.ts +54 -0
- package/build/src/record-payload-values.d.ts.map +1 -0
- package/build/src/record-payload-values.js +80 -0
- package/build/src/routes/app-routes.d.ts +1 -0
- package/build/src/routes/app-routes.d.ts.map +1 -1
- package/build/src/routes/app-routes.js +2 -1
- package/build/src/routes/base-route.d.ts +52 -16
- package/build/src/routes/base-route.d.ts.map +1 -1
- package/build/src/routes/base-route.js +50 -14
- package/build/src/routes/basic-route.d.ts +1 -0
- package/build/src/routes/basic-route.d.ts.map +1 -1
- package/build/src/routes/basic-route.js +13 -4
- package/build/src/routes/built-in/debug/controller.d.ts +4 -1
- package/build/src/routes/built-in/debug/controller.d.ts.map +1 -1
- package/build/src/routes/built-in/debug/controller.js +5 -2
- package/build/src/routes/get-route.d.ts +1 -0
- package/build/src/routes/get-route.d.ts.map +1 -1
- package/build/src/routes/get-route.js +7 -4
- package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts +1 -0
- package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts.map +1 -1
- package/build/src/routes/hooks/frontend-model-command-route-hook.js +6 -2
- package/build/src/routes/index.d.ts +3 -2
- package/build/src/routes/index.d.ts.map +1 -1
- package/build/src/routes/index.js +10 -4
- package/build/src/routes/namespace-route.d.ts +1 -0
- package/build/src/routes/namespace-route.d.ts.map +1 -1
- package/build/src/routes/namespace-route.js +5 -3
- package/build/src/routes/plugin-routes.d.ts +10 -1
- package/build/src/routes/plugin-routes.d.ts.map +1 -1
- package/build/src/routes/plugin-routes.js +11 -3
- package/build/src/routes/post-route.d.ts +1 -0
- package/build/src/routes/post-route.d.ts.map +1 -1
- package/build/src/routes/post-route.js +7 -4
- package/build/src/routes/resolver.d.ts +20 -5
- package/build/src/routes/resolver.d.ts.map +1 -1
- package/build/src/routes/resolver.js +47 -14
- package/build/src/routes/resource-route.d.ts +6 -1
- package/build/src/routes/resource-route.d.ts.map +1 -1
- package/build/src/routes/resource-route.js +10 -4
- package/build/src/testing/base-expect.d.ts +2 -0
- package/build/src/testing/base-expect.d.ts.map +1 -1
- package/build/src/testing/base-expect.js +3 -1
- package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts +33 -5
- package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
- package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +95 -23
- package/build/src/testing/expect-to-change.d.ts +3 -0
- package/build/src/testing/expect-to-change.d.ts.map +1 -1
- package/build/src/testing/expect-to-change.js +4 -1
- package/build/src/testing/expect-utils.d.ts +22 -16
- package/build/src/testing/expect-utils.d.ts.map +1 -1
- package/build/src/testing/expect-utils.js +62 -30
- package/build/src/testing/expect.d.ts +50 -21
- package/build/src/testing/expect.d.ts.map +1 -1
- package/build/src/testing/expect.js +58 -17
- package/build/src/testing/request-client.d.ts +16 -3
- package/build/src/testing/request-client.d.ts.map +1 -1
- package/build/src/testing/request-client.js +17 -4
- package/build/src/testing/test-files-finder.d.ts +41 -9
- package/build/src/testing/test-files-finder.d.ts.map +1 -1
- package/build/src/testing/test-files-finder.js +42 -10
- package/build/src/testing/test-filter-parser.d.ts +6 -0
- package/build/src/testing/test-filter-parser.d.ts.map +1 -1
- package/build/src/testing/test-filter-parser.js +12 -3
- package/build/src/testing/test-runner.d.ts +102 -6
- package/build/src/testing/test-runner.d.ts.map +1 -1
- package/build/src/testing/test-runner.js +115 -23
- package/build/src/testing/test-suite-splitter.d.ts +7 -0
- package/build/src/testing/test-suite-splitter.d.ts.map +1 -1
- package/build/src/testing/test-suite-splitter.js +7 -2
- package/build/src/testing/test.d.ts +20 -4
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +67 -20
- package/build/src/utils/backtrace-cleaner-node.d.ts.map +1 -1
- package/build/src/utils/backtrace-cleaner-node.js +6 -1
- package/build/src/utils/backtrace-cleaner.d.ts +16 -1
- package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
- package/build/src/utils/backtrace-cleaner.js +20 -2
- package/build/src/utils/ensure-error.d.ts +3 -2
- package/build/src/utils/ensure-error.d.ts.map +1 -1
- package/build/src/utils/ensure-error.js +3 -2
- package/build/src/utils/event-emitter.d.ts.map +1 -1
- package/build/src/utils/event-emitter.js +2 -2
- package/build/src/utils/file-exists.d.ts +1 -0
- package/build/src/utils/file-exists.d.ts.map +1 -1
- package/build/src/utils/file-exists.js +2 -1
- package/build/src/utils/format-value.d.ts +5 -4
- package/build/src/utils/format-value.d.ts.map +1 -1
- package/build/src/utils/format-value.js +12 -7
- package/build/src/utils/model-scope.d.ts +18 -12
- package/build/src/utils/model-scope.d.ts.map +1 -1
- package/build/src/utils/model-scope.js +19 -11
- package/build/src/utils/nest-callbacks.d.ts +1 -0
- package/build/src/utils/nest-callbacks.d.ts.map +1 -1
- package/build/src/utils/nest-callbacks.js +2 -1
- package/build/src/utils/plain-object.d.ts +7 -0
- package/build/src/utils/plain-object.d.ts.map +1 -0
- package/build/src/utils/plain-object.js +13 -0
- package/build/src/utils/ransack.d.ts +29 -5
- package/build/src/utils/ransack.d.ts.map +1 -1
- package/build/src/utils/ransack.js +136 -49
- package/build/src/utils/rest-args-error.d.ts +1 -0
- package/build/src/utils/rest-args-error.d.ts.map +1 -1
- package/build/src/utils/rest-args-error.js +2 -1
- package/build/src/utils/singularize-model-name.d.ts +1 -0
- package/build/src/utils/singularize-model-name.d.ts.map +1 -1
- package/build/src/utils/singularize-model-name.js +2 -1
- package/build/src/utils/to-import-specifier.d.ts.map +1 -1
- package/build/src/utils/to-import-specifier.js +3 -1
- package/build/src/utils/with-tracked-stack-async-hooks.d.ts +8 -5
- package/build/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack-async-hooks.js +32 -13
- package/build/src/utils/with-tracked-stack.d.ts +9 -5
- package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack.js +19 -8
- package/build/src/velocious-error.d.ts +4 -2
- package/build/src/velocious-error.d.ts.map +1 -1
- package/build/src/velocious-error.js +5 -3
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,26 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Runs the deliveries helper.
|
|
2
3
|
* @returns {import("./index.js").MailerDeliveryPayload[]} - Delivered payloads.
|
|
3
4
|
*/
|
|
4
5
|
export function deliveries(): import("./index.js").MailerDeliveryPayload[];
|
|
5
6
|
/**
|
|
7
|
+
* Runs the clearDeliveries helper.
|
|
6
8
|
* @returns {void} - No return value.
|
|
7
9
|
*/
|
|
8
10
|
export function clearDeliveries(): void;
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
12
|
+
* Runs the setDeliveryHandler helper.
|
|
13
|
+
* @param {(payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?} handler - Delivery handler.
|
|
11
14
|
* @returns {void} - No return value.
|
|
12
15
|
*/
|
|
13
16
|
export function setDeliveryHandler(handler: (payload: import("./index.js").MailerDeliveryPayload) => Promise<unknown> | unknown): void;
|
|
14
17
|
/**
|
|
15
|
-
*
|
|
18
|
+
* Runs the getDeliveryHandler helper.
|
|
19
|
+
* @returns {((payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?) | null} - Handler or null.
|
|
16
20
|
*/
|
|
17
21
|
export function getDeliveryHandler(): ((payload: import("./index.js").MailerDeliveryPayload) => Promise<unknown> | unknown) | null;
|
|
18
22
|
/**
|
|
23
|
+
* Runs the deliverPayload helper.
|
|
19
24
|
* @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
|
|
20
|
-
* @returns {Promise<import("./index.js").MailerDeliveryPayload |
|
|
25
|
+
* @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Handler result.
|
|
21
26
|
*/
|
|
22
27
|
export function deliverPayload(payload: import("./index.js").MailerDeliveryPayload): Promise<import("./index.js").MailerDeliveryPayload | unknown>;
|
|
23
28
|
/**
|
|
29
|
+
* Runs the enqueuePayload helper.
|
|
24
30
|
* @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
|
|
25
31
|
* @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
|
|
26
32
|
*/
|
|
@@ -30,6 +36,7 @@ export function enqueuePayload(payload: import("./index.js").MailerDeliveryPaylo
|
|
|
30
36
|
*/
|
|
31
37
|
export class VelociousMailerBase {
|
|
32
38
|
/**
|
|
39
|
+
* Runs constructor.
|
|
33
40
|
* @param {object} [args] - Constructor args.
|
|
34
41
|
* @param {import("../configuration.js").default} [args.configuration] - Configuration instance.
|
|
35
42
|
*/
|
|
@@ -49,61 +56,70 @@ export class VelociousMailerBase {
|
|
|
49
56
|
_viewParams: {};
|
|
50
57
|
_configurationPromise: Promise<import("../configuration.js").default>;
|
|
51
58
|
/**
|
|
52
|
-
*
|
|
59
|
+
* Runs assign view.
|
|
60
|
+
* @param {Record<string, ?>} params - View params.
|
|
53
61
|
* @returns {void} - No return value.
|
|
54
62
|
*/
|
|
55
|
-
assignView(params: Record<string,
|
|
63
|
+
assignView(params: Record<string, unknown>): void;
|
|
56
64
|
/**
|
|
65
|
+
* Runs mail.
|
|
57
66
|
* @param {object} args - Mail options.
|
|
58
|
-
* @param {
|
|
67
|
+
* @param {?} args.to - Recipient.
|
|
59
68
|
* @param {string} args.subject - Subject line.
|
|
60
|
-
* @param {
|
|
61
|
-
* @param {
|
|
62
|
-
* @param {
|
|
63
|
-
* @param {
|
|
69
|
+
* @param {?} [args.from] - Sender.
|
|
70
|
+
* @param {?} [args.cc] - CC recipients.
|
|
71
|
+
* @param {?} [args.bcc] - BCC recipients.
|
|
72
|
+
* @param {?} [args.replyTo] - Reply-to address.
|
|
64
73
|
* @param {Record<string, string>} [args.headers] - Custom headers.
|
|
65
74
|
* @param {string} [args.actionName] - Mailer action name.
|
|
66
|
-
* @param {Promise
|
|
75
|
+
* @param {Promise<?> | ?} [args.actionPromise] - Action completion promise.
|
|
67
76
|
* @returns {MailerDelivery} - Delivery wrapper.
|
|
68
77
|
*/
|
|
69
78
|
mail({ to, subject, from, cc, bcc, replyTo, headers, actionName, actionPromise, ...restArgs }: {
|
|
70
|
-
to:
|
|
79
|
+
to: unknown;
|
|
71
80
|
subject: string;
|
|
72
|
-
from?:
|
|
73
|
-
cc?:
|
|
74
|
-
bcc?:
|
|
75
|
-
replyTo?:
|
|
81
|
+
from?: unknown;
|
|
82
|
+
cc?: unknown;
|
|
83
|
+
bcc?: unknown;
|
|
84
|
+
replyTo?: unknown;
|
|
76
85
|
headers?: Record<string, string> | undefined;
|
|
77
86
|
actionName?: string | undefined;
|
|
78
87
|
actionPromise?: Promise<unknown> | unknown;
|
|
79
88
|
}): MailerDelivery;
|
|
80
89
|
/**
|
|
90
|
+
* Runs get configuration.
|
|
81
91
|
* @returns {Promise<import("../configuration.js").default>} - Configuration instance.
|
|
82
92
|
*/
|
|
83
93
|
_getConfiguration(): Promise<import("../configuration.js").default>;
|
|
84
94
|
/**
|
|
95
|
+
* Runs get action name.
|
|
85
96
|
* @returns {string} - Action name.
|
|
86
97
|
*/
|
|
87
98
|
_getActionName(): string;
|
|
88
99
|
/**
|
|
100
|
+
* Runs build payload sync.
|
|
89
101
|
* @param {string} html - Rendered HTML.
|
|
90
102
|
* @returns {import("./index.js").MailerDeliveryPayload} - Delivery payload.
|
|
91
103
|
*/
|
|
92
104
|
_buildPayloadSync(html: string): import("./index.js").MailerDeliveryPayload;
|
|
93
105
|
/**
|
|
106
|
+
* Runs build payload.
|
|
94
107
|
* @returns {Promise<import("./index.js").MailerDeliveryPayload>} - Delivery payload.
|
|
95
108
|
*/
|
|
96
109
|
_buildPayload(): Promise<import("./index.js").MailerDeliveryPayload>;
|
|
97
110
|
/**
|
|
111
|
+
* Runs render view.
|
|
98
112
|
* @returns {Promise<string>} - Rendered HTML.
|
|
99
113
|
*/
|
|
100
114
|
_renderView(): Promise<string>;
|
|
101
115
|
/**
|
|
116
|
+
* Runs deliver payload.
|
|
102
117
|
* @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
|
|
103
|
-
* @returns {Promise<import("./index.js").MailerDeliveryPayload |
|
|
118
|
+
* @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Handler result.
|
|
104
119
|
*/
|
|
105
120
|
_deliverPayload(payload: import("./index.js").MailerDeliveryPayload): Promise<import("./index.js").MailerDeliveryPayload | unknown>;
|
|
106
121
|
/**
|
|
122
|
+
* Runs enqueue payload.
|
|
107
123
|
* @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
|
|
108
124
|
* @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
|
|
109
125
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/mailer/base.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/mailer/base.js"],"names":[],"mappings":"AAsQA;;;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;AA9PD;;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,CAsB1B;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,CAgC3B;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;2BA7P0B,eAAe"}
|
package/build/src/mailer/base.js
CHANGED
|
@@ -5,11 +5,16 @@ import * as inflection from "inflection";
|
|
|
5
5
|
import configurationResolver from "../configuration-resolver.js";
|
|
6
6
|
import restArgsError from "../utils/rest-args-error.js";
|
|
7
7
|
import MailerDelivery from "./delivery.js";
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Deliveries store.
|
|
10
|
+
@type {import("./index.js").MailerDeliveryPayload[]} */
|
|
9
11
|
const deliveriesStore = [];
|
|
10
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Delivery handler.
|
|
14
|
+
@type {((payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?) | null} */
|
|
11
15
|
let deliveryHandler = null;
|
|
12
16
|
/**
|
|
17
|
+
* Runs view file name.
|
|
13
18
|
* @param {string} actionName - Mailer action name.
|
|
14
19
|
* @returns {string} - View file name.
|
|
15
20
|
*/
|
|
@@ -17,6 +22,7 @@ function viewFileName(actionName) {
|
|
|
17
22
|
return inflection.dasherize(inflection.underscore(actionName));
|
|
18
23
|
}
|
|
19
24
|
/**
|
|
25
|
+
* Runs mailer directory name.
|
|
20
26
|
* @param {string} className - Mailer class name.
|
|
21
27
|
* @returns {string} - Mailer directory name.
|
|
22
28
|
*/
|
|
@@ -25,6 +31,7 @@ function mailerDirectoryName(className) {
|
|
|
25
31
|
return inflection.dasherize(inflection.underscore(baseName));
|
|
26
32
|
}
|
|
27
33
|
/**
|
|
34
|
+
* Runs the inferActionName helper.
|
|
28
35
|
* @param {typeof VelociousMailerBase} mailerClass - Mailer class.
|
|
29
36
|
* @param {string} stack - Error stack.
|
|
30
37
|
* @returns {string | null} - Inferred action name.
|
|
@@ -46,13 +53,18 @@ function inferActionName(mailerClass, stack) {
|
|
|
46
53
|
continue;
|
|
47
54
|
if (Object.prototype.hasOwnProperty.call(VelociousMailerBase.prototype, frameActionName))
|
|
48
55
|
continue;
|
|
49
|
-
if (typeof /**
|
|
56
|
+
if (typeof /**
|
|
57
|
+
* Narrows the runtime value to the documented type.
|
|
58
|
+
@type {Record<string, ?>} */ ( /**
|
|
59
|
+
* Narrows the runtime value to the documented type.
|
|
60
|
+
@type {?} */(prototype))[frameActionName] !== "function")
|
|
50
61
|
continue;
|
|
51
62
|
actionName = frameActionName;
|
|
52
63
|
}
|
|
53
64
|
return actionName;
|
|
54
65
|
}
|
|
55
66
|
/**
|
|
67
|
+
* Runs is testing environment.
|
|
56
68
|
* @returns {Promise<boolean>} - Whether the current environment is test.
|
|
57
69
|
*/
|
|
58
70
|
async function isTestingEnvironment() {
|
|
@@ -64,6 +76,7 @@ async function isTestingEnvironment() {
|
|
|
64
76
|
*/
|
|
65
77
|
export class VelociousMailerBase {
|
|
66
78
|
/**
|
|
79
|
+
* Runs constructor.
|
|
67
80
|
* @param {object} [args] - Constructor args.
|
|
68
81
|
* @param {import("../configuration.js").default} [args.configuration] - Configuration instance.
|
|
69
82
|
*/
|
|
@@ -74,28 +87,32 @@ export class VelociousMailerBase {
|
|
|
74
87
|
this._configurationPromise = configuration ? Promise.resolve(configuration) : configurationResolver();
|
|
75
88
|
}
|
|
76
89
|
/**
|
|
77
|
-
*
|
|
90
|
+
* Runs assign view.
|
|
91
|
+
* @param {Record<string, ?>} params - View params.
|
|
78
92
|
* @returns {void} - No return value.
|
|
79
93
|
*/
|
|
80
94
|
assignView(params) {
|
|
81
95
|
this._viewParams = Object.assign(this._viewParams, params || {});
|
|
82
96
|
}
|
|
83
97
|
/**
|
|
98
|
+
* Runs mail.
|
|
84
99
|
* @param {object} args - Mail options.
|
|
85
|
-
* @param {
|
|
100
|
+
* @param {?} args.to - Recipient.
|
|
86
101
|
* @param {string} args.subject - Subject line.
|
|
87
|
-
* @param {
|
|
88
|
-
* @param {
|
|
89
|
-
* @param {
|
|
90
|
-
* @param {
|
|
102
|
+
* @param {?} [args.from] - Sender.
|
|
103
|
+
* @param {?} [args.cc] - CC recipients.
|
|
104
|
+
* @param {?} [args.bcc] - BCC recipients.
|
|
105
|
+
* @param {?} [args.replyTo] - Reply-to address.
|
|
91
106
|
* @param {Record<string, string>} [args.headers] - Custom headers.
|
|
92
107
|
* @param {string} [args.actionName] - Mailer action name.
|
|
93
|
-
* @param {Promise
|
|
108
|
+
* @param {Promise<?> | ?} [args.actionPromise] - Action completion promise.
|
|
94
109
|
* @returns {MailerDelivery} - Delivery wrapper.
|
|
95
110
|
*/
|
|
96
111
|
mail({ to, subject, from, cc, bcc, replyTo, headers, actionName, actionPromise, ...restArgs }) {
|
|
97
112
|
restArgsError(restArgs);
|
|
98
|
-
const resolvedActionName = actionName || inferActionName(/**
|
|
113
|
+
const resolvedActionName = actionName || inferActionName(/**
|
|
114
|
+
* Narrows the runtime value to the documented type.
|
|
115
|
+
@type {typeof VelociousMailerBase} */ (this.constructor), new Error().stack || "");
|
|
99
116
|
if (!resolvedActionName) {
|
|
100
117
|
throw new Error(`Missing actionName for ${this.constructor.name}.mail()`);
|
|
101
118
|
}
|
|
@@ -109,12 +126,14 @@ export class VelociousMailerBase {
|
|
|
109
126
|
});
|
|
110
127
|
}
|
|
111
128
|
/**
|
|
129
|
+
* Runs get configuration.
|
|
112
130
|
* @returns {Promise<import("../configuration.js").default>} - Configuration instance.
|
|
113
131
|
*/
|
|
114
132
|
async _getConfiguration() {
|
|
115
133
|
return await this._configurationPromise;
|
|
116
134
|
}
|
|
117
135
|
/**
|
|
136
|
+
* Runs get action name.
|
|
118
137
|
* @returns {string} - Action name.
|
|
119
138
|
*/
|
|
120
139
|
_getActionName() {
|
|
@@ -124,6 +143,7 @@ export class VelociousMailerBase {
|
|
|
124
143
|
return this._actionName;
|
|
125
144
|
}
|
|
126
145
|
/**
|
|
146
|
+
* Runs build payload sync.
|
|
127
147
|
* @param {string} html - Rendered HTML.
|
|
128
148
|
* @returns {import("./index.js").MailerDeliveryPayload} - Delivery payload.
|
|
129
149
|
*/
|
|
@@ -152,6 +172,7 @@ export class VelociousMailerBase {
|
|
|
152
172
|
};
|
|
153
173
|
}
|
|
154
174
|
/**
|
|
175
|
+
* Runs build payload.
|
|
155
176
|
* @returns {Promise<import("./index.js").MailerDeliveryPayload>} - Delivery payload.
|
|
156
177
|
*/
|
|
157
178
|
async _buildPayload() {
|
|
@@ -159,6 +180,7 @@ export class VelociousMailerBase {
|
|
|
159
180
|
return this._buildPayloadSync(html);
|
|
160
181
|
}
|
|
161
182
|
/**
|
|
183
|
+
* Runs render view.
|
|
162
184
|
* @returns {Promise<string>} - Rendered HTML.
|
|
163
185
|
*/
|
|
164
186
|
async _renderView() {
|
|
@@ -167,12 +189,18 @@ export class VelociousMailerBase {
|
|
|
167
189
|
const actionName = this._getActionName();
|
|
168
190
|
const fileName = viewFileName(actionName);
|
|
169
191
|
const viewPath = `${configuration.getDirectory()}/src/mailers/${mailerDir}/${fileName}.ejs`;
|
|
170
|
-
const translate = (/**
|
|
192
|
+
const translate = (/**
|
|
193
|
+
* Narrows the runtime value to the documented type.
|
|
194
|
+
@type {string} */ msgID, /**
|
|
195
|
+
* Narrows the runtime value to the documented type.
|
|
196
|
+
@type {Record<string, ?> | undefined} */ args) => configuration.getTranslator()(msgID, args);
|
|
171
197
|
const viewParams = incorporate({ mailer: this, _: translate }, this._viewParams);
|
|
172
198
|
return await new Promise((resolve, reject) => {
|
|
173
199
|
ejs.renderFile(viewPath, viewParams, {}, (err, str) => {
|
|
174
200
|
if (err) {
|
|
175
|
-
const errorCode = /**
|
|
201
|
+
const errorCode = /**
|
|
202
|
+
* Narrows the runtime value to the documented type.
|
|
203
|
+
@type {{code?: string}} */ (err).code;
|
|
176
204
|
if (errorCode === "ENOENT") {
|
|
177
205
|
reject(new Error(`Missing mailer view file: ${viewPath}`));
|
|
178
206
|
}
|
|
@@ -187,13 +215,15 @@ export class VelociousMailerBase {
|
|
|
187
215
|
});
|
|
188
216
|
}
|
|
189
217
|
/**
|
|
218
|
+
* Runs deliver payload.
|
|
190
219
|
* @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
|
|
191
|
-
* @returns {Promise<import("./index.js").MailerDeliveryPayload |
|
|
220
|
+
* @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Handler result.
|
|
192
221
|
*/
|
|
193
222
|
async _deliverPayload(payload) {
|
|
194
223
|
return await deliverPayload(payload);
|
|
195
224
|
}
|
|
196
225
|
/**
|
|
226
|
+
* Runs enqueue payload.
|
|
197
227
|
* @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
|
|
198
228
|
* @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
|
|
199
229
|
*/
|
|
@@ -202,33 +232,38 @@ export class VelociousMailerBase {
|
|
|
202
232
|
}
|
|
203
233
|
}
|
|
204
234
|
/**
|
|
235
|
+
* Runs the deliveries helper.
|
|
205
236
|
* @returns {import("./index.js").MailerDeliveryPayload[]} - Delivered payloads.
|
|
206
237
|
*/
|
|
207
238
|
export function deliveries() {
|
|
208
239
|
return deliveriesStore.slice();
|
|
209
240
|
}
|
|
210
241
|
/**
|
|
242
|
+
* Runs the clearDeliveries helper.
|
|
211
243
|
* @returns {void} - No return value.
|
|
212
244
|
*/
|
|
213
245
|
export function clearDeliveries() {
|
|
214
246
|
deliveriesStore.length = 0;
|
|
215
247
|
}
|
|
216
248
|
/**
|
|
217
|
-
*
|
|
249
|
+
* Runs the setDeliveryHandler helper.
|
|
250
|
+
* @param {(payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?} handler - Delivery handler.
|
|
218
251
|
* @returns {void} - No return value.
|
|
219
252
|
*/
|
|
220
253
|
export function setDeliveryHandler(handler) {
|
|
221
254
|
deliveryHandler = handler;
|
|
222
255
|
}
|
|
223
256
|
/**
|
|
224
|
-
*
|
|
257
|
+
* Runs the getDeliveryHandler helper.
|
|
258
|
+
* @returns {((payload: import("./index.js").MailerDeliveryPayload) => Promise<?> | ?) | null} - Handler or null.
|
|
225
259
|
*/
|
|
226
260
|
export function getDeliveryHandler() {
|
|
227
261
|
return deliveryHandler;
|
|
228
262
|
}
|
|
229
263
|
/**
|
|
264
|
+
* Runs the deliverPayload helper.
|
|
230
265
|
* @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
|
|
231
|
-
* @returns {Promise<import("./index.js").MailerDeliveryPayload |
|
|
266
|
+
* @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Handler result.
|
|
232
267
|
*/
|
|
233
268
|
export async function deliverPayload(payload) {
|
|
234
269
|
if (await isTestingEnvironment()) {
|
|
@@ -247,6 +282,7 @@ export async function deliverPayload(payload) {
|
|
|
247
282
|
return await handler(payload);
|
|
248
283
|
}
|
|
249
284
|
/**
|
|
285
|
+
* Runs the enqueuePayload helper.
|
|
250
286
|
* @param {import("./index.js").MailerDeliveryPayload} payload - Mail delivery payload.
|
|
251
287
|
* @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
|
|
252
288
|
*/
|
|
@@ -258,4 +294,4 @@ export async function enqueuePayload(payload) {
|
|
|
258
294
|
const { default: mailDeliveryJob } = await import("../jobs/mail-delivery.js");
|
|
259
295
|
return await mailDeliveryJob.performLater(payload);
|
|
260
296
|
}
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYWlsZXIvYmFzZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFBO0FBQ3JCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDeEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxxQkFBcUIsTUFBTSw4QkFBOEIsQ0FBQTtBQUNoRSxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RCxPQUFPLGNBQWMsTUFBTSxlQUFlLENBQUE7QUFFMUMsMkRBQTJEO0FBQzNELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQTtBQUMxQiwyR0FBMkc7QUFDM0csSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFBO0FBRTFCOzs7R0FHRztBQUNILFNBQVMsWUFBWSxDQUFDLFVBQVU7SUFDOUIsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtBQUNoRSxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxTQUFTO0lBQ3BDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRWpELE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7QUFDOUQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxxQ0FBcUM7QUFDckMsU0FBUyxlQUFlLENBQUMsV0FBVyxFQUFFLEtBQUs7SUFDekMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQTtJQUN2QyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUE7SUFFckIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFD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QUFBO0FBQy9CLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFPO0lBQzFDLElBQUksTUFBTSxvQkFBb0IsRUFBRSxFQUFFLENBQUM7UUFDakMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM3QixPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0lBRUQsTUFBTSxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUMsR0FBRyxNQUFNLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0lBRTNFLE9BQU8sTUFBTSxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IGVqcyBmcm9tIFwiZWpzXCJcbmltcG9ydCB7aW5jb3Jwb3JhdGV9IGZyb20gXCJpbmNvcnBvcmF0b3JcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgY29uZmlndXJhdGlvblJlc29sdmVyIGZyb20gXCIuLi9jb25maWd1cmF0aW9uLXJlc29sdmVyLmpzXCJcbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuaW1wb3J0IE1haWxlckRlbGl2ZXJ5IGZyb20gXCIuL2RlbGl2ZXJ5LmpzXCJcblxuLyoqIEB0eXBlIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZFtdfSAqL1xuY29uc3QgZGVsaXZlcmllc1N0b3JlID0gW11cbi8qKiBAdHlwZSB7KChwYXlsb2FkOiBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCkgPT4gUHJvbWlzZTx1bmtub3duPiB8IHVua25vd24pIHwgbnVsbH0gKi9cbmxldCBkZWxpdmVyeUhhbmRsZXIgPSBudWxsXG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbk5hbWUgLSBNYWlsZXIgYWN0aW9uIG5hbWUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIFZpZXcgZmlsZSBuYW1lLlxuICovXG5mdW5jdGlvbiB2aWV3RmlsZU5hbWUoYWN0aW9uTmFtZSkge1xuICByZXR1cm4gaW5mbGVjdGlvbi5kYXNoZXJpemUoaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFjdGlvbk5hbWUpKVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBjbGFzc05hbWUgLSBNYWlsZXIgY2xhc3MgbmFtZS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gTWFpbGVyIGRpcmVjdG9yeSBuYW1lLlxuICovXG5mdW5jdGlvbiBtYWlsZXJEaXJlY3RvcnlOYW1lKGNsYXNzTmFtZSkge1xuICBjb25zdCBiYXNlTmFtZSA9IGNsYXNzTmFtZS5yZXBsYWNlKC9NYWlsZXIkLywgXCJcIilcblxuICByZXR1cm4gaW5mbGVjdGlvbi5kYXNoZXJpemUoaW5mbGVjdGlvbi51bmRlcnNjb3JlKGJhc2VOYW1lKSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3R5cGVvZiBWZWxvY2lvdXNNYWlsZXJCYXNlfSBtYWlsZXJDbGFzcyAtIE1haWxlciBjbGFzcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzdGFjayAtIEVycm9yIHN0YWNrLlxuICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gSW5mZXJyZWQgYWN0aW9uIG5hbWUuXG4gKi9cbi8vIGZhbGxvdy1pZ25vcmUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbmZ1bmN0aW9uIGluZmVyQWN0aW9uTmFtZShtYWlsZXJDbGFzcywgc3RhY2spIHtcbiAgY29uc3QgcHJvdG90eXBlID0gbWFpbGVyQ2xhc3MucHJvdG90eXBlXG4gIGxldCBhY3Rpb25OYW1lID0gbnVsbFxuXG4gIGZvciAoY29uc3QgbGluZSBvZiBzdGFjay5zcGxpdChcIlxcblwiKSkge1xuICAgIGNvbnN0IG1hdGNoID0gbGluZS5tYXRjaCgvXFxiYXQgKD86YXN5bmMgKT8oPzpuZXcgKT9bXlxccy5dK1xcLihbXlxccy5dKykgLylcblxuICAgIGlmICghbWF0Y2gpIGNvbnRpbnVlXG5cbiAgICBjb25zdCBmcmFtZUFjdGlvbk5hbWUgPSBtYXRjaFsxXVxuXG4gICAgaWYgKGZyYW1lQWN0aW9uTmFtZSA9PT0gXCJtYWlsXCIpIGNvbnRpbnVlXG4gICAgaWYgKGZyYW1lQWN0aW9uTmFtZS5zdGFydHNXaXRoKFwiX1wiKSkgY29udGludWVcbiAgICBpZiAoZnJhbWVBY3Rpb25OYW1lID09PSBcImNvbnN0cnVjdG9yXCIpIGNvbnRpbnVlXG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChWZWxvY2lvdXNNYWlsZXJCYXNlLnByb3RvdHlwZSwgZnJhbWVBY3Rpb25OYW1lKSkgY29udGludWVcbiAgICBpZiAodHlwZW9mIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59ICovICgvKiogQHR5cGUge3Vua25vd259ICovIChwcm90b3R5cGUpKVtmcmFtZUFjdGlvbk5hbWVdICE9PSBcImZ1bmN0aW9uXCIpIGNvbnRpbnVlXG5cbiAgICBhY3Rpb25OYW1lID0gZnJhbWVBY3Rpb25OYW1lXG4gIH1cblxuICByZXR1cm4gYWN0aW9uTmFtZVxufVxuXG4vKipcbiAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSAtIFdoZXRoZXIgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgdGVzdC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gaXNUZXN0aW5nRW52aXJvbm1lbnQoKSB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBhd2FpdCBjb25maWd1cmF0aW9uUmVzb2x2ZXIoKVxuXG4gIHJldHVybiBjb25maWd1cmF0aW9uLmdldEVudmlyb25tZW50KCkgPT09IFwidGVzdFwiXG59XG5cbi8qKlxuICogQmFzZSBtYWlsZXIgd2l0aCB2aWV3IHJlbmRlcmluZyBhbmQgZGVsaXZlcnkgaGVscGVycy5cbiAqL1xuZXhwb3J0IGNsYXNzIFZlbG9jaW91c01haWxlckJhc2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXSAtIENvbnN0cnVjdG9yIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBbYXJncy5jb25maWd1cmF0aW9uXSAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Y29uZmlndXJhdGlvbn0gPSB7fSkge1xuICAgIHRoaXMuX2FjdGlvbk5hbWUgPSBudWxsXG4gICAgdGhpcy5fbWFpbE9wdGlvbnMgPSBudWxsXG4gICAgdGhpcy5fdmlld1BhcmFtcyA9IHt9XG4gICAgdGhpcy5fY29uZmlndXJhdGlvblByb21pc2UgPSBjb25maWd1cmF0aW9uID8gUHJvbWlzZS5yZXNvbHZlKGNvbmZpZ3VyYXRpb24pIDogY29uZmlndXJhdGlvblJlc29sdmVyKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IHBhcmFtcyAtIFZpZXcgcGFyYW1zLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBhc3NpZ25WaWV3KHBhcmFtcykge1xuICAgIHRoaXMuX3ZpZXdQYXJhbXMgPSBPYmplY3QuYXNzaWduKHRoaXMuX3ZpZXdQYXJhbXMsIHBhcmFtcyB8fCB7fSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE1haWwgb3B0aW9ucy5cbiAgICogQHBhcmFtIHthbnl9IGFyZ3MudG8gLSBSZWNpcGllbnQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnN1YmplY3QgLSBTdWJqZWN0IGxpbmUuXG4gICAqIEBwYXJhbSB7YW55fSBbYXJncy5mcm9tXSAtIFNlbmRlci5cbiAgICogQHBhcmFtIHthbnl9IFthcmdzLmNjXSAtIENDIHJlY2lwaWVudHMuXG4gICAqIEBwYXJhbSB7YW55fSBbYXJncy5iY2NdIC0gQkNDIHJlY2lwaWVudHMuXG4gICAqIEBwYXJhbSB7YW55fSBbYXJncy5yZXBseVRvXSAtIFJlcGx5LXRvIGFkZHJlc3MuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gW2FyZ3MuaGVhZGVyc10gLSBDdXN0b20gaGVhZGVycy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmFjdGlvbk5hbWVdIC0gTWFpbGVyIGFjdGlvbiBuYW1lLlxuICAgKiBAcGFyYW0ge1Byb21pc2U8dW5rbm93bj4gfCB1bmtub3dufSBbYXJncy5hY3Rpb25Qcm9taXNlXSAtIEFjdGlvbiBjb21wbGV0aW9uIHByb21pc2UuXG4gICAqIEByZXR1cm5zIHtNYWlsZXJEZWxpdmVyeX0gLSBEZWxpdmVyeSB3cmFwcGVyLlxuICAgKi9cbiAgbWFpbCh7dG8sIHN1YmplY3QsIGZyb20sIGNjLCBiY2MsIHJlcGx5VG8sIGhlYWRlcnMsIGFjdGlvbk5hbWUsIGFjdGlvblByb21pc2UsIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBjb25zdCByZXNvbHZlZEFjdGlvbk5hbWUgPSBhY3Rpb25OYW1lIHx8IGluZmVyQWN0aW9uTmFtZSgvKiogQHR5cGUge3R5cGVvZiBWZWxvY2lvdXNNYWlsZXJCYXNlfSAqLyAodGhpcy5jb25zdHJ1Y3RvciksIG5ldyBFcnJvcigpLnN0YWNrIHx8IFwiXCIpXG5cbiAgICBpZiAoIXJlc29sdmVkQWN0aW9uTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIGFjdGlvbk5hbWUgZm9yICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfS5tYWlsKClgKVxuICAgIH1cblxuICAgIHRoaXMuX2FjdGlvbk5hbWUgPSByZXNvbHZlZEFjdGlvbk5hbWVcbiAgICB0aGlzLl9tYWlsT3B0aW9ucyA9IHt0bywgc3ViamVjdCwgZnJvbSwgY2MsIGJjYywgcmVwbHlUbywgaGVhZGVyc31cbiAgICBjb25zdCByZXNvbHZlZEFjdGlvblByb21pc2UgPSBhY3Rpb25Qcm9taXNlID09PSB1bmRlZmluZWQgPyBQcm9taXNlLnJlc29sdmUoKSA6IFByb21pc2UucmVzb2x2ZShhY3Rpb25Qcm9taXNlKVxuXG4gICAgcmV0dXJuIG5ldyBNYWlsZXJEZWxpdmVyeSh7XG4gICAgICBtYWlsZXI6IHRoaXMsXG4gICAgICBhY3Rpb25Qcm9taXNlOiByZXNvbHZlZEFjdGlvblByb21pc2UsXG4gICAgICBhY3Rpb25OYW1lOiByZXNvbHZlZEFjdGlvbk5hbWVcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdD59IC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAgICovXG4gIGFzeW5jIF9nZXRDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLl9jb25maWd1cmF0aW9uUHJvbWlzZVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gQWN0aW9uIG5hbWUuXG4gICAqL1xuICBfZ2V0QWN0aW9uTmFtZSgpIHtcbiAgICBpZiAoIXRoaXMuX2FjdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gbWFpbGVyIGFjdGlvbiBzZXQgb24gJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9YClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uTmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBodG1sIC0gUmVuZGVyZWQgSFRNTC5cbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkfSAtIERlbGl2ZXJ5IHBheWxvYWQuXG4gICAqL1xuICBfYnVpbGRQYXlsb2FkU3luYyhodG1sKSB7XG4gICAgY29uc3QgbWFpbE9wdGlvbnMgPSB0aGlzLl9tYWlsT3B0aW9uc1xuXG4gICAgaWYgKCFtYWlsT3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIG1haWwoKSBvcHRpb25zIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX0jJHt0aGlzLl9nZXRBY3Rpb25OYW1lKCl9LiBHb3Q6ICR7U3RyaW5nKG1haWxPcHRpb25zKX1gKVxuICAgIH1cblxuICAgIGlmICghbWFpbE9wdGlvbnMudG8pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBcInRvXCIgZm9yICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfSMke3RoaXMuX2dldEFjdGlvbk5hbWUoKX0uIEdvdDogJHtTdHJpbmcobWFpbE9wdGlvbnMudG8pfWApXG4gICAgfVxuXG4gICAgaWYgKCFtYWlsT3B0aW9ucy5zdWJqZWN0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgXCJzdWJqZWN0XCIgZm9yICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfSMke3RoaXMuX2dldEFjdGlvbk5hbWUoKX0uIEdvdDogJHtTdHJpbmcobWFpbE9wdGlvbnMuc3ViamVjdCl9YClcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdG86IG1haWxPcHRpb25zLnRvLFxuICAgICAgc3ViamVjdDogbWFpbE9wdGlvbnMuc3ViamVjdCxcbiAgICAgIGZyb206IG1haWxPcHRpb25zLmZyb20sXG4gICAgICBjYzogbWFpbE9wdGlvbnMuY2MsXG4gICAgICBiY2M6IG1haWxPcHRpb25zLmJjYyxcbiAgICAgIHJlcGx5VG86IG1haWxPcHRpb25zLnJlcGx5VG8sXG4gICAgICBoZWFkZXJzOiBtYWlsT3B0aW9ucy5oZWFkZXJzLFxuICAgICAgaHRtbCxcbiAgICAgIG1haWxlcjogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgYWN0aW9uOiB0aGlzLl9nZXRBY3Rpb25OYW1lKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQ+fSAtIERlbGl2ZXJ5IHBheWxvYWQuXG4gICAqL1xuICBhc3luYyBfYnVpbGRQYXlsb2FkKCkge1xuICAgIGNvbnN0IGh0bWwgPSBhd2FpdCB0aGlzLl9yZW5kZXJWaWV3KClcblxuICAgIHJldHVybiB0aGlzLl9idWlsZFBheWxvYWRTeW5jKGh0bWwpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBSZW5kZXJlZCBIVE1MLlxuICAgKi9cbiAgYXN5bmMgX3JlbmRlclZpZXcoKSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGF3YWl0IHRoaXMuX2dldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IG1haWxlckRpciA9IG1haWxlckRpcmVjdG9yeU5hbWUodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSB0aGlzLl9nZXRBY3Rpb25OYW1lKClcbiAgICBjb25zdCBmaWxlTmFtZSA9IHZpZXdGaWxlTmFtZShhY3Rpb25OYW1lKVxuICAgIGNvbnN0IHZpZXdQYXRoID0gYCR7Y29uZmlndXJhdGlvbi5nZXREaXJlY3RvcnkoKX0vc3JjL21haWxlcnMvJHttYWlsZXJEaXJ9LyR7ZmlsZU5hbWV9LmVqc2BcbiAgICBjb25zdCB0cmFuc2xhdGUgPSAoLyoqIEB0eXBlIHtzdHJpbmd9ICovIG1zZ0lELCAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWR9ICovIGFyZ3MpID0+IGNvbmZpZ3VyYXRpb24uZ2V0VHJhbnNsYXRvcigpKG1zZ0lELCBhcmdzKVxuICAgIGNvbnN0IHZpZXdQYXJhbXMgPSBpbmNvcnBvcmF0ZSh7bWFpbGVyOiB0aGlzLCBfOiB0cmFuc2xhdGV9LCB0aGlzLl92aWV3UGFyYW1zKVxuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGVqcy5yZW5kZXJGaWxlKHZpZXdQYXRoLCB2aWV3UGFyYW1zLCB7fSwgKGVyciwgc3RyKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBjb25zdCBlcnJvckNvZGUgPSAvKiogQHR5cGUge3tjb2RlPzogc3RyaW5nfX0gKi8gKGVycikuY29kZVxuXG4gICAgICAgICAgaWYgKGVycm9yQ29kZSA9PT0gXCJFTk9FTlRcIikge1xuICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgTWlzc2luZyBtYWlsZXIgdmlldyBmaWxlOiAke3ZpZXdQYXRofWApKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWplY3QoZXJyKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNvbHZlKHN0cilcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9IHBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkIHwgdW5rbm93bj59IC0gSGFuZGxlciByZXN1bHQuXG4gICAqL1xuICBhc3luYyBfZGVsaXZlclBheWxvYWQocGF5bG9hZCkge1xuICAgIHJldHVybiBhd2FpdCBkZWxpdmVyUGF5bG9hZChwYXlsb2FkKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9IHBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZyB8IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkIHwgbnVsbD59IC0gSm9iIGlkIG9yIHBheWxvYWQgaW4gdGVzdCBtb2RlLlxuICAgKi9cbiAgYXN5bmMgX2VucXVldWVQYXlsb2FkKHBheWxvYWQpIHtcbiAgICByZXR1cm4gYXdhaXQgZW5xdWV1ZVBheWxvYWQocGF5bG9hZClcbiAgfVxufVxuXG4vKipcbiAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZFtdfSAtIERlbGl2ZXJlZCBwYXlsb2Fkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGl2ZXJpZXMoKSB7XG4gIHJldHVybiBkZWxpdmVyaWVzU3RvcmUuc2xpY2UoKVxufVxuXG4vKipcbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyRGVsaXZlcmllcygpIHtcbiAgZGVsaXZlcmllc1N0b3JlLmxlbmd0aCA9IDBcbn1cblxuLyoqXG4gKiBAcGFyYW0geyhwYXlsb2FkOiBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCkgPT4gUHJvbWlzZTx1bmtub3duPiB8IHVua25vd259IGhhbmRsZXIgLSBEZWxpdmVyeSBoYW5kbGVyLlxuICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0RGVsaXZlcnlIYW5kbGVyKGhhbmRsZXIpIHtcbiAgZGVsaXZlcnlIYW5kbGVyID0gaGFuZGxlclxufVxuXG4vKipcbiAqIEByZXR1cm5zIHsoKHBheWxvYWQ6IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkKSA9PiBQcm9taXNlPHVua25vd24+IHwgdW5rbm93bikgfCBudWxsfSAtIEhhbmRsZXIgb3IgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlbGl2ZXJ5SGFuZGxlcigpIHtcbiAgcmV0dXJuIGRlbGl2ZXJ5SGFuZGxlclxufVxuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9IHBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCB8IHVua25vd24+fSAtIEhhbmRsZXIgcmVzdWx0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsaXZlclBheWxvYWQocGF5bG9hZCkge1xuICBpZiAoYXdhaXQgaXNUZXN0aW5nRW52aXJvbm1lbnQoKSkge1xuICAgIGRlbGl2ZXJpZXNTdG9yZS5wdXNoKHBheWxvYWQpXG4gICAgcmV0dXJuIHBheWxvYWRcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBhd2FpdCBjb25maWd1cmF0aW9uUmVzb2x2ZXIoKVxuICBjb25zdCBiYWNrZW5kID0gY29uZmlndXJhdGlvbi5nZXRNYWlsZXJCYWNrZW5kKClcblxuICBpZiAoYmFja2VuZD8uZGVsaXZlcikge1xuICAgIHJldHVybiBhd2FpdCBiYWNrZW5kLmRlbGl2ZXIoe3BheWxvYWQsIGNvbmZpZ3VyYXRpb259KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlciA9IGRlbGl2ZXJ5SGFuZGxlclxuXG4gIGlmICghaGFuZGxlcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gbWFpbCBkZWxpdmVyeSBoYW5kbGVyIGNvbmZpZ3VyZWQgZm9yIFwiJHtwYXlsb2FkLnN1YmplY3R9XCIgdG8gXCIke3BheWxvYWQudG99XCJgKVxuICB9XG5cbiAgcmV0dXJuIGF3YWl0IGhhbmRsZXIocGF5bG9hZClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkfSBwYXlsb2FkIC0gTWFpbCBkZWxpdmVyeSBwYXlsb2FkLlxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nIHwgaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQgfCBudWxsPn0gLSBKb2IgaWQgb3IgcGF5bG9hZCBpbiB0ZXN0IG1vZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnF1ZXVlUGF5bG9hZChwYXlsb2FkKSB7XG4gIGlmIChhd2FpdCBpc1Rlc3RpbmdFbnZpcm9ubWVudCgpKSB7XG4gICAgZGVsaXZlcmllc1N0b3JlLnB1c2gocGF5bG9hZClcbiAgICByZXR1cm4gcGF5bG9hZFxuICB9XG5cbiAgY29uc3Qge2RlZmF1bHQ6IG1haWxEZWxpdmVyeUpvYn0gPSBhd2FpdCBpbXBvcnQoXCIuLi9qb2JzL21haWwtZGVsaXZlcnkuanNcIilcblxuICByZXR1cm4gYXdhaXQgbWFpbERlbGl2ZXJ5Sm9iLnBlcmZvcm1MYXRlcihwYXlsb2FkKVxufVxuIl19
|
|
297
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYWlsZXIvYmFzZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFBO0FBQ3JCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDeEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxxQkFBcUIsTUFBTSw4QkFBOEIsQ0FBQTtBQUNoRSxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RCxPQUFPLGNBQWMsTUFBTSxlQUFlLENBQUE7QUFFMUM7O3lEQUV5RDtBQUN6RCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUE7QUFDMUI7OzZGQUU2RjtBQUM3RixJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUE7QUFFMUI7Ozs7R0FJRztBQUNILFNBQVMsWUFBWSxDQUFDLFVBQVU7SUFDOUIsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtBQUNoRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsbUJBQW1CLENBQUMsU0FBUztJQUNwQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVqRCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0FBQzlELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILHFDQUFxQztBQUNyQyxTQUFTLGVBQWUsQ0FBQyxXQUFXLEVBQUUsS0FBSztJQUN6QyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFBO0lBQ3ZDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQTtJQUVyQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7UUFFeEUsSUFBSSxDQUFDLEtBQUs7WUFBRSxTQUFRO1FBRXBCLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUVoQyxJQUFJLGVBQWUsS0FBSyxNQUFNO1lBQUUsU0FBUTtRQUN4QyxJQUFJLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQUUsU0FBUTtRQUM3QyxJQUFJLGVBQWUsS0FBSyxhQUFhO1lBQUUsU0FBUTtRQUMvQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1lBQUUsU0FBUTtRQUNsRyxJQUFJLE9BQU87O2lEQUU4QixDQUFDLEVBQUM7O29EQUVlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxVQUFVO1lBQUUsU0FBUTtRQUVoSCxVQUFVLEdBQUcsZUFBZSxDQUFBO0lBQzlCLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQTtBQUNuQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsS0FBSyxVQUFVLG9CQUFvQjtJQUNqQyxNQUFNLGFBQWEsR0FBRyxNQUFNLHFCQUFxQixFQUFFLENBQUE7SUFFbkQsT0FBTyxhQUFhLENBQUMsY0FBYyxFQUFFLEtBQUssTUFBTSxDQUFBO0FBQ2xELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7T0FJRztJQUNILFlBQVksRUFBQyxhQUFhLEVBQUMsR0FBRyxFQUFFO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFBO1FBQ3JCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUE7SUFDdkcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsTUFBTTtRQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILElBQUksQ0FBQyxFQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQ3pGLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixNQUFNLGtCQUFrQixHQUFHLFVBQVUsSUFBSSxlQUFlLENBQUM7O3dHQUV1QyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBRTdJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQTtRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQTtRQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUE7UUFDbEUsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFOUcsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixNQUFNLEVBQUUsSUFBSTtZQUNaLGFBQWEsRUFBRSxxQkFBcUI7WUFDcEMsVUFBVSxFQUFFLGtCQUFrQjtTQUMvQixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixPQUFPLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFBO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7UUFDckUsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUN6QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLElBQUk7UUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQTtRQUVyQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDOUgsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZILENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNqSSxDQUFDO1FBRUQsT0FBTztZQUNMLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRTtZQUNsQixPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87WUFDNUIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO1lBQ3RCLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRTtZQUNsQixHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUc7WUFDcEIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO1lBQzVCLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztZQUM1QixJQUFJO1lBQ0osTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtZQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtTQUM5QixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxhQUFhO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBRXJDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsV0FBVztRQUNmLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDcEQsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDeEMsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLEdBQUcsYUFBYSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLFFBQVEsTUFBTSxDQUFBO1FBQzNGLE1BQU0sU0FBUyxHQUFHLENBQUM7OzhDQUVtQixDQUFDLEtBQUssRUFBRTs7MkVBRTBDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzVJLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUU5RSxPQUFPLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDcEQsSUFBSSxHQUFHLEVBQUUsQ0FBQztvQkFDUixNQUFNLFNBQVMsR0FBRzs7a0VBRTRCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUE7b0JBRXpELElBQUksU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUMzQixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsNkJBQTZCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtvQkFDNUQsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtvQkFDYixDQUFDO2dCQUNILENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ2QsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTztRQUMzQixPQUFPLE1BQU0sY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPO1FBQzNCLE9BQU8sTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdEMsQ0FBQztDQUNGO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFVBQVU7SUFDeEIsT0FBTyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUE7QUFDaEMsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxlQUFlO0lBQzdCLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0FBQzVCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQU87SUFDeEMsZUFBZSxHQUFHLE9BQU8sQ0FBQTtBQUMzQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLGVBQWUsQ0FBQTtBQUN4QixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLE9BQU87SUFDMUMsSUFBSSxNQUFNLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztRQUNqQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzdCLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLHFCQUFxQixFQUFFLENBQUE7SUFDbkQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUE7SUFFaEQsSUFBSSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsT0FBTyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBQyxPQUFPLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFBO0lBRS9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLE9BQU8sQ0FBQyxPQUFPLFNBQVMsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEcsQ0FBQztJQUVELE9BQU8sTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDL0IsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFPO0lBQzFDLElBQUksTUFBTSxvQkFBb0IsRUFBRSxFQUFFLENBQUM7UUFDakMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM3QixPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0lBRUQsTUFBTSxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUMsR0FBRyxNQUFNLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0lBRTNFLE9BQU8sTUFBTSxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IGVqcyBmcm9tIFwiZWpzXCJcbmltcG9ydCB7aW5jb3Jwb3JhdGV9IGZyb20gXCJpbmNvcnBvcmF0b3JcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgY29uZmlndXJhdGlvblJlc29sdmVyIGZyb20gXCIuLi9jb25maWd1cmF0aW9uLXJlc29sdmVyLmpzXCJcbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuaW1wb3J0IE1haWxlckRlbGl2ZXJ5IGZyb20gXCIuL2RlbGl2ZXJ5LmpzXCJcblxuLyoqXG4gKiBEZWxpdmVyaWVzIHN0b3JlLlxuICBAdHlwZSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWRbXX0gKi9cbmNvbnN0IGRlbGl2ZXJpZXNTdG9yZSA9IFtdXG4vKipcbiAqIERlbGl2ZXJ5IGhhbmRsZXIuXG4gIEB0eXBlIHsoKHBheWxvYWQ6IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkKSA9PiBQcm9taXNlPD8+IHwgPykgfCBudWxsfSAqL1xubGV0IGRlbGl2ZXJ5SGFuZGxlciA9IG51bGxcblxuLyoqXG4gKiBSdW5zIHZpZXcgZmlsZSBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbk5hbWUgLSBNYWlsZXIgYWN0aW9uIG5hbWUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIFZpZXcgZmlsZSBuYW1lLlxuICovXG5mdW5jdGlvbiB2aWV3RmlsZU5hbWUoYWN0aW9uTmFtZSkge1xuICByZXR1cm4gaW5mbGVjdGlvbi5kYXNoZXJpemUoaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFjdGlvbk5hbWUpKVxufVxuXG4vKipcbiAqIFJ1bnMgbWFpbGVyIGRpcmVjdG9yeSBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmd9IGNsYXNzTmFtZSAtIE1haWxlciBjbGFzcyBuYW1lLlxuICogQHJldHVybnMge3N0cmluZ30gLSBNYWlsZXIgZGlyZWN0b3J5IG5hbWUuXG4gKi9cbmZ1bmN0aW9uIG1haWxlckRpcmVjdG9yeU5hbWUoY2xhc3NOYW1lKSB7XG4gIGNvbnN0IGJhc2VOYW1lID0gY2xhc3NOYW1lLnJlcGxhY2UoL01haWxlciQvLCBcIlwiKVxuXG4gIHJldHVybiBpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUoYmFzZU5hbWUpKVxufVxuXG4vKipcbiAqIFJ1bnMgdGhlIGluZmVyQWN0aW9uTmFtZSBoZWxwZXIuXG4gKiBAcGFyYW0ge3R5cGVvZiBWZWxvY2lvdXNNYWlsZXJCYXNlfSBtYWlsZXJDbGFzcyAtIE1haWxlciBjbGFzcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzdGFjayAtIEVycm9yIHN0YWNrLlxuICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gSW5mZXJyZWQgYWN0aW9uIG5hbWUuXG4gKi9cbi8vIGZhbGxvdy1pZ25vcmUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbmZ1bmN0aW9uIGluZmVyQWN0aW9uTmFtZShtYWlsZXJDbGFzcywgc3RhY2spIHtcbiAgY29uc3QgcHJvdG90eXBlID0gbWFpbGVyQ2xhc3MucHJvdG90eXBlXG4gIGxldCBhY3Rpb25OYW1lID0gbnVsbFxuXG4gIGZvciAoY29uc3QgbGluZSBvZiBzdGFjay5zcGxpdChcIlxcblwiKSkge1xuICAgIGNvbnN0IG1hdGNoID0gbGluZS5tYXRjaCgvXFxiYXQgKD86YXN5bmMgKT8oPzpuZXcgKT9bXlxccy5dK1xcLihbXlxccy5dKykgLylcblxuICAgIGlmICghbWF0Y2gpIGNvbnRpbnVlXG5cbiAgICBjb25zdCBmcmFtZUFjdGlvbk5hbWUgPSBtYXRjaFsxXVxuXG4gICAgaWYgKGZyYW1lQWN0aW9uTmFtZSA9PT0gXCJtYWlsXCIpIGNvbnRpbnVlXG4gICAgaWYgKGZyYW1lQWN0aW9uTmFtZS5zdGFydHNXaXRoKFwiX1wiKSkgY29udGludWVcbiAgICBpZiAoZnJhbWVBY3Rpb25OYW1lID09PSBcImNvbnN0cnVjdG9yXCIpIGNvbnRpbnVlXG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChWZWxvY2lvdXNNYWlsZXJCYXNlLnByb3RvdHlwZSwgZnJhbWVBY3Rpb25OYW1lKSkgY29udGludWVcbiAgICBpZiAodHlwZW9mIC8qKlxuICAgICAgICAgICAgICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAgICAgICAgICAgICBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovICgvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB0eXBlIHs/fSAqLyAocHJvdG90eXBlKSlbZnJhbWVBY3Rpb25OYW1lXSAhPT0gXCJmdW5jdGlvblwiKSBjb250aW51ZVxuXG4gICAgYWN0aW9uTmFtZSA9IGZyYW1lQWN0aW9uTmFtZVxuICB9XG5cbiAgcmV0dXJuIGFjdGlvbk5hbWVcbn1cblxuLyoqXG4gKiBSdW5zIGlzIHRlc3RpbmcgZW52aXJvbm1lbnQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHRoZSBjdXJyZW50IGVudmlyb25tZW50IGlzIHRlc3QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGlzVGVzdGluZ0Vudmlyb25tZW50KCkge1xuICBjb25zdCBjb25maWd1cmF0aW9uID0gYXdhaXQgY29uZmlndXJhdGlvblJlc29sdmVyKClcblxuICByZXR1cm4gY29uZmlndXJhdGlvbi5nZXRFbnZpcm9ubWVudCgpID09PSBcInRlc3RcIlxufVxuXG4vKipcbiAqIEJhc2UgbWFpbGVyIHdpdGggdmlldyByZW5kZXJpbmcgYW5kIGRlbGl2ZXJ5IGhlbHBlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBWZWxvY2lvdXNNYWlsZXJCYXNlIHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBDb25zdHJ1Y3RvciBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gW2FyZ3MuY29uZmlndXJhdGlvbl0gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb259ID0ge30pIHtcbiAgICB0aGlzLl9hY3Rpb25OYW1lID0gbnVsbFxuICAgIHRoaXMuX21haWxPcHRpb25zID0gbnVsbFxuICAgIHRoaXMuX3ZpZXdQYXJhbXMgPSB7fVxuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb25Qcm9taXNlID0gY29uZmlndXJhdGlvbiA/IFByb21pc2UucmVzb2x2ZShjb25maWd1cmF0aW9uKSA6IGNvbmZpZ3VyYXRpb25SZXNvbHZlcigpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBhc3NpZ24gdmlldy5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gcGFyYW1zIC0gVmlldyBwYXJhbXMuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIGFzc2lnblZpZXcocGFyYW1zKSB7XG4gICAgdGhpcy5fdmlld1BhcmFtcyA9IE9iamVjdC5hc3NpZ24odGhpcy5fdmlld1BhcmFtcywgcGFyYW1zIHx8IHt9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbWFpbC5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBNYWlsIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7P30gYXJncy50byAtIFJlY2lwaWVudC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3Muc3ViamVjdCAtIFN1YmplY3QgbGluZS5cbiAgICogQHBhcmFtIHs/fSBbYXJncy5mcm9tXSAtIFNlbmRlci5cbiAgICogQHBhcmFtIHs/fSBbYXJncy5jY10gLSBDQyByZWNpcGllbnRzLlxuICAgKiBAcGFyYW0gez99IFthcmdzLmJjY10gLSBCQ0MgcmVjaXBpZW50cy5cbiAgICogQHBhcmFtIHs/fSBbYXJncy5yZXBseVRvXSAtIFJlcGx5LXRvIGFkZHJlc3MuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gW2FyZ3MuaGVhZGVyc10gLSBDdXN0b20gaGVhZGVycy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmFjdGlvbk5hbWVdIC0gTWFpbGVyIGFjdGlvbiBuYW1lLlxuICAgKiBAcGFyYW0ge1Byb21pc2U8Pz4gfCA/fSBbYXJncy5hY3Rpb25Qcm9taXNlXSAtIEFjdGlvbiBjb21wbGV0aW9uIHByb21pc2UuXG4gICAqIEByZXR1cm5zIHtNYWlsZXJEZWxpdmVyeX0gLSBEZWxpdmVyeSB3cmFwcGVyLlxuICAgKi9cbiAgbWFpbCh7dG8sIHN1YmplY3QsIGZyb20sIGNjLCBiY2MsIHJlcGx5VG8sIGhlYWRlcnMsIGFjdGlvbk5hbWUsIGFjdGlvblByb21pc2UsIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBjb25zdCByZXNvbHZlZEFjdGlvbk5hbWUgPSBhY3Rpb25OYW1lIHx8IGluZmVyQWN0aW9uTmFtZSgvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAdHlwZSB7dHlwZW9mIFZlbG9jaW91c01haWxlckJhc2V9ICovICh0aGlzLmNvbnN0cnVjdG9yKSwgbmV3IEVycm9yKCkuc3RhY2sgfHwgXCJcIilcblxuICAgIGlmICghcmVzb2x2ZWRBY3Rpb25OYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgYWN0aW9uTmFtZSBmb3IgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9Lm1haWwoKWApXG4gICAgfVxuXG4gICAgdGhpcy5fYWN0aW9uTmFtZSA9IHJlc29sdmVkQWN0aW9uTmFtZVxuICAgIHRoaXMuX21haWxPcHRpb25zID0ge3RvLCBzdWJqZWN0LCBmcm9tLCBjYywgYmNjLCByZXBseVRvLCBoZWFkZXJzfVxuICAgIGNvbnN0IHJlc29sdmVkQWN0aW9uUHJvbWlzZSA9IGFjdGlvblByb21pc2UgPT09IHVuZGVmaW5lZCA/IFByb21pc2UucmVzb2x2ZSgpIDogUHJvbWlzZS5yZXNvbHZlKGFjdGlvblByb21pc2UpXG5cbiAgICByZXR1cm4gbmV3IE1haWxlckRlbGl2ZXJ5KHtcbiAgICAgIG1haWxlcjogdGhpcyxcbiAgICAgIGFjdGlvblByb21pc2U6IHJlc29sdmVkQWN0aW9uUHJvbWlzZSxcbiAgICAgIGFjdGlvbk5hbWU6IHJlc29sdmVkQWN0aW9uTmFtZVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0Pn0gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgYXN5bmMgX2dldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2NvbmZpZ3VyYXRpb25Qcm9taXNlXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgYWN0aW9uIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gQWN0aW9uIG5hbWUuXG4gICAqL1xuICBfZ2V0QWN0aW9uTmFtZSgpIHtcbiAgICBpZiAoIXRoaXMuX2FjdGlvbk5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gbWFpbGVyIGFjdGlvbiBzZXQgb24gJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9YClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uTmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYnVpbGQgcGF5bG9hZCBzeW5jLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaHRtbCAtIFJlbmRlcmVkIEhUTUwuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZH0gLSBEZWxpdmVyeSBwYXlsb2FkLlxuICAgKi9cbiAgX2J1aWxkUGF5bG9hZFN5bmMoaHRtbCkge1xuICAgIGNvbnN0IG1haWxPcHRpb25zID0gdGhpcy5fbWFpbE9wdGlvbnNcblxuICAgIGlmICghbWFpbE9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBtYWlsKCkgb3B0aW9ucyBmb3IgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9IyR7dGhpcy5fZ2V0QWN0aW9uTmFtZSgpfS4gR290OiAke1N0cmluZyhtYWlsT3B0aW9ucyl9YClcbiAgICB9XG5cbiAgICBpZiAoIW1haWxPcHRpb25zLnRvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgXCJ0b1wiIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX0jJHt0aGlzLl9nZXRBY3Rpb25OYW1lKCl9LiBHb3Q6ICR7U3RyaW5nKG1haWxPcHRpb25zLnRvKX1gKVxuICAgIH1cblxuICAgIGlmICghbWFpbE9wdGlvbnMuc3ViamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIFwic3ViamVjdFwiIGZvciAke3RoaXMuY29uc3RydWN0b3IubmFtZX0jJHt0aGlzLl9nZXRBY3Rpb25OYW1lKCl9LiBHb3Q6ICR7U3RyaW5nKG1haWxPcHRpb25zLnN1YmplY3QpfWApXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRvOiBtYWlsT3B0aW9ucy50byxcbiAgICAgIHN1YmplY3Q6IG1haWxPcHRpb25zLnN1YmplY3QsXG4gICAgICBmcm9tOiBtYWlsT3B0aW9ucy5mcm9tLFxuICAgICAgY2M6IG1haWxPcHRpb25zLmNjLFxuICAgICAgYmNjOiBtYWlsT3B0aW9ucy5iY2MsXG4gICAgICByZXBseVRvOiBtYWlsT3B0aW9ucy5yZXBseVRvLFxuICAgICAgaGVhZGVyczogbWFpbE9wdGlvbnMuaGVhZGVycyxcbiAgICAgIGh0bWwsXG4gICAgICBtYWlsZXI6IHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgIGFjdGlvbjogdGhpcy5fZ2V0QWN0aW9uTmFtZSgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYnVpbGQgcGF5bG9hZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQ+fSAtIERlbGl2ZXJ5IHBheWxvYWQuXG4gICAqL1xuICBhc3luYyBfYnVpbGRQYXlsb2FkKCkge1xuICAgIGNvbnN0IGh0bWwgPSBhd2FpdCB0aGlzLl9yZW5kZXJWaWV3KClcblxuICAgIHJldHVybiB0aGlzLl9idWlsZFBheWxvYWRTeW5jKGh0bWwpXG4gIH1cblxuICAvKipcbiAgICogUnVucyByZW5kZXIgdmlldy5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBSZW5kZXJlZCBIVE1MLlxuICAgKi9cbiAgYXN5bmMgX3JlbmRlclZpZXcoKSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGF3YWl0IHRoaXMuX2dldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IG1haWxlckRpciA9IG1haWxlckRpcmVjdG9yeU5hbWUodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSB0aGlzLl9nZXRBY3Rpb25OYW1lKClcbiAgICBjb25zdCBmaWxlTmFtZSA9IHZpZXdGaWxlTmFtZShhY3Rpb25OYW1lKVxuICAgIGNvbnN0IHZpZXdQYXRoID0gYCR7Y29uZmlndXJhdGlvbi5nZXREaXJlY3RvcnkoKX0vc3JjL21haWxlcnMvJHttYWlsZXJEaXJ9LyR7ZmlsZU5hbWV9LmVqc2BcbiAgICBjb25zdCB0cmFuc2xhdGUgPSAoLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICBAdHlwZSB7c3RyaW5nfSAqLyBtc2dJRCwgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz4gfCB1bmRlZmluZWR9ICovIGFyZ3MpID0+IGNvbmZpZ3VyYXRpb24uZ2V0VHJhbnNsYXRvcigpKG1zZ0lELCBhcmdzKVxuICAgIGNvbnN0IHZpZXdQYXJhbXMgPSBpbmNvcnBvcmF0ZSh7bWFpbGVyOiB0aGlzLCBfOiB0cmFuc2xhdGV9LCB0aGlzLl92aWV3UGFyYW1zKVxuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGVqcy5yZW5kZXJGaWxlKHZpZXdQYXRoLCB2aWV3UGFyYW1zLCB7fSwgKGVyciwgc3RyKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBjb25zdCBlcnJvckNvZGUgPSAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAdHlwZSB7e2NvZGU/OiBzdHJpbmd9fSAqLyAoZXJyKS5jb2RlXG5cbiAgICAgICAgICBpZiAoZXJyb3JDb2RlID09PSBcIkVOT0VOVFwiKSB7XG4gICAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBNaXNzaW5nIG1haWxlciB2aWV3IGZpbGU6ICR7dmlld1BhdGh9YCkpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlamVjdChlcnIpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc29sdmUoc3RyKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBkZWxpdmVyIHBheWxvYWQuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9IHBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkIHwgPz59IC0gSGFuZGxlciByZXN1bHQuXG4gICAqL1xuICBhc3luYyBfZGVsaXZlclBheWxvYWQocGF5bG9hZCkge1xuICAgIHJldHVybiBhd2FpdCBkZWxpdmVyUGF5bG9hZChwYXlsb2FkKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZW5xdWV1ZSBwYXlsb2FkLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkfSBwYXlsb2FkIC0gTWFpbCBkZWxpdmVyeSBwYXlsb2FkLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmcgfCBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCB8IG51bGw+fSAtIEpvYiBpZCBvciBwYXlsb2FkIGluIHRlc3QgbW9kZS5cbiAgICovXG4gIGFzeW5jIF9lbnF1ZXVlUGF5bG9hZChwYXlsb2FkKSB7XG4gICAgcmV0dXJuIGF3YWl0IGVucXVldWVQYXlsb2FkKHBheWxvYWQpXG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBkZWxpdmVyaWVzIGhlbHBlci5cbiAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZFtdfSAtIERlbGl2ZXJlZCBwYXlsb2Fkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGl2ZXJpZXMoKSB7XG4gIHJldHVybiBkZWxpdmVyaWVzU3RvcmUuc2xpY2UoKVxufVxuXG4vKipcbiAqIFJ1bnMgdGhlIGNsZWFyRGVsaXZlcmllcyBoZWxwZXIuXG4gKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckRlbGl2ZXJpZXMoKSB7XG4gIGRlbGl2ZXJpZXNTdG9yZS5sZW5ndGggPSAwXG59XG5cbi8qKlxuICogUnVucyB0aGUgc2V0RGVsaXZlcnlIYW5kbGVyIGhlbHBlci5cbiAqIEBwYXJhbSB7KHBheWxvYWQ6IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkKSA9PiBQcm9taXNlPD8+IHwgP30gaGFuZGxlciAtIERlbGl2ZXJ5IGhhbmRsZXIuXG4gKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWxpdmVyeUhhbmRsZXIoaGFuZGxlcikge1xuICBkZWxpdmVyeUhhbmRsZXIgPSBoYW5kbGVyXG59XG5cbi8qKlxuICogUnVucyB0aGUgZ2V0RGVsaXZlcnlIYW5kbGVyIGhlbHBlci5cbiAqIEByZXR1cm5zIHsoKHBheWxvYWQ6IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkKSA9PiBQcm9taXNlPD8+IHwgPykgfCBudWxsfSAtIEhhbmRsZXIgb3IgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlbGl2ZXJ5SGFuZGxlcigpIHtcbiAgcmV0dXJuIGRlbGl2ZXJ5SGFuZGxlclxufVxuXG4vKipcbiAqIFJ1bnMgdGhlIGRlbGl2ZXJQYXlsb2FkIGhlbHBlci5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9IHBheWxvYWQgLSBNYWlsIGRlbGl2ZXJ5IHBheWxvYWQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCB8ID8+fSAtIEhhbmRsZXIgcmVzdWx0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsaXZlclBheWxvYWQocGF5bG9hZCkge1xuICBpZiAoYXdhaXQgaXNUZXN0aW5nRW52aXJvbm1lbnQoKSkge1xuICAgIGRlbGl2ZXJpZXNTdG9yZS5wdXNoKHBheWxvYWQpXG4gICAgcmV0dXJuIHBheWxvYWRcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBhd2FpdCBjb25maWd1cmF0aW9uUmVzb2x2ZXIoKVxuICBjb25zdCBiYWNrZW5kID0gY29uZmlndXJhdGlvbi5nZXRNYWlsZXJCYWNrZW5kKClcblxuICBpZiAoYmFja2VuZD8uZGVsaXZlcikge1xuICAgIHJldHVybiBhd2FpdCBiYWNrZW5kLmRlbGl2ZXIoe3BheWxvYWQsIGNvbmZpZ3VyYXRpb259KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlciA9IGRlbGl2ZXJ5SGFuZGxlclxuXG4gIGlmICghaGFuZGxlcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gbWFpbCBkZWxpdmVyeSBoYW5kbGVyIGNvbmZpZ3VyZWQgZm9yIFwiJHtwYXlsb2FkLnN1YmplY3R9XCIgdG8gXCIke3BheWxvYWQudG99XCJgKVxuICB9XG5cbiAgcmV0dXJuIGF3YWl0IGhhbmRsZXIocGF5bG9hZClcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBlbnF1ZXVlUGF5bG9hZCBoZWxwZXIuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkfSBwYXlsb2FkIC0gTWFpbCBkZWxpdmVyeSBwYXlsb2FkLlxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nIHwgaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQgfCBudWxsPn0gLSBKb2IgaWQgb3IgcGF5bG9hZCBpbiB0ZXN0IG1vZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnF1ZXVlUGF5bG9hZChwYXlsb2FkKSB7XG4gIGlmIChhd2FpdCBpc1Rlc3RpbmdFbnZpcm9ubWVudCgpKSB7XG4gICAgZGVsaXZlcmllc1N0b3JlLnB1c2gocGF5bG9hZClcbiAgICByZXR1cm4gcGF5bG9hZFxuICB9XG5cbiAgY29uc3Qge2RlZmF1bHQ6IG1haWxEZWxpdmVyeUpvYn0gPSBhd2FpdCBpbXBvcnQoXCIuLi9qb2JzL21haWwtZGVsaXZlcnkuanNcIilcblxuICByZXR1cm4gYXdhaXQgbWFpbERlbGl2ZXJ5Sm9iLnBlcmZvcm1MYXRlcihwYXlsb2FkKVxufVxuIl19
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export default class MailerDelivery {
|
|
5
5
|
/**
|
|
6
|
+
* Runs constructor.
|
|
6
7
|
* @param {object} args - Constructor args.
|
|
7
8
|
* @param {import("./base.js").VelociousMailerBase} args.mailer - Mailer instance.
|
|
8
|
-
* @param {Promise
|
|
9
|
+
* @param {Promise<?>} args.actionPromise - Action promise.
|
|
9
10
|
* @param {string} args.actionName - Action name.
|
|
10
11
|
*/
|
|
11
12
|
constructor({ mailer, actionPromise, actionName }: {
|
|
@@ -13,25 +14,35 @@ export default class MailerDelivery {
|
|
|
13
14
|
actionPromise: Promise<unknown>;
|
|
14
15
|
actionName: string;
|
|
15
16
|
});
|
|
16
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Narrows the runtime value to the documented type.
|
|
19
|
+
@type {import("./base.js").VelociousMailerBase} */
|
|
17
20
|
mailer: import("./base.js").VelociousMailerBase;
|
|
18
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Narrows the runtime value to the documented type.
|
|
23
|
+
@type {Promise<?>} */
|
|
19
24
|
actionPromise: Promise<unknown>;
|
|
20
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Narrows the runtime value to the documented type.
|
|
27
|
+
@type {string} */
|
|
21
28
|
actionName: string;
|
|
22
29
|
/**
|
|
30
|
+
* Runs build payload.
|
|
23
31
|
* @returns {Promise<import("./index.js").MailerDeliveryPayload>} - Rendered mailer payload.
|
|
24
32
|
*/
|
|
25
33
|
buildPayload(): Promise<import("./index.js").MailerDeliveryPayload>;
|
|
26
34
|
/**
|
|
27
|
-
*
|
|
35
|
+
* Runs deliver now.
|
|
36
|
+
* @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Delivered payload or handler result.
|
|
28
37
|
*/
|
|
29
38
|
deliverNow(): Promise<import("./index.js").MailerDeliveryPayload | unknown>;
|
|
30
39
|
/**
|
|
40
|
+
* Runs deliver later.
|
|
31
41
|
* @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
|
|
32
42
|
*/
|
|
33
43
|
deliverLater(): Promise<string | import("./index.js").MailerDeliveryPayload | null>;
|
|
34
44
|
/**
|
|
45
|
+
* Runs deliver laver.
|
|
35
46
|
* @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
|
|
36
47
|
*/
|
|
37
48
|
deliverLaver(): Promise<string | import("./index.js").MailerDeliveryPayload | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../../src/mailer/delivery.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;
|
|
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;;wDAEoD;IACpD,QADS,OAAO,WAAW,EAAE,mBAAmB,CAC1C;IACN;;2BAEuB;IACvB,eADS,OAAO,CAAC,OAAC,CAAC,CACN;IACb;;uBAEmB;IACnB,YADS,MAAM,CACL;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"}
|
|
@@ -3,16 +3,23 @@
|
|
|
3
3
|
* Represents a prepared mail delivery.
|
|
4
4
|
*/
|
|
5
5
|
export default class MailerDelivery {
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Narrows the runtime value to the documented type.
|
|
8
|
+
@type {import("./base.js").VelociousMailerBase} */
|
|
7
9
|
mailer;
|
|
8
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* Narrows the runtime value to the documented type.
|
|
12
|
+
@type {Promise<?>} */
|
|
9
13
|
actionPromise;
|
|
10
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Narrows the runtime value to the documented type.
|
|
16
|
+
@type {string} */
|
|
11
17
|
actionName;
|
|
12
18
|
/**
|
|
19
|
+
* Runs constructor.
|
|
13
20
|
* @param {object} args - Constructor args.
|
|
14
21
|
* @param {import("./base.js").VelociousMailerBase} args.mailer - Mailer instance.
|
|
15
|
-
* @param {Promise
|
|
22
|
+
* @param {Promise<?>} args.actionPromise - Action promise.
|
|
16
23
|
* @param {string} args.actionName - Action name.
|
|
17
24
|
*/
|
|
18
25
|
constructor({ mailer, actionPromise, actionName }) {
|
|
@@ -21,20 +28,23 @@ export default class MailerDelivery {
|
|
|
21
28
|
this.actionName = actionName;
|
|
22
29
|
}
|
|
23
30
|
/**
|
|
31
|
+
* Runs build payload.
|
|
24
32
|
* @returns {Promise<import("./index.js").MailerDeliveryPayload>} - Rendered mailer payload.
|
|
25
33
|
*/
|
|
26
34
|
async buildPayload() {
|
|
27
35
|
await this.actionPromise;
|
|
28
|
-
return /** @type {import("./index.js").MailerDeliveryPayload} */ (await this.mailer._buildPayload());
|
|
36
|
+
return /** Narrows the runtime value to the documented type. @type {import("./index.js").MailerDeliveryPayload} */ (await this.mailer._buildPayload());
|
|
29
37
|
}
|
|
30
38
|
/**
|
|
31
|
-
*
|
|
39
|
+
* Runs deliver now.
|
|
40
|
+
* @returns {Promise<import("./index.js").MailerDeliveryPayload | ?>} - Delivered payload or handler result.
|
|
32
41
|
*/
|
|
33
42
|
async deliverNow() {
|
|
34
43
|
const payload = await this.buildPayload();
|
|
35
44
|
return await this.mailer._deliverPayload(payload);
|
|
36
45
|
}
|
|
37
46
|
/**
|
|
47
|
+
* Runs deliver later.
|
|
38
48
|
* @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
|
|
39
49
|
*/
|
|
40
50
|
async deliverLater() {
|
|
@@ -42,10 +52,11 @@ export default class MailerDelivery {
|
|
|
42
52
|
return await this.mailer._enqueuePayload(payload);
|
|
43
53
|
}
|
|
44
54
|
/**
|
|
55
|
+
* Runs deliver laver.
|
|
45
56
|
* @returns {Promise<string | import("./index.js").MailerDeliveryPayload | null>} - Job id or payload in test mode.
|
|
46
57
|
*/
|
|
47
58
|
async deliverLaver() {
|
|
48
59
|
return await this.deliverLater();
|
|
49
60
|
}
|
|
50
61
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFpbGVyL2RlbGl2ZXJ5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBYztJQUNqQzs7d0RBRW9EO0lBQ3BELE1BQU0sQ0FBQTtJQUNOOzsyQkFFdUI7SUFDdkIsYUFBYSxDQUFBO0lBQ2I7O3VCQUVtQjtJQUNuQixVQUFVLENBQUE7SUFFVjs7Ozs7O09BTUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQTtRQUV4QixPQUFPLDJHQUEyRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7SUFDeEosQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxVQUFVO1FBQ2QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFekMsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUV6QyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHByZXBhcmVkIG1haWwgZGVsaXZlcnkuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1haWxlckRlbGl2ZXJ5IHtcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICBAdHlwZSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLlZlbG9jaW91c01haWxlckJhc2V9ICovXG4gIG1haWxlclxuICAvKipcbiAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgIEB0eXBlIHtQcm9taXNlPD8+fSAqL1xuICBhY3Rpb25Qcm9taXNlXG4gIC8qKlxuICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgQHR5cGUge3N0cmluZ30gKi9cbiAgYWN0aW9uTmFtZVxuXG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIENvbnN0cnVjdG9yIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLlZlbG9jaW91c01haWxlckJhc2V9IGFyZ3MubWFpbGVyIC0gTWFpbGVyIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge1Byb21pc2U8Pz59IGFyZ3MuYWN0aW9uUHJvbWlzZSAtIEFjdGlvbiBwcm9taXNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5hY3Rpb25OYW1lIC0gQWN0aW9uIG5hbWUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7bWFpbGVyLCBhY3Rpb25Qcm9taXNlLCBhY3Rpb25OYW1lfSkge1xuICAgIHRoaXMubWFpbGVyID0gbWFpbGVyXG4gICAgdGhpcy5hY3Rpb25Qcm9taXNlID0gYWN0aW9uUHJvbWlzZVxuICAgIHRoaXMuYWN0aW9uTmFtZSA9IGFjdGlvbk5hbWVcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGJ1aWxkIHBheWxvYWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkPn0gLSBSZW5kZXJlZCBtYWlsZXIgcGF5bG9hZC5cbiAgICovXG4gIGFzeW5jIGJ1aWxkUGF5bG9hZCgpIHtcbiAgICBhd2FpdCB0aGlzLmFjdGlvblByb21pc2VcblxuICAgIHJldHVybiAvKiogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLiBAdHlwZSB7aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWR9ICovIChhd2FpdCB0aGlzLm1haWxlci5fYnVpbGRQYXlsb2FkKCkpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBkZWxpdmVyIG5vdy5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi9pbmRleC5qc1wiKS5NYWlsZXJEZWxpdmVyeVBheWxvYWQgfCA/Pn0gLSBEZWxpdmVyZWQgcGF5bG9hZCBvciBoYW5kbGVyIHJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGRlbGl2ZXJOb3coKSB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGF3YWl0IHRoaXMuYnVpbGRQYXlsb2FkKClcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLm1haWxlci5fZGVsaXZlclBheWxvYWQocGF5bG9hZClcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGRlbGl2ZXIgbGF0ZXIuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZyB8IGltcG9ydChcIi4vaW5kZXguanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkIHwgbnVsbD59IC0gSm9iIGlkIG9yIHBheWxvYWQgaW4gdGVzdCBtb2RlLlxuICAgKi9cbiAgYXN5bmMgZGVsaXZlckxhdGVyKCkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCB0aGlzLmJ1aWxkUGF5bG9hZCgpXG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5tYWlsZXIuX2VucXVldWVQYXlsb2FkKHBheWxvYWQpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBkZWxpdmVyIGxhdmVyLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmcgfCBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCB8IG51bGw+fSAtIEpvYiBpZCBvciBwYXlsb2FkIGluIHRlc3QgbW9kZS5cbiAgICovXG4gIGFzeW5jIGRlbGl2ZXJMYXZlcigpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5kZWxpdmVyTGF0ZXIoKVxuICB9XG59XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export default VelociousMailerBase;
|
|
2
2
|
export type MailerDeliveryPayload = {
|
|
3
|
-
to:
|
|
3
|
+
to: unknown;
|
|
4
4
|
subject: string;
|
|
5
|
-
from?:
|
|
6
|
-
cc?:
|
|
7
|
-
bcc?:
|
|
8
|
-
replyTo?:
|
|
5
|
+
from?: unknown;
|
|
6
|
+
cc?: unknown;
|
|
7
|
+
bcc?: unknown;
|
|
8
|
+
replyTo?: unknown;
|
|
9
9
|
headers?: Record<string, string>;
|
|
10
10
|
html: string;
|
|
11
11
|
mailer: string;
|