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
|
@@ -10,12 +10,15 @@
|
|
|
10
10
|
*/
|
|
11
11
|
export default class VelociousWebsocketChannelSubscribers {
|
|
12
12
|
constructor() {
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Narrows the runtime value to the documented type.
|
|
15
|
+
@type {Map<string, Set<(payload: ?, meta: {channel: string, createdAt?: string, eventId?: string}) => void | Promise<void>>>} */
|
|
14
16
|
this._subscribers = new Map();
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
19
|
+
* Runs subscribe.
|
|
17
20
|
* @param {string} channel - Channel name to subscribe to.
|
|
18
|
-
* @param {(payload:
|
|
21
|
+
* @param {(payload: ?, meta: {channel: string, createdAt?: string, eventId?: string}) => void | Promise<void>} callback - Callback invoked for each event on the channel.
|
|
19
22
|
* @returns {() => void} - Unsubscribe function.
|
|
20
23
|
*/
|
|
21
24
|
subscribe(channel, callback) {
|
|
@@ -32,8 +35,9 @@ export default class VelociousWebsocketChannelSubscribers {
|
|
|
32
35
|
return () => this.unsubscribe(channel, callback);
|
|
33
36
|
}
|
|
34
37
|
/**
|
|
38
|
+
* Runs unsubscribe.
|
|
35
39
|
* @param {string} channel - Channel name.
|
|
36
|
-
* @param {(payload:
|
|
40
|
+
* @param {(payload: ?, meta: {channel: string, createdAt?: string, eventId?: string}) => void | Promise<void>} callback - Previously registered callback.
|
|
37
41
|
* @returns {void}
|
|
38
42
|
*/
|
|
39
43
|
unsubscribe(channel, callback) {
|
|
@@ -46,6 +50,7 @@ export default class VelociousWebsocketChannelSubscribers {
|
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
53
|
+
* Runs has subscribers.
|
|
49
54
|
* @param {string} channel - Channel name.
|
|
50
55
|
* @returns {boolean} - Whether any subscribers exist for the channel.
|
|
51
56
|
*/
|
|
@@ -57,7 +62,7 @@ export default class VelociousWebsocketChannelSubscribers {
|
|
|
57
62
|
* Dispatch an event to all subscribers of the channel.
|
|
58
63
|
* @param {object} args - Event args.
|
|
59
64
|
* @param {string} args.channel - Channel name.
|
|
60
|
-
* @param {
|
|
65
|
+
* @param {?} args.payload - Event payload.
|
|
61
66
|
* @param {string} [args.createdAt] - Event creation time.
|
|
62
67
|
* @param {string} [args.eventId] - Event identifier.
|
|
63
68
|
* @returns {Promise<void>} - Resolves when all subscribers have completed.
|
|
@@ -74,8 +79,12 @@ export default class VelociousWebsocketChannelSubscribers {
|
|
|
74
79
|
for (const callback of callbacks) {
|
|
75
80
|
try {
|
|
76
81
|
const result = callback(payload, meta);
|
|
77
|
-
if (result && typeof ( /**
|
|
78
|
-
|
|
82
|
+
if (result && typeof ( /**
|
|
83
|
+
* Narrows the runtime value to the documented type.
|
|
84
|
+
@type {Promise<void>} */(result)).then === "function") {
|
|
85
|
+
tasks.push(/**
|
|
86
|
+
* Narrows the runtime value to the documented type.
|
|
87
|
+
@type {Promise<void>} */ (result));
|
|
79
88
|
}
|
|
80
89
|
}
|
|
81
90
|
catch (error) {
|
|
@@ -86,4 +95,4 @@ export default class VelociousWebsocketChannelSubscribers {
|
|
|
86
95
|
await Promise.all(tasks);
|
|
87
96
|
}
|
|
88
97
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNoYW5uZWwtc3Vic2NyaWJlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvd2Vic29ja2V0LWNoYW5uZWwtc3Vic2NyaWJlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sT0FBTyxvQ0FBb0M7SUFDdkQ7UUFDRTs7MElBRWtJO1FBQ2xJLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUMvQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVE7UUFDekIsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFDcEQsSUFBSSxPQUFPLFFBQVEsS0FBSyxVQUFVO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBRWxGLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRXhDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3JDLENBQUM7UUFFRCxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRWpCLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRO1FBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTFDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTTtRQUVoQixHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRXBCLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsT0FBTztRQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUUxQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDO1FBQ25ELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTFDLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDO1lBQUUsT0FBTTtRQUVsQyx3RUFBd0U7UUFDeEUsdUVBQXVFO1FBQ3ZFLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakMsTUFBTSxJQUFJLEdBQUcsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBQyxDQUFBO1FBQzFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQTtRQUVoQixLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQztnQkFDSCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUV0QyxJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUM7O2dFQUUyQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO29CQUMvRSxLQUFLLENBQUMsSUFBSSxDQUFDOzt5REFFMEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7Z0JBQ2pELENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixrR0FBa0c7Z0JBQ2xHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1lBQ25DLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIFBlci1wcm9jZXNzIHJlZ2lzdHJ5IG9mIGNoYW5uZWwgc3Vic2NyaWJlcnMgdXNlZCBieSB3b3JrZXIgY29kZSB0aGF0XG4gKiBuZWVkcyB0byByZWFjdCB0byBldmVudHMgYnJvYWRjYXN0IHZpYSBgd2Vic29ja2V0RXZlbnRzSG9zdC5wdWJsaXNoKC4uLilgXG4gKiB3aXRob3V0IGhvbGRpbmcgYW4gYWN0dWFsIHdlYnNvY2tldCBzZXNzaW9uLlxuICpcbiAqIEVhY2ggVmVsb2Npb3VzIHdvcmtlciB0aHJlYWQgKGFuZCB0aGUgaW4tcHJvY2VzcyBoYW5kbGVyIHVzZWQgaW4gdGVzdHMpXG4gKiBnZXRzIGl0cyBvd24gaW5zdGFuY2UgYXR0YWNoZWQgdG8gdGhlIGNvbmZpZ3VyYXRpb24gdmlhXG4gKiBgc2V0V2Vic29ja2V0Q2hhbm5lbFN1YnNjcmliZXJzKC4uLilgLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNXZWJzb2NrZXRDaGFubmVsU3Vic2NyaWJlcnMge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvKipcbiAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICBAdHlwZSB7TWFwPHN0cmluZywgU2V0PChwYXlsb2FkOiA/LCBtZXRhOiB7Y2hhbm5lbDogc3RyaW5nLCBjcmVhdGVkQXQ/OiBzdHJpbmcsIGV2ZW50SWQ/OiBzdHJpbmd9KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPj4+fSAqL1xuICAgIHRoaXMuX3N1YnNjcmliZXJzID0gbmV3IE1hcCgpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBzdWJzY3JpYmUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaGFubmVsIC0gQ2hhbm5lbCBuYW1lIHRvIHN1YnNjcmliZSB0by5cbiAgICogQHBhcmFtIHsocGF5bG9hZDogPywgbWV0YToge2NoYW5uZWw6IHN0cmluZywgY3JlYXRlZEF0Pzogc3RyaW5nLCBldmVudElkPzogc3RyaW5nfSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD59IGNhbGxiYWNrIC0gQ2FsbGJhY2sgaW52b2tlZCBmb3IgZWFjaCBldmVudCBvbiB0aGUgY2hhbm5lbC5cbiAgICogQHJldHVybnMgeygpID0+IHZvaWR9IC0gVW5zdWJzY3JpYmUgZnVuY3Rpb24uXG4gICAqL1xuICBzdWJzY3JpYmUoY2hhbm5lbCwgY2FsbGJhY2spIHtcbiAgICBpZiAoIWNoYW5uZWwpIHRocm93IG5ldyBFcnJvcihcImNoYW5uZWwgaXMgcmVxdWlyZWRcIilcbiAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIpIHRocm93IG5ldyBFcnJvcihcImNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvblwiKVxuXG4gICAgbGV0IHNldCA9IHRoaXMuX3N1YnNjcmliZXJzLmdldChjaGFubmVsKVxuXG4gICAgaWYgKCFzZXQpIHtcbiAgICAgIHNldCA9IG5ldyBTZXQoKVxuICAgICAgdGhpcy5fc3Vic2NyaWJlcnMuc2V0KGNoYW5uZWwsIHNldClcbiAgICB9XG5cbiAgICBzZXQuYWRkKGNhbGxiYWNrKVxuXG4gICAgcmV0dXJuICgpID0+IHRoaXMudW5zdWJzY3JpYmUoY2hhbm5lbCwgY2FsbGJhY2spXG4gIH1cblxuICAvKipcbiAgICogUnVucyB1bnN1YnNjcmliZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGNoYW5uZWwgLSBDaGFubmVsIG5hbWUuXG4gICAqIEBwYXJhbSB7KHBheWxvYWQ6ID8sIG1ldGE6IHtjaGFubmVsOiBzdHJpbmcsIGNyZWF0ZWRBdD86IHN0cmluZywgZXZlbnRJZD86IHN0cmluZ30pID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+fSBjYWxsYmFjayAtIFByZXZpb3VzbHkgcmVnaXN0ZXJlZCBjYWxsYmFjay5cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICB1bnN1YnNjcmliZShjaGFubmVsLCBjYWxsYmFjaykge1xuICAgIGNvbnN0IHNldCA9IHRoaXMuX3N1YnNjcmliZXJzLmdldChjaGFubmVsKVxuXG4gICAgaWYgKCFzZXQpIHJldHVyblxuXG4gICAgc2V0LmRlbGV0ZShjYWxsYmFjaylcblxuICAgIGlmIChzZXQuc2l6ZSA9PT0gMCkge1xuICAgICAgdGhpcy5fc3Vic2NyaWJlcnMuZGVsZXRlKGNoYW5uZWwpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgaGFzIHN1YnNjcmliZXJzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbCAtIENoYW5uZWwgbmFtZS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciBhbnkgc3Vic2NyaWJlcnMgZXhpc3QgZm9yIHRoZSBjaGFubmVsLlxuICAgKi9cbiAgaGFzU3Vic2NyaWJlcnMoY2hhbm5lbCkge1xuICAgIGNvbnN0IHNldCA9IHRoaXMuX3N1YnNjcmliZXJzLmdldChjaGFubmVsKVxuXG4gICAgcmV0dXJuIEJvb2xlYW4oc2V0ICYmIHNldC5zaXplID4gMClcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaCBhbiBldmVudCB0byBhbGwgc3Vic2NyaWJlcnMgb2YgdGhlIGNoYW5uZWwuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gRXZlbnQgYXJncy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MuY2hhbm5lbCAtIENoYW5uZWwgbmFtZS5cbiAgICogQHBhcmFtIHs/fSBhcmdzLnBheWxvYWQgLSBFdmVudCBwYXlsb2FkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuY3JlYXRlZEF0XSAtIEV2ZW50IGNyZWF0aW9uIHRpbWUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5ldmVudElkXSAtIEV2ZW50IGlkZW50aWZpZXIuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gYWxsIHN1YnNjcmliZXJzIGhhdmUgY29tcGxldGVkLlxuICAgKi9cbiAgYXN5bmMgZGlzcGF0Y2goe2NoYW5uZWwsIHBheWxvYWQsIGNyZWF0ZWRBdCwgZXZlbnRJZH0pIHtcbiAgICBjb25zdCBzZXQgPSB0aGlzLl9zdWJzY3JpYmVycy5nZXQoY2hhbm5lbClcblxuICAgIGlmICghc2V0IHx8IHNldC5zaXplID09PSAwKSByZXR1cm5cblxuICAgIC8vIFNuYXBzaG90IHRoZSBzdWJzY3JpYmVycyBzbyBjYWxsYmFja3MgdGhhdCB1bnN1YnNjcmliZSAodGhlbXNlbHZlcyBvclxuICAgIC8vIG90aGVycykgZHVyaW5nIGRpc3BhdGNoIGRvIG5vdCBza2lwIGxhdGVyIGRlbGl2ZXJpZXMgZm9yIHRoaXMgZXZlbnQuXG4gICAgY29uc3QgY2FsbGJhY2tzID0gQXJyYXkuZnJvbShzZXQpXG4gICAgY29uc3QgbWV0YSA9IHtjaGFubmVsLCBjcmVhdGVkQXQsIGV2ZW50SWR9XG4gICAgY29uc3QgdGFza3MgPSBbXVxuXG4gICAgZm9yIChjb25zdCBjYWxsYmFjayBvZiBjYWxsYmFja3MpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKHBheWxvYWQsIG1ldGEpXG5cbiAgICAgICAgaWYgKHJlc3VsdCAmJiB0eXBlb2YgKC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAdHlwZSB7UHJvbWlzZTx2b2lkPn0gKi8gKHJlc3VsdCkpLnRoZW4gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIHRhc2tzLnB1c2goLyoqXG4gICAgICAgICAgICAgICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgIEB0eXBlIHtQcm9taXNlPHZvaWQ+fSAqLyAocmVzdWx0KSlcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gRG9uJ3QgbGV0IG9uZSBzdWJzY3JpYmVyJ3MgZmFpbHVyZSBhYm9ydCB0aGUgb3RoZXJzOyBzdXJmYWNlIHZpYSB0aGUgcmV0dXJuZWQgcHJvbWlzZXMgaW5zdGVhZC5cbiAgICAgICAgdGFza3MucHVzaChQcm9taXNlLnJlamVjdChlcnJvcikpXG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwodGFza3MpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* WebsocketJsonValue type.
|
|
2
3
|
* @typedef {null | boolean | number | string | object} WebsocketJsonValue
|
|
3
4
|
*/
|
|
4
5
|
/**
|
|
6
|
+
* WebsocketParams type.
|
|
5
7
|
* @typedef {Record<string, WebsocketJsonValue>} WebsocketParams
|
|
6
8
|
*/
|
|
7
9
|
/**
|
|
@@ -14,6 +16,7 @@
|
|
|
14
16
|
*/
|
|
15
17
|
export default class VelociousWebsocketChannel {
|
|
16
18
|
/**
|
|
19
|
+
* Runs constructor.
|
|
17
20
|
* @param {object} args
|
|
18
21
|
* @param {string} args.subscriptionId - Client-assigned id, unique within the session.
|
|
19
22
|
* @param {WebsocketParams} args.params - Subscribe params.
|
|
@@ -32,7 +35,6 @@ export default class VelociousWebsocketChannel {
|
|
|
32
35
|
* Subscribe-time auth. Default is `false` (deny). Channel authors
|
|
33
36
|
* MUST override to allow subscriptions. Returning a Promise defers
|
|
34
37
|
* the `channel-subscribed` confirmation until it resolves.
|
|
35
|
-
*
|
|
36
38
|
* @returns {boolean | Promise<boolean>}
|
|
37
39
|
*/
|
|
38
40
|
canSubscribe(): boolean | Promise<boolean>;
|
|
@@ -40,14 +42,12 @@ export default class VelociousWebsocketChannel {
|
|
|
40
42
|
* Optional — called once after `canSubscribe` resolves truthy and
|
|
41
43
|
* before `channel-subscribed` is sent to the client. Use for
|
|
42
44
|
* initial snapshot delivery.
|
|
43
|
-
*
|
|
44
45
|
* @returns {void | Promise<void>}
|
|
45
46
|
*/
|
|
46
47
|
subscribed(): void | Promise<void>;
|
|
47
48
|
/**
|
|
48
49
|
* Optional — called once when the subscription ends. Fires on
|
|
49
50
|
* client-initiated `channel-unsubscribe` or on session teardown.
|
|
50
|
-
*
|
|
51
51
|
* @returns {void | Promise<void>}
|
|
52
52
|
*/
|
|
53
53
|
unsubscribed(): void | Promise<void>;
|
|
@@ -56,14 +56,12 @@ export default class VelociousWebsocketChannel {
|
|
|
56
56
|
* moved into the paused/grace registry. Either `onResume` fires
|
|
57
57
|
* on successful client reconnect, or `unsubscribed()` fires when
|
|
58
58
|
* the grace window expires.
|
|
59
|
-
*
|
|
60
59
|
* @returns {void | Promise<void>}
|
|
61
60
|
*/
|
|
62
61
|
onDisconnect(): void | Promise<void>;
|
|
63
62
|
/**
|
|
64
63
|
* Called after a client reconnect + `session-resume` rebinds this
|
|
65
64
|
* subscription to a new socket.
|
|
66
|
-
*
|
|
67
65
|
* @returns {void | Promise<void>}
|
|
68
66
|
*/
|
|
69
67
|
onResume(): void | Promise<void>;
|
|
@@ -71,7 +69,6 @@ export default class VelociousWebsocketChannel {
|
|
|
71
69
|
* Called when the client sends updated metadata (e.g. after
|
|
72
70
|
* sign-in / locale change). Override to react to session-level
|
|
73
71
|
* metadata updates.
|
|
74
|
-
*
|
|
75
72
|
* @param {WebsocketParams} _metadata - Updated metadata.
|
|
76
73
|
* @returns {void | Promise<void>}
|
|
77
74
|
*/
|
|
@@ -81,7 +78,6 @@ export default class VelociousWebsocketChannel {
|
|
|
81
78
|
* each live subscription — returning true delivers the body via
|
|
82
79
|
* `sendMessage`. Default matches all broadcasts regardless of
|
|
83
80
|
* params; override for per-subscriber filtering.
|
|
84
|
-
*
|
|
85
81
|
* @param {...WebsocketJsonValue} _broadcastArgs - Params forwarded from `broadcastToChannel` (ignored by default).
|
|
86
82
|
* @returns {boolean} - True to deliver the broadcast to this subscriber.
|
|
87
83
|
*/
|
|
@@ -89,14 +85,13 @@ export default class VelociousWebsocketChannel {
|
|
|
89
85
|
/**
|
|
90
86
|
* Returns sanitized diagnostics for debug snapshots.
|
|
91
87
|
* Subclasses can override to expose non-sensitive routing details.
|
|
92
|
-
* @returns {Record<string,
|
|
88
|
+
* @returns {Record<string, ?>} Debug-safe subscription details.
|
|
93
89
|
*/
|
|
94
90
|
debugSnapshot(): Record<string, unknown>;
|
|
95
91
|
/**
|
|
96
92
|
* Delivers a matched broadcast to this subscriber. Subclasses can
|
|
97
93
|
* override when the outbound body must be tailored to subscription
|
|
98
94
|
* params before sending.
|
|
99
|
-
*
|
|
100
95
|
* @param {WebsocketJsonValue} body
|
|
101
96
|
* @param {{eventId?: string}} [meta] - Optional event metadata.
|
|
102
97
|
* @returns {void | Promise<void>}
|
|
@@ -108,7 +103,6 @@ export default class VelociousWebsocketChannel {
|
|
|
108
103
|
* Sends a `channel-message` frame to THIS subscriber only.
|
|
109
104
|
* When `meta.eventId` is provided, the client receives it so it
|
|
110
105
|
* can track its checkpoint for `lastEventId` replay on reconnect.
|
|
111
|
-
*
|
|
112
106
|
* @param {WebsocketJsonValue} body
|
|
113
107
|
* @param {{eventId?: string}} [meta] - Optional event metadata.
|
|
114
108
|
* @returns {void}
|
|
@@ -116,9 +110,17 @@ export default class VelociousWebsocketChannel {
|
|
|
116
110
|
sendMessage(body: WebsocketJsonValue, meta?: {
|
|
117
111
|
eventId?: string;
|
|
118
112
|
}): void;
|
|
119
|
-
/**
|
|
113
|
+
/**
|
|
114
|
+
* Runs is closed.
|
|
115
|
+
@returns {boolean} */
|
|
120
116
|
isClosed(): boolean;
|
|
121
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* WebsocketJsonValue type.
|
|
120
|
+
*/
|
|
122
121
|
export type WebsocketJsonValue = null | boolean | number | string | object;
|
|
122
|
+
/**
|
|
123
|
+
* WebsocketParams type.
|
|
124
|
+
*/
|
|
123
125
|
export type WebsocketParams = Record<string, WebsocketJsonValue>;
|
|
124
126
|
//# sourceMappingURL=websocket-channel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-channel.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-channel.js"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"websocket-channel.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-channel.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;;;GAGG;AAEH;;;;;;;GAOG;AACH;IACE;;;;;;OAMG;IACH,iDAJG;QAAqB,cAAc,EAA3B,MAAM;QACgB,MAAM,EAA5B,eAAe;QACuC,OAAO,EAA7D,OAAO,+BAA+B,EAAE,OAAO;KACzD,EAMA;IAJC,uBAAoC;IACpC,wBAA0B;IAC1B,yDAAsB;IACtB,iBAAoB;IAGtB;;;;;OAKG;IACH,gBAFa,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAER;IAE/B;;;;;OAKG;IACH,cAFa,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAElB;IAEf;;;;OAIG;IACH,gBAFa,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhB;IAEjB;;;;;;OAMG;IACH,gBAFa,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhB;IAEjB;;;;OAIG;IACH,YAFa,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpB;IAEb;;;;;;OAMG;IACH,6BAHW,eAAe,GACb,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEF;IAE/B;;;;;;;OAOG;IACH,2BAHc,kBAAkB,EAAA,GACnB,OAAO,CAEsB;IAE1C;;;;OAIG;IACH,iBAFa,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAED;IAE7B;;;;;;;OAOG;IACH,uBAJW,kBAAkB,SAClB;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,GAChB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhC;IAED;;;;;;;OAOG;IACH,kBAJW,kBAAkB,SAClB;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,GAChB,IAAI,CAahB;IAED;;2BAEuB;IACvB,YADY,OAAO,CACe;CACnC;;;;iCApIY,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;;;;8BAIzC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
/**
|
|
3
|
+
* WebsocketJsonValue type.
|
|
3
4
|
* @typedef {null | boolean | number | string | object} WebsocketJsonValue
|
|
4
5
|
*/
|
|
5
6
|
/**
|
|
7
|
+
* WebsocketParams type.
|
|
6
8
|
* @typedef {Record<string, WebsocketJsonValue>} WebsocketParams
|
|
7
9
|
*/
|
|
8
10
|
/**
|
|
@@ -15,6 +17,7 @@
|
|
|
15
17
|
*/
|
|
16
18
|
export default class VelociousWebsocketChannel {
|
|
17
19
|
/**
|
|
20
|
+
* Runs constructor.
|
|
18
21
|
* @param {object} args
|
|
19
22
|
* @param {string} args.subscriptionId - Client-assigned id, unique within the session.
|
|
20
23
|
* @param {WebsocketParams} args.params - Subscribe params.
|
|
@@ -30,7 +33,6 @@ export default class VelociousWebsocketChannel {
|
|
|
30
33
|
* Subscribe-time auth. Default is `false` (deny). Channel authors
|
|
31
34
|
* MUST override to allow subscriptions. Returning a Promise defers
|
|
32
35
|
* the `channel-subscribed` confirmation until it resolves.
|
|
33
|
-
*
|
|
34
36
|
* @returns {boolean | Promise<boolean>}
|
|
35
37
|
*/
|
|
36
38
|
canSubscribe() { return false; }
|
|
@@ -38,14 +40,12 @@ export default class VelociousWebsocketChannel {
|
|
|
38
40
|
* Optional — called once after `canSubscribe` resolves truthy and
|
|
39
41
|
* before `channel-subscribed` is sent to the client. Use for
|
|
40
42
|
* initial snapshot delivery.
|
|
41
|
-
*
|
|
42
43
|
* @returns {void | Promise<void>}
|
|
43
44
|
*/
|
|
44
45
|
subscribed() { }
|
|
45
46
|
/**
|
|
46
47
|
* Optional — called once when the subscription ends. Fires on
|
|
47
48
|
* client-initiated `channel-unsubscribe` or on session teardown.
|
|
48
|
-
*
|
|
49
49
|
* @returns {void | Promise<void>}
|
|
50
50
|
*/
|
|
51
51
|
unsubscribed() { }
|
|
@@ -54,14 +54,12 @@ export default class VelociousWebsocketChannel {
|
|
|
54
54
|
* moved into the paused/grace registry. Either `onResume` fires
|
|
55
55
|
* on successful client reconnect, or `unsubscribed()` fires when
|
|
56
56
|
* the grace window expires.
|
|
57
|
-
*
|
|
58
57
|
* @returns {void | Promise<void>}
|
|
59
58
|
*/
|
|
60
59
|
onDisconnect() { }
|
|
61
60
|
/**
|
|
62
61
|
* Called after a client reconnect + `session-resume` rebinds this
|
|
63
62
|
* subscription to a new socket.
|
|
64
|
-
*
|
|
65
63
|
* @returns {void | Promise<void>}
|
|
66
64
|
*/
|
|
67
65
|
onResume() { }
|
|
@@ -69,7 +67,6 @@ export default class VelociousWebsocketChannel {
|
|
|
69
67
|
* Called when the client sends updated metadata (e.g. after
|
|
70
68
|
* sign-in / locale change). Override to react to session-level
|
|
71
69
|
* metadata updates.
|
|
72
|
-
*
|
|
73
70
|
* @param {WebsocketParams} _metadata - Updated metadata.
|
|
74
71
|
* @returns {void | Promise<void>}
|
|
75
72
|
*/
|
|
@@ -79,7 +76,6 @@ export default class VelociousWebsocketChannel {
|
|
|
79
76
|
* each live subscription — returning true delivers the body via
|
|
80
77
|
* `sendMessage`. Default matches all broadcasts regardless of
|
|
81
78
|
* params; override for per-subscriber filtering.
|
|
82
|
-
*
|
|
83
79
|
* @param {...WebsocketJsonValue} _broadcastArgs - Params forwarded from `broadcastToChannel` (ignored by default).
|
|
84
80
|
* @returns {boolean} - True to deliver the broadcast to this subscriber.
|
|
85
81
|
*/
|
|
@@ -87,14 +83,13 @@ export default class VelociousWebsocketChannel {
|
|
|
87
83
|
/**
|
|
88
84
|
* Returns sanitized diagnostics for debug snapshots.
|
|
89
85
|
* Subclasses can override to expose non-sensitive routing details.
|
|
90
|
-
* @returns {Record<string,
|
|
86
|
+
* @returns {Record<string, ?>} Debug-safe subscription details.
|
|
91
87
|
*/
|
|
92
88
|
debugSnapshot() { return {}; }
|
|
93
89
|
/**
|
|
94
90
|
* Delivers a matched broadcast to this subscriber. Subclasses can
|
|
95
91
|
* override when the outbound body must be tailored to subscription
|
|
96
92
|
* params before sending.
|
|
97
|
-
*
|
|
98
93
|
* @param {WebsocketJsonValue} body
|
|
99
94
|
* @param {{eventId?: string}} [meta] - Optional event metadata.
|
|
100
95
|
* @returns {void | Promise<void>}
|
|
@@ -106,7 +101,6 @@ export default class VelociousWebsocketChannel {
|
|
|
106
101
|
* Sends a `channel-message` frame to THIS subscriber only.
|
|
107
102
|
* When `meta.eventId` is provided, the client receives it so it
|
|
108
103
|
* can track its checkpoint for `lastEventId` replay on reconnect.
|
|
109
|
-
*
|
|
110
104
|
* @param {WebsocketJsonValue} body
|
|
111
105
|
* @param {{eventId?: string}} [meta] - Optional event metadata.
|
|
112
106
|
* @returns {void}
|
|
@@ -122,7 +116,9 @@ export default class VelociousWebsocketChannel {
|
|
|
122
116
|
...(meta?.eventId ? { eventId: meta.eventId } : {})
|
|
123
117
|
});
|
|
124
118
|
}
|
|
125
|
-
/**
|
|
119
|
+
/**
|
|
120
|
+
* Runs is closed.
|
|
121
|
+
@returns {boolean} */
|
|
126
122
|
isClosed() { return this._closed; }
|
|
127
123
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNoYW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvd2Vic29ja2V0LWNoYW5uZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7R0FHRztBQUNIOzs7R0FHRztBQUVIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLHlCQUF5QjtJQUM1Qzs7Ozs7O09BTUc7SUFDSCxZQUFZLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUE7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksS0FBSyxPQUFPLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFFL0I7Ozs7O09BS0c7SUFDSCxVQUFVLEtBQUksQ0FBQztJQUVmOzs7O09BSUc7SUFDSCxZQUFZLEtBQUksQ0FBQztJQUVqQjs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQUksQ0FBQztJQUVqQjs7OztPQUlHO0lBQ0gsUUFBUSxLQUFJLENBQUM7SUFFYjs7Ozs7O09BTUc7SUFDSCxpQkFBaUIsQ0FBQyxTQUFTLElBQUcsQ0FBQztJQUUvQjs7Ozs7OztPQU9HO0lBQ0gsT0FBTyxDQUFDLEdBQUcsY0FBYyxJQUFJLE9BQU8sSUFBSSxDQUFBLENBQUMsQ0FBQztJQUUxQzs7OztPQUlHO0lBQ0gsYUFBYSxLQUFLLE9BQU8sRUFBRSxDQUFBLENBQUMsQ0FBQztJQUU3Qjs7Ozs7OztPQU9HO0lBQ0gsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDOUIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUk7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUE7UUFDckYsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ3BCLElBQUksRUFBRSxpQkFBaUI7WUFDdkIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLElBQUk7WUFDSixHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDbEQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzsyQkFFdUI7SUFDdkIsUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7Q0FDbkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBXZWJzb2NrZXRKc29uVmFsdWUgdHlwZS5cbiAqIEB0eXBlZGVmIHtudWxsIHwgYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyB8IG9iamVjdH0gV2Vic29ja2V0SnNvblZhbHVlXG4gKi9cbi8qKlxuICogV2Vic29ja2V0UGFyYW1zIHR5cGUuXG4gKiBAdHlwZWRlZiB7UmVjb3JkPHN0cmluZywgV2Vic29ja2V0SnNvblZhbHVlPn0gV2Vic29ja2V0UGFyYW1zXG4gKi9cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhcHAtZGVmaW5lZCAxOk4gcHViL3N1YiBjaGFubmVscy5cbiAqXG4gKiBTdWJjbGFzc2VzIG92ZXJyaWRlOlxuICogIC0gYGNhblN1YnNjcmliZSgpYCDigJQgc3Vic2NyaWJlLXRpbWUgYXV0aCAoZGVmYXVsdCBgZmFsc2VgKS5cbiAqICAtIGBzdWJzY3JpYmVkKClgIC8gYHVuc3Vic2NyaWJlZCgpYCDigJQgb3B0aW9uYWwgbGlmZWN5Y2xlIGhvb2tzLlxuICogIC0gYG1hdGNoZXMoYnJvYWRjYXN0UGFyYW1zKWAg4oCUIGJyb2FkY2FzdCByb3V0aW5nIGZpbHRlci5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzV2Vic29ja2V0Q2hhbm5lbCB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zdWJzY3JpcHRpb25JZCAtIENsaWVudC1hc3NpZ25lZCBpZCwgdW5pcXVlIHdpdGhpbiB0aGUgc2Vzc2lvbi5cbiAgICogQHBhcmFtIHtXZWJzb2NrZXRQYXJhbXN9IGFyZ3MucGFyYW1zIC0gU3Vic2NyaWJlIHBhcmFtcy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2NsaWVudC93ZWJzb2NrZXQtc2Vzc2lvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLnNlc3Npb24gLSBPd25pbmcgc2Vzc2lvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtzdWJzY3JpcHRpb25JZCwgcGFyYW1zLCBzZXNzaW9ufSkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBzdWJzY3JpcHRpb25JZFxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zIHx8IHt9XG4gICAgdGhpcy5zZXNzaW9uID0gc2Vzc2lvblxuICAgIHRoaXMuX2Nsb3NlZCA9IGZhbHNlXG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlLXRpbWUgYXV0aC4gRGVmYXVsdCBpcyBgZmFsc2VgIChkZW55KS4gQ2hhbm5lbCBhdXRob3JzXG4gICAqIE1VU1Qgb3ZlcnJpZGUgdG8gYWxsb3cgc3Vic2NyaXB0aW9ucy4gUmV0dXJuaW5nIGEgUHJvbWlzZSBkZWZlcnNcbiAgICogdGhlIGBjaGFubmVsLXN1YnNjcmliZWRgIGNvbmZpcm1hdGlvbiB1bnRpbCBpdCByZXNvbHZlcy5cbiAgICogQHJldHVybnMge2Jvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+fVxuICAgKi9cbiAgY2FuU3Vic2NyaWJlKCkgeyByZXR1cm4gZmFsc2UgfVxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCDigJQgY2FsbGVkIG9uY2UgYWZ0ZXIgYGNhblN1YnNjcmliZWAgcmVzb2x2ZXMgdHJ1dGh5IGFuZFxuICAgKiBiZWZvcmUgYGNoYW5uZWwtc3Vic2NyaWJlZGAgaXMgc2VudCB0byB0aGUgY2xpZW50LiBVc2UgZm9yXG4gICAqIGluaXRpYWwgc25hcHNob3QgZGVsaXZlcnkuXG4gICAqIEByZXR1cm5zIHt2b2lkIHwgUHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIHN1YnNjcmliZWQoKSB7fVxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCDigJQgY2FsbGVkIG9uY2Ugd2hlbiB0aGUgc3Vic2NyaXB0aW9uIGVuZHMuIEZpcmVzIG9uXG4gICAqIGNsaWVudC1pbml0aWF0ZWQgYGNoYW5uZWwtdW5zdWJzY3JpYmVgIG9yIG9uIHNlc3Npb24gdGVhcmRvd24uXG4gICAqIEByZXR1cm5zIHt2b2lkIHwgUHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIHVuc3Vic2NyaWJlZCgpIHt9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBkcm9wcyBhbmQgdGhlIHNlc3Npb24gaXNcbiAgICogbW92ZWQgaW50byB0aGUgcGF1c2VkL2dyYWNlIHJlZ2lzdHJ5LiBFaXRoZXIgYG9uUmVzdW1lYCBmaXJlc1xuICAgKiBvbiBzdWNjZXNzZnVsIGNsaWVudCByZWNvbm5lY3QsIG9yIGB1bnN1YnNjcmliZWQoKWAgZmlyZXMgd2hlblxuICAgKiB0aGUgZ3JhY2Ugd2luZG93IGV4cGlyZXMuXG4gICAqIEByZXR1cm5zIHt2b2lkIHwgUHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIG9uRGlzY29ubmVjdCgpIHt9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBhZnRlciBhIGNsaWVudCByZWNvbm5lY3QgKyBgc2Vzc2lvbi1yZXN1bWVgIHJlYmluZHMgdGhpc1xuICAgKiBzdWJzY3JpcHRpb24gdG8gYSBuZXcgc29ja2V0LlxuICAgKiBAcmV0dXJucyB7dm9pZCB8IFByb21pc2U8dm9pZD59XG4gICAqL1xuICBvblJlc3VtZSgpIHt9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBjbGllbnQgc2VuZHMgdXBkYXRlZCBtZXRhZGF0YSAoZS5nLiBhZnRlclxuICAgKiBzaWduLWluIC8gbG9jYWxlIGNoYW5nZSkuIE92ZXJyaWRlIHRvIHJlYWN0IHRvIHNlc3Npb24tbGV2ZWxcbiAgICogbWV0YWRhdGEgdXBkYXRlcy5cbiAgICogQHBhcmFtIHtXZWJzb2NrZXRQYXJhbXN9IF9tZXRhZGF0YSAtIFVwZGF0ZWQgbWV0YWRhdGEuXG4gICAqIEByZXR1cm5zIHt2b2lkIHwgUHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIG9uTWV0YWRhdGFDaGFuZ2VkKF9tZXRhZGF0YSkge31cblxuICAvKipcbiAgICogQnJvYWRjYXN0IHJvdXRpbmcgZmlsdGVyLiBDYWxsZWQgYnkgYGJyb2FkY2FzdFRvQ2hhbm5lbGAgZm9yXG4gICAqIGVhY2ggbGl2ZSBzdWJzY3JpcHRpb24g4oCUIHJldHVybmluZyB0cnVlIGRlbGl2ZXJzIHRoZSBib2R5IHZpYVxuICAgKiBgc2VuZE1lc3NhZ2VgLiBEZWZhdWx0IG1hdGNoZXMgYWxsIGJyb2FkY2FzdHMgcmVnYXJkbGVzcyBvZlxuICAgKiBwYXJhbXM7IG92ZXJyaWRlIGZvciBwZXItc3Vic2NyaWJlciBmaWx0ZXJpbmcuXG4gICAqIEBwYXJhbSB7Li4uV2Vic29ja2V0SnNvblZhbHVlfSBfYnJvYWRjYXN0QXJncyAtIFBhcmFtcyBmb3J3YXJkZWQgZnJvbSBgYnJvYWRjYXN0VG9DaGFubmVsYCAoaWdub3JlZCBieSBkZWZhdWx0KS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gVHJ1ZSB0byBkZWxpdmVyIHRoZSBicm9hZGNhc3QgdG8gdGhpcyBzdWJzY3JpYmVyLlxuICAgKi9cbiAgbWF0Y2hlcyguLi5fYnJvYWRjYXN0QXJncykgeyByZXR1cm4gdHJ1ZSB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgc2FuaXRpemVkIGRpYWdub3N0aWNzIGZvciBkZWJ1ZyBzbmFwc2hvdHMuXG4gICAqIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIHRvIGV4cG9zZSBub24tc2Vuc2l0aXZlIHJvdXRpbmcgZGV0YWlscy5cbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsID8+fSBEZWJ1Zy1zYWZlIHN1YnNjcmlwdGlvbiBkZXRhaWxzLlxuICAgKi9cbiAgZGVidWdTbmFwc2hvdCgpIHsgcmV0dXJuIHt9IH1cblxuICAvKipcbiAgICogRGVsaXZlcnMgYSBtYXRjaGVkIGJyb2FkY2FzdCB0byB0aGlzIHN1YnNjcmliZXIuIFN1YmNsYXNzZXMgY2FuXG4gICAqIG92ZXJyaWRlIHdoZW4gdGhlIG91dGJvdW5kIGJvZHkgbXVzdCBiZSB0YWlsb3JlZCB0byBzdWJzY3JpcHRpb25cbiAgICogcGFyYW1zIGJlZm9yZSBzZW5kaW5nLlxuICAgKiBAcGFyYW0ge1dlYnNvY2tldEpzb25WYWx1ZX0gYm9keVxuICAgKiBAcGFyYW0ge3tldmVudElkPzogc3RyaW5nfX0gW21ldGFdIC0gT3B0aW9uYWwgZXZlbnQgbWV0YWRhdGEuXG4gICAqIEByZXR1cm5zIHt2b2lkIHwgUHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGRlbGl2ZXJCcm9hZGNhc3QoYm9keSwgbWV0YSkge1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UoYm9keSwgbWV0YSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kcyBhIGBjaGFubmVsLW1lc3NhZ2VgIGZyYW1lIHRvIFRISVMgc3Vic2NyaWJlciBvbmx5LlxuICAgKiBXaGVuIGBtZXRhLmV2ZW50SWRgIGlzIHByb3ZpZGVkLCB0aGUgY2xpZW50IHJlY2VpdmVzIGl0IHNvIGl0XG4gICAqIGNhbiB0cmFjayBpdHMgY2hlY2twb2ludCBmb3IgYGxhc3RFdmVudElkYCByZXBsYXkgb24gcmVjb25uZWN0LlxuICAgKiBAcGFyYW0ge1dlYnNvY2tldEpzb25WYWx1ZX0gYm9keVxuICAgKiBAcGFyYW0ge3tldmVudElkPzogc3RyaW5nfX0gW21ldGFdIC0gT3B0aW9uYWwgZXZlbnQgbWV0YWRhdGEuXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc2VuZE1lc3NhZ2UoYm9keSwgbWV0YSkge1xuICAgIGlmICh0aGlzLl9jbG9zZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHNlbmRNZXNzYWdlIG9uIGNsb3NlZCBzdWJzY3JpcHRpb24gJHt0aGlzLnN1YnNjcmlwdGlvbklkfWApXG4gICAgfVxuXG4gICAgdGhpcy5zZXNzaW9uLnNlbmRKc29uKHtcbiAgICAgIHR5cGU6IFwiY2hhbm5lbC1tZXNzYWdlXCIsXG4gICAgICBzdWJzY3JpcHRpb25JZDogdGhpcy5zdWJzY3JpcHRpb25JZCxcbiAgICAgIGJvZHksXG4gICAgICAuLi4obWV0YT8uZXZlbnRJZCA/IHtldmVudElkOiBtZXRhLmV2ZW50SWR9IDoge30pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGlzIGNsb3NlZC5cbiAgICBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaXNDbG9zZWQoKSB7IHJldHVybiB0aGlzLl9jbG9zZWQgfVxufVxuIl19
|
|
@@ -9,14 +9,15 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export default class VelociousWebsocketConnection {
|
|
11
11
|
/**
|
|
12
|
+
* Runs constructor.
|
|
12
13
|
* @param {object} args
|
|
13
14
|
* @param {string} args.connectionId - Client-assigned id, unique within the session.
|
|
14
|
-
* @param {Record<string,
|
|
15
|
+
* @param {Record<string, ?>} args.params - Opaque params from the `connection-open` message.
|
|
15
16
|
* @param {import("./client/websocket-session.js").default} args.session - Owning session.
|
|
16
17
|
*/
|
|
17
18
|
constructor({ connectionId, params, session }: {
|
|
18
19
|
connectionId: string;
|
|
19
|
-
params: Record<string,
|
|
20
|
+
params: Record<string, unknown>;
|
|
20
21
|
session: import("./client/websocket-session.js").default;
|
|
21
22
|
});
|
|
22
23
|
connectionId: string;
|
|
@@ -27,7 +28,6 @@ export default class VelociousWebsocketConnection {
|
|
|
27
28
|
* Called once after the session registers this connection and before
|
|
28
29
|
* any `onMessage` fires. Returning a Promise defers the first
|
|
29
30
|
* `connection-opened` message to the client until it resolves.
|
|
30
|
-
*
|
|
31
31
|
* @returns {void | Promise<void>}
|
|
32
32
|
*/
|
|
33
33
|
onConnect(): void | Promise<void>;
|
|
@@ -35,25 +35,22 @@ export default class VelociousWebsocketConnection {
|
|
|
35
35
|
* Called for each `connection-message` the client sends to this
|
|
36
36
|
* specific connection. Messages arriving before `onConnect` has
|
|
37
37
|
* resolved are queued and delivered in order once it finishes.
|
|
38
|
-
*
|
|
39
|
-
* @param {any} body
|
|
38
|
+
* @param {?} body
|
|
40
39
|
* @returns {void | Promise<void>}
|
|
41
40
|
*/
|
|
42
|
-
onMessage(body:
|
|
41
|
+
onMessage(body: unknown): void | Promise<void>;
|
|
43
42
|
/**
|
|
44
43
|
* Called when the underlying socket drops and the session is
|
|
45
44
|
* moved into the paused/grace registry. The connection instance
|
|
46
45
|
* itself survives; either `onResume` fires on a successful
|
|
47
46
|
* client reconnect, or `onClose("grace_expired")` fires when the
|
|
48
47
|
* grace window expires.
|
|
49
|
-
*
|
|
50
48
|
* @returns {void | Promise<void>}
|
|
51
49
|
*/
|
|
52
50
|
onDisconnect(): void | Promise<void>;
|
|
53
51
|
/**
|
|
54
52
|
* Called after a client reconnect + `session-resume` rebinds this
|
|
55
53
|
* connection to a new socket.
|
|
56
|
-
*
|
|
57
54
|
* @returns {void | Promise<void>}
|
|
58
55
|
*/
|
|
59
56
|
onResume(): void | Promise<void>;
|
|
@@ -63,7 +60,6 @@ export default class VelociousWebsocketConnection {
|
|
|
63
60
|
* (server-initiated `close()`), `session_destroyed` (socket dropped
|
|
64
61
|
* and nothing to resume; grace path did not apply), `grace_expired`
|
|
65
62
|
* (paused session's grace window ran out without resume), `error`.
|
|
66
|
-
*
|
|
67
63
|
* @param {"client_close" | "server_close" | "session_destroyed" | "grace_expired" | "error"} reason
|
|
68
64
|
* @returns {void | Promise<void>}
|
|
69
65
|
*/
|
|
@@ -71,20 +67,20 @@ export default class VelociousWebsocketConnection {
|
|
|
71
67
|
/**
|
|
72
68
|
* Sends a `connection-message` frame to the client side of this
|
|
73
69
|
* connection. Throws if the connection has already been closed.
|
|
74
|
-
*
|
|
75
|
-
* @param {any} body
|
|
70
|
+
* @param {?} body
|
|
76
71
|
* @returns {void}
|
|
77
72
|
*/
|
|
78
|
-
sendMessage(body:
|
|
73
|
+
sendMessage(body: unknown): void;
|
|
79
74
|
/**
|
|
80
75
|
* Closes this connection from the server side. Fires `onClose`
|
|
81
76
|
* locally and notifies the client with `{type: "connection-closed"}`.
|
|
82
|
-
*
|
|
83
77
|
* @param {"server_close" | "error"} [reason]
|
|
84
78
|
* @returns {Promise<void>}
|
|
85
79
|
*/
|
|
86
80
|
close(reason?: "server_close" | "error"): Promise<void>;
|
|
87
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* Runs is closed.
|
|
83
|
+
@returns {boolean} */
|
|
88
84
|
isClosed(): boolean;
|
|
89
85
|
}
|
|
90
86
|
//# sourceMappingURL=websocket-connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-connection.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-connection.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH;IACE
|
|
1
|
+
{"version":3,"file":"websocket-connection.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-connection.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH;IACE;;;;;;OAMG;IACH,+CAJG;QAAqB,YAAY,EAAzB,MAAM;QACkB,MAAM,EAA9B,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;QACqC,OAAO,EAA7D,OAAO,+BAA+B,EAAE,OAAO;KACzD,EAMA;IAJC,qBAAgC;IAChC,4BAA0B;IAC1B,yDAAsB;IACtB,iBAAoB;IAGtB;;;;;OAKG;IACH,aAFa,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnB;IAEd;;;;;;OAMG;IACH,gBAHW,OAAC,GACC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEJ;IAE7B;;;;;;;OAOG;IACH,gBAFa,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhB;IAEjB;;;;OAIG;IACH,YAFa,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpB;IAEb;;;;;;;;OAQG;IACH,gBAHW,cAAc,GAAG,cAAc,GAAG,mBAAmB,GAAG,eAAe,GAAG,OAAO,GAC/E,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEF;IAE/B;;;;;OAKG;IACH,kBAHW,OAAC,GACC,IAAI,CAYhB;IAED;;;;;OAKG;IACH,eAHW,cAAc,GAAG,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAED;;2BAEuB;IACvB,YADY,OAAO,CAGlB;CACF"}
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
*/
|
|
11
11
|
export default class VelociousWebsocketConnection {
|
|
12
12
|
/**
|
|
13
|
+
* Runs constructor.
|
|
13
14
|
* @param {object} args
|
|
14
15
|
* @param {string} args.connectionId - Client-assigned id, unique within the session.
|
|
15
|
-
* @param {Record<string,
|
|
16
|
+
* @param {Record<string, ?>} args.params - Opaque params from the `connection-open` message.
|
|
16
17
|
* @param {import("./client/websocket-session.js").default} args.session - Owning session.
|
|
17
18
|
*/
|
|
18
19
|
constructor({ connectionId, params, session }) {
|
|
@@ -25,7 +26,6 @@ export default class VelociousWebsocketConnection {
|
|
|
25
26
|
* Called once after the session registers this connection and before
|
|
26
27
|
* any `onMessage` fires. Returning a Promise defers the first
|
|
27
28
|
* `connection-opened` message to the client until it resolves.
|
|
28
|
-
*
|
|
29
29
|
* @returns {void | Promise<void>}
|
|
30
30
|
*/
|
|
31
31
|
onConnect() { }
|
|
@@ -33,8 +33,7 @@ export default class VelociousWebsocketConnection {
|
|
|
33
33
|
* Called for each `connection-message` the client sends to this
|
|
34
34
|
* specific connection. Messages arriving before `onConnect` has
|
|
35
35
|
* resolved are queued and delivered in order once it finishes.
|
|
36
|
-
*
|
|
37
|
-
* @param {any} body
|
|
36
|
+
* @param {?} body
|
|
38
37
|
* @returns {void | Promise<void>}
|
|
39
38
|
*/
|
|
40
39
|
onMessage(body) { void body; }
|
|
@@ -44,14 +43,12 @@ export default class VelociousWebsocketConnection {
|
|
|
44
43
|
* itself survives; either `onResume` fires on a successful
|
|
45
44
|
* client reconnect, or `onClose("grace_expired")` fires when the
|
|
46
45
|
* grace window expires.
|
|
47
|
-
*
|
|
48
46
|
* @returns {void | Promise<void>}
|
|
49
47
|
*/
|
|
50
48
|
onDisconnect() { }
|
|
51
49
|
/**
|
|
52
50
|
* Called after a client reconnect + `session-resume` rebinds this
|
|
53
51
|
* connection to a new socket.
|
|
54
|
-
*
|
|
55
52
|
* @returns {void | Promise<void>}
|
|
56
53
|
*/
|
|
57
54
|
onResume() { }
|
|
@@ -61,7 +58,6 @@ export default class VelociousWebsocketConnection {
|
|
|
61
58
|
* (server-initiated `close()`), `session_destroyed` (socket dropped
|
|
62
59
|
* and nothing to resume; grace path did not apply), `grace_expired`
|
|
63
60
|
* (paused session's grace window ran out without resume), `error`.
|
|
64
|
-
*
|
|
65
61
|
* @param {"client_close" | "server_close" | "session_destroyed" | "grace_expired" | "error"} reason
|
|
66
62
|
* @returns {void | Promise<void>}
|
|
67
63
|
*/
|
|
@@ -69,8 +65,7 @@ export default class VelociousWebsocketConnection {
|
|
|
69
65
|
/**
|
|
70
66
|
* Sends a `connection-message` frame to the client side of this
|
|
71
67
|
* connection. Throws if the connection has already been closed.
|
|
72
|
-
*
|
|
73
|
-
* @param {any} body
|
|
68
|
+
* @param {?} body
|
|
74
69
|
* @returns {void}
|
|
75
70
|
*/
|
|
76
71
|
sendMessage(body) {
|
|
@@ -86,7 +81,6 @@ export default class VelociousWebsocketConnection {
|
|
|
86
81
|
/**
|
|
87
82
|
* Closes this connection from the server side. Fires `onClose`
|
|
88
83
|
* locally and notifies the client with `{type: "connection-closed"}`.
|
|
89
|
-
*
|
|
90
84
|
* @param {"server_close" | "error"} [reason]
|
|
91
85
|
* @returns {Promise<void>}
|
|
92
86
|
*/
|
|
@@ -106,9 +100,11 @@ export default class VelociousWebsocketConnection {
|
|
|
106
100
|
this.session._removeConnection(this.connectionId);
|
|
107
101
|
}
|
|
108
102
|
}
|
|
109
|
-
/**
|
|
103
|
+
/**
|
|
104
|
+
* Runs is closed.
|
|
105
|
+
@returns {boolean} */
|
|
110
106
|
isClosed() {
|
|
111
107
|
return this._closed;
|
|
112
108
|
}
|
|
113
109
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNvbm5lY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvd2Vic29ja2V0LWNvbm5lY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sT0FBTyw0QkFBNEI7SUFDL0M7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQTtRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtJQUN0QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLEtBQUksQ0FBQztJQUVkOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUEsQ0FBQyxDQUFDO0lBRTdCOzs7Ozs7O09BT0c7SUFDSCxZQUFZLEtBQUksQ0FBQztJQUVqQjs7OztPQUlHO0lBQ0gsUUFBUSxLQUFJLENBQUM7SUFFYjs7Ozs7Ozs7T0FRRztJQUNILE9BQU8sQ0FBQyxNQUFNLElBQUksS0FBSyxNQUFNLENBQUEsQ0FBQyxDQUFDO0lBRS9COzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLElBQUk7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTtRQUNqRixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDcEIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSTtTQUNMLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGNBQWM7UUFDakMsSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU07UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFFbkIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzVCLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO2dCQUNwQixJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLE1BQU07YUFDUCxDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzsyQkFFdUI7SUFDdkIsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhcHAtZGVmaW5lZCAxOjEgV2ViU29ja2V0IGNvbm5lY3Rpb25zLiBTdWJjbGFzc2VzXG4gKiBvdmVycmlkZSBgb25Db25uZWN0YCwgYG9uTWVzc2FnZWAsIGFuZCBgb25DbG9zZWAgdG8gaGFuZGxlIHRoZVxuICogc2Vzc2lvbiBsaWZlY3ljbGUuIFVzZSBgdGhpcy5zZW5kTWVzc2FnZShib2R5KWAgdG8gcHVzaCBtZXNzYWdlcyB0b1xuICogdGhlIGNsaWVudCBzaWRlIG9mIHRoaXMgY29ubmVjdGlvbi5cbiAqXG4gKiBTZWUgYGRvY3Mvd2Vic29ja2V0LWNvbm5lY3Rpb25zLm1kYCBmb3IgdGhlIHdpcmUgcHJvdG9jb2wgYW5kIGZ1bGxcbiAqIGxpZmVjeWNsZSBzZW1hbnRpY3MuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c1dlYnNvY2tldENvbm5lY3Rpb24ge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MuY29ubmVjdGlvbklkIC0gQ2xpZW50LWFzc2lnbmVkIGlkLCB1bmlxdWUgd2l0aGluIHRoZSBzZXNzaW9uLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsID8+fSBhcmdzLnBhcmFtcyAtIE9wYXF1ZSBwYXJhbXMgZnJvbSB0aGUgYGNvbm5lY3Rpb24tb3BlbmAgbWVzc2FnZS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2NsaWVudC93ZWJzb2NrZXQtc2Vzc2lvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLnNlc3Npb24gLSBPd25pbmcgc2Vzc2lvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25uZWN0aW9uSWQsIHBhcmFtcywgc2Vzc2lvbn0pIHtcbiAgICB0aGlzLmNvbm5lY3Rpb25JZCA9IGNvbm5lY3Rpb25JZFxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zIHx8IHt9XG4gICAgdGhpcy5zZXNzaW9uID0gc2Vzc2lvblxuICAgIHRoaXMuX2Nsb3NlZCA9IGZhbHNlXG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIG9uY2UgYWZ0ZXIgdGhlIHNlc3Npb24gcmVnaXN0ZXJzIHRoaXMgY29ubmVjdGlvbiBhbmQgYmVmb3JlXG4gICAqIGFueSBgb25NZXNzYWdlYCBmaXJlcy4gUmV0dXJuaW5nIGEgUHJvbWlzZSBkZWZlcnMgdGhlIGZpcnN0XG4gICAqIGBjb25uZWN0aW9uLW9wZW5lZGAgbWVzc2FnZSB0byB0aGUgY2xpZW50IHVudGlsIGl0IHJlc29sdmVzLlxuICAgKiBAcmV0dXJucyB7dm9pZCB8IFByb21pc2U8dm9pZD59XG4gICAqL1xuICBvbkNvbm5lY3QoKSB7fVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgZm9yIGVhY2ggYGNvbm5lY3Rpb24tbWVzc2FnZWAgdGhlIGNsaWVudCBzZW5kcyB0byB0aGlzXG4gICAqIHNwZWNpZmljIGNvbm5lY3Rpb24uIE1lc3NhZ2VzIGFycml2aW5nIGJlZm9yZSBgb25Db25uZWN0YCBoYXNcbiAgICogcmVzb2x2ZWQgYXJlIHF1ZXVlZCBhbmQgZGVsaXZlcmVkIGluIG9yZGVyIG9uY2UgaXQgZmluaXNoZXMuXG4gICAqIEBwYXJhbSB7P30gYm9keVxuICAgKiBAcmV0dXJucyB7dm9pZCB8IFByb21pc2U8dm9pZD59XG4gICAqL1xuICBvbk1lc3NhZ2UoYm9keSkgeyB2b2lkIGJvZHkgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgdW5kZXJseWluZyBzb2NrZXQgZHJvcHMgYW5kIHRoZSBzZXNzaW9uIGlzXG4gICAqIG1vdmVkIGludG8gdGhlIHBhdXNlZC9ncmFjZSByZWdpc3RyeS4gVGhlIGNvbm5lY3Rpb24gaW5zdGFuY2VcbiAgICogaXRzZWxmIHN1cnZpdmVzOyBlaXRoZXIgYG9uUmVzdW1lYCBmaXJlcyBvbiBhIHN1Y2Nlc3NmdWxcbiAgICogY2xpZW50IHJlY29ubmVjdCwgb3IgYG9uQ2xvc2UoXCJncmFjZV9leHBpcmVkXCIpYCBmaXJlcyB3aGVuIHRoZVxuICAgKiBncmFjZSB3aW5kb3cgZXhwaXJlcy5cbiAgICogQHJldHVybnMge3ZvaWQgfCBQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgb25EaXNjb25uZWN0KCkge31cblxuICAvKipcbiAgICogQ2FsbGVkIGFmdGVyIGEgY2xpZW50IHJlY29ubmVjdCArIGBzZXNzaW9uLXJlc3VtZWAgcmViaW5kcyB0aGlzXG4gICAqIGNvbm5lY3Rpb24gdG8gYSBuZXcgc29ja2V0LlxuICAgKiBAcmV0dXJucyB7dm9pZCB8IFByb21pc2U8dm9pZD59XG4gICAqL1xuICBvblJlc3VtZSgpIHt9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBleGFjdGx5IG9uY2Ugd2hlbiB0aGUgY29ubmVjdGlvbiBpcyBwZXJtYW5lbnRseSB0b3JuXG4gICAqIGRvd24uIFJlYXNvbnM6IGBjbGllbnRfY2xvc2VgIChjbGllbnQgdW5zdWJzY3JpYmVkKSwgYHNlcnZlcl9jbG9zZWBcbiAgICogKHNlcnZlci1pbml0aWF0ZWQgYGNsb3NlKClgKSwgYHNlc3Npb25fZGVzdHJveWVkYCAoc29ja2V0IGRyb3BwZWRcbiAgICogYW5kIG5vdGhpbmcgdG8gcmVzdW1lOyBncmFjZSBwYXRoIGRpZCBub3QgYXBwbHkpLCBgZ3JhY2VfZXhwaXJlZGBcbiAgICogKHBhdXNlZCBzZXNzaW9uJ3MgZ3JhY2Ugd2luZG93IHJhbiBvdXQgd2l0aG91dCByZXN1bWUpLCBgZXJyb3JgLlxuICAgKiBAcGFyYW0ge1wiY2xpZW50X2Nsb3NlXCIgfCBcInNlcnZlcl9jbG9zZVwiIHwgXCJzZXNzaW9uX2Rlc3Ryb3llZFwiIHwgXCJncmFjZV9leHBpcmVkXCIgfCBcImVycm9yXCJ9IHJlYXNvblxuICAgKiBAcmV0dXJucyB7dm9pZCB8IFByb21pc2U8dm9pZD59XG4gICAqL1xuICBvbkNsb3NlKHJlYXNvbikgeyB2b2lkIHJlYXNvbiB9XG5cbiAgLyoqXG4gICAqIFNlbmRzIGEgYGNvbm5lY3Rpb24tbWVzc2FnZWAgZnJhbWUgdG8gdGhlIGNsaWVudCBzaWRlIG9mIHRoaXNcbiAgICogY29ubmVjdGlvbi4gVGhyb3dzIGlmIHRoZSBjb25uZWN0aW9uIGhhcyBhbHJlYWR5IGJlZW4gY2xvc2VkLlxuICAgKiBAcGFyYW0gez99IGJvZHlcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZW5kTWVzc2FnZShib2R5KSB7XG4gICAgaWYgKHRoaXMuX2Nsb3NlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgc2VuZE1lc3NhZ2Ugb24gY2xvc2VkIGNvbm5lY3Rpb24gJHt0aGlzLmNvbm5lY3Rpb25JZH1gKVxuICAgIH1cblxuICAgIHRoaXMuc2Vzc2lvbi5zZW5kSnNvbih7XG4gICAgICB0eXBlOiBcImNvbm5lY3Rpb24tbWVzc2FnZVwiLFxuICAgICAgY29ubmVjdGlvbklkOiB0aGlzLmNvbm5lY3Rpb25JZCxcbiAgICAgIGJvZHlcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGlzIGNvbm5lY3Rpb24gZnJvbSB0aGUgc2VydmVyIHNpZGUuIEZpcmVzIGBvbkNsb3NlYFxuICAgKiBsb2NhbGx5IGFuZCBub3RpZmllcyB0aGUgY2xpZW50IHdpdGggYHt0eXBlOiBcImNvbm5lY3Rpb24tY2xvc2VkXCJ9YC5cbiAgICogQHBhcmFtIHtcInNlcnZlcl9jbG9zZVwiIHwgXCJlcnJvclwifSBbcmVhc29uXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIGNsb3NlKHJlYXNvbiA9IFwic2VydmVyX2Nsb3NlXCIpIHtcbiAgICBpZiAodGhpcy5fY2xvc2VkKSByZXR1cm5cbiAgICB0aGlzLl9jbG9zZWQgPSB0cnVlXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5vbkNsb3NlKHJlYXNvbilcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zZXNzaW9uLnNlbmRKc29uKHtcbiAgICAgICAgdHlwZTogXCJjb25uZWN0aW9uLWNsb3NlZFwiLFxuICAgICAgICBjb25uZWN0aW9uSWQ6IHRoaXMuY29ubmVjdGlvbklkLFxuICAgICAgICByZWFzb25cbiAgICAgIH0pXG4gICAgICB0aGlzLnNlc3Npb24uX3JlbW92ZUNvbm5lY3Rpb24odGhpcy5jb25uZWN0aW9uSWQpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgaXMgY2xvc2VkLlxuICAgIEByZXR1cm5zIHtib29sZWFufSAqL1xuICBpc0Nsb3NlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VkXG4gIH1cbn1cbiJdfQ==
|