velocious 1.0.263 → 1.0.265
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 +14 -0
- package/build/bin/velocious.js +7 -2
- package/build/src/application.d.ts +6 -6
- package/build/src/application.d.ts.map +1 -1
- package/build/src/authorization/ability.d.ts +4 -4
- package/build/src/authorization/ability.d.ts.map +1 -1
- package/build/src/authorization/base-resource.d.ts +4 -4
- package/build/src/authorization/base-resource.d.ts.map +1 -1
- package/build/src/background-jobs/client.d.ts +2 -2
- package/build/src/background-jobs/client.d.ts.map +1 -1
- package/build/src/background-jobs/job-runner.d.ts +2 -2
- package/build/src/background-jobs/job-runner.d.ts.map +1 -1
- package/build/src/background-jobs/job-runner.js +5 -3
- package/build/src/background-jobs/job.d.ts +1 -1
- package/build/src/background-jobs/job.d.ts.map +1 -1
- package/build/src/background-jobs/json-socket.d.ts +1 -1
- package/build/src/background-jobs/json-socket.d.ts.map +1 -1
- package/build/src/background-jobs/main.d.ts +34 -12
- package/build/src/background-jobs/main.d.ts.map +1 -1
- package/build/src/background-jobs/main.js +36 -6
- package/build/src/background-jobs/scheduler.d.ts +21 -0
- package/build/src/background-jobs/scheduler.d.ts.map +1 -1
- package/build/src/background-jobs/scheduler.js +3 -2
- package/build/src/background-jobs/status-reporter.d.ts +14 -10
- package/build/src/background-jobs/status-reporter.d.ts.map +1 -1
- package/build/src/background-jobs/status-reporter.js +11 -6
- package/build/src/background-jobs/store.d.ts +73 -117
- package/build/src/background-jobs/store.d.ts.map +1 -1
- package/build/src/background-jobs/store.js +62 -24
- package/build/src/background-jobs/types.d.ts +175 -2
- package/build/src/background-jobs/types.d.ts.map +1 -1
- package/build/src/background-jobs/types.js +44 -1
- package/build/src/background-jobs/worker.d.ts +21 -17
- package/build/src/background-jobs/worker.d.ts.map +1 -1
- package/build/src/background-jobs/worker.js +30 -9
- package/build/src/cli/base-command.d.ts +5 -5
- package/build/src/cli/base-command.d.ts.map +1 -1
- package/build/src/cli/commands/db/create.d.ts.map +1 -1
- package/build/src/cli/commands/db/create.js +11 -3
- package/build/src/cli/commands/db/schema/load.d.ts +7 -0
- package/build/src/cli/commands/db/schema/load.d.ts.map +1 -0
- package/build/src/cli/commands/db/schema/load.js +9 -0
- package/build/src/cli/index.d.ts +25 -13
- package/build/src/cli/index.d.ts.map +1 -1
- package/build/src/cli/index.js +62 -4
- package/build/src/cli/use-browser-cli.d.ts +2 -2
- package/build/src/cli/use-browser-cli.d.ts.map +1 -1
- package/build/src/cli/use-browser-cli.js +4 -4
- package/build/src/configuration-types.d.ts +160 -136
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration.d.ts +32 -31
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +6 -5
- package/build/src/controller.d.ts +14 -14
- package/build/src/controller.d.ts.map +1 -1
- package/build/src/controller.js +19 -8
- package/build/src/database/drivers/base-columns-index.d.ts +1 -1
- package/build/src/database/drivers/base-columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/base.d.ts +15 -14
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +6 -3
- package/build/src/database/drivers/mssql/column.d.ts +1 -0
- package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/connect-connection.d.ts +1 -1
- package/build/src/database/drivers/mssql/connect-connection.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.d.ts +4 -3
- package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.js +8 -12
- 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/mysql/column.d.ts +1 -0
- package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.d.ts +3 -2
- package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.js +3 -1
- package/build/src/database/drivers/mysql/query.d.ts +1 -1
- package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query.js +7 -5
- 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/pgsql/column.d.ts +1 -0
- package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.d.ts +3 -2
- package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.js +3 -1
- 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/sqlite/base.d.ts +9 -6
- package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/base.js +22 -6
- package/build/src/database/drivers/sqlite/column.d.ts +1 -0
- package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +2 -2
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.native.d.ts +1 -2
- package/build/src/database/drivers/sqlite/index.native.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.native.js +8 -3
- package/build/src/database/drivers/sqlite/index.web.d.ts +3 -2
- package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.web.js +5 -1
- package/build/src/database/drivers/sqlite/query.web.d.ts +1 -1
- package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table.d.ts +2 -1
- package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table.js +3 -2
- package/build/src/database/migration/index.d.ts +10 -10
- package/build/src/database/migration/index.d.ts.map +1 -1
- package/build/src/database/migrator/types.d.ts +1 -1
- package/build/src/database/migrator/types.d.ts.map +1 -1
- package/build/src/database/migrator.d.ts +1 -1
- package/build/src/database/migrator.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.d.ts +1 -0
- package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.js +12 -8
- package/build/src/database/pool/base-methods-forward.d.ts.map +1 -1
- package/build/src/database/pool/base-methods-forward.js +6 -4
- package/build/src/database/pool/base.d.ts +2 -1
- package/build/src/database/pool/base.d.ts.map +1 -1
- package/build/src/database/pool/base.js +6 -4
- package/build/src/database/pool/single-multi-use.d.ts +1 -1
- package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
- package/build/src/database/query/alter-table-base.d.ts.map +1 -1
- package/build/src/database/query/alter-table-base.js +8 -4
- package/build/src/database/query/base.d.ts +1 -1
- package/build/src/database/query/base.d.ts.map +1 -1
- package/build/src/database/query/create-database-base.d.ts +2 -2
- package/build/src/database/query/create-database-base.d.ts.map +1 -1
- package/build/src/database/query/create-index-base.d.ts +6 -6
- package/build/src/database/query/create-index-base.d.ts.map +1 -1
- package/build/src/database/query/create-table-base.d.ts +3 -3
- package/build/src/database/query/create-table-base.d.ts.map +1 -1
- package/build/src/database/query/create-table-base.js +8 -4
- package/build/src/database/query/drop-table-base.d.ts +4 -4
- package/build/src/database/query/drop-table-base.d.ts.map +1 -1
- package/build/src/database/query/index.d.ts +16 -16
- package/build/src/database/query/index.d.ts.map +1 -1
- package/build/src/database/query/index.js +4 -4
- package/build/src/database/query/insert-base.d.ts +10 -10
- package/build/src/database/query/insert-base.d.ts.map +1 -1
- package/build/src/database/query/join-base.d.ts +1 -1
- package/build/src/database/query/join-base.d.ts.map +1 -1
- package/build/src/database/query/join-object.d.ts +1 -1
- package/build/src/database/query/join-object.d.ts.map +1 -1
- package/build/src/database/query/join-object.js +4 -1
- package/build/src/database/query/model-class-query.d.ts +11 -11
- package/build/src/database/query/model-class-query.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.js +29 -18
- package/build/src/database/query/select-base.d.ts +1 -1
- package/build/src/database/query/select-base.d.ts.map +1 -1
- package/build/src/database/query/where-base.d.ts +1 -1
- package/build/src/database/query/where-base.d.ts.map +1 -1
- package/build/src/database/query/where-hash.d.ts +1 -0
- package/build/src/database/query/where-hash.d.ts.map +1 -1
- package/build/src/database/query/where-model-class-hash.d.ts +2 -1
- package/build/src/database/query/where-model-class-hash.d.ts.map +1 -1
- package/build/src/database/query/where-model-class-hash.js +15 -7
- 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-plain.d.ts +1 -0
- package/build/src/database/query/where-plain.d.ts.map +1 -1
- package/build/src/database/query-parser/base-query-parser.d.ts +1 -1
- package/build/src/database/query-parser/base-query-parser.d.ts.map +1 -1
- package/build/src/database/record/attachments/download.d.ts +3 -3
- package/build/src/database/record/attachments/download.d.ts.map +1 -1
- package/build/src/database/record/attachments/handle.d.ts +2 -1
- package/build/src/database/record/attachments/handle.d.ts.map +1 -1
- package/build/src/database/record/attachments/handle.js +3 -2
- package/build/src/database/record/attachments/normalize-input.d.ts +4 -4
- package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts +1 -1
- package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/native.d.ts +3 -3
- package/build/src/database/record/attachments/storage-drivers/native.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/s3.d.ts +2 -2
- package/build/src/database/record/attachments/storage-drivers/s3.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/s3.js +11 -3
- package/build/src/database/record/attachments/store.d.ts +3 -3
- package/build/src/database/record/attachments/store.d.ts.map +1 -1
- package/build/src/database/record/attachments/store.js +3 -2
- package/build/src/database/record/index.d.ts +19 -19
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +53 -35
- package/build/src/database/record/instance-relationships/base.d.ts +10 -8
- package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/base.js +9 -5
- package/build/src/database/record/instance-relationships/belongs-to.d.ts +4 -4
- package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/belongs-to.js +9 -2
- package/build/src/database/record/instance-relationships/has-many.d.ts +4 -9
- package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-many.js +12 -8
- package/build/src/database/record/instance-relationships/has-one.d.ts +7 -14
- package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-one.js +11 -5
- package/build/src/database/record/relationships/base.d.ts +18 -18
- package/build/src/database/record/relationships/base.d.ts.map +1 -1
- package/build/src/database/record/relationships/base.js +3 -3
- package/build/src/database/record/relationships/belongs-to.d.ts +1 -1
- package/build/src/database/record/relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/relationships/has-many.d.ts +1 -1
- package/build/src/database/record/relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/relationships/has-one.d.ts +1 -1
- package/build/src/database/record/relationships/has-one.d.ts.map +1 -1
- package/build/src/database/table-data/index.d.ts +1 -1
- package/build/src/database/table-data/index.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.d.ts +12 -12
- package/build/src/database/table-data/table-column.d.ts.map +1 -1
- package/build/src/database/table-data/table-foreign-key.d.ts +4 -4
- package/build/src/database/table-data/table-foreign-key.d.ts.map +1 -1
- package/build/src/database/table-data/table-foreign-key.js +2 -2
- package/build/src/database/table-data/table-index.d.ts +3 -3
- package/build/src/database/table-data/table-index.d.ts.map +1 -1
- package/build/src/database/table-data/table-reference.d.ts +1 -1
- package/build/src/database/table-data/table-reference.d.ts.map +1 -1
- package/build/src/environment-handlers/base.d.ts +10 -5
- package/build/src/environment-handlers/base.d.ts.map +1 -1
- package/build/src/environment-handlers/base.js +10 -2
- package/build/src/environment-handlers/browser.d.ts +5 -26
- package/build/src/environment-handlers/browser.d.ts.map +1 -1
- package/build/src/environment-handlers/browser.js +14 -4
- package/build/src/environment-handlers/node/cli/commands/console.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +24 -0
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -0
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +57 -0
- 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 +4 -2
- 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 +4 -2
- 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 +9 -4
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +1 -1
- 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 +9 -4
- 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 +4 -2
- 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 +4 -2
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/routes.js +3 -1
- 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 +5 -3
- package/build/src/environment-handlers/node/cli/commands/runner.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/runner.js +5 -3
- package/build/src/environment-handlers/node/cli/commands/server.d.ts +3 -3
- package/build/src/environment-handlers/node/cli/commands/server.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/server.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/test.js +2 -2
- package/build/src/environment-handlers/node.d.ts +9 -1
- package/build/src/environment-handlers/node.d.ts.map +1 -1
- package/build/src/environment-handlers/node.js +10 -2
- package/build/src/error-logger.d.ts.map +1 -1
- package/build/src/error-logger.js +1 -5
- package/build/src/frontend-model-controller.d.ts +17 -17
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +31 -12
- package/build/src/frontend-model-resource/base-resource.d.ts +14 -12
- package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
- package/build/src/frontend-model-resource/base-resource.js +16 -4
- package/build/src/frontend-models/base.d.ts +27 -20
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +31 -12
- package/build/src/frontend-models/query.d.ts +29 -8
- package/build/src/frontend-models/query.d.ts.map +1 -1
- package/build/src/frontend-models/query.js +18 -4
- package/build/src/http-client/index.d.ts +11 -11
- package/build/src/http-client/index.d.ts.map +1 -1
- package/build/src/http-client/request.d.ts +2 -2
- package/build/src/http-client/request.d.ts.map +1 -1
- package/build/src/http-client/response.d.ts +1 -1
- package/build/src/http-client/response.d.ts.map +1 -1
- package/build/src/http-client/websocket-client.d.ts +26 -12
- package/build/src/http-client/websocket-client.d.ts.map +1 -1
- package/build/src/http-client/websocket-client.js +26 -12
- package/build/src/http-server/client/index.d.ts +4 -4
- package/build/src/http-server/client/index.d.ts.map +1 -1
- package/build/src/http-server/client/index.js +17 -11
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +14 -11
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts +15 -7
- 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 +9 -1
- package/build/src/http-server/client/request-buffer/index.d.ts +15 -14
- package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/index.js +19 -7
- package/build/src/http-server/client/request-parser.d.ts +1 -1
- package/build/src/http-server/client/request-parser.d.ts.map +1 -1
- package/build/src/http-server/client/request-parser.js +2 -2
- package/build/src/http-server/client/request-runner.d.ts.map +1 -1
- package/build/src/http-server/client/request-runner.js +4 -2
- package/build/src/http-server/client/request.d.ts +3 -3
- package/build/src/http-server/client/request.d.ts.map +1 -1
- package/build/src/http-server/client/response.d.ts +4 -4
- package/build/src/http-server/client/response.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +2 -2
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.d.ts +22 -16
- package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.js +13 -5
- package/build/src/http-server/client/websocket-session.d.ts +52 -17
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-session.js +59 -10
- package/build/src/http-server/cookie.d.ts +17 -17
- package/build/src/http-server/cookie.d.ts.map +1 -1
- package/build/src/http-server/index.d.ts +4 -4
- package/build/src/http-server/index.d.ts.map +1 -1
- package/build/src/http-server/index.js +4 -4
- package/build/src/http-server/server-client.d.ts +3 -3
- package/build/src/http-server/server-client.d.ts.map +1 -1
- package/build/src/http-server/server-client.js +4 -4
- package/build/src/http-server/websocket-channel.d.ts +3 -3
- package/build/src/http-server/websocket-channel.d.ts.map +1 -1
- package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
- package/build/src/http-server/websocket-events-host.js +6 -3
- package/build/src/http-server/websocket-events.d.ts +2 -2
- package/build/src/http-server/websocket-events.d.ts.map +1 -1
- package/build/src/http-server/websocket-events.js +3 -1
- package/build/src/http-server/worker-handler/index.d.ts +7 -7
- package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/index.js +16 -7
- package/build/src/http-server/worker-handler/worker-thread.d.ts +9 -9
- package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/worker-thread.js +23 -13
- package/build/src/logger/console-logger.d.ts +2 -2
- package/build/src/logger/console-logger.d.ts.map +1 -1
- package/build/src/logger/file-logger.d.ts +2 -2
- package/build/src/logger/file-logger.d.ts.map +1 -1
- package/build/src/logger/outputs/array-output.d.ts +1 -1
- package/build/src/logger/outputs/array-output.d.ts.map +1 -1
- package/build/src/logger/outputs/file-output.d.ts +8 -5
- package/build/src/logger/outputs/file-output.d.ts.map +1 -1
- package/build/src/logger/outputs/file-output.js +4 -1
- package/build/src/logger.d.ts +7 -7
- package/build/src/logger.d.ts.map +1 -1
- package/build/src/mailer/backends/smtp.d.ts +3 -3
- package/build/src/mailer/backends/smtp.d.ts.map +1 -1
- package/build/src/mailer/backends/smtp.js +3 -3
- package/build/src/mailer/base.d.ts +7 -7
- package/build/src/mailer/base.d.ts.map +1 -1
- package/build/src/mailer/base.js +3 -3
- package/build/src/plugins/sqljs-wasm-route.d.ts +2 -2
- package/build/src/plugins/sqljs-wasm-route.d.ts.map +1 -1
- package/build/src/routes/base-route.d.ts +2 -2
- package/build/src/routes/base-route.d.ts.map +1 -1
- package/build/src/routes/base-route.js +2 -2
- package/build/src/routes/get-route.d.ts +5 -0
- package/build/src/routes/get-route.d.ts.map +1 -1
- package/build/src/routes/namespace-route.d.ts +1 -1
- package/build/src/routes/plugin-routes.d.ts +2 -2
- package/build/src/routes/plugin-routes.d.ts.map +1 -1
- package/build/src/routes/post-route.d.ts +5 -0
- package/build/src/routes/post-route.d.ts.map +1 -1
- package/build/src/routes/resolver.d.ts +4 -2
- package/build/src/routes/resolver.d.ts.map +1 -1
- package/build/src/routes/resolver.js +7 -3
- package/build/src/routes/resource-route.d.ts +5 -0
- package/build/src/routes/resource-route.d.ts.map +1 -1
- package/build/src/routes/root-route.d.ts +5 -0
- package/build/src/routes/root-route.d.ts.map +1 -1
- package/build/src/testing/expect-to-change.d.ts +3 -3
- package/build/src/testing/expect-to-change.d.ts.map +1 -1
- package/build/src/testing/expect-utils.d.ts.map +1 -1
- package/build/src/testing/expect-utils.js +7 -5
- package/build/src/testing/expect.d.ts +1 -1
- package/build/src/testing/expect.d.ts.map +1 -1
- package/build/src/testing/request-client.d.ts +1 -1
- package/build/src/testing/request-client.d.ts.map +1 -1
- package/build/src/testing/test-files-finder.d.ts +1 -1
- package/build/src/testing/test-files-finder.d.ts.map +1 -1
- package/build/src/testing/test-runner.d.ts +57 -37
- package/build/src/testing/test-runner.d.ts.map +1 -1
- package/build/src/testing/test-runner.js +14 -3
- package/build/src/testing/test-suite-splitter.d.ts +1 -1
- package/build/src/testing/test-suite-splitter.d.ts.map +1 -1
- package/build/src/testing/test.d.ts +14 -6
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +14 -5
- package/build/src/utils/backtrace-cleaner.d.ts +2 -2
- package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
- package/build/src/utils/split-sql-statements.d.ts +7 -0
- package/build/src/utils/split-sql-statements.d.ts.map +1 -0
- package/build/src/utils/split-sql-statements.js +77 -0
- package/build/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack-async-hooks.js +5 -3
- package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack.js +5 -3
- package/build/src/velocious-error.d.ts +4 -4
- package/build/src/velocious-error.d.ts.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -2
|
@@ -73,33 +73,33 @@ export default class Cookie {
|
|
|
73
73
|
/**
|
|
74
74
|
* - Domain.
|
|
75
75
|
*/
|
|
76
|
-
domain?: string;
|
|
76
|
+
domain?: string | undefined;
|
|
77
77
|
/**
|
|
78
78
|
* - Expires date.
|
|
79
79
|
*/
|
|
80
|
-
expires?: Date;
|
|
80
|
+
expires?: Date | undefined;
|
|
81
81
|
/**
|
|
82
82
|
* - HttpOnly flag.
|
|
83
83
|
*/
|
|
84
|
-
httpOnly?: boolean;
|
|
84
|
+
httpOnly?: boolean | undefined;
|
|
85
85
|
/**
|
|
86
86
|
* - Max-Age in seconds.
|
|
87
87
|
*/
|
|
88
|
-
maxAge?: number;
|
|
88
|
+
maxAge?: number | undefined;
|
|
89
89
|
/**
|
|
90
90
|
* - Path.
|
|
91
91
|
*/
|
|
92
|
-
path?: string;
|
|
92
|
+
path?: string | undefined;
|
|
93
93
|
/**
|
|
94
94
|
* - Secure flag.
|
|
95
95
|
*/
|
|
96
|
-
secure?: boolean;
|
|
96
|
+
secure?: boolean | undefined;
|
|
97
97
|
/**
|
|
98
98
|
* - SameSite value.
|
|
99
99
|
*/
|
|
100
|
-
sameSite?: "Lax" | "Strict" | "None";
|
|
101
|
-
};
|
|
102
|
-
encrypted?: boolean;
|
|
100
|
+
sameSite?: "Lax" | "Strict" | "None" | undefined;
|
|
101
|
+
} | undefined;
|
|
102
|
+
encrypted?: boolean | undefined;
|
|
103
103
|
error?: Error | undefined;
|
|
104
104
|
});
|
|
105
105
|
_name: string;
|
|
@@ -109,34 +109,34 @@ export default class Cookie {
|
|
|
109
109
|
/**
|
|
110
110
|
* - Domain.
|
|
111
111
|
*/
|
|
112
|
-
domain?: string;
|
|
112
|
+
domain?: string | undefined;
|
|
113
113
|
/**
|
|
114
114
|
* - Expires date.
|
|
115
115
|
*/
|
|
116
|
-
expires?: Date;
|
|
116
|
+
expires?: Date | undefined;
|
|
117
117
|
/**
|
|
118
118
|
* - HttpOnly flag.
|
|
119
119
|
*/
|
|
120
|
-
httpOnly?: boolean;
|
|
120
|
+
httpOnly?: boolean | undefined;
|
|
121
121
|
/**
|
|
122
122
|
* - Max-Age in seconds.
|
|
123
123
|
*/
|
|
124
|
-
maxAge?: number;
|
|
124
|
+
maxAge?: number | undefined;
|
|
125
125
|
/**
|
|
126
126
|
* - Path.
|
|
127
127
|
*/
|
|
128
|
-
path?: string;
|
|
128
|
+
path?: string | undefined;
|
|
129
129
|
/**
|
|
130
130
|
* - Secure flag.
|
|
131
131
|
*/
|
|
132
|
-
secure?: boolean;
|
|
132
|
+
secure?: boolean | undefined;
|
|
133
133
|
/**
|
|
134
134
|
* - SameSite value.
|
|
135
135
|
*/
|
|
136
|
-
sameSite?: "Lax" | "Strict" | "None";
|
|
136
|
+
sameSite?: "Lax" | "Strict" | "None" | undefined;
|
|
137
137
|
};
|
|
138
138
|
_encrypted: boolean;
|
|
139
|
-
_error: Error;
|
|
139
|
+
_error: Error | undefined;
|
|
140
140
|
/** @returns {string} - Cookie name. */
|
|
141
141
|
name(): string;
|
|
142
142
|
/** @returns {string} - Cookie value (decrypted when available). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/http-server/cookie.js"],"names":[],"mappings":"AAIA;IA+DE;;;;OAIG;IACH,gCAJW,MAAM,GAAG,SAAS,GAAG,IAAI,UACzB,MAAM,GAAG,SAAS,GAChB,MAAM,EAAE,CAgCpB;IAED;;;;OAIG;IACH,2BAJW,OAAO,UACP,MAAM,GACJ,MAAM,CAalB;IAED;;;;OAIG;IACH,2BAJW,MAAM,UACN,MAAM,GACJ,MAAM,CAwBlB;IAED;;;OAGG;IACH,uCAHW,OAAO,GACL;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAiB3C;IAED;;;;OAIG;IACH,wCAJW,MAAM,WACN,MAAM,GACJ,MAAM,CAalB;IAED;;;OAGG;IACH,0BAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,6BAHW,MAAM,GACJ,MAAM,CAOlB;IAlND;;;;;;;;;OASG;IAEH;;;;;;;;OAQG;IACH,kEAPG;QAAqB,IAAI,EAAjB,MAAM;QAC0B,KAAK,EAArC,MAAM,GAAG,SAAS,GAAG,IAAI;QACQ,QAAQ,GAAzC,MAAM,GAAG,SAAS,GAAG,IAAI;QACJ,OAAO
|
|
1
|
+
{"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/http-server/cookie.js"],"names":[],"mappings":"AAIA;IA+DE;;;;OAIG;IACH,gCAJW,MAAM,GAAG,SAAS,GAAG,IAAI,UACzB,MAAM,GAAG,SAAS,GAChB,MAAM,EAAE,CAgCpB;IAED;;;;OAIG;IACH,2BAJW,OAAO,UACP,MAAM,GACJ,MAAM,CAalB;IAED;;;;OAIG;IACH,2BAJW,MAAM,UACN,MAAM,GACJ,MAAM,CAwBlB;IAED;;;OAGG;IACH,uCAHW,OAAO,GACL;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAiB3C;IAED;;;;OAIG;IACH,wCAJW,MAAM,WACN,MAAM,GACJ,MAAM,CAalB;IAED;;;OAGG;IACH,0BAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;;OAGG;IACH,6BAHW,MAAM,GACJ,MAAM,CAOlB;IAlND;;;;;;;;;OASG;IAEH;;;;;;;;OAQG;IACH,kEAPG;QAAqB,IAAI,EAAjB,MAAM;QAC0B,KAAK,EAArC,MAAM,GAAG,SAAS,GAAG,IAAI;QACQ,QAAQ,GAAzC,MAAM,GAAG,SAAS,GAAG,IAAI;QACJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QACb,SAAS;QACC,KAAK,GAA9B,KAAK,GAAG,SAAS;KAC3B,EAQA;IANC,cAAiB;IACjB,eAAyB;IACzB,kBAAwC;IACxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAA6B;IAC7B,oBAA2B;IAC3B,0BAAmB;IAGrB,uCAAuC;IACvC,QADc,MAAM,CACQ;IAE5B,mEAAmE;IACnE,SADc,MAAM,CACwB;IAE5C,4CAA4C;IAC5C,YADc,MAAM,CAC8B;IAElD,wDAAwD;IACxD,eADc,OAAO,CAC4B;IAEjD,uDAAuD;IACvD,SADc,KAAK,GAAG,SAAS,CACD;IAE9B,mDAAmD;IACnD,YADc,MAAM,CAgBnB;CAuJF"}
|
|
@@ -8,9 +8,9 @@ export default class VelociousHttpServer {
|
|
|
8
8
|
*/
|
|
9
9
|
constructor({ configuration, host, maxWorkers, port }: {
|
|
10
10
|
configuration: import("../configuration.js").default;
|
|
11
|
-
host?: string;
|
|
12
|
-
port?: number;
|
|
13
|
-
maxWorkers?: number;
|
|
11
|
+
host?: string | undefined;
|
|
12
|
+
port?: number | undefined;
|
|
13
|
+
maxWorkers?: number | undefined;
|
|
14
14
|
});
|
|
15
15
|
clientCount: number;
|
|
16
16
|
/** @type {Record<string, ServerClient>} */
|
|
@@ -26,7 +26,7 @@ export default class VelociousHttpServer {
|
|
|
26
26
|
maxWorkers: number;
|
|
27
27
|
/** @returns {Promise<void>} - Resolves when complete. */
|
|
28
28
|
start(): Promise<void>;
|
|
29
|
-
netServer: Net.Server;
|
|
29
|
+
netServer: Net.Server | undefined;
|
|
30
30
|
/** @returns {Promise<void>} - Resolves when complete. */
|
|
31
31
|
_netServerListen(): Promise<void>;
|
|
32
32
|
/** @returns {Promise<void>} - Resolves when complete. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http-server/index.js"],"names":[],"mappings":"AASA;IAYE;;;;;;OAMG;IACH,uDALG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACvB,IAAI
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http-server/index.js"],"names":[],"mappings":"AASA;IAYE;;;;;;OAMG;IACH,uDALG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACvB,IAAI;QACJ,IAAI;QACJ,UAAU;KAClC,EAOA;IAxBD,oBAAe;IAEf,4CAA4C;IAC5C,SADW,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAC3B;IAEZ,mEAA2B;IAC3B,oBAAe;IAEf,8BAA8B;IAC9B,gBADW,aAAa,EAAE,CACP;IAUjB,qDAAkC;IAClC,eAA8B;IAC9B,aAA6B;IAC7B,aAAwB;IACxB,mBAAkC;IAGpC,0DAA0D;IAC1D,SADc,OAAO,CAAC,IAAI,CAAC,CAQ1B;IALC,kCAAiC;IAOnC,0DAA0D;IAC1D,oBADc,OAAO,CAAC,IAAI,CAAC,CAc1B;IAED,0DAA0D;IAC1D,2BADc,OAAO,CAAC,IAAI,CAAC,CAK1B;IAED,4CAA4C;IAC5C,YADc,OAAO,CAOpB;IAED,0DAA0D;IAC1D,eADc,OAAO,CAAC,IAAI,CAAC,CAW1B;IAED,0DAA0D;IAC1D,cADc,OAAO,CAAC,IAAI,CAAC,CAgB1B;IAED,0DAA0D;IAC1D,QADc,OAAO,CAAC,IAAI,CAAC,CAQ1B;IAED,0CAA0C;IAC1C,eADc,IAAI,CAGjB;IAED;;;OAGG;IACH,gBAAiB,OAHN,KAGW,KAFT,IAAI,CAIhB;IAED;;;OAGG;IACH,eAAgB,QAHL,OAAO,KAAK,EAAE,MAGH,KAFT,IAAI,CA8BhB;IAED;;;OAGG;IACH,gBAAiB,QAHN,YAGY,KAFV,IAAI,CAahB;IAED,0DAA0D;IAC1D,eADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,6DAA6D;IAC7D,sBADc,aAAa,CAY1B;CACF;yBA7MwB,oBAAoB;0BACnB,2BAA2B;mBAHlC,cAAc;gBACjB,KAAK"}
|
|
@@ -44,7 +44,7 @@ export default class VelociousHttpServer {
|
|
|
44
44
|
try {
|
|
45
45
|
this.netServer.listen(this.port, this.host, () => {
|
|
46
46
|
this.logger.debug(`Velocious listening on ${this.host}:${this.port}`);
|
|
47
|
-
resolve(
|
|
47
|
+
resolve(undefined);
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
catch (error) {
|
|
@@ -78,7 +78,7 @@ export default class VelociousHttpServer {
|
|
|
78
78
|
stopServer() {
|
|
79
79
|
return new Promise((resolve, reject) => {
|
|
80
80
|
if (!this.netServer || !this.netServer.listening) {
|
|
81
|
-
resolve(
|
|
81
|
+
resolve(undefined);
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
84
|
this.netServer.close((error) => {
|
|
@@ -86,7 +86,7 @@ export default class VelociousHttpServer {
|
|
|
86
86
|
reject(error);
|
|
87
87
|
}
|
|
88
88
|
else {
|
|
89
|
-
resolve(
|
|
89
|
+
resolve(undefined);
|
|
90
90
|
}
|
|
91
91
|
});
|
|
92
92
|
});
|
|
@@ -175,4 +175,4 @@ export default class VelociousHttpServer {
|
|
|
175
175
|
return workerHandler;
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxZQUFZLE1BQU0sMkJBQTJCLENBQUE7QUFDcEQsT0FBTyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQTtBQUNyQixPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQTtBQUVyRCxNQUFNLENBQUMsT0FBTyxPQUFPLG1CQUFtQjtJQUN0QyxXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBRWYsNENBQTRDO0lBQzVDLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFFWixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUMzQixXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBRWYsOEJBQThCO0lBQzlCLGNBQWMsR0FBRyxFQUFFLENBQUE7SUFFbkI7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLFNBQVMsQ0FBQTtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUE7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRCwwREFBMEQ7SUFDMUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLElBQUksQ0FBQyx1QkFBdUIsRUFB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ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IEV2ZW50RW1pdHRlciBmcm9tIFwiLi4vdXRpbHMvZXZlbnQtZW1pdHRlci5qc1wiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuLi9sb2dnZXIuanNcIlxuaW1wb3J0IE5ldCBmcm9tIFwibmV0XCJcbmltcG9ydCBTZXJ2ZXJDbGllbnQgZnJvbSBcIi4vc2VydmVyLWNsaWVudC5qc1wiXG5pbXBvcnQgV29ya2VySGFuZGxlciBmcm9tIFwiLi93b3JrZXItaGFuZGxlci9pbmRleC5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0h0dHBTZXJ2ZXIge1xuICBjbGllbnRDb3VudCA9IDBcblxuICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIFNlcnZlckNsaWVudD59ICAqL1xuICBjbGllbnRzID0ge31cblxuICBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgd29ya2VyQ291bnQgPSAwXG5cbiAgLyoqIEB0eXBlIHtXb3JrZXJIYW5kbGVyW119ICovXG4gIHdvcmtlckhhbmRsZXJzID0gW11cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5ob3N0XSAtIEhvc3QuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5wb3J0XSAtIFBvcnQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5tYXhXb3JrZXJzXSAtIE1heCB3b3JrZXJzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb24sIGhvc3QsIG1heFdvcmtlcnMsIHBvcnR9KSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICAgIHRoaXMuaG9zdCA9IGhvc3QgfHwgXCIwLjAuMC4wXCJcbiAgICB0aGlzLnBvcnQgPSBwb3J0IHx8IDMwMDZcbiAgICB0aGlzLm1heFdvcmtlcnMgPSBtYXhXb3JrZXJzIHx8IDE2XG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS4gICovXG4gIGFzeW5jIHN0YXJ0KCkge1xuICAgIGF3YWl0IHRoaXMuX2Vuc3VyZUF0TGVhc3RPbmVXb3JrZXIoKVxuICAgIHRoaXMubmV0U2VydmVyID0gbmV3IE5ldC5TZXJ2ZXIoKVxuICAgIHRoaXMubmV0U2VydmVyLm9uKFwiY2xvc2VcIiwgdGhpcy5vbkNsb3NlKVxuICAgIHRoaXMubmV0U2VydmVyLm9uKFwiY29ubmVjdGlvblwiLCB0aGlzLm9uQ29ubmVjdGlvbilcbiAgICB0aGlzLm5ldFNlcnZlci5vbihcImVycm9yXCIsIHRoaXMub25TZXJ2ZXJFcnJvcilcbiAgICBhd2FpdCB0aGlzLl9uZXRTZXJ2ZXJMaXN0ZW4oKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuICAqL1xuICBfbmV0U2VydmVyTGlzdGVuKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAoIXRoaXMubmV0U2VydmVyKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBuZXRTZXJ2ZXJcIilcblxuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5uZXRTZXJ2ZXIubGlzdGVuKHRoaXMucG9ydCwgdGhpcy5ob3N0LCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFZlbG9jaW91cyBsaXN0ZW5pbmcgb24gJHt0aGlzLmhvc3R9OiR7dGhpcy5wb3J0fWApXG4gICAgICAgICAgcmVzb2x2ZShudWxsKVxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KGVycm9yKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS4gICovXG4gIGFzeW5jIF9lbnN1cmVBdExlYXN0T25lV29ya2VyKCkge1xuICAgIGlmICh0aGlzLndvcmtlckhhbmRsZXJzLmxlbmd0aCA9PSAwKSB7XG4gICAgICBhd2FpdCB0aGlzLnNwYXduV29ya2VyKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciBhY3RpdmUuICAqL1xuICBpc0FjdGl2ZSgpIHtcbiAgICBpZiAodGhpcy5uZXRTZXJ2ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLm5ldFNlcnZlci5saXN0ZW5pbmdcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLiAgKi9cbiAgYXN5bmMgc3RvcENsaWVudHMoKSB7XG4gICAgY29uc3QgcHJvbWlzZXMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBjbGllbnRDb3VudCBpbiB0aGlzLmNsaWVudHMpIHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuY2xpZW50c1tjbGllbnRDb3VudF1cblxuICAgICAgcHJvbWlzZXMucHVzaChjbGllbnQuZW5kKCkpXG4gICAgfVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS4gICovXG4gIHN0b3BTZXJ2ZXIoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmICghdGhpcy5uZXRTZXJ2ZXIgfHwgIXRoaXMubmV0U2VydmVyLmxpc3RlbmluZykge1xuICAgICAgICByZXNvbHZlKG51bGwpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICB0aGlzLm5ldFNlcnZlci5jbG9zZSgoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc29sdmUobnVsbClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuICAqL1xuICBhc3luYyBzdG9wKCkge1xuICAgIGF3YWl0IHRoaXMuc3RvcENsaWVudHMoKVxuICAgIGF3YWl0IHRoaXMuc3RvcFNlcnZlcigpXG5cbiAgICBjb25zdCBzdG9wVGFza3MgPSB0aGlzLndvcmtlckhhbmRsZXJzLm1hcCgoaGFuZGxlcikgPT4gaGFuZGxlci5zdG9wKCkpXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoc3RvcFRhc2tzKVxuICAgIHRoaXMud29ya2VySGFuZGxlcnMgPSBbXVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS4gICovXG4gIG9uQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5ldmVudHMuZW1pdChcImNsb3NlXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSBTZXJ2ZXIgc29ja2V0IGVycm9yLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBvblNlcnZlckVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZXJyb3IoYFZlbG9jaW91cyBIVFRQIHNlcnZlciBzb2NrZXQgZXJyb3Igb24gJHt0aGlzLmhvc3R9OiR7dGhpcy5wb3J0fWAsIGVycm9yKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwibmV0XCIpLlNvY2tldH0gc29ja2V0IC0gU29ja2V0IGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBvbkNvbm5lY3Rpb24gPSAoc29ja2V0KSA9PiB7XG4gICAgY29uc3QgY2xpZW50Q291bnQgPSB0aGlzLmNsaWVudENvdW50XG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJOZXcgY2xpZW50XCIsIHtcbiAgICAgIGNsaWVudENvdW50LFxuICAgICAgcmVtb3RlQWRkcmVzczogc29ja2V0LnJlbW90ZUFkZHJlc3MsXG4gICAgICByZW1vdGVGYW1pbHk6IHNvY2tldC5yZW1vdGVGYW1pbHksXG4gICAgICByZW1vdGVQb3J0OiBzb2NrZXQucmVtb3RlUG9ydFxuICAgIH1dKVxuICAgIHRoaXMuY2xpZW50Q291bnQrK1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHdvcmtlckhhbmRsZXIgPSB0aGlzLndvcmtlckhhbmRsZXJUb1VzZSgpXG4gICAgICBjb25zdCBjbGllbnQgPSBuZXcgU2VydmVyQ2xpZW50KHtcbiAgICAgICAgY2xpZW50Q291bnQsXG4gICAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgICAgc29ja2V0XG4gICAgICB9KVxuXG4gICAgICBjbGllbnQuZXZlbnRzLm9uKFwiY2xvc2VcIiwgdGhpcy5vbkNsaWVudENsb3NlKVxuXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgR2F2ZSBjbGllbnQgJHtjbGllbnRDb3VudH0gdG8gd29ya2VyICR7d29ya2VySGFuZGxlci53b3JrZXJDb3VudH1gKVxuICAgICAgd29ya2VySGFuZGxlci5hZGRTb2NrZXRDb25uZWN0aW9uKGNsaWVudClcbiAgICAgIHRoaXMuY2xpZW50c1tjbGllbnRDb3VudF0gPSBjbGllbnRcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoYEZhaWxlZCB0byBpbml0aWFsaXplIGNsaWVudCAke2NsaWVudENvdW50fSBvbiBuZXcgY29ubmVjdGlvbmAsIGVycm9yKVxuICAgICAgc29ja2V0LmRlc3Ryb3koKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1NlcnZlckNsaWVudH0gY2xpZW50IC0gQ2xpZW50IGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBvbkNsaWVudENsb3NlID0gKGNsaWVudCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudENvdW50ID0gZGlnZyhjbGllbnQsIFwiY2xpZW50Q291bnRcIilcbiAgICBjb25zdCBvbGRDbGllbnRzTGVuZ3RoID0gT2JqZWN0LmtleXModGhpcy5jbGllbnRzKS5sZW5ndGhcblxuICAgIGRlbGV0ZSB0aGlzLmNsaWVudHNbY2xpZW50Q291bnRdXG5cbiAgICBjb25zdCBuZXdDbGllbnRzTGVuZ3RoID0gT2JqZWN0LmtleXModGhpcy5jbGllbnRzKS5sZW5ndGhcblxuICAgIGlmIChuZXdDbGllbnRzTGVuZ3RoICE9IChvbGRDbGllbnRzTGVuZ3RoIC0gMSkpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBFeHBlY3RlZCBjbGllbnQgdG8gaGF2ZSBiZWVuIHJlbW92ZWQgYnV0IGxlbmd0aCBkaWRuJ3QgY2hhbmdlIGZyb20gJHtvbGRDbGllbnRzTGVuZ3RofSB0byAke29sZENsaWVudHNMZW5ndGggLSAxfWApXG4gICAgfVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuICAqL1xuICBhc3luYyBzcGF3bldvcmtlcigpIHtcbiAgICBjb25zdCB3b3JrZXJDb3VudCA9IHRoaXMud29ya2VyQ291bnRcblxuICAgIHRoaXMud29ya2VyQ291bnQrK1xuXG4gICAgY29uc3Qgd29ya2VySGFuZGxlciA9IG5ldyBXb3JrZXJIYW5kbGVyKHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIHdvcmtlckNvdW50XG4gICAgfSlcblxuICAgIGF3YWl0IHdvcmtlckhhbmRsZXIuc3RhcnQoKVxuICAgIHRoaXMud29ya2VySGFuZGxlcnMucHVzaCh3b3JrZXJIYW5kbGVyKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtXb3JrZXJIYW5kbGVyfSAtIFRoZSB3b3JrZXIgaGFuZGxlciB0byB1c2UuICAqL1xuICB3b3JrZXJIYW5kbGVyVG9Vc2UoKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFdvcmtlciBoYW5kbGVycyBsZW5ndGg6ICR7dGhpcy53b3JrZXJIYW5kbGVycy5sZW5ndGh9YClcblxuICAgIGNvbnN0IHJhbmRvbVdvcmtlck51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHRoaXMud29ya2VySGFuZGxlcnMubGVuZ3RoKVxuICAgIGNvbnN0IHdvcmtlckhhbmRsZXIgPSB0aGlzLndvcmtlckhhbmRsZXJzW3JhbmRvbVdvcmtlck51bWJlcl1cblxuICAgIGlmICghd29ya2VySGFuZGxlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyB3b3JrZXJIYW5kbGVyIGJ5IHRoYXQgbnVtYmVyOiAke3JhbmRvbVdvcmtlck51bWJlcn1gKVxuICAgIH1cblxuICAgIHJldHVybiB3b3JrZXJIYW5kbGVyXG4gIH1cbn1cbiJdfQ==
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxZQUFZLE1BQU0sMkJBQTJCLENBQUE7QUFDcEQsT0FBTyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ2pDLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQTtBQUNyQixPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQTtBQUVyRCxNQUFNLENBQUMsT0FBTyxPQUFPLG1CQUFtQjtJQUN0QyxXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBRWYsNENBQTRDO0lBQzVDLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFFWixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUMzQixXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBRWYsOEJBQThCO0lBQzlCLGNBQWMsR0FBRyxFQUFFLENBQUE7SUFFbkI7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLFNBQVMsQ0FBQTtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUE7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRCwwREFBMEQ7SUFDMUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLElBQUksQ0FBQyx1QkFBdUIsRUFB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b250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IEV2ZW50RW1pdHRlciBmcm9tIFwiLi4vdXRpbHMvZXZlbnQtZW1pdHRlci5qc1wiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuLi9sb2dnZXIuanNcIlxuaW1wb3J0IE5ldCBmcm9tIFwibmV0XCJcbmltcG9ydCBTZXJ2ZXJDbGllbnQgZnJvbSBcIi4vc2VydmVyLWNsaWVudC5qc1wiXG5pbXBvcnQgV29ya2VySGFuZGxlciBmcm9tIFwiLi93b3JrZXItaGFuZGxlci9pbmRleC5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0h0dHBTZXJ2ZXIge1xuICBjbGllbnRDb3VudCA9IDBcblxuICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIFNlcnZlckNsaWVudD59ICAqL1xuICBjbGllbnRzID0ge31cblxuICBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgd29ya2VyQ291bnQgPSAwXG5cbiAgLyoqIEB0eXBlIHtXb3JrZXJIYW5kbGVyW119ICovXG4gIHdvcmtlckhhbmRsZXJzID0gW11cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5ob3N0XSAtIEhvc3QuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5wb3J0XSAtIFBvcnQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5tYXhXb3JrZXJzXSAtIE1heCB3b3JrZXJzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb24sIGhvc3QsIG1heFdvcmtlcnMsIHBvcnR9KSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICAgIHRoaXMuaG9zdCA9IGhvc3QgfHwgXCIwLjAuMC4wXCJcbiAgICB0aGlzLnBvcnQgPSBwb3J0IHx8IDMwMDZcbiAgICB0aGlzLm1heFdvcmtlcnMgPSBtYXhXb3JrZXJzIHx8IDE2XG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS4gICovXG4gIGFzeW5jIHN0YXJ0KCkge1xuICAgIGF3YWl0IHRoaXMuX2Vuc3VyZUF0TGVhc3RPbmVXb3JrZXIoKVxuICAgIHRoaXMubmV0U2VydmVyID0gbmV3IE5ldC5TZXJ2ZXIoKVxuICAgIHRoaXMubmV0U2VydmVyLm9uKFwiY2xvc2VcIiwgdGhpcy5vbkNsb3NlKVxuICAgIHRoaXMubmV0U2VydmVyLm9uKFwiY29ubmVjdGlvblwiLCB0aGlzLm9uQ29ubmVjdGlvbilcbiAgICB0aGlzLm5ldFNlcnZlci5vbihcImVycm9yXCIsIHRoaXMub25TZXJ2ZXJFcnJvcilcbiAgICBhd2FpdCB0aGlzLl9uZXRTZXJ2ZXJMaXN0ZW4oKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuICAqL1xuICBfbmV0U2VydmVyTGlzdGVuKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAoIXRoaXMubmV0U2VydmVyKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBuZXRTZXJ2ZXJcIilcblxuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5uZXRTZXJ2ZXIubGlzdGVuKHRoaXMucG9ydCwgdGhpcy5ob3N0LCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFZlbG9jaW91cyBsaXN0ZW5pbmcgb24gJHt0aGlzLmhvc3R9OiR7dGhpcy5wb3J0fWApXG4gICAgICAgICAgcmVzb2x2ZSh1bmRlZmluZWQpXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZWplY3QoZXJyb3IpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLiAgKi9cbiAgYXN5bmMgX2Vuc3VyZUF0TGVhc3RPbmVXb3JrZXIoKSB7XG4gICAgaWYgKHRoaXMud29ya2VySGFuZGxlcnMubGVuZ3RoID09IDApIHtcbiAgICAgIGF3YWl0IHRoaXMuc3Bhd25Xb3JrZXIoKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIGFjdGl2ZS4gICovXG4gIGlzQWN0aXZlKCkge1xuICAgIGlmICh0aGlzLm5ldFNlcnZlcikge1xuICAgICAgcmV0dXJuIHRoaXMubmV0U2VydmVyLmxpc3RlbmluZ1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuICAqL1xuICBhc3luYyBzdG9wQ2xpZW50cygpIHtcbiAgICBjb25zdCBwcm9taXNlcyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGNsaWVudENvdW50IGluIHRoaXMuY2xpZW50cykge1xuICAgICAgY29uc3QgY2xpZW50ID0gdGhpcy5jbGllbnRzW2NsaWVudENvdW50XVxuXG4gICAgICBwcm9taXNlcy5wdXNoKGNsaWVudC5lbmQoKSlcbiAgICB9XG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLiAgKi9cbiAgc3RvcFNlcnZlcigpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm5ldFNlcnZlciB8fCAhdGhpcy5uZXRTZXJ2ZXIubGlzdGVuaW5nKSB7XG4gICAgICAgIHJlc29sdmUodW5kZWZpbmVkKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgdGhpcy5uZXRTZXJ2ZXIuY2xvc2UoKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuICAqL1xuICBhc3luYyBzdG9wKCkge1xuICAgIGF3YWl0IHRoaXMuc3RvcENsaWVudHMoKVxuICAgIGF3YWl0IHRoaXMuc3RvcFNlcnZlcigpXG5cbiAgICBjb25zdCBzdG9wVGFza3MgPSB0aGlzLndvcmtlckhhbmRsZXJzLm1hcCgoaGFuZGxlcikgPT4gaGFuZGxlci5zdG9wKCkpXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoc3RvcFRhc2tzKVxuICAgIHRoaXMud29ya2VySGFuZGxlcnMgPSBbXVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS4gICovXG4gIG9uQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5ldmVudHMuZW1pdChcImNsb3NlXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSBTZXJ2ZXIgc29ja2V0IGVycm9yLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBvblNlcnZlckVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZXJyb3IoYFZlbG9jaW91cyBIVFRQIHNlcnZlciBzb2NrZXQgZXJyb3Igb24gJHt0aGlzLmhvc3R9OiR7dGhpcy5wb3J0fWAsIGVycm9yKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwibmV0XCIpLlNvY2tldH0gc29ja2V0IC0gU29ja2V0IGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBvbkNvbm5lY3Rpb24gPSAoc29ja2V0KSA9PiB7XG4gICAgY29uc3QgY2xpZW50Q291bnQgPSB0aGlzLmNsaWVudENvdW50XG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJOZXcgY2xpZW50XCIsIHtcbiAgICAgIGNsaWVudENvdW50LFxuICAgICAgcmVtb3RlQWRkcmVzczogc29ja2V0LnJlbW90ZUFkZHJlc3MsXG4gICAgICByZW1vdGVGYW1pbHk6IHNvY2tldC5yZW1vdGVGYW1pbHksXG4gICAgICByZW1vdGVQb3J0OiBzb2NrZXQucmVtb3RlUG9ydFxuICAgIH1dKVxuICAgIHRoaXMuY2xpZW50Q291bnQrK1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHdvcmtlckhhbmRsZXIgPSB0aGlzLndvcmtlckhhbmRsZXJUb1VzZSgpXG4gICAgICBjb25zdCBjbGllbnQgPSBuZXcgU2VydmVyQ2xpZW50KHtcbiAgICAgICAgY2xpZW50Q291bnQsXG4gICAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgICAgc29ja2V0XG4gICAgICB9KVxuXG4gICAgICBjbGllbnQuZXZlbnRzLm9uKFwiY2xvc2VcIiwgdGhpcy5vbkNsaWVudENsb3NlKVxuXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgR2F2ZSBjbGllbnQgJHtjbGllbnRDb3VudH0gdG8gd29ya2VyICR7d29ya2VySGFuZGxlci53b3JrZXJDb3VudH1gKVxuICAgICAgd29ya2VySGFuZGxlci5hZGRTb2NrZXRDb25uZWN0aW9uKGNsaWVudClcbiAgICAgIHRoaXMuY2xpZW50c1tjbGllbnRDb3VudF0gPSBjbGllbnRcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoYEZhaWxlZCB0byBpbml0aWFsaXplIGNsaWVudCAke2NsaWVudENvdW50fSBvbiBuZXcgY29ubmVjdGlvbmAsIGVycm9yKVxuICAgICAgc29ja2V0LmRlc3Ryb3koKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1NlcnZlckNsaWVudH0gY2xpZW50IC0gQ2xpZW50IGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBvbkNsaWVudENsb3NlID0gKGNsaWVudCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudENvdW50ID0gZGlnZyhjbGllbnQsIFwiY2xpZW50Q291bnRcIilcbiAgICBjb25zdCBvbGRDbGllbnRzTGVuZ3RoID0gT2JqZWN0LmtleXModGhpcy5jbGllbnRzKS5sZW5ndGhcblxuICAgIGRlbGV0ZSB0aGlzLmNsaWVudHNbY2xpZW50Q291bnRdXG5cbiAgICBjb25zdCBuZXdDbGllbnRzTGVuZ3RoID0gT2JqZWN0LmtleXModGhpcy5jbGllbnRzKS5sZW5ndGhcblxuICAgIGlmIChuZXdDbGllbnRzTGVuZ3RoICE9IChvbGRDbGllbnRzTGVuZ3RoIC0gMSkpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBFeHBlY3RlZCBjbGllbnQgdG8gaGF2ZSBiZWVuIHJlbW92ZWQgYnV0IGxlbmd0aCBkaWRuJ3QgY2hhbmdlIGZyb20gJHtvbGRDbGllbnRzTGVuZ3RofSB0byAke29sZENsaWVudHNMZW5ndGggLSAxfWApXG4gICAgfVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuICAqL1xuICBhc3luYyBzcGF3bldvcmtlcigpIHtcbiAgICBjb25zdCB3b3JrZXJDb3VudCA9IHRoaXMud29ya2VyQ291bnRcblxuICAgIHRoaXMud29ya2VyQ291bnQrK1xuXG4gICAgY29uc3Qgd29ya2VySGFuZGxlciA9IG5ldyBXb3JrZXJIYW5kbGVyKHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIHdvcmtlckNvdW50XG4gICAgfSlcblxuICAgIGF3YWl0IHdvcmtlckhhbmRsZXIuc3RhcnQoKVxuICAgIHRoaXMud29ya2VySGFuZGxlcnMucHVzaCh3b3JrZXJIYW5kbGVyKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtXb3JrZXJIYW5kbGVyfSAtIFRoZSB3b3JrZXIgaGFuZGxlciB0byB1c2UuICAqL1xuICB3b3JrZXJIYW5kbGVyVG9Vc2UoKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFdvcmtlciBoYW5kbGVycyBsZW5ndGg6ICR7dGhpcy53b3JrZXJIYW5kbGVycy5sZW5ndGh9YClcblxuICAgIGNvbnN0IHJhbmRvbVdvcmtlck51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHRoaXMud29ya2VySGFuZGxlcnMubGVuZ3RoKVxuICAgIGNvbnN0IHdvcmtlckhhbmRsZXIgPSB0aGlzLndvcmtlckhhbmRsZXJzW3JhbmRvbVdvcmtlck51bWJlcl1cblxuICAgIGlmICghd29ya2VySGFuZGxlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyB3b3JrZXJIYW5kbGVyIGJ5IHRoYXQgbnVtYmVyOiAke3JhbmRvbVdvcmtlck51bWJlcn1gKVxuICAgIH1cblxuICAgIHJldHVybiB3b3JrZXJIYW5kbGVyXG4gIH1cbn1cbiJdfQ==
|
|
@@ -13,9 +13,9 @@ export default class ServerClient {
|
|
|
13
13
|
events: import("eventemitter3").EventEmitter<string | symbol, any>;
|
|
14
14
|
configuration: import("../configuration.js").default;
|
|
15
15
|
logger: Logger;
|
|
16
|
-
socket: import("net").Socket;
|
|
16
|
+
socket: import("node:net").Socket;
|
|
17
17
|
clientCount: number;
|
|
18
|
-
remoteAddress: string;
|
|
18
|
+
remoteAddress: string | undefined;
|
|
19
19
|
closeEmitted: boolean;
|
|
20
20
|
/** @returns {void} - No return value. */
|
|
21
21
|
listen(): void;
|
|
@@ -53,7 +53,7 @@ export default class ServerClient {
|
|
|
53
53
|
* @returns {void} - No return value.
|
|
54
54
|
*/
|
|
55
55
|
setWorker(newWorker: import("worker_threads").Worker): void;
|
|
56
|
-
worker: import("worker_threads").Worker;
|
|
56
|
+
worker: import("node:worker_threads").Worker | undefined;
|
|
57
57
|
}
|
|
58
58
|
import Logger from "../logger.js";
|
|
59
59
|
//# sourceMappingURL=server-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-client.d.ts","sourceRoot":"","sources":["../../../src/http-server/server-client.js"],"names":[],"mappings":"AAkBA;IAGE;;;;;OAKG;IACH,oDAJG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACV,MAAM,EAAjC,OAAO,KAAK,EAAE,MAAM;QACP,WAAW,EAAxB,MAAM;KAChB,EAiBA;IAxBD,mEAA2B;IAWzB,qDAAkC;IAClC,eAA8B;IAC9B,
|
|
1
|
+
{"version":3,"file":"server-client.d.ts","sourceRoot":"","sources":["../../../src/http-server/server-client.js"],"names":[],"mappings":"AAkBA;IAGE;;;;;OAKG;IACH,oDAJG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACV,MAAM,EAAjC,OAAO,KAAK,EAAE,MAAM;QACP,WAAW,EAAxB,MAAM;KAChB,EAiBA;IAxBD,mEAA2B;IAWzB,qDAAkC;IAClC,eAA8B;IAC9B,kCAAoB;IACpB,oBAA8B;IAC9B,kCAAyC;IACzC,sBAAyB;IAU3B,0CAA0C;IAC1C,UADc,IAAI,CASjB;IAED,0DAA0D;IAC1D,OADc,OAAO,CAAC,IAAI,CAAC,CAW1B;IAED;;;OAGG;IACH,eAAgB,OAHL,MAGU,KAFR,IAAI,CAahB;IAED,0CAA0C;IAC1C,mBADc,IAAI,CAIjB;IAED,yCAAyC;IACzC,qBADc,IAAI,CAIjB;IAED,yCAAyC;IACzC,uBADc,IAAI,CAGjB;IAED,yCAAyC;IACzC,qBADc,IAAI,CAGjB;IAED,yCAAyC;IACzC,sBADc,IAAI,CAGjB;IAGD;;;OAGG;IACH,gBAAiB,OAHN,KAGW,KAFT,IAAI,CAWhB;IAED,yCAAyC;IACzC,aADc,IAAI,CAMjB;IAED;;;OAGG;IACH,WAHW,MAAM,GAAG,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAqCzB;IAED;;;OAGG;IACH,qBAHW,OAAO,gBAAgB,EAAE,MAAM,GAC7B,IAAI,CAIhB;IADC,yDAAuB;CAE1B;mBAtLkB,cAAc"}
|
|
@@ -50,10 +50,10 @@ export default class ServerClient {
|
|
|
50
50
|
end() {
|
|
51
51
|
return new Promise((resolve) => {
|
|
52
52
|
if (this.socket.destroyed || this.socket.writableEnded || this.socket.writable === false) {
|
|
53
|
-
resolve(
|
|
53
|
+
resolve(undefined);
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
|
-
this.socket.once("close", () => resolve(
|
|
56
|
+
this.socket.once("close", () => resolve(undefined));
|
|
57
57
|
this.socket.end();
|
|
58
58
|
});
|
|
59
59
|
}
|
|
@@ -133,7 +133,7 @@ export default class ServerClient {
|
|
|
133
133
|
this.socket.off("error", onWriteError);
|
|
134
134
|
resolve();
|
|
135
135
|
};
|
|
136
|
-
const onWriteError = (error) => {
|
|
136
|
+
const onWriteError = (/** @type {Error} */ error) => {
|
|
137
137
|
const errorCode = /** @type {{code?: string}} */ (error).code;
|
|
138
138
|
this.logger.error(() => [`Socket ${this.clientCount} write error`, errorCode || error.message]);
|
|
139
139
|
finish();
|
|
@@ -156,4 +156,4 @@ export default class ServerClient {
|
|
|
156
156
|
this.worker = newWorker;
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci9zZXJ2ZXItY2xpZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFlBQVksTUFBTSwyQkFBMkIsQ0FBQTtBQUNwRCxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFFakM7OztHQUdHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FBQyxLQUFLO0lBQ2pDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFFeEgsT0FBTztRQUNMLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtRQUNwQixPQUFPO0tBQ1IsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQVk7SUFDL0IsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFFM0I7Ozs7O09BS0c7SUFDSCxZQUFZLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFFN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxh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TUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUE7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFBO1lBQ1gsQ0FBQyxDQUFBO1lBQ0QsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDN0IsTUFBTSxTQUFTLEdBQUcsOEJBQThCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUE7Z0JBRTdELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsV0FBVyxjQUFjLEVBQUUsU0FBUyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO2dCQUMvRixNQUFNLEVBQUUsQ0FBQTtZQUNWLENBQUMsQ0FBQTtZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQTtZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDVixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBQ25CLE9BQU07Z0JBQ1IsQ0FBQztnQkFFRCxNQUFNLEVBQUUsQ0FBQTtZQUNWLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLFNBQVM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUE7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcIi4uL3V0aWxzL2V2ZW50LWVtaXR0ZXIuanNcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi4vbG9nZ2VyLmpzXCJcblxuLyoqXG4gKiBAcGFyYW0ge0J1ZmZlcn0gY2h1bmsgLSBJbmNvbWluZyBzb2NrZXQgZGF0YS5cbiAqIEByZXR1cm5zIHtvYmplY3R9IC0gQ2h1bmsgZGVidWcgbWV0YWRhdGEuXG4gKi9cbmZ1bmN0aW9uIHN1bW1hcml6ZVNvY2tldENodW5rKGNodW5rKSB7XG4gIGNvbnN0IHByZXZpZXcgPSBjaHVuay50b1N0cmluZyhcImxhdGluMVwiLCAwLCBNYXRoLm1pbihjaHVuay5sZW5ndGgsIDE2MCkpLnJlcGxhY2VBbGwoXCJcXHJcIiwgXCJcXFxcclwiKS5yZXBsYWNlQWxsKFwiXFxuXCIsIFwiXFxcXG5cIilcblxuICByZXR1cm4ge1xuICAgIGxlbmd0aDogY2h1bmsubGVuZ3RoLFxuICAgIHByZXZpZXdcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXJ2ZXJDbGllbnQge1xuICBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwibmV0XCIpLlNvY2tldH0gYXJncy5zb2NrZXQgLSBTb2NrZXQgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBhcmdzLmNsaWVudENvdW50IC0gQ2xpZW50IGNvdW50LlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb24sIHNvY2tldCwgY2xpZW50Q291bnR9KSB7XG4gICAgaWYgKCFjb25maWd1cmF0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjb25maWd1cmF0aW9uIGdpdmVuXCIpXG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5sb2dnZXIgPSBuZXcgTG9nZ2VyKHRoaXMpXG4gICAgdGhpcy5zb2NrZXQgPSBzb2NrZXRcbiAgICB0aGlzLmNsaWVudENvdW50ID0gY2xpZW50Q291bnRcbiAgICB0aGlzLnJlbW90ZUFkZHJlc3MgPSBzb2NrZXQucmVtb3RlQWRkcmVzc1xuICAgIHRoaXMuY2xvc2VFbWl0dGVkID0gZmFsc2VcblxuICAgIHNvY2tldC5vbihcImVuZFwiLCB0aGlzLm9uU29ja2V0RW5kKVxuICAgIHNvY2tldC5vbihcImVycm9yXCIsIHRoaXMub25Tb2NrZXRFcnJvcilcbiAgICBzb2NrZXQub24oXCJjbG9zZVwiLCB0aGlzLm9uU29ja2V0Q2xvc2UpXG4gICAgc29ja2V0Lm9uKFwidGltZW91dFwiLCB0aGlzLm9uU29ja2V0VGltZW91dClcbiAgICBzb2NrZXQub24oXCJkcmFpblwiLCB0aGlzLm9uU29ja2V0RHJhaW4pXG4gICAgc29ja2V0Lm9uKFwiZmluaXNoXCIsIHRoaXMub25Tb2NrZXRGaW5pc2gpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLiAgKi9cbiAgbGlzdGVuKCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCgpID0+IFtcIlNvY2tldCBsaXN0ZW5cIiwge1xuICAgICAgY2xpZW50Q291bnQ6IHRoaXMuY2xpZW50Q291bnQsXG4gICAgICByZW1vdGVBZGRyZXNzOiB0aGlzLnNvY2tldC5yZW1vdGVBZGRyZXNzLFxuICAgICAgcmVtb3RlRmFtaWx5OiB0aGlzLnNvY2tldC5yZW1vdGVGYW1pbHksXG4gICAgICByZW1vdGVQb3J0OiB0aGlzLnNvY2tldC5yZW1vdGVQb3J0XG4gICAgfV0pXG4gICAgdGhpcy5zb2NrZXQub24oXCJkYXRhXCIsIHRoaXMub25Tb2NrZXREYXRhKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuICAqL1xuICBlbmQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBpZiAodGhpcy5zb2NrZXQuZGVzdHJveWVkIHx8IHRoaXMuc29ja2V0LndyaXRhYmxlRW5kZWQgfHwgdGhpcy5zb2NrZXQud3JpdGFibGUgPT09IGZhbHNlKSB7XG4gICAgICAgIHJlc29sdmUobnVsbClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIHRoaXMuc29ja2V0Lm9uY2UoXCJjbG9zZVwiLCAoKSA9PiByZXNvbHZlKG51bGwpKVxuICAgICAgdGhpcy5zb2NrZXQuZW5kKClcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBjaHVuayAtIENodW5rLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBvblNvY2tldERhdGEgPSAoY2h1bmspID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Z0xvd0xldmVsKCgpID0+IGBTb2NrZXQgJHt0aGlzLmNsaWVudENvdW50fTogJHtjaHVua31gKVxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCgpID0+IFtcIlNvY2tldCBkYXRhIHJlY2VpdmVkXCIsIHtjbGllbnRDb3VudDogdGhpcy5jbGllbnRDb3VudCwgLi4uc3VtbWFyaXplU29ja2V0Q2h1bmsoY2h1bmspfV0pXG5cbiAgICBpZiAoIXRoaXMud29ya2VyKSB0aHJvdyBuZXcgRXJyb3IoXCJObyB3b3JrZXJcIilcblxuICAgIHRoaXMud29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICAgIGNvbW1hbmQ6IFwiY2xpZW50V3JpdGVcIixcbiAgICAgIGNodW5rLFxuICAgICAgY2xpZW50Q291bnQ6IHRoaXMuY2xpZW50Q291bnRcbiAgICB9KVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS4gICovXG4gIG9uU29ja2V0RW5kID0gKCkgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnTG93TGV2ZWwoKCkgPT4gYFNvY2tldCAke3RoaXMuY2xpZW50Q291bnR9IGVuZGApXG4gICAgdGhpcy5lbWl0Q2xvc2UoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS4gKi9cbiAgb25Tb2NrZXRDbG9zZSA9ICgpID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Z0xvd0xldmVsKCgpID0+IGBTb2NrZXQgJHt0aGlzLmNsaWVudENvdW50fSBjbG9zZWApXG4gICAgdGhpcy5lbWl0Q2xvc2UoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS4gKi9cbiAgb25Tb2NrZXRUaW1lb3V0ID0gKCkgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCgpID0+IFtcIlNvY2tldCB0aW1lb3V0XCIsIHtjbGllbnRDb3VudDogdGhpcy5jbGllbnRDb3VudH1dKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS4gKi9cbiAgb25Tb2NrZXREcmFpbiA9ICgpID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJTb2NrZXQgZHJhaW5cIiwge2NsaWVudENvdW50OiB0aGlzLmNsaWVudENvdW50fV0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLiAqL1xuICBvblNvY2tldEZpbmlzaCA9ICgpID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJTb2NrZXQgZmluaXNoXCIsIHtjbGllbnRDb3VudDogdGhpcy5jbGllbnRDb3VudH1dKVxuICB9XG5cblxuICAvKipcbiAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSBTb2NrZXQgZXJyb3IuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIG9uU29ja2V0RXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICBjb25zdCBlcnJvckNvZGUgPSAvKiogQHR5cGUge3tjb2RlPzogc3RyaW5nfX0gKi8gKGVycm9yKS5jb2RlXG5cbiAgICB0aGlzLmxvZ2dlci5lcnJvcigoKSA9PiBbYFNvY2tldCAke3RoaXMuY2xpZW50Q291bnR9IGVycm9yYCwgZXJyb3JDb2RlIHx8IGVycm9yLm1lc3NhZ2VdKVxuICAgIHRoaXMuZW1pdENsb3NlKClcblxuICAgIGlmICghdGhpcy5zb2NrZXQuZGVzdHJveWVkKSB7XG4gICAgICB0aGlzLnNvY2tldC5kZXN0cm95KGVycm9yKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuICovXG4gIGVtaXRDbG9zZSgpIHtcbiAgICBpZiAodGhpcy5jbG9zZUVtaXR0ZWQpIHJldHVyblxuXG4gICAgdGhpcy5jbG9zZUVtaXR0ZWQgPSB0cnVlXG4gICAgdGhpcy5ldmVudHMuZW1pdChcImNsb3NlXCIsIHRoaXMpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBVaW50OEFycmF5fSBkYXRhIC0gRGF0YSBwYXlsb2FkLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgc2VuZChkYXRhKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Z0xvd0xldmVsKCgpID0+IGBTZW5kICR7ZGF0YX1gKVxuICAgICAgaWYgKHRoaXMuc29ja2V0LmRlc3Ryb3llZCB8fCB0aGlzLnNvY2tldC53cml0YWJsZUVuZGVkIHx8IHRoaXMuc29ja2V0LndyaXRhYmxlID09PSBmYWxzZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1Z0xvd0xldmVsKCgpID0+IFwiU2tpcHBpbmcgc2VuZCBiZWNhdXNlIHNvY2tldCBpcyBjbG9zZWRcIilcbiAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBsZXQgZG9uZSA9IGZhbHNlXG5cbiAgICAgIGNvbnN0IGZpbmlzaCA9ICgpID0+IHtcbiAgICAgICAgaWYgKGRvbmUpIHJldHVyblxuXG4gICAgICAgIGRvbmUgPSB0cnVlXG4gICAgICAgIHRoaXMuc29ja2V0Lm9mZihcImVycm9yXCIsIG9uV3JpdGVFcnJvcilcbiAgICAgICAgcmVzb2x2ZSgpXG4gICAgICB9XG4gICAgICBjb25zdCBvbldyaXRlRXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3JDb2RlID0gLyoqIEB0eXBlIHt7Y29kZT86IHN0cmluZ319ICovIChlcnJvcikuY29kZVxuXG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCgpID0+IFtgU29ja2V0ICR7dGhpcy5jbGllbnRDb3VudH0gd3JpdGUgZXJyb3JgLCBlcnJvckNvZGUgfHwgZXJyb3IubWVzc2FnZV0pXG4gICAgICAgIGZpbmlzaCgpXG4gICAgICB9XG5cbiAgICAgIHRoaXMuc29ja2V0Lm9uY2UoXCJlcnJvclwiLCBvbldyaXRlRXJyb3IpXG4gICAgICB0aGlzLnNvY2tldC53cml0ZShkYXRhLCAoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgb25Xcml0ZUVycm9yKGVycm9yKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgZmluaXNoKClcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIndvcmtlcl90aHJlYWRzXCIpLldvcmtlcn0gbmV3V29ya2VyIC0gTmV3IHdvcmtlci5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0V29ya2VyKG5ld1dvcmtlcikge1xuICAgIHRoaXMud29ya2VyID0gbmV3V29ya2VyXG4gIH1cbn1cbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci9zZXJ2ZXItY2xpZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFlBQVksTUFBTSwyQkFBMkIsQ0FBQTtBQUNwRCxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFFakM7OztHQUdHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FBQyxLQUFLO0lBQ2pDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFFeEgsT0FBTztRQUNMLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtRQUNwQixPQUFPO0tBQ1IsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQVk7SUFDL0IsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFFM0I7Ozs7O09BS0c7SUFDSCxZQUFZLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFFN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxh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LE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFBO2dCQUN0QyxPQUFPLEVBQUUsQ0FBQTtZQUNYLENBQUMsQ0FBQTtZQUNELE1BQU0sWUFBWSxHQUFHLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xELE1BQU0sU0FBUyxHQUFHLDhCQUE4QixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFBO2dCQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLFdBQVcsY0FBYyxFQUFFLFNBQVMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtnQkFDL0YsTUFBTSxFQUFFLENBQUE7WUFDVixDQUFDLENBQUE7WUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUE7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2hDLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1YsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNuQixPQUFNO2dCQUNSLENBQUM7Z0JBRUQsTUFBTSxFQUFFLENBQUE7WUFDVixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxTQUFTO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFBO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gXCIuLi91dGlscy9ldmVudC1lbWl0dGVyLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4uL2xvZ2dlci5qc1wiXG5cbi8qKlxuICogQHBhcmFtIHtCdWZmZXJ9IGNodW5rIC0gSW5jb21pbmcgc29ja2V0IGRhdGEuXG4gKiBAcmV0dXJucyB7b2JqZWN0fSAtIENodW5rIGRlYnVnIG1ldGFkYXRhLlxuICovXG5mdW5jdGlvbiBzdW1tYXJpemVTb2NrZXRDaHVuayhjaHVuaykge1xuICBjb25zdCBwcmV2aWV3ID0gY2h1bmsudG9TdHJpbmcoXCJsYXRpbjFcIiwgMCwgTWF0aC5taW4oY2h1bmsubGVuZ3RoLCAxNjApKS5yZXBsYWNlQWxsKFwiXFxyXCIsIFwiXFxcXHJcIikucmVwbGFjZUFsbChcIlxcblwiLCBcIlxcXFxuXCIpXG5cbiAgcmV0dXJuIHtcbiAgICBsZW5ndGg6IGNodW5rLmxlbmd0aCxcbiAgICBwcmV2aWV3XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VydmVyQ2xpZW50IHtcbiAgZXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIm5ldFwiKS5Tb2NrZXR9IGFyZ3Muc29ja2V0IC0gU29ja2V0IGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge251bWJlcn0gYXJncy5jbGllbnRDb3VudCAtIENsaWVudCBjb3VudC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25maWd1cmF0aW9uLCBzb2NrZXQsIGNsaWVudENvdW50fSkge1xuICAgIGlmICghY29uZmlndXJhdGlvbikgdGhyb3cgbmV3IEVycm9yKFwiTm8gY29uZmlndXJhdGlvbiBnaXZlblwiKVxuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICAgIHRoaXMuc29ja2V0ID0gc29ja2V0XG4gICAgdGhpcy5jbGllbnRDb3VudCA9IGNsaWVudENvdW50XG4gICAgdGhpcy5yZW1vdGVBZGRyZXNzID0gc29ja2V0LnJlbW90ZUFkZHJlc3NcbiAgICB0aGlzLmNsb3NlRW1pdHRlZCA9IGZhbHNlXG5cbiAgICBzb2NrZXQub24oXCJlbmRcIiwgdGhpcy5vblNvY2tldEVuZClcbiAgICBzb2NrZXQub24oXCJlcnJvclwiLCB0aGlzLm9uU29ja2V0RXJyb3IpXG4gICAgc29ja2V0Lm9uKFwiY2xvc2VcIiwgdGhpcy5vblNvY2tldENsb3NlKVxuICAgIHNvY2tldC5vbihcInRpbWVvdXRcIiwgdGhpcy5vblNvY2tldFRpbWVvdXQpXG4gICAgc29ja2V0Lm9uKFwiZHJhaW5cIiwgdGhpcy5vblNvY2tldERyYWluKVxuICAgIHNvY2tldC5vbihcImZpbmlzaFwiLCB0aGlzLm9uU29ja2V0RmluaXNoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS4gICovXG4gIGxpc3RlbigpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJTb2NrZXQgbGlzdGVuXCIsIHtcbiAgICAgIGNsaWVudENvdW50OiB0aGlzLmNsaWVudENvdW50LFxuICAgICAgcmVtb3RlQWRkcmVzczogdGhpcy5zb2NrZXQucmVtb3RlQWRkcmVzcyxcbiAgICAgIHJlbW90ZUZhbWlseTogdGhpcy5zb2NrZXQucmVtb3RlRmFtaWx5LFxuICAgICAgcmVtb3RlUG9ydDogdGhpcy5zb2NrZXQucmVtb3RlUG9ydFxuICAgIH1dKVxuICAgIHRoaXMuc29ja2V0Lm9uKFwiZGF0YVwiLCB0aGlzLm9uU29ja2V0RGF0YSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLiAgKi9cbiAgZW5kKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKHRoaXMuc29ja2V0LmRlc3Ryb3llZCB8fCB0aGlzLnNvY2tldC53cml0YWJsZUVuZGVkIHx8IHRoaXMuc29ja2V0LndyaXRhYmxlID09PSBmYWxzZSkge1xuICAgICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIHRoaXMuc29ja2V0Lm9uY2UoXCJjbG9zZVwiLCAoKSA9PiByZXNvbHZlKHVuZGVmaW5lZCkpXG4gICAgICB0aGlzLnNvY2tldC5lbmQoKVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGNodW5rIC0gQ2h1bmsuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIG9uU29ja2V0RGF0YSA9IChjaHVuaykgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnTG93TGV2ZWwoKCkgPT4gYFNvY2tldCAke3RoaXMuY2xpZW50Q291bnR9OiAke2NodW5rfWApXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoKCkgPT4gW1wiU29ja2V0IGRhdGEgcmVjZWl2ZWRcIiwge2NsaWVudENvdW50OiB0aGlzLmNsaWVudENvdW50LCAuLi5zdW1tYXJpemVTb2NrZXRDaHVuayhjaHVuayl9XSlcblxuICAgIGlmICghdGhpcy53b3JrZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIHdvcmtlclwiKVxuXG4gICAgdGhpcy53b3JrZXIucG9zdE1lc3NhZ2Uoe1xuICAgICAgY29tbWFuZDogXCJjbGllbnRXcml0ZVwiLFxuICAgICAgY2h1bmssXG4gICAgICBjbGllbnRDb3VudDogdGhpcy5jbGllbnRDb3VudFxuICAgIH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLiAgKi9cbiAgb25Tb2NrZXRFbmQgPSAoKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWdMb3dMZXZlbCgoKSA9PiBgU29ja2V0ICR7dGhpcy5jbGllbnRDb3VudH0gZW5kYClcbiAgICB0aGlzLmVtaXRDbG9zZSgpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLiAqL1xuICBvblNvY2tldENsb3NlID0gKCkgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnTG93TGV2ZWwoKCkgPT4gYFNvY2tldCAke3RoaXMuY2xpZW50Q291bnR9IGNsb3NlYClcbiAgICB0aGlzLmVtaXRDbG9zZSgpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLiAqL1xuICBvblNvY2tldFRpbWVvdXQgPSAoKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoKCkgPT4gW1wiU29ja2V0IHRpbWVvdXRcIiwge2NsaWVudENvdW50OiB0aGlzLmNsaWVudENvdW50fV0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLiAqL1xuICBvblNvY2tldERyYWluID0gKCkgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCgpID0+IFtcIlNvY2tldCBkcmFpblwiLCB7Y2xpZW50Q291bnQ6IHRoaXMuY2xpZW50Q291bnR9XSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuICovXG4gIG9uU29ja2V0RmluaXNoID0gKCkgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCgpID0+IFtcIlNvY2tldCBmaW5pc2hcIiwge2NsaWVudENvdW50OiB0aGlzLmNsaWVudENvdW50fV0pXG4gIH1cblxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vycm9yfSBlcnJvciAtIFNvY2tldCBlcnJvci5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgb25Tb2NrZXRFcnJvciA9IChlcnJvcikgPT4ge1xuICAgIGNvbnN0IGVycm9yQ29kZSA9IC8qKiBAdHlwZSB7e2NvZGU/OiBzdHJpbmd9fSAqLyAoZXJyb3IpLmNvZGVcblxuICAgIHRoaXMubG9nZ2VyLmVycm9yKCgpID0+IFtgU29ja2V0ICR7dGhpcy5jbGllbnRDb3VudH0gZXJyb3JgLCBlcnJvckNvZGUgfHwgZXJyb3IubWVzc2FnZV0pXG4gICAgdGhpcy5lbWl0Q2xvc2UoKVxuXG4gICAgaWYgKCF0aGlzLnNvY2tldC5kZXN0cm95ZWQpIHtcbiAgICAgIHRoaXMuc29ja2V0LmRlc3Ryb3koZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS4gKi9cbiAgZW1pdENsb3NlKCkge1xuICAgIGlmICh0aGlzLmNsb3NlRW1pdHRlZCkgcmV0dXJuXG5cbiAgICB0aGlzLmNsb3NlRW1pdHRlZCA9IHRydWVcbiAgICB0aGlzLmV2ZW50cy5lbWl0KFwiY2xvc2VcIiwgdGhpcylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IFVpbnQ4QXJyYXl9IGRhdGEgLSBEYXRhIHBheWxvYWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBzZW5kKGRhdGEpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnTG93TGV2ZWwoKCkgPT4gYFNlbmQgJHtkYXRhfWApXG4gICAgICBpZiAodGhpcy5zb2NrZXQuZGVzdHJveWVkIHx8IHRoaXMuc29ja2V0LndyaXRhYmxlRW5kZWQgfHwgdGhpcy5zb2NrZXQud3JpdGFibGUgPT09IGZhbHNlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnTG93TGV2ZWwoKCkgPT4gXCJTa2lwcGluZyBzZW5kIGJlY2F1c2Ugc29ja2V0IGlzIGNsb3NlZFwiKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGxldCBkb25lID0gZmFsc2VcblxuICAgICAgY29uc3QgZmluaXNoID0gKCkgPT4ge1xuICAgICAgICBpZiAoZG9uZSkgcmV0dXJuXG5cbiAgICAgICAgZG9uZSA9IHRydWVcbiAgICAgICAgdGhpcy5zb2NrZXQub2ZmKFwiZXJyb3JcIiwgb25Xcml0ZUVycm9yKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9uV3JpdGVFcnJvciA9ICgvKiogQHR5cGUge0Vycm9yfSAqLyBlcnJvcikgPT4ge1xuICAgICAgICBjb25zdCBlcnJvckNvZGUgPSAvKiogQHR5cGUge3tjb2RlPzogc3RyaW5nfX0gKi8gKGVycm9yKS5jb2RlXG5cbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoKCkgPT4gW2BTb2NrZXQgJHt0aGlzLmNsaWVudENvdW50fSB3cml0ZSBlcnJvcmAsIGVycm9yQ29kZSB8fCBlcnJvci5tZXNzYWdlXSlcbiAgICAgICAgZmluaXNoKClcbiAgICAgIH1cblxuICAgICAgdGhpcy5zb2NrZXQub25jZShcImVycm9yXCIsIG9uV3JpdGVFcnJvcilcbiAgICAgIHRoaXMuc29ja2V0LndyaXRlKGRhdGEsIChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICBvbldyaXRlRXJyb3IoZXJyb3IpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBmaW5pc2goKVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwid29ya2VyX3RocmVhZHNcIikuV29ya2VyfSBuZXdXb3JrZXIgLSBOZXcgd29ya2VyLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzZXRXb3JrZXIobmV3V29ya2VyKSB7XG4gICAgdGhpcy53b3JrZXIgPSBuZXdXb3JrZXJcbiAgfVxufVxuIl19
|
|
@@ -12,13 +12,13 @@ export default class VelociousHttpServerWebsocketChannel {
|
|
|
12
12
|
request: import("./client/request.js").default | import("./client/websocket-request.js").default | undefined;
|
|
13
13
|
client: import("./client/index.js").default;
|
|
14
14
|
websocketSession: import("./client/websocket-session.js").default;
|
|
15
|
-
subscriptionParams?: Record<string, unknown
|
|
15
|
+
subscriptionParams?: Record<string, unknown> | undefined;
|
|
16
16
|
});
|
|
17
17
|
configuration: import("../configuration.js").default;
|
|
18
|
-
request: import("./client/websocket-request.js").default | import("./client/request.js").default;
|
|
18
|
+
request: import("./client/websocket-request.js").default | import("./client/request.js").default | undefined;
|
|
19
19
|
client: import("./client/index.js").default;
|
|
20
20
|
websocketSession: import("./client/websocket-session.js").default;
|
|
21
|
-
subscriptionParams: Record<string, unknown
|
|
21
|
+
subscriptionParams: Record<string, unknown> | undefined;
|
|
22
22
|
_params: Record<string, unknown>;
|
|
23
23
|
/**
|
|
24
24
|
* @returns {Record<string, unknown>} - Params for the websocket connection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-channel.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-channel.js"],"names":[],"mappings":"AAEA;IACE;;;;;;;OAOG;IACH,sFANG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACqE,OAAO,EAAjH,OAAO,qBAAqB,EAAE,OAAO,GAAG,OAAO,+BAA+B,EAAE,OAAO,GAAG,SAAS;QACzD,MAAM,EAAhD,OAAO,mBAAmB,EAAE,OAAO;QACmB,gBAAgB,EAAtE,OAAO,+BAA+B,EAAE,OAAO;QAChB,kBAAkB
|
|
1
|
+
{"version":3,"file":"websocket-channel.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-channel.js"],"names":[],"mappings":"AAEA;IACE;;;;;;;OAOG;IACH,sFANG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACqE,OAAO,EAAjH,OAAO,qBAAqB,EAAE,OAAO,GAAG,OAAO,+BAA+B,EAAE,OAAO,GAAG,SAAS;QACzD,MAAM,EAAhD,OAAO,mBAAmB,EAAE,OAAO;QACmB,gBAAgB,EAAtE,OAAO,+BAA+B,EAAE,OAAO;QAChB,kBAAkB;KAC3D,EAQA;IANC,qDAAkC;IAClC,6GAAsB;IACtB,4CAAoB;IACpB,kEAAwC;IACxC,wDAA4C;IAC5C,iCAAkC;IAGpC;;OAEG;IACH,UAFa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEJ;IAEhC;;;OAGG;IACH,cAFa,OAAO,CAAC,IAAI,CAAC,CAEL;IAErB;;;OAGG;IACH,gBAFa,OAAO,CAAC,IAAI,CAAC,CAEH;IAEvB;;;;;OAKG;IACH,oBAJW,MAAM,YACN;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAC,GACrB,OAAO,CAAC,OAAO,CAAC,CAO5B;IAED;;;;;;OAMG;IACH,wCAJG;QAAqB,OAAO,EAApB,MAAM;QACI,OAAO,EAAjB,GAAG;KACX,GAAU,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;OAEG;IACH,gBAFa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgCnC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-events-host.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-events-host.js"],"names":[],"mappings":"AAEA;IAEI,+DAA+D;IAC/D,UADW,GAAG,CAAC,OAAO,2BAA2B,EAAE,OAAO,CAAC,CAClC;IAG3B;;;OAGG;IACH,kBAHW,OAAO,2BAA2B,EAAE,OAAO,GACzC,MAAM,IAAI,CAMtB;IAED;;;;OAIG;IACH,uBAJW,MAAM,GAAG,MAAM,eACf,GAAG,GACD,IAAI,
|
|
1
|
+
{"version":3,"file":"websocket-events-host.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-events-host.js"],"names":[],"mappings":"AAEA;IAEI,+DAA+D;IAC/D,UADW,GAAG,CAAC,OAAO,2BAA2B,EAAE,OAAO,CAAC,CAClC;IAG3B;;;OAGG;IACH,kBAHW,OAAO,2BAA2B,EAAE,OAAO,GACzC,MAAM,IAAI,CAMtB;IAED;;;;OAIG;IACH,uBAJW,MAAM,GAAG,MAAM,eACf,GAAG,GACD,IAAI,CAYhB;CACF;;AAED,0EAAwE"}
|
|
@@ -18,8 +18,11 @@ export class VelociousHttpServerWebsocketEventsHost {
|
|
|
18
18
|
* @returns {void} - No return value.
|
|
19
19
|
*/
|
|
20
20
|
publish(channelOrArgs, payloadArg) {
|
|
21
|
-
const
|
|
22
|
-
|
|
21
|
+
const publishArgs = typeof channelOrArgs === "string"
|
|
22
|
+
? { channel: channelOrArgs, payload: payloadArg }
|
|
23
|
+
: /** @type {{channel: string, payload: any}} */ (channelOrArgs);
|
|
24
|
+
const channel = publishArgs.channel;
|
|
25
|
+
const payload = publishArgs.payload;
|
|
23
26
|
for (const handler of this.handlers) {
|
|
24
27
|
handler.dispatchWebsocketEvent({ channel, payload });
|
|
25
28
|
}
|
|
@@ -27,4 +30,4 @@ export class VelociousHttpServerWebsocketEventsHost {
|
|
|
27
30
|
}
|
|
28
31
|
const websocketEventsHost = new VelociousHttpServerWebsocketEventsHost();
|
|
29
32
|
export default websocketEventsHost;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWV2ZW50cy1ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2h0dHAtc2VydmVyL3dlYnNvY2tldC1ldmVudHMtaG9zdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxPQUFPLHNDQUFzQztJQUNqRDtRQUNFLCtEQUErRDtRQUMvRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxPQUFPO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFMUIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVTtRQUMvQixNQUFNLFdBQVcsR0FBRyxPQUFPLGFBQWEsS0FBSyxRQUFRO1lBQ25ELENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQztZQUMvQyxDQUFDLENBQUMsOENBQThDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNsRSxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFBO1FBQ25DLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUE7UUFFbkMsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUE7UUFDcEQsQ0FBQztJQUNILENBQUM7Q0FDRjtBQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxzQ0FBc0MsRUFBRSxDQUFBO0FBRXhFLGVBQWUsbUJBQW1CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuZXhwb3J0IGNsYXNzIFZlbG9jaW91c0h0dHBTZXJ2ZXJXZWJzb2NrZXRFdmVudHNIb3N0IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLyoqIEB0eXBlIHtTZXQ8aW1wb3J0KFwiLi93b3JrZXItaGFuZGxlci9pbmRleC5qc1wiKS5kZWZhdWx0Pn0gKi9cbiAgICB0aGlzLmhhbmRsZXJzID0gbmV3IFNldCgpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3dvcmtlci1oYW5kbGVyL2luZGV4LmpzXCIpLmRlZmF1bHR9IGhhbmRsZXIgLSBIYW5kbGVyIGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyB7KCkgPT4gdm9pZH0gLSBUaGUgcmVnaXN0ZXIuXG4gICAqL1xuICByZWdpc3RlcihoYW5kbGVyKSB7XG4gICAgdGhpcy5oYW5kbGVycy5hZGQoaGFuZGxlcilcblxuICAgIHJldHVybiAoKSA9PiB0aGlzLmhhbmRsZXJzLmRlbGV0ZShoYW5kbGVyKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0IHwgc3RyaW5nfSBjaGFubmVsT3JBcmdzIC0gQ2hhbm5lbCBuYW1lIG9yIG9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2FueX0gW3BheWxvYWRBcmddIC0gUGF5bG9hZCBkYXRhIHdoZW4gY2hhbm5lbCBpcyBwYXNzZWQgc2VwYXJhdGVseS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgcHVibGlzaChjaGFubmVsT3JBcmdzLCBwYXlsb2FkQXJnKSB7XG4gICAgY29uc3QgcHVibGlzaEFyZ3MgPSB0eXBlb2YgY2hhbm5lbE9yQXJncyA9PT0gXCJzdHJpbmdcIlxuICAgICAgPyB7Y2hhbm5lbDogY2hhbm5lbE9yQXJncywgcGF5bG9hZDogcGF5bG9hZEFyZ31cbiAgICAgIDogLyoqIEB0eXBlIHt7Y2hhbm5lbDogc3RyaW5nLCBwYXlsb2FkOiBhbnl9fSAqLyAoY2hhbm5lbE9yQXJncylcbiAgICBjb25zdCBjaGFubmVsID0gcHVibGlzaEFyZ3MuY2hhbm5lbFxuICAgIGNvbnN0IHBheWxvYWQgPSBwdWJsaXNoQXJncy5wYXlsb2FkXG5cbiAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgdGhpcy5oYW5kbGVycykge1xuICAgICAgaGFuZGxlci5kaXNwYXRjaFdlYnNvY2tldEV2ZW50KHtjaGFubmVsLCBwYXlsb2FkfSlcbiAgICB9XG4gIH1cbn1cblxuY29uc3Qgd2Vic29ja2V0RXZlbnRzSG9zdCA9IG5ldyBWZWxvY2lvdXNIdHRwU2VydmVyV2Vic29ja2V0RXZlbnRzSG9zdCgpXG5cbmV4cG9ydCBkZWZhdWx0IHdlYnNvY2tldEV2ZW50c0hvc3RcbiJdfQ==
|
|
@@ -5,10 +5,10 @@ export default class VelociousHttpServerWebsocketEvents {
|
|
|
5
5
|
* @param {number} args.workerCount - Worker count.
|
|
6
6
|
*/
|
|
7
7
|
constructor({ parentPort, workerCount }: {
|
|
8
|
-
parentPort: import("worker_threads").MessagePort;
|
|
8
|
+
parentPort: import("node:worker_threads").MessagePort | null;
|
|
9
9
|
workerCount: number;
|
|
10
10
|
});
|
|
11
|
-
parentPort: import("worker_threads").MessagePort;
|
|
11
|
+
parentPort: import("node:worker_threads").MessagePort | null;
|
|
12
12
|
workerCount: number;
|
|
13
13
|
/**
|
|
14
14
|
* @param {string} channel - Channel name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-events.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-events.js"],"names":[],"mappings":"AAEA;IACE;;;;OAIG;IACH,yCAHG;QAAkD,UAAU,EAApD,
|
|
1
|
+
{"version":3,"file":"websocket-events.d.ts","sourceRoot":"","sources":["../../../src/http-server/websocket-events.js"],"names":[],"mappings":"AAEA;IACE;;;;OAIG;IACH,yCAHG;QAAkD,UAAU,EAApD,gDAAmC;QACtB,WAAW,EAAxB,MAAM;KAChB,EAIA;IAFC,6DAA4B;IAC5B,oBAA8B;IAGhC;;;;OAIG;IACH,iBAJW,MAAM,WACN,GAAG,GACD,IAAI,CAOhB;CACF"}
|
|
@@ -17,7 +17,9 @@ export default class VelociousHttpServerWebsocketEvents {
|
|
|
17
17
|
publish(channel, payload) {
|
|
18
18
|
if (!channel)
|
|
19
19
|
throw new Error("channel is required");
|
|
20
|
+
if (!this.parentPort)
|
|
21
|
+
throw new Error("parentPort is required");
|
|
20
22
|
this.parentPort.postMessage({ channel, command: "websocketPublish", payload, workerCount: this.workerCount });
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWV2ZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci93ZWJzb2NrZXQtZXZlbnRzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixNQUFNLENBQUMsT0FBTyxPQUFPLGtDQUFrQztJQUNyRDs7OztPQUlHO0lBQ0gsWUFBWSxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU87UUFDdEIsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRS9ELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUMsQ0FBQyxDQUFBO0lBQzdHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNIdHRwU2VydmVyV2Vic29ja2V0RXZlbnRzIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwid29ya2VyX3RocmVhZHNcIikucGFyZW50UG9ydH0gYXJncy5wYXJlbnRQb3J0IC0gUGFyZW50IHBvcnQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBhcmdzLndvcmtlckNvdW50IC0gV29ya2VyIGNvdW50LlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe3BhcmVudFBvcnQsIHdvcmtlckNvdW50fSkge1xuICAgIHRoaXMucGFyZW50UG9ydCA9IHBhcmVudFBvcnRcbiAgICB0aGlzLndvcmtlckNvdW50ID0gd29ya2VyQ291bnRcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbCAtIENoYW5uZWwgbmFtZS5cbiAgICogQHBhcmFtIHthbnl9IHBheWxvYWQgLSBQYXlsb2FkIGRhdGEuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHB1Ymxpc2goY2hhbm5lbCwgcGF5bG9hZCkge1xuICAgIGlmICghY2hhbm5lbCkgdGhyb3cgbmV3IEVycm9yKFwiY2hhbm5lbCBpcyByZXF1aXJlZFwiKVxuICAgIGlmICghdGhpcy5wYXJlbnRQb3J0KSB0aHJvdyBuZXcgRXJyb3IoXCJwYXJlbnRQb3J0IGlzIHJlcXVpcmVkXCIpXG5cbiAgICB0aGlzLnBhcmVudFBvcnQucG9zdE1lc3NhZ2Uoe2NoYW5uZWwsIGNvbW1hbmQ6IFwid2Vic29ja2V0UHVibGlzaFwiLCBwYXlsb2FkLCB3b3JrZXJDb3VudDogdGhpcy53b3JrZXJDb3VudH0pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -16,9 +16,9 @@ export default class VelociousHttpServerWorker {
|
|
|
16
16
|
unregisterFromEventsHost: () => void;
|
|
17
17
|
_stopping: boolean;
|
|
18
18
|
start(): Promise<any>;
|
|
19
|
-
onStartCallback: (value: any) => void;
|
|
19
|
+
onStartCallback: ((value: any) => void) | null | undefined;
|
|
20
20
|
_spawnWorker(): Promise<void>;
|
|
21
|
-
worker: Worker;
|
|
21
|
+
worker: Worker | undefined;
|
|
22
22
|
/**
|
|
23
23
|
* @param {import("../server-client.js").default} client - Client instance.
|
|
24
24
|
* @returns {void} - No return value.
|
|
@@ -33,8 +33,8 @@ export default class VelociousHttpServerWorker {
|
|
|
33
33
|
* @returns {void} - No return value.
|
|
34
34
|
*/
|
|
35
35
|
onWorkerExit: (code: number) => void;
|
|
36
|
-
_hasExited: boolean;
|
|
37
|
-
_stopResolve: (value: void | PromiseLike<void>) => void;
|
|
36
|
+
_hasExited: boolean | undefined;
|
|
37
|
+
_stopResolve: ((value: void | PromiseLike<void>) => void) | null | undefined;
|
|
38
38
|
/**
|
|
39
39
|
* @returns {void} - No return value.
|
|
40
40
|
*/
|
|
@@ -50,9 +50,9 @@ export default class VelociousHttpServerWorker {
|
|
|
50
50
|
*/
|
|
51
51
|
onWorkerMessage: (data: {
|
|
52
52
|
command: string;
|
|
53
|
-
clientCount?: number;
|
|
54
|
-
output?: string | Uint8Array;
|
|
55
|
-
channel?: string;
|
|
53
|
+
clientCount?: number | undefined;
|
|
54
|
+
output?: string | Uint8Array<ArrayBufferLike> | undefined;
|
|
55
|
+
channel?: string | undefined;
|
|
56
56
|
payload?: any;
|
|
57
57
|
}) => void;
|
|
58
58
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http-server/worker-handler/index.js"],"names":[],"mappings":"AAmCA;IACE;;;;OAIG;IACH,4CAHG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;QAC3B,WAAW,EAAxB,MAAM;KAChB,EAWA;IATC,wDAAkC;IAElC,oEAAoE;IACpE,SADW,MAAM,CAAC,MAAM,EAAE,OAAO,qBAAqB,EAAE,OAAO,CAAC,CAC/C;IAEjB,eAA8B;IAC9B,oBAA8B;IAC9B,qCAAkE;IAClE,mBAAsB;IAGxB,sBAKC;IAHG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http-server/worker-handler/index.js"],"names":[],"mappings":"AAmCA;IACE;;;;OAIG;IACH,4CAHG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;QAC3B,WAAW,EAAxB,MAAM;KAChB,EAWA;IATC,wDAAkC;IAElC,oEAAoE;IACpE,SADW,MAAM,CAAC,MAAM,EAAE,OAAO,qBAAqB,EAAE,OAAO,CAAC,CAC/C;IAEjB,eAA8B;IAC9B,oBAA8B;IAC9B,qCAAkE;IAClE,mBAAsB;IAGxB,sBAKC;IAHG,2DAA8B;IAKlC,8BAgBC;IAXC,2BAOE;IAMJ;;;OAGG;IACH,4BAHW,OAAO,qBAAqB,EAAE,OAAO,GACnC,IAAI,CAYhB;IAED;;OAEG;IACH,gBAAiB,OAFN,GAEW,WAIrB;IAED;;;OAGG;IACH,eAAgB,MAHL,MAGS,KAFP,IAAI,CAgBhB;IAbC,gCAAsB;IAYtB,6EAAwB;IAG1B;;OAEG;IACH,oBAFa,IAAI,CAahB;IAED;;;;;;;;OAQG;IACH,kBAAmB,MAPhB;QAAqB,OAAO,EAApB,MAAM;QACQ,WAAW;QACE,MAAM;QACnB,OAAO;QACV,OAAO,GAAlB,GAAG;KAGS,KAFV,IAAI,CAqEhB;IAED;;OAEG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CAezB;IAED;;;;;OAKG;IACH,6CAJG;QAAqB,OAAO,EAApB,MAAM;QACI,OAAO,EAAjB,GAAG;KACX,GAAU,IAAI,CAOhB;CACF;mBArPkB,iBAAiB;uBACf,gBAAgB"}
|