velocious 1.0.147 → 1.0.148
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 +15 -0
- package/build/src/application.d.ts +25 -16
- package/build/src/application.d.ts.map +1 -1
- package/build/src/application.js +17 -17
- package/build/src/cli/base-command.d.ts +26 -14
- package/build/src/cli/base-command.d.ts.map +1 -1
- package/build/src/cli/base-command.js +13 -13
- package/build/src/cli/browser-cli.d.ts +5 -5
- package/build/src/cli/browser-cli.js +6 -6
- package/build/src/cli/commands/db/create.d.ts +4 -4
- package/build/src/cli/commands/db/create.js +5 -5
- 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/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/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 +11 -11
- package/build/src/cli/index.d.ts.map +1 -1
- package/build/src/cli/index.js +9 -9
- package/build/src/cli/use-browser-cli.d.ts +2 -2
- package/build/src/cli/use-browser-cli.js +3 -3
- package/build/src/configuration-resolver.d.ts +2 -2
- package/build/src/configuration-resolver.js +3 -3
- package/build/src/configuration-types.d.ts +149 -44
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +43 -43
- package/build/src/configuration.d.ts +75 -59
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +68 -56
- package/build/src/controller.d.ts +29 -29
- package/build/src/controller.d.ts.map +1 -1
- package/build/src/controller.js +28 -28
- package/build/src/database/drivers/base-column.d.ts +15 -15
- package/build/src/database/drivers/base-column.d.ts.map +1 -1
- package/build/src/database/drivers/base-column.js +15 -15
- package/build/src/database/drivers/base-columns-index.d.ts +10 -10
- package/build/src/database/drivers/base-columns-index.js +11 -11
- package/build/src/database/drivers/base-foreign-key.d.ts +12 -12
- package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/base-foreign-key.js +11 -11
- package/build/src/database/drivers/base-table.d.ts +15 -15
- package/build/src/database/drivers/base-table.d.ts.map +1 -1
- package/build/src/database/drivers/base-table.js +15 -15
- package/build/src/database/drivers/base.d.ts +186 -132
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +143 -143
- package/build/src/database/drivers/mssql/column.d.ts +5 -4
- package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/column.js +3 -3
- package/build/src/database/drivers/mssql/connect-connection.d.ts +6 -1
- package/build/src/database/drivers/mssql/connect-connection.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/connect-connection.js +6 -2
- package/build/src/database/drivers/mssql/index.d.ts +5 -15
- package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.js +57 -57
- package/build/src/database/drivers/mssql/options.d.ts +2 -2
- package/build/src/database/drivers/mssql/options.js +13 -13
- package/build/src/database/drivers/mssql/sql/create-database.js +5 -5
- package/build/src/database/drivers/mssql/structure-sql.d.ts +6 -6
- package/build/src/database/drivers/mssql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/structure-sql.js +23 -15
- package/build/src/database/drivers/mssql/table.d.ts +4 -5
- package/build/src/database/drivers/mssql/table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/table.js +7 -6
- package/build/src/database/drivers/mysql/column.d.ts +5 -4
- package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/column.js +3 -3
- package/build/src/database/drivers/mysql/index.d.ts +8 -8
- package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.js +45 -45
- package/build/src/database/drivers/mysql/options.d.ts +2 -2
- package/build/src/database/drivers/mysql/options.js +5 -5
- package/build/src/database/drivers/mysql/query.d.ts +4 -4
- package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query.js +5 -5
- package/build/src/database/drivers/mysql/structure-sql.d.ts +7 -7
- package/build/src/database/drivers/mysql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/structure-sql.js +12 -10
- package/build/src/database/drivers/mysql/table.d.ts +4 -5
- package/build/src/database/drivers/mysql/table.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/table.js +5 -4
- package/build/src/database/drivers/pgsql/column.d.ts +5 -4
- package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/column.js +3 -3
- package/build/src/database/drivers/pgsql/index.d.ts +1 -6
- package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.js +31 -31
- package/build/src/database/drivers/pgsql/options.d.ts +3 -3
- package/build/src/database/drivers/pgsql/options.js +4 -4
- package/build/src/database/drivers/pgsql/structure-sql.d.ts +6 -6
- package/build/src/database/drivers/pgsql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/structure-sql.js +21 -14
- package/build/src/database/drivers/pgsql/table.d.ts +4 -5
- package/build/src/database/drivers/pgsql/table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/table.js +4 -3
- package/build/src/database/drivers/sqlite/base.d.ts +22 -20
- package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/base.js +55 -55
- package/build/src/database/drivers/sqlite/column.d.ts +7 -6
- package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/column.js +5 -5
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +5 -5
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/connection-sql-js.js +5 -5
- package/build/src/database/drivers/sqlite/foreign-key.d.ts +4 -4
- package/build/src/database/drivers/sqlite/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/foreign-key.js +4 -4
- package/build/src/database/drivers/sqlite/index.js +3 -3
- package/build/src/database/drivers/sqlite/index.web.d.ts +9 -2
- package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.web.js +8 -5
- package/build/src/database/drivers/sqlite/options.d.ts +3 -3
- package/build/src/database/drivers/sqlite/options.js +4 -4
- package/build/src/database/drivers/sqlite/query.d.ts +4 -4
- package/build/src/database/drivers/sqlite/query.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.js +5 -5
- package/build/src/database/drivers/sqlite/query.native.d.ts +9 -1
- package/build/src/database/drivers/sqlite/query.native.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.native.js +7 -1
- package/build/src/database/drivers/sqlite/query.web.d.ts +4 -4
- package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.web.js +5 -5
- package/build/src/database/drivers/sqlite/sql/alter-table.js +5 -5
- package/build/src/database/drivers/sqlite/structure-sql.d.ts +3 -3
- package/build/src/database/drivers/sqlite/structure-sql.js +5 -5
- package/build/src/database/drivers/sqlite/table.d.ts +7 -8
- package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table.js +10 -9
- package/build/src/database/drivers/structure-sql/utils.d.ts +8 -8
- package/build/src/database/drivers/structure-sql/utils.js +9 -9
- package/build/src/database/handler.d.ts +1 -1
- package/build/src/database/handler.js +2 -2
- package/build/src/database/initializer-from-require-context.d.ts +5 -5
- package/build/src/database/initializer-from-require-context.js +6 -6
- package/build/src/database/migration/index.d.ts +98 -62
- package/build/src/database/migration/index.d.ts.map +1 -1
- package/build/src/database/migration/index.js +74 -74
- package/build/src/database/migrator/files-finder.d.ts +3 -3
- package/build/src/database/migrator/files-finder.js +4 -4
- package/build/src/database/migrator/types.d.ts +12 -0
- package/build/src/database/migrator/types.d.ts.map +1 -1
- package/build/src/database/migrator/types.js +1 -1
- package/build/src/database/migrator.d.ts +24 -24
- package/build/src/database/migrator.d.ts.map +1 -1
- package/build/src/database/migrator.js +25 -25
- package/build/src/database/pool/async-tracked-multi-connection.d.ts +8 -8
- package/build/src/database/pool/async-tracked-multi-connection.js +18 -18
- package/build/src/database/pool/base-methods-forward.d.ts +2 -2
- package/build/src/database/pool/base-methods-forward.js +3 -3
- package/build/src/database/pool/base.d.ts +19 -19
- package/build/src/database/pool/base.js +20 -20
- package/build/src/database/pool/single-multi-use.js +6 -6
- package/build/src/database/query/alter-table-base.d.ts +3 -3
- package/build/src/database/query/alter-table-base.js +5 -5
- package/build/src/database/query/base.d.ts +5 -5
- package/build/src/database/query/base.d.ts.map +1 -1
- package/build/src/database/query/base.js +6 -6
- package/build/src/database/query/create-database-base.d.ts +11 -2
- package/build/src/database/query/create-database-base.d.ts.map +1 -1
- package/build/src/database/query/create-database-base.js +6 -6
- package/build/src/database/query/create-index-base.d.ts +25 -7
- package/build/src/database/query/create-index-base.d.ts.map +1 -1
- package/build/src/database/query/create-index-base.js +9 -9
- package/build/src/database/query/create-table-base.d.ts +6 -6
- package/build/src/database/query/create-table-base.js +7 -7
- package/build/src/database/query/delete-base.d.ts +6 -6
- package/build/src/database/query/delete-base.d.ts.map +1 -1
- package/build/src/database/query/delete-base.js +5 -5
- package/build/src/database/query/drop-table-base.d.ts +5 -5
- package/build/src/database/query/drop-table-base.js +7 -7
- package/build/src/database/query/from-base.d.ts +4 -4
- package/build/src/database/query/from-base.js +5 -5
- package/build/src/database/query/from-plain.d.ts +1 -1
- package/build/src/database/query/from-plain.js +2 -2
- package/build/src/database/query/from-table.d.ts +1 -1
- package/build/src/database/query/from-table.js +2 -2
- package/build/src/database/query/index.d.ts +88 -48
- package/build/src/database/query/index.d.ts.map +1 -1
- package/build/src/database/query/index.js +46 -46
- package/build/src/database/query/insert-base.d.ts +16 -16
- package/build/src/database/query/insert-base.d.ts.map +1 -1
- package/build/src/database/query/insert-base.js +12 -12
- package/build/src/database/query/join-base.d.ts +4 -4
- package/build/src/database/query/join-base.js +5 -5
- package/build/src/database/query/join-object.d.ts +6 -6
- package/build/src/database/query/join-object.js +7 -7
- package/build/src/database/query/join-plain.d.ts +1 -1
- package/build/src/database/query/join-plain.js +2 -2
- package/build/src/database/query/model-class-query.d.ts +28 -28
- package/build/src/database/query/model-class-query.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.js +25 -25
- package/build/src/database/query/order-base.d.ts +4 -4
- package/build/src/database/query/order-base.js +5 -5
- package/build/src/database/query/order-plain.d.ts +2 -2
- package/build/src/database/query/order-plain.js +3 -3
- package/build/src/database/query/preloader/belongs-to.d.ts +3 -3
- package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
- package/build/src/database/query/preloader/belongs-to.js +15 -13
- package/build/src/database/query/preloader/has-many.d.ts +3 -3
- package/build/src/database/query/preloader/has-many.js +7 -7
- package/build/src/database/query/preloader/has-one.d.ts +3 -3
- package/build/src/database/query/preloader/has-one.js +7 -7
- package/build/src/database/query/preloader.d.ts +6 -6
- package/build/src/database/query/preloader.d.ts.map +1 -1
- package/build/src/database/query/preloader.js +5 -5
- package/build/src/database/query/select-base.d.ts +3 -3
- package/build/src/database/query/select-base.js +4 -4
- package/build/src/database/query/select-plain.d.ts +1 -1
- package/build/src/database/query/select-plain.js +2 -2
- package/build/src/database/query/select-table-and-column.d.ts +2 -2
- package/build/src/database/query/select-table-and-column.js +3 -3
- package/build/src/database/query/update-base.d.ts +10 -10
- package/build/src/database/query/update-base.d.ts.map +1 -1
- package/build/src/database/query/update-base.js +7 -7
- package/build/src/database/query/where-base.d.ts +4 -4
- package/build/src/database/query/where-base.js +5 -5
- package/build/src/database/query/where-hash.d.ts +8 -8
- package/build/src/database/query/where-hash.d.ts.map +1 -1
- package/build/src/database/query/where-hash.js +9 -9
- package/build/src/database/query/where-plain.d.ts +2 -2
- package/build/src/database/query/where-plain.js +3 -3
- package/build/src/database/query-parser/base-query-parser.d.ts +3 -3
- package/build/src/database/query-parser/base-query-parser.js +4 -4
- package/build/src/database/query-parser/from-parser.d.ts +4 -4
- package/build/src/database/query-parser/from-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/from-parser.js +5 -5
- package/build/src/database/query-parser/group-parser.d.ts +4 -4
- package/build/src/database/query-parser/group-parser.js +5 -5
- package/build/src/database/query-parser/joins-parser.d.ts +3 -3
- package/build/src/database/query-parser/joins-parser.js +4 -4
- package/build/src/database/query-parser/limit-parser.d.ts +3 -3
- package/build/src/database/query-parser/limit-parser.js +4 -4
- package/build/src/database/query-parser/options.d.ts +35 -20
- package/build/src/database/query-parser/options.d.ts.map +1 -1
- package/build/src/database/query-parser/options.js +19 -19
- package/build/src/database/query-parser/order-parser.d.ts +3 -3
- package/build/src/database/query-parser/order-parser.js +4 -4
- package/build/src/database/query-parser/select-parser.d.ts +3 -3
- package/build/src/database/query-parser/select-parser.js +4 -4
- package/build/src/database/query-parser/where-parser.d.ts +3 -3
- package/build/src/database/query-parser/where-parser.js +4 -4
- package/build/src/database/record/index.d.ts +197 -186
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +190 -169
- package/build/src/database/record/instance-relationships/base.d.ts +21 -15
- package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/base.js +15 -15
- package/build/src/database/record/instance-relationships/belongs-to.d.ts +3 -3
- package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/belongs-to.js +4 -4
- package/build/src/database/record/instance-relationships/has-many.d.ts +21 -15
- package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-many.js +23 -17
- package/build/src/database/record/instance-relationships/has-one.d.ts +4 -4
- package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-one.js +7 -7
- package/build/src/database/record/relationships/base.d.ts +48 -15
- package/build/src/database/record/relationships/base.d.ts.map +1 -1
- package/build/src/database/record/relationships/base.js +16 -16
- package/build/src/database/record/relationships/belongs-to.js +3 -3
- package/build/src/database/record/relationships/has-many.js +3 -3
- package/build/src/database/record/relationships/has-one.js +3 -3
- package/build/src/database/record/user-module.d.ts +3 -3
- package/build/src/database/record/user-module.js +4 -4
- package/build/src/database/record/validators/base.d.ts +9 -9
- package/build/src/database/record/validators/base.d.ts.map +1 -1
- package/build/src/database/record/validators/base.js +8 -8
- package/build/src/database/record/validators/presence.d.ts.map +1 -1
- package/build/src/database/record/validators/presence.js +6 -5
- package/build/src/database/record/validators/uniqueness.js +7 -7
- package/build/src/database/table-data/index.d.ts +53 -50
- package/build/src/database/table-data/index.d.ts.map +1 -1
- package/build/src/database/table-data/index.js +51 -51
- package/build/src/database/table-data/table-column.d.ts +84 -51
- package/build/src/database/table-data/table-column.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.js +57 -56
- package/build/src/database/table-data/table-foreign-key.d.ts +15 -15
- package/build/src/database/table-data/table-foreign-key.js +16 -16
- package/build/src/database/table-data/table-index.d.ts +13 -7
- package/build/src/database/table-data/table-index.d.ts.map +1 -1
- package/build/src/database/table-data/table-index.js +8 -8
- package/build/src/database/table-data/table-reference.d.ts +2 -2
- package/build/src/database/table-data/table-reference.js +3 -3
- package/build/src/database/use-database.d.ts +3 -3
- package/build/src/database/use-database.js +4 -4
- package/build/src/environment-handlers/base.d.ts +84 -66
- package/build/src/environment-handlers/base.d.ts.map +1 -1
- package/build/src/environment-handlers/base.js +58 -58
- package/build/src/environment-handlers/browser.d.ts +9 -9
- package/build/src/environment-handlers/browser.d.ts.map +1 -1
- package/build/src/environment-handlers/browser.js +18 -18
- package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/destroy/migration.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +4 -4
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +11 -11
- package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/migration.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/model.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/init.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/init.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts +5 -5
- package/build/src/environment-handlers/node/cli/commands/routes.js +6 -6
- package/build/src/environment-handlers/node/cli/commands/server.js +3 -3
- package/build/src/environment-handlers/node.d.ts +5 -40
- package/build/src/environment-handlers/node.d.ts.map +1 -1
- package/build/src/environment-handlers/node.js +46 -46
- package/build/src/error-logger.d.ts +3 -3
- package/build/src/error-logger.d.ts.map +1 -1
- package/build/src/error-logger.js +5 -5
- package/build/src/http-client/header.d.ts +2 -2
- package/build/src/http-client/header.js +3 -3
- package/build/src/http-client/index.d.ts +10 -10
- package/build/src/http-client/index.d.ts.map +1 -1
- package/build/src/http-client/index.js +11 -11
- package/build/src/http-client/request.d.ts +14 -14
- package/build/src/http-client/request.js +15 -15
- package/build/src/http-client/response.d.ts +7 -7
- package/build/src/http-client/response.d.ts.map +1 -1
- package/build/src/http-client/response.js +8 -8
- package/build/src/http-client/websocket-client.d.ts +28 -28
- package/build/src/http-client/websocket-client.d.ts.map +1 -1
- package/build/src/http-client/websocket-client.js +26 -26
- package/build/src/http-server/client/index.d.ts +13 -13
- package/build/src/http-server/client/index.d.ts.map +1 -1
- package/build/src/http-server/client/index.js +14 -14
- package/build/src/http-server/client/params-to-object.d.ts +15 -15
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +17 -13
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts +7 -7
- package/build/src/http-server/client/request-buffer/form-data-part.js +8 -8
- package/build/src/http-server/client/request-buffer/header.d.ts +2 -2
- package/build/src/http-server/client/request-buffer/header.js +3 -3
- package/build/src/http-server/client/request-buffer/index.d.ts +20 -20
- package/build/src/http-server/client/request-buffer/index.js +22 -22
- package/build/src/http-server/client/request-parser.d.ts +21 -20
- package/build/src/http-server/client/request-parser.d.ts.map +1 -1
- package/build/src/http-server/client/request-parser.js +22 -21
- package/build/src/http-server/client/request-runner.d.ts +6 -6
- package/build/src/http-server/client/request-runner.d.ts.map +1 -1
- package/build/src/http-server/client/request-runner.js +17 -4
- package/build/src/http-server/client/request.d.ts +9 -8
- package/build/src/http-server/client/request.d.ts.map +1 -1
- package/build/src/http-server/client/request.js +9 -8
- package/build/src/http-server/client/response.d.ts +17 -17
- package/build/src/http-server/client/response.js +18 -18
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts +6 -6
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.js +9 -9
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts +6 -6
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.js +9 -9
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +7 -7
- package/build/src/http-server/client/uploaded-file/uploaded-file.js +8 -8
- package/build/src/http-server/client/websocket-request.d.ts +17 -13
- package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.js +10 -10
- package/build/src/http-server/client/websocket-session.d.ts +26 -26
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-session.js +27 -27
- package/build/src/http-server/index.d.ts +19 -19
- package/build/src/http-server/index.d.ts.map +1 -1
- package/build/src/http-server/index.js +20 -20
- package/build/src/http-server/server-client.d.ts +13 -13
- package/build/src/http-server/server-client.d.ts.map +1 -1
- package/build/src/http-server/server-client.js +14 -14
- package/build/src/http-server/websocket-events-host.d.ts +7 -7
- package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
- package/build/src/http-server/websocket-events-host.js +7 -7
- package/build/src/http-server/websocket-events.d.ts +7 -7
- package/build/src/http-server/websocket-events.d.ts.map +1 -1
- package/build/src/http-server/websocket-events.js +7 -7
- package/build/src/http-server/worker-handler/index.d.ts +22 -22
- package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/index.js +20 -20
- package/build/src/http-server/worker-handler/worker-thread.d.ts +17 -17
- package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/worker-thread.js +16 -16
- package/build/src/initializer.d.ts +6 -6
- package/build/src/initializer.js +7 -7
- package/build/src/logger.d.ts +38 -34
- package/build/src/logger.d.ts.map +1 -1
- package/build/src/logger.js +53 -47
- package/build/src/routes/app-routes.d.ts +2 -2
- package/build/src/routes/app-routes.js +3 -3
- package/build/src/routes/base-route.d.ts +22 -22
- package/build/src/routes/base-route.d.ts.map +1 -1
- package/build/src/routes/base-route.js +21 -21
- package/build/src/routes/basic-route.d.ts +3 -3
- package/build/src/routes/basic-route.js +15 -15
- package/build/src/routes/get-route.d.ts +2 -2
- package/build/src/routes/get-route.js +8 -8
- package/build/src/routes/index.d.ts +2 -2
- package/build/src/routes/index.js +3 -3
- package/build/src/routes/namespace-route.d.ts +2 -2
- package/build/src/routes/namespace-route.js +8 -8
- package/build/src/routes/post-route.d.ts +2 -2
- package/build/src/routes/post-route.js +8 -8
- package/build/src/routes/resolver.d.ts +21 -19
- package/build/src/routes/resolver.d.ts.map +1 -1
- package/build/src/routes/resolver.js +48 -26
- package/build/src/routes/resource-route.d.ts +6 -6
- package/build/src/routes/resource-route.js +12 -12
- package/build/src/testing/format-value.d.ts +6 -6
- package/build/src/testing/format-value.d.ts.map +1 -1
- package/build/src/testing/format-value.js +11 -11
- package/build/src/testing/request-client.d.ts +10 -10
- package/build/src/testing/request-client.d.ts.map +1 -1
- package/build/src/testing/request-client.js +11 -11
- package/build/src/testing/test-files-finder.d.ts +16 -16
- package/build/src/testing/test-files-finder.js +17 -17
- package/build/src/testing/test-runner.d.ts +78 -39
- package/build/src/testing/test-runner.d.ts.map +1 -1
- package/build/src/testing/test-runner.js +40 -40
- package/build/src/testing/test.d.ts +61 -61
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +77 -56
- package/build/src/utils/backtrace-cleaner.d.ts +4 -4
- package/build/src/utils/backtrace-cleaner.js +5 -5
- package/build/src/utils/ensure-error.d.ts +3 -3
- package/build/src/utils/ensure-error.d.ts.map +1 -1
- package/build/src/utils/ensure-error.js +3 -3
- package/build/src/utils/file-exists.d.ts +2 -2
- package/build/src/utils/file-exists.js +3 -3
- package/build/src/utils/nest-callbacks.d.ts +3 -3
- package/build/src/utils/nest-callbacks.js +4 -4
- package/build/src/utils/rest-args-error.d.ts +2 -2
- package/build/src/utils/rest-args-error.js +3 -3
- package/build/src/utils/singularize-model-name.d.ts +2 -2
- package/build/src/utils/singularize-model-name.js +3 -3
- package/build/src/utils/with-tracked-stack-async-hooks.d.ts +4 -4
- 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 -5
- package/build/src/utils/with-tracked-stack.d.ts +5 -4
- package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack.js +12 -18
- package/package.json +1 -1
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import Header from "./header.js";
|
|
3
3
|
export default class Request {
|
|
4
4
|
/**
|
|
5
|
-
* @param {object} args
|
|
6
|
-
* @param {string} [args.body]
|
|
7
|
-
* @param {string} args.method
|
|
8
|
-
* @param {Header[]} args.headers
|
|
9
|
-
* @param {string} args.path
|
|
10
|
-
* @param {string} args.version
|
|
5
|
+
* @param {object} args - Options object.
|
|
6
|
+
* @param {string} [args.body] - Request body.
|
|
7
|
+
* @param {string} args.method - HTTP method.
|
|
8
|
+
* @param {Header[]} args.headers - Header list.
|
|
9
|
+
* @param {string} args.path - Path.
|
|
10
|
+
* @param {string} args.version - Version.
|
|
11
11
|
*/
|
|
12
12
|
constructor({ body, method = "GET", headers = [], path, version = "1.1" }) {
|
|
13
13
|
this.body = body;
|
|
@@ -24,8 +24,8 @@ export default class Request {
|
|
|
24
24
|
return requestString;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
* @param {string} name
|
|
28
|
-
* @returns {Header} -
|
|
27
|
+
* @param {string} name - Name.
|
|
28
|
+
* @returns {Header} - The header.
|
|
29
29
|
*/
|
|
30
30
|
getHeader(name) {
|
|
31
31
|
const compareName = name.toLowerCase().trim();
|
|
@@ -38,15 +38,15 @@ export default class Request {
|
|
|
38
38
|
throw new Error(`Header ${name} not found`);
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
* @param {string} name
|
|
42
|
-
* @param {string | number} value
|
|
43
|
-
* @returns {void} -
|
|
41
|
+
* @param {string} name - Name.
|
|
42
|
+
* @param {string | number} value - Value to use.
|
|
43
|
+
* @returns {void} - No return value.
|
|
44
44
|
*/
|
|
45
45
|
addHeader(name, value) {
|
|
46
46
|
this.headers.push(new Header(name, value));
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
* @returns {void} -
|
|
49
|
+
* @returns {void} - No return value.
|
|
50
50
|
*/
|
|
51
51
|
prepare() {
|
|
52
52
|
if (this.body) {
|
|
@@ -54,8 +54,8 @@ export default class Request {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
|
-
* @param {function(string) : void} callback
|
|
58
|
-
* @returns {void} -
|
|
57
|
+
* @param {function(string) : void} callback - Callback function.
|
|
58
|
+
* @returns {void} - No return value.
|
|
59
59
|
*/
|
|
60
60
|
stream(callback) {
|
|
61
61
|
this.prepare();
|
|
@@ -70,4 +70,4 @@ export default class Request {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLWNsaWVudC9yZXF1ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFFaEMsTUFBTSxDQUFDLE9BQU8sT0FBTyxPQUFPO0lBQzFCOzs7Ozs7O09BT0c7SUFDSCxZQUFZLEVBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsT0FBTyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxHQUFHLEtBQUssRUFBQztRQUNyRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtJQUN4QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQTtRQUV0QixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEIsYUFBYSxJQUFJLEtBQUssQ0FBQTtRQUN4QixDQUFDLENBQUMsQ0FBQTtRQUVGLE9BQU8sYUFBYSxDQUFBO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsSUFBSTtRQUNaLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUU3QyxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUUvRCxJQUFJLFdBQVcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO2dCQUNyQyxPQUFPLE1BQU0sQ0FBQTtZQUNmLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksWUFBWSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRWQsTUFBTSxhQUFhLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLE9BQU8sTUFBTSxDQUFBO1FBRTVFLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUV2QixLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3RDLENBQUM7UUFFRCxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEhlYWRlciBmcm9tIFwiLi9oZWFkZXIuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5ib2R5XSAtIFJlcXVlc3QgYm9keS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MubWV0aG9kIC0gSFRUUCBtZXRob2QuXG4gICAqIEBwYXJhbSB7SGVhZGVyW119IGFyZ3MuaGVhZGVycyAtIEhlYWRlciBsaXN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5wYXRoIC0gUGF0aC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MudmVyc2lvbiAtIFZlcnNpb24uXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Ym9keSwgbWV0aG9kID0gXCJHRVRcIiwgaGVhZGVycyA9IFtdLCBwYXRoLCB2ZXJzaW9uID0gXCIxLjFcIn0pIHtcbiAgICB0aGlzLmJvZHkgPSBib2R5XG4gICAgdGhpcy5oZWFkZXJzID0gaGVhZGVyc1xuICAgIHRoaXMubWV0aG9kID0gbWV0aG9kXG4gICAgdGhpcy5wYXRoID0gcGF0aFxuICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb25cbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGxldCByZXF1ZXN0U3RyaW5nID0gXCJcIlxuXG4gICAgdGhpcy5zdHJlYW0oKGNodW5rKSA9PiB7XG4gICAgICByZXF1ZXN0U3RyaW5nICs9IGNodW5rXG4gICAgfSlcblxuICAgIHJldHVybiByZXF1ZXN0U3RyaW5nXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lLlxuICAgKiBAcmV0dXJucyB7SGVhZGVyfSAtIFRoZSBoZWFkZXIuXG4gICAqL1xuICBnZXRIZWFkZXIobmFtZSkge1xuICAgIGNvbnN0IGNvbXBhcmVOYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpLnRyaW0oKVxuXG4gICAgZm9yIChjb25zdCBoZWFkZXIgb2YgdGhpcy5oZWFkZXJzKSB7XG4gICAgICBjb25zdCBoZWFkZXJDb21wYXJlTmFtZSA9IGhlYWRlci5nZXROYW1lKCkudG9Mb3dlckNhc2UoKS50cmltKClcblxuICAgICAgaWYgKGNvbXBhcmVOYW1lID09IGhlYWRlckNvbXBhcmVOYW1lKSB7XG4gICAgICAgIHJldHVybiBoZWFkZXJcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYEhlYWRlciAke25hbWV9IG5vdCBmb3VuZGApXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lLlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlcn0gdmFsdWUgLSBWYWx1ZSB0byB1c2UuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIGFkZEhlYWRlcihuYW1lLCB2YWx1ZSkge1xuICAgIHRoaXMuaGVhZGVycy5wdXNoKG5ldyBIZWFkZXIobmFtZSwgdmFsdWUpKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHByZXBhcmUoKSB7XG4gICAgaWYgKHRoaXMuYm9keSkge1xuICAgICAgdGhpcy5hZGRIZWFkZXIoXCJDb250ZW50LUxlbmd0aFwiLCBCdWZmZXIuZnJvbSh0aGlzLmJvZHkpLmJ5dGVMZW5ndGgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oc3RyaW5nKSA6IHZvaWR9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHN0cmVhbShjYWxsYmFjaykge1xuICAgIHRoaXMucHJlcGFyZSgpXG5cbiAgICBjb25zdCByZXF1ZXN0U3RyaW5nID0gYCR7dGhpcy5tZXRob2R9ICR7dGhpcy5wYXRofSBIVFRQLyR7dGhpcy52ZXJzaW9ufVxcclxcbmBcblxuICAgIGNhbGxiYWNrKHJlcXVlc3RTdHJpbmcpXG5cbiAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiB0aGlzLmhlYWRlcnMpIHtcbiAgICAgIGNhbGxiYWNrKGAke2hlYWRlci50b1N0cmluZygpfVxcclxcbmApXG4gICAgfVxuXG4gICAgY2FsbGJhY2soYFxcclxcbmApXG5cbiAgICBpZiAodGhpcy5ib2R5KSB7XG4gICAgICBjYWxsYmFjayh0aGlzLmJvZHkpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export default class Response {
|
|
2
2
|
/**
|
|
3
|
-
* @param {object} args
|
|
4
|
-
* @param {string} args.method
|
|
5
|
-
* @param {function() : void} args.onComplete
|
|
3
|
+
* @param {object} args - Options object.
|
|
4
|
+
* @param {string} args.method - HTTP method.
|
|
5
|
+
* @param {function() : void} args.onComplete - On complete.
|
|
6
6
|
*/
|
|
7
7
|
constructor({ method, onComplete }: {
|
|
8
8
|
method: string;
|
|
@@ -15,11 +15,11 @@ export default class Response {
|
|
|
15
15
|
state: string;
|
|
16
16
|
/** @type {Buffer} */
|
|
17
17
|
response: Buffer;
|
|
18
|
-
/** @param {Buffer} data */
|
|
18
|
+
/** @param {Buffer} data - Response data chunk. */
|
|
19
19
|
feed(data: Buffer): void;
|
|
20
20
|
/**
|
|
21
|
-
* @param {string} name
|
|
22
|
-
* @returns {Header} -
|
|
21
|
+
* @param {string} name - Name.
|
|
22
|
+
* @returns {Header} - The header.
|
|
23
23
|
*/
|
|
24
24
|
getHeader(name: string): Header;
|
|
25
25
|
json(): any;
|
|
@@ -27,7 +27,7 @@ export default class Response {
|
|
|
27
27
|
statusLine: string;
|
|
28
28
|
completeResponse(): void;
|
|
29
29
|
/**
|
|
30
|
-
* @returns {number} -
|
|
30
|
+
* @returns {number} - The content length number.
|
|
31
31
|
*/
|
|
32
32
|
_contentLengthNumber(): number;
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/http-client/response.js"],"names":[],"mappings":"AAIA;IACE;;;;OAIG;IACH,oCAHG;QAAqB,MAAM,EAAnB,MAAM;QACkB,UAAU,EAAlC,MAAa,IAAI;KAC3B,EAaA;IATC,uBAAuB;IACvB,SADW,MAAM,EAAE,CACF;IAEjB,eAAyC;IACzC,kBATsB,IAAI,CASE;IAC5B,cAA0B;IAE1B,qBAAqB;IACrB,UADW,MAAM,CACc;IAGjC,
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/http-client/response.js"],"names":[],"mappings":"AAIA;IACE;;;;OAIG;IACH,oCAHG;QAAqB,MAAM,EAAnB,MAAM;QACkB,UAAU,EAAlC,MAAa,IAAI;KAC3B,EAaA;IATC,uBAAuB;IACvB,SADW,MAAM,EAAE,CACF;IAEjB,eAAyC;IACzC,kBATsB,IAAI,CASE;IAC5B,cAA0B;IAE1B,qBAAqB;IACrB,UADW,MAAM,CACc;IAGjC,kDAAkD;IAClD,WADY,MAAM,QAIjB;IAED;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,CAclB;IAED,YAaC;IAED,mBAsDC;IA3BS,mBAAsB;IA6BhC,yBAGC;IAED;;OAEG;IACH,wBAFa,MAAM,CAalB;CACF;mBAzIkB,aAAa"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import Header from "./header.js";
|
|
3
3
|
export default class Response {
|
|
4
4
|
/**
|
|
5
|
-
* @param {object} args
|
|
6
|
-
* @param {string} args.method
|
|
7
|
-
* @param {function() : void} args.onComplete
|
|
5
|
+
* @param {object} args - Options object.
|
|
6
|
+
* @param {string} args.method - HTTP method.
|
|
7
|
+
* @param {function() : void} args.onComplete - On complete.
|
|
8
8
|
*/
|
|
9
9
|
constructor({ method = "GET", onComplete }) {
|
|
10
10
|
if (!method)
|
|
@@ -17,14 +17,14 @@ export default class Response {
|
|
|
17
17
|
/** @type {Buffer} */
|
|
18
18
|
this.response = Buffer.alloc(0);
|
|
19
19
|
}
|
|
20
|
-
/** @param {Buffer} data */
|
|
20
|
+
/** @param {Buffer} data - Response data chunk. */
|
|
21
21
|
feed(data) {
|
|
22
22
|
this.response = Buffer.concat([this.response, data]);
|
|
23
23
|
this.tryToParse();
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* @param {string} name
|
|
27
|
-
* @returns {Header} -
|
|
26
|
+
* @param {string} name - Name.
|
|
27
|
+
* @returns {Header} - The header.
|
|
28
28
|
*/
|
|
29
29
|
getHeader(name) {
|
|
30
30
|
const compareName = name.toLowerCase().trim();
|
|
@@ -105,7 +105,7 @@ export default class Response {
|
|
|
105
105
|
this.onComplete();
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
|
-
* @returns {number} -
|
|
108
|
+
* @returns {number} - The content length number.
|
|
109
109
|
*/
|
|
110
110
|
_contentLengthNumber() {
|
|
111
111
|
const header = this.headers.find((currentHeader) => currentHeader.getName().toLowerCase() == "content-length");
|
|
@@ -119,4 +119,4 @@ export default class Response {
|
|
|
119
119
|
throw new Error(`Content-Length is not a number: ${contentLengthValue}`);
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvcmVzcG9uc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUVoQyxNQUFNLENBQUMsT0FBTyxPQUFPLFFBQVE7SUFDM0I7Ozs7T0FJRztJQUNILFlBQVksRUFBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLFVBQVUsRUFBQztRQUN0QyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFFL0QsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBRWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFBO1FBRTFCLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixJQUFJLENBQUMsSUFBSTtRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUFJO1FBQ1osTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBRTdDLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFB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SyxRQUFRO1lBQUUsT0FBTyxrQkFBa0IsQ0FBQTtRQUNyRSxJQUFJLE9BQU8sa0JBQWtCLEtBQUssUUFBUTtZQUFFLE9BQU8sUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFL0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgSGVhZGVyIGZyb20gXCIuL2hlYWRlci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLm1ldGhvZFxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCkgOiB2b2lkfSBhcmdzLm9uQ29tcGxldGVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHttZXRob2QgPSBcIkdFVFwiLCBvbkNvbXBsZXRlfSkge1xuICAgIGlmICghbWV0aG9kKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWV0aG9kIGdpdmVuOiAke21ldGhvZH1gKVxuXG4gICAgLyoqIEB0eXBlIHtIZWFkZXJbXX0gKi9cbiAgICB0aGlzLmhlYWRlcnMgPSBbXVxuXG4gICAgdGhpcy5tZXRob2QgPSBtZXRob2QudG9VcHBlckNhc2UoKS50cmltKClcbiAgICB0aGlzLm9uQ29tcGxldGUgPSBvbkNvbXBsZXRlXG4gICAgdGhpcy5zdGF0ZSA9IFwic3RhdHVzLWxpbmVcIlxuXG4gICAgLyoqIEB0eXBlIHtCdWZmZXJ9ICovXG4gICAgdGhpcy5yZXNwb25zZSA9IEJ1ZmZlci5hbGxvYygwKTtcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge0J1ZmZlcn0gZGF0YSAqL1xuICBmZWVkKGRhdGEpIHtcbiAgICB0aGlzLnJlc3BvbnNlID0gQnVmZmVyLmNvbmNhdChbdGhpcy5yZXNwb25zZSwgZGF0YV0pXG4gICAgdGhpcy50cnlUb1BhcnNlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcmV0dXJucyB7SGVhZGVyfSAtIFJlc3VsdC5cbiAgICovXG4gIGdldEhlYWRlcihuYW1lKSB7XG4gICAgY29uc3QgY29tcGFyZU5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCkudHJpbSgpXG5cbiAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiB0aGlzLmhlYWRlcnMpIHtcbiAgICAgIGNvbnN0IGhlYWRlckNvbXBhcmVOYW1lID0gaGVhZGVyLmdldE5hbWUoKS50b0xvd2VyQ2FzZSgpLnRyaW0oKVxuXG4gICAgICBpZiAoY29tcGFyZU5hbWUgPT0gaGVhZGVyQ29tcGFyZU5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGhlYWRlclxuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgSGVhZGVyICR7bmFtZX0gbm90IGZvdW5kYClcbiAgfVxuXG4gIGpzb24oKSB7XG4gICAgY29uc3QgY29udGVudFR5cGVIZWFkZXIgPSB0aGlzLmdldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiKT8uZ2V0VmFsdWUoKVxuXG4gICAgaWYgKHR5cGVvZiBjb250ZW50VHlwZUhlYWRlciAhPSBcInN0cmluZ1wiKSB0aHJvdyBuZXcgRXJyb3IoYENvbnRlbnQtVHlwZSB3YXNuJ3QgYSBzdHJpbmc6ICR7Y29udGVudFR5cGVIZWFkZXJ9YClcblxuICAgIGlmICghY29udGVudFR5cGVIZWFkZXIudG9Mb3dlckNhc2UoKS50cmltKCkuc3RhcnRzV2l0aChcImFwcGxpY2F0aW9uL2pzb25cIikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29udGVudC1UeXBlIGlzIG5vdCBKU09OOiAke2NvbnRlbnRUeXBlSGVhZGVyfWApXG4gICAgfVxuXG4gICAgY29uc3QgYm9keSA9IHRoaXMucmVzcG9uc2UudG9TdHJpbmcoKVxuICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKGJvZHkpXG5cbiAgICByZXR1cm4ganNvblxuICB9XG5cbiAgdHJ5VG9QYXJzZSgpIHtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgaWYgKHRoaXMuc3RhdGUgPT0gXCJib2R5XCIpIHtcbiAgICAgICAgY29uc3QgY29udGVudExlbmd0aE51bWJlciA9IHRoaXMuX2NvbnRlbnRMZW5ndGhOdW1iZXIoKVxuXG4gICAgICAgIGlmICh0aGlzLnJlc3BvbnNlLmJ5dGVMZW5ndGggPj0gY29udGVudExlbmd0aE51bWJlcikge1xuICAgICAgICAgIHRoaXMuY29tcGxldGVSZXNwb25zZSgpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLnJlc3BvbnNlLnRvU3RyaW5nKClcbiAgICAgICAgbGV0IGxpbmVFbmRJbmRleCA9IHJlc3BvbnNlLmluZGV4T2YoXCJcXHJcXG5cIilcbiAgICAgICAgbGV0IGxpbmVFbmRMZW5ndGggPSAyXG5cbiAgICAgICAgaWYgKGxpbmVFbmRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICBsaW5lRW5kSW5kZXggPSByZXNwb25zZS5pbmRleE9mKFwiXFxuXCIpXG4gICAgICAgICAgbGluZUVuZExlbmd0aCA9IDFcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsaW5lRW5kSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgYnJlYWsgLy8gV2UgbmVlZCB0byBnZXQgZmVkIG1vcmUgdG8gY29udGludWUgcmVhZGluZ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGxpbmUgPSByZXNwb25zZS5zdWJzdHJpbmcoMCwgbGluZUVuZEluZGV4KVxuXG4gICAgICAgICAgdGhpcy5yZXNwb25zZSA9IHRoaXMucmVzcG9uc2Uuc2xpY2UobGluZUVuZEluZGV4ICsgbGluZUVuZExlbmd0aClcblxuICAgICAgICAgIGlmICh0aGlzLnN0YXRlID09IFwic3RhdHVzLWxpbmVcIikge1xuICAgICAgICAgICAgdGhpcy5zdGF0dXNMaW5lID0gbGluZVxuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFwiaGVhZGVyc1wiXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlID09IFwiaGVhZGVyc1wiKSB7XG4gICAgICAgICAgICBpZiAobGluZSA9PSBcIlwiKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRMZW5ndGhOdW1iZXIgPSB0aGlzLl9jb250ZW50TGVuZ3RoTnVtYmVyKClcblxuICAgICAgICAgICAgICBpZiAoIWNvbnRlbnRMZW5ndGhOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlUmVzcG9uc2UoKVxuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFwiYm9keVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IGhlYWRlck1hdGNoID0gbGluZS5tYXRjaCgvXiguKz8pOlxccyooLispJC8pXG5cbiAgICAgICAgICAgICAgaWYgKCFoZWFkZXJNYXRjaCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGhlYWRlcjogJHtsaW5lfWApXG5cbiAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gbmV3IEhlYWRlcihoZWFkZXJNYXRjaFsxXSwgaGVhZGVyTWF0Y2hbMl0pXG5cbiAgICAgICAgICAgICAgdGhpcy5oZWFkZXJzLnB1c2goaGVhZGVyKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgc3RhdGU6ICR7dGhpcy5zdGF0ZX1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbXBsZXRlUmVzcG9uc2UoKSB7XG4gICAgdGhpcy5zdGF0ZSA9IFwiZG9uZVwiXG4gICAgdGhpcy5vbkNvbXBsZXRlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSAtIFJlc3VsdC5cbiAgICovXG4gIF9jb250ZW50TGVuZ3RoTnVtYmVyKCkge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuaGVhZGVycy5maW5kKChjdXJyZW50SGVhZGVyKSA9PiBjdXJyZW50SGVhZGVyLmdldE5hbWUoKS50b0xvd2VyQ2FzZSgpID09IFwiY29udGVudC1sZW5ndGhcIilcblxuICAgIGlmICghaGVhZGVyKSByZXR1cm4gMFxuXG4gICAgY29uc3QgY29udGVudExlbmd0aFZhbHVlID0gaGVhZGVyLmdldFZhbHVlKClcblxuICAgIGlmICh0eXBlb2YgY29udGVudExlbmd0aFZhbHVlID09PSBcIm51bWJlclwiKSByZXR1cm4gY29udGVudExlbmd0aFZhbHVlXG4gICAgaWYgKHR5cGVvZiBjb250ZW50TGVuZ3RoVmFsdWUgPT09IFwic3RyaW5nXCIpIHJldHVybiBwYXJzZUludChjb250ZW50TGVuZ3RoVmFsdWUpXG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvbnRlbnQtTGVuZ3RoIGlzIG5vdCBhIG51bWJlcjogJHtjb250ZW50TGVuZ3RoVmFsdWV9YClcbiAgfVxufVxuIl19
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvcmVzcG9uc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUVoQyxNQUFNLENBQUMsT0FBTyxPQUFPLFFBQVE7SUFDM0I7Ozs7T0FJRztJQUNILFlBQVksRUFBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLFVBQVUsRUFBQztRQUN0QyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFFL0QsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBRWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFBO1FBRTFCLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxJQUFJLENBQUMsSUFBSTtRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUFJO1FBQ1osTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1FBRTdDLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFB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SyxRQUFRO1lBQUUsT0FBTyxrQkFBa0IsQ0FBQTtRQUNyRSxJQUFJLE9BQU8sa0JBQWtCLEtBQUssUUFBUTtZQUFFLE9BQU8sUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFL0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgSGVhZGVyIGZyb20gXCIuL2hlYWRlci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLm1ldGhvZCAtIEhUVFAgbWV0aG9kLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKCkgOiB2b2lkfSBhcmdzLm9uQ29tcGxldGUgLSBPbiBjb21wbGV0ZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHttZXRob2QgPSBcIkdFVFwiLCBvbkNvbXBsZXRlfSkge1xuICAgIGlmICghbWV0aG9kKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWV0aG9kIGdpdmVuOiAke21ldGhvZH1gKVxuXG4gICAgLyoqIEB0eXBlIHtIZWFkZXJbXX0gKi9cbiAgICB0aGlzLmhlYWRlcnMgPSBbXVxuXG4gICAgdGhpcy5tZXRob2QgPSBtZXRob2QudG9VcHBlckNhc2UoKS50cmltKClcbiAgICB0aGlzLm9uQ29tcGxldGUgPSBvbkNvbXBsZXRlXG4gICAgdGhpcy5zdGF0ZSA9IFwic3RhdHVzLWxpbmVcIlxuXG4gICAgLyoqIEB0eXBlIHtCdWZmZXJ9ICovXG4gICAgdGhpcy5yZXNwb25zZSA9IEJ1ZmZlci5hbGxvYygwKTtcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge0J1ZmZlcn0gZGF0YSAtIFJlc3BvbnNlIGRhdGEgY2h1bmsuICovXG4gIGZlZWQoZGF0YSkge1xuICAgIHRoaXMucmVzcG9uc2UgPSBCdWZmZXIuY29uY2F0KFt0aGlzLnJlc3BvbnNlLCBkYXRhXSlcbiAgICB0aGlzLnRyeVRvUGFyc2UoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZS5cbiAgICogQHJldHVybnMge0hlYWRlcn0gLSBUaGUgaGVhZGVyLlxuICAgKi9cbiAgZ2V0SGVhZGVyKG5hbWUpIHtcbiAgICBjb25zdCBjb21wYXJlTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKS50cmltKClcblxuICAgIGZvciAoY29uc3QgaGVhZGVyIG9mIHRoaXMuaGVhZGVycykge1xuICAgICAgY29uc3QgaGVhZGVyQ29tcGFyZU5hbWUgPSBoZWFkZXIuZ2V0TmFtZSgpLnRvTG93ZXJDYXNlKCkudHJpbSgpXG5cbiAgICAgIGlmIChjb21wYXJlTmFtZSA9PSBoZWFkZXJDb21wYXJlTmFtZSkge1xuICAgICAgICByZXR1cm4gaGVhZGVyXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBIZWFkZXIgJHtuYW1lfSBub3QgZm91bmRgKVxuICB9XG5cbiAganNvbigpIHtcbiAgICBjb25zdCBjb250ZW50VHlwZUhlYWRlciA9IHRoaXMuZ2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIpPy5nZXRWYWx1ZSgpXG5cbiAgICBpZiAodHlwZW9mIGNvbnRlbnRUeXBlSGVhZGVyICE9IFwic3RyaW5nXCIpIHRocm93IG5ldyBFcnJvcihgQ29udGVudC1UeXBlIHdhc24ndCBhIHN0cmluZzogJHtjb250ZW50VHlwZUhlYWRlcn1gKVxuXG4gICAgaWYgKCFjb250ZW50VHlwZUhlYWRlci50b0xvd2VyQ2FzZSgpLnRyaW0oKS5zdGFydHNXaXRoKFwiYXBwbGljYXRpb24vanNvblwiKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb250ZW50LVR5cGUgaXMgbm90IEpTT046ICR7Y29udGVudFR5cGVIZWFkZXJ9YClcbiAgICB9XG5cbiAgICBjb25zdCBib2R5ID0gdGhpcy5yZXNwb25zZS50b1N0cmluZygpXG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UoYm9keSlcblxuICAgIHJldHVybiBqc29uXG4gIH1cblxuICB0cnlUb1BhcnNlKCkge1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAodGhpcy5zdGF0ZSA9PSBcImJvZHlcIikge1xuICAgICAgICBjb25zdCBjb250ZW50TGVuZ3RoTnVtYmVyID0gdGhpcy5fY29udGVudExlbmd0aE51bWJlcigpXG5cbiAgICAgICAgaWYgKHRoaXMucmVzcG9uc2UuYnl0ZUxlbmd0aCA+PSBjb250ZW50TGVuZ3RoTnVtYmVyKSB7XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZVJlc3BvbnNlKClcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMucmVzcG9uc2UudG9TdHJpbmcoKVxuICAgICAgICBsZXQgbGluZUVuZEluZGV4ID0gcmVzcG9uc2UuaW5kZXhPZihcIlxcclxcblwiKVxuICAgICAgICBsZXQgbGluZUVuZExlbmd0aCA9IDJcblxuICAgICAgICBpZiAobGluZUVuZEluZGV4ID09PSAtMSkge1xuICAgICAgICAgIGxpbmVFbmRJbmRleCA9IHJlc3BvbnNlLmluZGV4T2YoXCJcXG5cIilcbiAgICAgICAgICBsaW5lRW5kTGVuZ3RoID0gMVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpbmVFbmRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICBicmVhayAvLyBXZSBuZWVkIHRvIGdldCBmZWQgbW9yZSB0byBjb250aW51ZSByZWFkaW5nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbGluZSA9IHJlc3BvbnNlLnN1YnN0cmluZygwLCBsaW5lRW5kSW5kZXgpXG5cbiAgICAgICAgICB0aGlzLnJlc3BvbnNlID0gdGhpcy5yZXNwb25zZS5zbGljZShsaW5lRW5kSW5kZXggKyBsaW5lRW5kTGVuZ3RoKVxuXG4gICAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT0gXCJzdGF0dXMtbGluZVwiKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXR1c0xpbmUgPSBsaW5lXG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gXCJoZWFkZXJzXCJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdGUgPT0gXCJoZWFkZXJzXCIpIHtcbiAgICAgICAgICAgIGlmIChsaW5lID09IFwiXCIpIHtcbiAgICAgICAgICAgICAgY29uc3QgY29udGVudExlbmd0aE51bWJlciA9IHRoaXMuX2NvbnRlbnRMZW5ndGhOdW1iZXIoKVxuXG4gICAgICAgICAgICAgIGlmICghY29udGVudExlbmd0aE51bWJlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVSZXNwb25zZSgpXG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlID0gXCJib2R5XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgaGVhZGVyTWF0Y2ggPSBsaW5lLm1hdGNoKC9eKC4rPyk6XFxzKiguKykkLylcblxuICAgICAgICAgICAgICBpZiAoIWhlYWRlck1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaGVhZGVyOiAke2xpbmV9YClcblxuICAgICAgICAgICAgICBjb25zdCBoZWFkZXIgPSBuZXcgSGVhZGVyKGhlYWRlck1hdGNoWzFdLCBoZWFkZXJNYXRjaFsyXSlcblxuICAgICAgICAgICAgICB0aGlzLmhlYWRlcnMucHVzaChoZWFkZXIpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBzdGF0ZTogJHt0aGlzLnN0YXRlfWApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29tcGxldGVSZXNwb25zZSgpIHtcbiAgICB0aGlzLnN0YXRlID0gXCJkb25lXCJcbiAgICB0aGlzLm9uQ29tcGxldGUoKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IC0gVGhlIGNvbnRlbnQgbGVuZ3RoIG51bWJlci5cbiAgICovXG4gIF9jb250ZW50TGVuZ3RoTnVtYmVyKCkge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuaGVhZGVycy5maW5kKChjdXJyZW50SGVhZGVyKSA9PiBjdXJyZW50SGVhZGVyLmdldE5hbWUoKS50b0xvd2VyQ2FzZSgpID09IFwiY29udGVudC1sZW5ndGhcIilcblxuICAgIGlmICghaGVhZGVyKSByZXR1cm4gMFxuXG4gICAgY29uc3QgY29udGVudExlbmd0aFZhbHVlID0gaGVhZGVyLmdldFZhbHVlKClcblxuICAgIGlmICh0eXBlb2YgY29udGVudExlbmd0aFZhbHVlID09PSBcIm51bWJlclwiKSByZXR1cm4gY29udGVudExlbmd0aFZhbHVlXG4gICAgaWYgKHR5cGVvZiBjb250ZW50TGVuZ3RoVmFsdWUgPT09IFwic3RyaW5nXCIpIHJldHVybiBwYXJzZUludChjb250ZW50TGVuZ3RoVmFsdWUpXG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvbnRlbnQtTGVuZ3RoIGlzIG5vdCBhIG51bWJlcjogJHtjb250ZW50TGVuZ3RoVmFsdWV9YClcbiAgfVxufVxuIl19
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export default class VelociousWebsocketClient {
|
|
5
5
|
/**
|
|
6
|
-
* @param {object} [args]
|
|
7
|
-
* @param {boolean} [args.debug]
|
|
6
|
+
* @param {object} [args] - Options object.
|
|
7
|
+
* @param {boolean} [args.debug] - Whether debug.
|
|
8
8
|
* @param {string} [args.url] Full websocket URL (default: ws://127.0.0.1:3006/websocket)
|
|
9
9
|
*/
|
|
10
10
|
constructor({ debug, url }?: {
|
|
@@ -19,55 +19,55 @@ export default class VelociousWebsocketClient {
|
|
|
19
19
|
nextID: number;
|
|
20
20
|
/**
|
|
21
21
|
* Ensure a websocket connection is open.
|
|
22
|
-
* @returns {Promise<void>} -
|
|
22
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
23
23
|
*/
|
|
24
24
|
connect(): Promise<void>;
|
|
25
25
|
connectPromise: Promise<any>;
|
|
26
26
|
socket: WebSocket;
|
|
27
27
|
/**
|
|
28
28
|
* Close the websocket and clear pending state.
|
|
29
|
-
* @returns {Promise<void>} -
|
|
29
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
30
30
|
*/
|
|
31
31
|
close(): Promise<void>;
|
|
32
32
|
/**
|
|
33
33
|
* Perform a POST request over the websocket.
|
|
34
|
-
* @param {string} path
|
|
35
|
-
* @param {
|
|
36
|
-
* @param {{headers?: Record<string, string>}} [options]
|
|
37
|
-
* @returns {Promise<VelociousWebsocketResponse>} -
|
|
34
|
+
* @param {string} path - Path.
|
|
35
|
+
* @param {unknown} [body] - Request body.
|
|
36
|
+
* @param {{headers?: Record<string, string>}} [options] - Request options such as headers.
|
|
37
|
+
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the post.
|
|
38
38
|
*/
|
|
39
|
-
post(path: string, body?:
|
|
39
|
+
post(path: string, body?: unknown, options?: {
|
|
40
40
|
headers?: Record<string, string>;
|
|
41
41
|
}): Promise<VelociousWebsocketResponse>;
|
|
42
42
|
/**
|
|
43
43
|
* Perform a GET request over the websocket.
|
|
44
|
-
* @param {string} path
|
|
45
|
-
* @param {{headers?: Record<string, string>}} [options]
|
|
46
|
-
* @returns {Promise<VelociousWebsocketResponse>} -
|
|
44
|
+
* @param {string} path - Path.
|
|
45
|
+
* @param {{headers?: Record<string, string>}} [options] - Request options such as headers.
|
|
46
|
+
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the get.
|
|
47
47
|
*/
|
|
48
48
|
get(path: string, options?: {
|
|
49
49
|
headers?: Record<string, string>;
|
|
50
50
|
}): Promise<VelociousWebsocketResponse>;
|
|
51
51
|
/**
|
|
52
52
|
* Subscribe to a channel for server-sent events.
|
|
53
|
-
* @param {string} channel
|
|
54
|
-
* @param {(payload:
|
|
53
|
+
* @param {string} channel - Channel name.
|
|
54
|
+
* @param {(payload: unknown) => void} callback - Callback function.
|
|
55
55
|
* @returns {() => void} unsubscribe function
|
|
56
56
|
*/
|
|
57
|
-
on(channel: string, callback: (payload:
|
|
57
|
+
on(channel: string, callback: (payload: unknown) => void): () => void;
|
|
58
58
|
/**
|
|
59
59
|
* @private
|
|
60
|
-
* @param {string} method
|
|
61
|
-
* @param {string} path
|
|
62
|
-
* @param {object} [options]
|
|
63
|
-
* @param {
|
|
64
|
-
* @param {Record<string, string>} [options.headers]
|
|
65
|
-
* @returns {Promise<VelociousWebsocketResponse>} -
|
|
60
|
+
* @param {string} method - HTTP method.
|
|
61
|
+
* @param {string} path - Path.
|
|
62
|
+
* @param {object} [options] - Options object.
|
|
63
|
+
* @param {unknown} [options.body] - Request body.
|
|
64
|
+
* @param {Record<string, string>} [options.headers] - Header list.
|
|
65
|
+
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the request.
|
|
66
66
|
*/
|
|
67
67
|
private request;
|
|
68
68
|
/**
|
|
69
69
|
* @private
|
|
70
|
-
* @param {MessageEvent<
|
|
70
|
+
* @param {MessageEvent<unknown>} event - Event payload.
|
|
71
71
|
*/
|
|
72
72
|
private onMessage;
|
|
73
73
|
/**
|
|
@@ -77,19 +77,19 @@ export default class VelociousWebsocketClient {
|
|
|
77
77
|
private onClose;
|
|
78
78
|
/**
|
|
79
79
|
* @private
|
|
80
|
-
* @param {Record<string,
|
|
80
|
+
* @param {Record<string, unknown>} payload - Payload data.
|
|
81
81
|
*/
|
|
82
82
|
private _sendMessage;
|
|
83
83
|
/**
|
|
84
84
|
* @private
|
|
85
|
-
* @param {...
|
|
86
|
-
* @returns {void} -
|
|
85
|
+
* @param {...unknown} args - Options object.
|
|
86
|
+
* @returns {void} - No return value.
|
|
87
87
|
*/
|
|
88
88
|
private _debug;
|
|
89
89
|
}
|
|
90
90
|
declare class VelociousWebsocketResponse {
|
|
91
91
|
/**
|
|
92
|
-
* @param {object} message
|
|
92
|
+
* @param {object} message - Message text.
|
|
93
93
|
*/
|
|
94
94
|
constructor(message: object);
|
|
95
95
|
body: any;
|
|
@@ -98,8 +98,8 @@ declare class VelociousWebsocketResponse {
|
|
|
98
98
|
statusCode: any;
|
|
99
99
|
statusMessage: any;
|
|
100
100
|
type: any;
|
|
101
|
-
/** @returns {
|
|
102
|
-
json():
|
|
101
|
+
/** @returns {unknown} - The json. */
|
|
102
|
+
json(): unknown;
|
|
103
103
|
}
|
|
104
104
|
export {};
|
|
105
105
|
//# sourceMappingURL=websocket-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-client.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IACE;;;;OAIG;IACH,6BAHG;QAAuB,KAAK,GAApB,OAAO;QACO,GAAG,GAAjB,MAAM;KAChB,EAUA;IANC,eAAkB;IAClB,+BAAgC;IAChC,6BAAmC;IACnC,YAAiD;IACjD,yBAA0B;IAC1B,eAAe;IAGjB;;;OAGG;IACH,WAFa,OAAO,CAAC,IAAI,CAAC,CA+BzB;IAzBC,6BAsBE;IArBA,kBAAqC;IA0BzC;;;OAGG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;;;;OAMG;IACH,WALW,MAAM,SACN,
|
|
1
|
+
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/http-client/websocket-client.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IACE;;;;OAIG;IACH,6BAHG;QAAuB,KAAK,GAApB,OAAO;QACO,GAAG,GAAjB,MAAM;KAChB,EAUA;IANC,eAAkB;IAClB,+BAAgC;IAChC,6BAAmC;IACnC,YAAiD;IACjD,yBAA0B;IAC1B,eAAe;IAGjB;;;OAGG;IACH,WAFa,OAAO,CAAC,IAAI,CAAC,CA+BzB;IAzBC,6BAsBE;IArBA,kBAAqC;IA0BzC;;;OAGG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;;;;OAMG;IACH,WALW,MAAM,SACN,OAAO,YACP;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,GAChC,OAAO,CAAC,0BAA0B,CAAC,CAI/C;IAED;;;;;OAKG;IACH,UAJW,MAAM,YACN;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,GAChC,OAAO,CAAC,0BAA0B,CAAC,CAI/C;IAED;;;;;OAKG;IACH,YAJW,MAAM,YACN,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACxB,MAAM,IAAI,CAyBtB;IAED;;;;;;;;OAQG;IACH,gBAiBC;IAED;;;OAGG;IACH,kBA6CC;IAED;;;OAGG;IACH,gBAOC;IAED;;;OAGG;IACH,qBASC;IAED;;;;OAIG;IACH,eAIC;CACF;AAED;IACE;;OAEG;IACH,qBAFW,MAAM,EAShB;IANC,UAAwB;IACxB,aAAoC;IACpC,QAAoB;IACpB,gBAA2C;IAC3C,mBAAkD;IAClD,UAAwB;IAG1B,sCAAsC;IACtC,QADc,OAAO,CAOpB;CACF"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export default class VelociousWebsocketClient {
|
|
6
6
|
/**
|
|
7
|
-
* @param {object} [args]
|
|
8
|
-
* @param {boolean} [args.debug]
|
|
7
|
+
* @param {object} [args] - Options object.
|
|
8
|
+
* @param {boolean} [args.debug] - Whether debug.
|
|
9
9
|
* @param {string} [args.url] Full websocket URL (default: ws://127.0.0.1:3006/websocket)
|
|
10
10
|
*/
|
|
11
11
|
constructor({ debug = false, url } = {}) {
|
|
@@ -20,7 +20,7 @@ export default class VelociousWebsocketClient {
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Ensure a websocket connection is open.
|
|
23
|
-
* @returns {Promise<void>} -
|
|
23
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
24
24
|
*/
|
|
25
25
|
async connect() {
|
|
26
26
|
if (this.socket && this.socket.readyState === this.socket.OPEN)
|
|
@@ -51,7 +51,7 @@ export default class VelociousWebsocketClient {
|
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
53
|
* Close the websocket and clear pending state.
|
|
54
|
-
* @returns {Promise<void>} -
|
|
54
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
55
55
|
*/
|
|
56
56
|
async close() {
|
|
57
57
|
if (!this.socket)
|
|
@@ -65,27 +65,27 @@ export default class VelociousWebsocketClient {
|
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Perform a POST request over the websocket.
|
|
68
|
-
* @param {string} path
|
|
69
|
-
* @param {
|
|
70
|
-
* @param {{headers?: Record<string, string>}} [options]
|
|
71
|
-
* @returns {Promise<VelociousWebsocketResponse>} -
|
|
68
|
+
* @param {string} path - Path.
|
|
69
|
+
* @param {unknown} [body] - Request body.
|
|
70
|
+
* @param {{headers?: Record<string, string>}} [options] - Request options such as headers.
|
|
71
|
+
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the post.
|
|
72
72
|
*/
|
|
73
73
|
async post(path, body, options = {}) {
|
|
74
74
|
return await this.request("POST", path, { ...options, body });
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
77
|
* Perform a GET request over the websocket.
|
|
78
|
-
* @param {string} path
|
|
79
|
-
* @param {{headers?: Record<string, string>}} [options]
|
|
80
|
-
* @returns {Promise<VelociousWebsocketResponse>} -
|
|
78
|
+
* @param {string} path - Path.
|
|
79
|
+
* @param {{headers?: Record<string, string>}} [options] - Request options such as headers.
|
|
80
|
+
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the get.
|
|
81
81
|
*/
|
|
82
82
|
async get(path, options = {}) {
|
|
83
83
|
return await this.request("GET", path, options);
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Subscribe to a channel for server-sent events.
|
|
87
|
-
* @param {string} channel
|
|
88
|
-
* @param {(payload:
|
|
87
|
+
* @param {string} channel - Channel name.
|
|
88
|
+
* @param {(payload: unknown) => void} callback - Callback function.
|
|
89
89
|
* @returns {() => void} unsubscribe function
|
|
90
90
|
*/
|
|
91
91
|
on(channel, callback) {
|
|
@@ -109,12 +109,12 @@ export default class VelociousWebsocketClient {
|
|
|
109
109
|
}
|
|
110
110
|
/**
|
|
111
111
|
* @private
|
|
112
|
-
* @param {string} method
|
|
113
|
-
* @param {string} path
|
|
114
|
-
* @param {object} [options]
|
|
115
|
-
* @param {
|
|
116
|
-
* @param {Record<string, string>} [options.headers]
|
|
117
|
-
* @returns {Promise<VelociousWebsocketResponse>} -
|
|
112
|
+
* @param {string} method - HTTP method.
|
|
113
|
+
* @param {string} path - Path.
|
|
114
|
+
* @param {object} [options] - Options object.
|
|
115
|
+
* @param {unknown} [options.body] - Request body.
|
|
116
|
+
* @param {Record<string, string>} [options.headers] - Header list.
|
|
117
|
+
* @returns {Promise<VelociousWebsocketResponse>} - Resolves with the request.
|
|
118
118
|
*/
|
|
119
119
|
async request(method, path, { body, headers } = {}) {
|
|
120
120
|
await this.connect();
|
|
@@ -134,7 +134,7 @@ export default class VelociousWebsocketClient {
|
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
136
|
* @private
|
|
137
|
-
* @param {MessageEvent<
|
|
137
|
+
* @param {MessageEvent<unknown>} event - Event payload.
|
|
138
138
|
*/
|
|
139
139
|
onMessage = (event) => {
|
|
140
140
|
const raw = typeof event.data === "string" ? event.data : event.data?.toString?.();
|
|
@@ -193,7 +193,7 @@ export default class VelociousWebsocketClient {
|
|
|
193
193
|
};
|
|
194
194
|
/**
|
|
195
195
|
* @private
|
|
196
|
-
* @param {Record<string,
|
|
196
|
+
* @param {Record<string, unknown>} payload - Payload data.
|
|
197
197
|
*/
|
|
198
198
|
_sendMessage(payload) {
|
|
199
199
|
if (!this.socket || this.socket.readyState !== this.socket.OPEN) {
|
|
@@ -205,8 +205,8 @@ export default class VelociousWebsocketClient {
|
|
|
205
205
|
}
|
|
206
206
|
/**
|
|
207
207
|
* @private
|
|
208
|
-
* @param {...
|
|
209
|
-
* @returns {void} -
|
|
208
|
+
* @param {...unknown} args - Options object.
|
|
209
|
+
* @returns {void} - No return value.
|
|
210
210
|
*/
|
|
211
211
|
_debug(...args) {
|
|
212
212
|
if (!this.debug)
|
|
@@ -216,7 +216,7 @@ export default class VelociousWebsocketClient {
|
|
|
216
216
|
}
|
|
217
217
|
class VelociousWebsocketResponse {
|
|
218
218
|
/**
|
|
219
|
-
* @param {object} message
|
|
219
|
+
* @param {object} message - Message text.
|
|
220
220
|
*/
|
|
221
221
|
constructor(message) {
|
|
222
222
|
this.body = message.body;
|
|
@@ -226,7 +226,7 @@ class VelociousWebsocketResponse {
|
|
|
226
226
|
this.statusMessage = message.statusMessage || "OK";
|
|
227
227
|
this.type = message.type;
|
|
228
228
|
}
|
|
229
|
-
/** @returns {
|
|
229
|
+
/** @returns {unknown} - The json. */
|
|
230
230
|
json() {
|
|
231
231
|
if (typeof this.body !== "string") {
|
|
232
232
|
throw new Error("Response body is not a string");
|
|
@@ -234,4 +234,4 @@ class VelociousWebsocketResponse {
|
|
|
234
234
|
return JSON.parse(this.body);
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLWNsaWVudC93ZWJzb2NrZXQtY2xpZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0JBQXdCO0lBQzNDOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUMsR0FBRyxFQUFFO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtRQUUvRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFDbkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksK0JBQStCLENBQUE7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7WUFBRSxPQUFNO1FBQ3RFLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUE7UUFFbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFD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QUFPLENBQUMsRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUE7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQTtRQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7SUFDMUIsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxJQUFJO1FBQ0YsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO1FBQ2xELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEEgc21hbGwgd2Vic29ja2V0IGNsaWVudCB0aGF0IG1pcnJvcnMgc2ltcGxlIEhUVFAtc3R5bGUgY2FsbHMgYW5kIGNoYW5uZWwgc3Vic2NyaXB0aW9ucy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzV2Vic29ja2V0Q2xpZW50IHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc11cbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5kZWJ1Z11cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLnVybF0gRnVsbCB3ZWJzb2NrZXQgVVJMIChkZWZhdWx0OiB3czovLzEyNy4wLjAuMTozMDA2L3dlYnNvY2tldClcbiAgICovXG4gIGNvbnN0cnVjdG9yKHtkZWJ1ZyA9IGZhbHNlLCB1cmx9ID0ge30pIHtcbiAgICBpZiAoIWdsb2JhbFRoaXMuV2ViU29ja2V0KSB0aHJvdyBuZXcgRXJyb3IoXCJXZWJTb2NrZXQgZ2xvYmFsIGlzIG5vdCBhdmFpbGFibGVcIilcblxuICAgIHRoaXMuZGVidWcgPSBkZWJ1Z1xuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzID0gbmV3IE1hcCgpXG4gICAgdGhpcy5zdWJzY3JpYmVkQ2hhbm5lbHMgPSBuZXcgU2V0KClcbiAgICB0aGlzLnVybCA9IHVybCB8fCBcIndzOi8vMTI3LjAuMC4xOjMwMDYvd2Vic29ja2V0XCJcbiAgICB0aGlzLmxpc3RlbmVycyA9IG5ldyBNYXAoKVxuICAgIHRoaXMubmV4dElEID0gMVxuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZSBhIHdlYnNvY2tldCBjb25uZWN0aW9uIGlzIG9wZW4uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGNvbm5lY3QoKSB7XG4gICAgaWYgKHRoaXMuc29ja2V0ICYmIHRoaXMuc29ja2V0LnJlYWR5U3RhdGUgPT09IHRoaXMuc29ja2V0Lk9QRU4pIHJldHVyblxuICAgIGlmICh0aGlzLmNvbm5lY3RQcm9taXNlKSByZXR1cm4gdGhpcy5jb25uZWN0UHJvbWlzZVxuXG4gICAgdGhpcy5jb25uZWN0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuc29ja2V0ID0gbmV3IFdlYlNvY2tldCh0aGlzLnVybClcblxuICAgICAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zb2NrZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJvcGVuXCIsIG9uT3BlbilcbiAgICAgICAgdGhpcy5zb2NrZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCBvbkVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBvbk9wZW4gPSAoKSA9PiB7XG4gICAgICAgIGNsZWFudXAoKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9uRXJyb3IgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgY2xlYW51cCgpXG4gICAgICAgIGNvbnN0IGVycm9yID0gZXZlbnQ/LmVycm9yIHx8IG5ldyBFcnJvcihcIldlYnNvY2tldCBjb25uZWN0aW9uIGVycm9yXCIpXG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH1cblxuICAgICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcihcIm9wZW5cIiwgb25PcGVuKVxuICAgICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsIG9uRXJyb3IpXG4gICAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLm9uTWVzc2FnZSlcbiAgICAgIHRoaXMuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbG9zZVwiLCB0aGlzLm9uQ2xvc2UpXG4gICAgfSlcblxuICAgIHJldHVybiB0aGlzLmNvbm5lY3RQcm9taXNlXG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgdGhlIHdlYnNvY2tldCBhbmQgY2xlYXIgcGVuZGluZyBzdGF0ZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2xvc2UoKSB7XG4gICAgaWYgKCF0aGlzLnNvY2tldCkgcmV0dXJuXG5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5zb2NrZXQ/LmFkZEV2ZW50TGlzdGVuZXIoXCJjbG9zZVwiLCAoKSA9PiByZXNvbHZlKCkpXG4gICAgICB0aGlzLnNvY2tldD8uY2xvc2UoKVxuICAgIH0pXG5cbiAgICB0aGlzLnNvY2tldCA9IHVuZGVmaW5lZFxuICAgIHRoaXMuY29ubmVjdFByb21pc2UgPSB1bmRlZmluZWRcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtIGEgUE9TVCByZXF1ZXN0IG92ZXIgdGhlIHdlYnNvY2tldC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAgICogQHBhcmFtIHthbnl9IFtib2R5XVxuICAgKiBAcGFyYW0ge3toZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPn19IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZT59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgcG9zdChwYXRoLCBib2R5LCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5yZXF1ZXN0KFwiUE9TVFwiLCBwYXRoLCB7Li4ub3B0aW9ucywgYm9keX0pXG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBhIEdFVCByZXF1ZXN0IG92ZXIgdGhlIHdlYnNvY2tldC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAgICogQHBhcmFtIHt7aGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz59fSBbb3B0aW9uc11cbiAgICogQHJldHVybnMge1Byb21pc2U8VmVsb2Npb3VzV2Vic29ja2V0UmVzcG9uc2U+fSAtIFJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGdldChwYXRoLCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5yZXF1ZXN0KFwiR0VUXCIsIHBhdGgsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIGEgY2hhbm5lbCBmb3Igc2VydmVyLXNlbnQgZXZlbnRzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbFxuICAgKiBAcGFyYW0geyhwYXlsb2FkOiBhbnkpID0+IHZvaWR9IGNhbGxiYWNrXG4gICAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfSB1bnN1YnNjcmliZSBmdW5jdGlvblxuICAgKi9cbiAgb24oY2hhbm5lbCwgY2FsbGJhY2spIHtcbiAgICBpZiAoIXRoaXMubGlzdGVuZXJzLmhhcyhjaGFubmVsKSkge1xuICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KGNoYW5uZWwsIG5ldyBTZXQoKSlcbiAgICAgIHRoaXMuc3Vic2NyaWJlZENoYW5uZWxzLmFkZChjaGFubmVsKVxuXG4gICAgICB2b2lkIHRoaXMuY29ubmVjdCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLl9zZW5kTWVzc2FnZSh7Y2hhbm5lbCwgdHlwZTogXCJzdWJzY3JpYmVcIn0pXG4gICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHRoaXMuX2RlYnVnKFwiU3Vic2NyaWJlIGZhaWxlZFwiLCBlcnJvcikpXG4gICAgfVxuXG4gICAgY29uc3QgY2hhbm5lbExpc3RlbmVycyA9IHRoaXMubGlzdGVuZXJzLmdldChjaGFubmVsKVxuXG4gICAgaWYgKCFjaGFubmVsTGlzdGVuZXJzKSB0aHJvdyBuZXcgRXJyb3IoXCJMaXN0ZW5lcnMgbWFwIG5vdCBpbml0aWFsaXplZFwiKVxuXG4gICAgY2hhbm5lbExpc3RlbmVycy5hZGQoY2FsbGJhY2spXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2hhbm5lbExpc3RlbmVycy5kZWxldGUoY2FsbGJhY2spXG5cbiAgICAgIGlmIChjaGFubmVsTGlzdGVuZXJzLnNpemUgPT09IDApIHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuZGVsZXRlKGNoYW5uZWwpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2RcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAgICogQHBhcmFtIHtvYmplY3R9IFtvcHRpb25zXVxuICAgKiBAcGFyYW0ge2FueX0gW29wdGlvbnMuYm9keV1cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBbb3B0aW9ucy5oZWFkZXJzXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZT59IC0gUmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgcmVxdWVzdChtZXRob2QsIHBhdGgsIHtib2R5LCBoZWFkZXJzfSA9IHt9KSB7XG4gICAgYXdhaXQgdGhpcy5jb25uZWN0KClcblxuICAgIGNvbnN0IGlkID0gYHdzLSR7dGhpcy5uZXh0SUQrK31gXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIGJvZHksXG4gICAgICBoZWFkZXJzLFxuICAgICAgaWQsXG4gICAgICBtZXRob2QsXG4gICAgICBwYXRoLFxuICAgICAgdHlwZTogXCJyZXF1ZXN0XCJcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuc2V0KGlkLCB7cmVzb2x2ZSwgcmVqZWN0fSlcbiAgICAgIHRoaXMuX3NlbmRNZXNzYWdlKHBheWxvYWQpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge01lc3NhZ2VFdmVudDxhbnk+fSBldmVudFxuICAgKi9cbiAgb25NZXNzYWdlID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgcmF3ID0gdHlwZW9mIGV2ZW50LmRhdGEgPT09IFwic3RyaW5nXCIgPyBldmVudC5kYXRhIDogZXZlbnQuZGF0YT8udG9TdHJpbmc/LigpXG5cbiAgICBpZiAoIXJhdykgcmV0dXJuXG5cbiAgICBsZXQgbWVzc2FnZVxuXG4gICAgdHJ5IHtcbiAgICAgIG1lc3NhZ2UgPSBKU09OLnBhcnNlKHJhdylcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5fZGVidWcoXCJGYWlsZWQgdG8gcGFyc2Ugd2Vic29ja2V0IG1lc3NhZ2VcIiwgZXJyb3IpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCB7dHlwZX0gPSBtZXNzYWdlXG5cbiAgICBpZiAodHlwZSA9PT0gXCJyZXNwb25zZVwiKSB7XG4gICAgICBjb25zdCB7aWR9ID0gbWVzc2FnZVxuICAgICAgY29uc3QgcGVuZGluZyA9IGlkID8gdGhpcy5wZW5kaW5nUmVxdWVzdHMuZ2V0KGlkKSA6IHVuZGVmaW5lZFxuXG4gICAgICBpZiAocGVuZGluZykge1xuICAgICAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5kZWxldGUoaWQpXG4gICAgICAgIHBlbmRpbmcucmVzb2x2ZShuZXcgVmVsb2Npb3VzV2Vic29ja2V0UmVzcG9uc2UobWVzc2FnZSkpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9kZWJ1ZyhgTm8gcGVuZGluZyByZXF1ZXN0IGZvciByZXNwb25zZSBpZCAke2lkfWApXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSBcImV2ZW50XCIpIHtcbiAgICAgIGNvbnN0IHtjaGFubmVsLCBwYXlsb2FkfSA9IG1lc3NhZ2VcbiAgICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMubGlzdGVuZXJzLmdldChjaGFubmVsKVxuXG4gICAgICBjYWxsYmFja3M/LmZvckVhY2goKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY2FsbGJhY2socGF5bG9hZClcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICB0aGlzLl9kZWJ1ZyhcIkxpc3RlbmVyIGVycm9yXCIsIGVycm9yKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJlcnJvclwiICYmIG1lc3NhZ2UuaWQpIHtcbiAgICAgIGNvbnN0IHBlbmRpbmcgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5nZXQobWVzc2FnZS5pZClcblxuICAgICAgaWYgKHBlbmRpbmcpIHtcbiAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKG1lc3NhZ2UuaWQpXG4gICAgICAgIHBlbmRpbmcucmVqZWN0KG5ldyBFcnJvcihtZXNzYWdlLmVycm9yIHx8IFwiVW5rbm93biB3ZWJzb2NrZXQgZXJyb3JcIikpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlamVjdCBhbGwgcGVuZGluZyByZXF1ZXN0cyB3aGVuIHRoZSBzb2NrZXQgY2xvc2VzIHVuZXhwZWN0ZWRseS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIG9uQ2xvc2UgPSAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBbaWQsIHtyZWplY3R9XSBvZiB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5lbnRyaWVzKCkpIHtcbiAgICAgIHJlamVjdChuZXcgRXJyb3IoYFdlYnNvY2tldCBjbG9zZWQgYmVmb3JlIHJlc3BvbnNlIGZvciAke2lkfWApKVxuICAgIH1cblxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLmNsZWFyKClcbiAgICB0aGlzLmNvbm5lY3RQcm9taXNlID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBwYXlsb2FkXG4gICAqL1xuICBfc2VuZE1lc3NhZ2UocGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5zb2NrZXQgfHwgdGhpcy5zb2NrZXQucmVhZHlTdGF0ZSAhPT0gdGhpcy5zb2NrZXQuT1BFTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiV2Vic29ja2V0IGlzIG5vdCBvcGVuXCIpXG4gICAgfVxuXG4gICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpXG5cbiAgICB0aGlzLl9kZWJ1ZyhcIlNlbmRpbmdcIiwganNvbilcbiAgICB0aGlzLnNvY2tldC5zZW5kKGpzb24pXG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtICB7Li4uYW55fSBhcmdzXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIFJlc3VsdC5cbiAgICovXG4gIF9kZWJ1ZyguLi5hcmdzKSB7XG4gICAgaWYgKCF0aGlzLmRlYnVnKSByZXR1cm5cblxuICAgIGNvbnNvbGUuZGVidWcoXCJbVmVsb2Npb3VzV2Vic29ja2V0Q2xpZW50XVwiLCAuLi5hcmdzKVxuICB9XG59XG5cbmNsYXNzIFZlbG9jaW91c1dlYnNvY2tldFJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBtZXNzYWdlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgdGhpcy5ib2R5ID0gbWVzc2FnZS5ib2R5XG4gICAgdGhpcy5oZWFkZXJzID0gbWVzc2FnZS5oZWFkZXJzIHx8IHt9XG4gICAgdGhpcy5pZCA9IG1lc3NhZ2UuaWRcbiAgICB0aGlzLnN0YXR1c0NvZGUgPSBtZXNzYWdlLnN0YXR1c0NvZGUgfHwgMjAwXG4gICAgdGhpcy5zdGF0dXNNZXNzYWdlID0gbWVzc2FnZS5zdGF0dXNNZXNzYWdlIHx8IFwiT0tcIlxuICAgIHRoaXMudHlwZSA9IG1lc3NhZ2UudHlwZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHthbnl9IC0gUmVzdWx0LiAgKi9cbiAganNvbigpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuYm9keSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzcG9uc2UgYm9keSBpcyBub3QgYSBzdHJpbmdcIilcbiAgICB9XG5cbiAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLmJvZHkpXG4gIH1cbn1cbiJdfQ==
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLWNsaWVudC93ZWJzb2NrZXQtY2xpZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0JBQXdCO0lBQzNDOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUMsR0FBRyxFQUFFO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtRQUUvRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFDbkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksK0JBQStCLENBQUE7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7WUFBRSxPQUFNO1FBQ3RFLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUE7UUFFbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFD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QUFPLENBQUMsRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUE7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQTtRQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7SUFDMUIsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxJQUFJO1FBQ0YsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO1FBQ2xELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEEgc21hbGwgd2Vic29ja2V0IGNsaWVudCB0aGF0IG1pcnJvcnMgc2ltcGxlIEhUVFAtc3R5bGUgY2FsbHMgYW5kIGNoYW5uZWwgc3Vic2NyaXB0aW9ucy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzV2Vic29ja2V0Q2xpZW50IHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5kZWJ1Z10gLSBXaGV0aGVyIGRlYnVnLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MudXJsXSBGdWxsIHdlYnNvY2tldCBVUkwgKGRlZmF1bHQ6IHdzOi8vMTI3LjAuMC4xOjMwMDYvd2Vic29ja2V0KVxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2RlYnVnID0gZmFsc2UsIHVybH0gPSB7fSkge1xuICAgIGlmICghZ2xvYmFsVGhpcy5XZWJTb2NrZXQpIHRocm93IG5ldyBFcnJvcihcIldlYlNvY2tldCBnbG9iYWwgaXMgbm90IGF2YWlsYWJsZVwiKVxuXG4gICAgdGhpcy5kZWJ1ZyA9IGRlYnVnXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSBuZXcgTWFwKClcbiAgICB0aGlzLnN1YnNjcmliZWRDaGFubmVscyA9IG5ldyBTZXQoKVxuICAgIHRoaXMudXJsID0gdXJsIHx8IFwid3M6Ly8xMjcuMC4wLjE6MzAwNi93ZWJzb2NrZXRcIlxuICAgIHRoaXMubGlzdGVuZXJzID0gbmV3IE1hcCgpXG4gICAgdGhpcy5uZXh0SUQgPSAxXG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlIGEgd2Vic29ja2V0IGNvbm5lY3Rpb24gaXMgb3Blbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNvbm5lY3QoKSB7XG4gICAgaWYgKHRoaXMuc29ja2V0ICYmIHRoaXMuc29ja2V0LnJlYWR5U3RhdGUgPT09IHRoaXMuc29ja2V0Lk9QRU4pIHJldHVyblxuICAgIGlmICh0aGlzLmNvbm5lY3RQcm9taXNlKSByZXR1cm4gdGhpcy5jb25uZWN0UHJvbWlzZVxuXG4gICAgdGhpcy5jb25uZWN0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuc29ja2V0ID0gbmV3IFdlYlNvY2tldCh0aGlzLnVybClcblxuICAgICAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zb2NrZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJvcGVuXCIsIG9uT3BlbilcbiAgICAgICAgdGhpcy5zb2NrZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCBvbkVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBvbk9wZW4gPSAoKSA9PiB7XG4gICAgICAgIGNsZWFudXAoKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9uRXJyb3IgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgY2xlYW51cCgpXG4gICAgICAgIGNvbnN0IGVycm9yID0gZXZlbnQ/LmVycm9yIHx8IG5ldyBFcnJvcihcIldlYnNvY2tldCBjb25uZWN0aW9uIGVycm9yXCIpXG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH1cblxuICAgICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcihcIm9wZW5cIiwgb25PcGVuKVxuICAgICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsIG9uRXJyb3IpXG4gICAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLm9uTWVzc2FnZSlcbiAgICAgIHRoaXMuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbG9zZVwiLCB0aGlzLm9uQ2xvc2UpXG4gICAgfSlcblxuICAgIHJldHVybiB0aGlzLmNvbm5lY3RQcm9taXNlXG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgdGhlIHdlYnNvY2tldCBhbmQgY2xlYXIgcGVuZGluZyBzdGF0ZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5zb2NrZXQpIHJldHVyblxuXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMuc29ja2V0Py5hZGRFdmVudExpc3RlbmVyKFwiY2xvc2VcIiwgKCkgPT4gcmVzb2x2ZSgpKVxuICAgICAgdGhpcy5zb2NrZXQ/LmNsb3NlKClcbiAgICB9KVxuXG4gICAgdGhpcy5zb2NrZXQgPSB1bmRlZmluZWRcbiAgICB0aGlzLmNvbm5lY3RQcm9taXNlID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBhIFBPU1QgcmVxdWVzdCBvdmVyIHRoZSB3ZWJzb2NrZXQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIC0gUGF0aC5cbiAgICogQHBhcmFtIHt1bmtub3dufSBbYm9keV0gLSBSZXF1ZXN0IGJvZHkuXG4gICAqIEBwYXJhbSB7e2hlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fX0gW29wdGlvbnNdIC0gUmVxdWVzdCBvcHRpb25zIHN1Y2ggYXMgaGVhZGVycy5cbiAgICogQHJldHVybnMge1Byb21pc2U8VmVsb2Npb3VzV2Vic29ja2V0UmVzcG9uc2U+fSAtIFJlc29sdmVzIHdpdGggdGhlIHBvc3QuXG4gICAqL1xuICBhc3luYyBwb3N0KHBhdGgsIGJvZHksIG9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJlcXVlc3QoXCJQT1NUXCIsIHBhdGgsIHsuLi5vcHRpb25zLCBib2R5fSlcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtIGEgR0VUIHJlcXVlc3Qgb3ZlciB0aGUgd2Vic29ja2V0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCAtIFBhdGguXG4gICAqIEBwYXJhbSB7e2hlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fX0gW29wdGlvbnNdIC0gUmVxdWVzdCBvcHRpb25zIHN1Y2ggYXMgaGVhZGVycy5cbiAgICogQHJldHVybnMge1Byb21pc2U8VmVsb2Npb3VzV2Vic29ja2V0UmVzcG9uc2U+fSAtIFJlc29sdmVzIHdpdGggdGhlIGdldC5cbiAgICovXG4gIGFzeW5jIGdldChwYXRoLCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5yZXF1ZXN0KFwiR0VUXCIsIHBhdGgsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIGEgY2hhbm5lbCBmb3Igc2VydmVyLXNlbnQgZXZlbnRzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbCAtIENoYW5uZWwgbmFtZS5cbiAgICogQHBhcmFtIHsocGF5bG9hZDogdW5rbm93bikgPT4gdm9pZH0gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMgeygpID0+IHZvaWR9IHVuc3Vic2NyaWJlIGZ1bmN0aW9uXG4gICAqL1xuICBvbihjaGFubmVsLCBjYWxsYmFjaykge1xuICAgIGlmICghdGhpcy5saXN0ZW5lcnMuaGFzKGNoYW5uZWwpKSB7XG4gICAgICB0aGlzLmxpc3RlbmVycy5zZXQoY2hhbm5lbCwgbmV3IFNldCgpKVxuICAgICAgdGhpcy5zdWJzY3JpYmVkQ2hhbm5lbHMuYWRkKGNoYW5uZWwpXG5cbiAgICAgIHZvaWQgdGhpcy5jb25uZWN0KCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuX3NlbmRNZXNzYWdlKHtjaGFubmVsLCB0eXBlOiBcInN1YnNjcmliZVwifSlcbiAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4gdGhpcy5fZGVidWcoXCJTdWJzY3JpYmUgZmFpbGVkXCIsIGVycm9yKSlcbiAgICB9XG5cbiAgICBjb25zdCBjaGFubmVsTGlzdGVuZXJzID0gdGhpcy5saXN0ZW5lcnMuZ2V0KGNoYW5uZWwpXG5cbiAgICBpZiAoIWNoYW5uZWxMaXN0ZW5lcnMpIHRocm93IG5ldyBFcnJvcihcIkxpc3RlbmVycyBtYXAgbm90IGluaXRpYWxpemVkXCIpXG5cbiAgICBjaGFubmVsTGlzdGVuZXJzLmFkZChjYWxsYmFjaylcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjaGFubmVsTGlzdGVuZXJzLmRlbGV0ZShjYWxsYmFjaylcblxuICAgICAgaWYgKGNoYW5uZWxMaXN0ZW5lcnMuc2l6ZSA9PT0gMCkge1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5kZWxldGUoY2hhbm5lbClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZCAtIEhUVFAgbWV0aG9kLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCAtIFBhdGguXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHt1bmtub3dufSBbb3B0aW9ucy5ib2R5XSAtIFJlcXVlc3QgYm9keS5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBbb3B0aW9ucy5oZWFkZXJzXSAtIEhlYWRlciBsaXN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZT59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGFzeW5jIHJlcXVlc3QobWV0aG9kLCBwYXRoLCB7Ym9keSwgaGVhZGVyc30gPSB7fSkge1xuICAgIGF3YWl0IHRoaXMuY29ubmVjdCgpXG5cbiAgICBjb25zdCBpZCA9IGB3cy0ke3RoaXMubmV4dElEKyt9YFxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBib2R5LFxuICAgICAgaGVhZGVycyxcbiAgICAgIGlkLFxuICAgICAgbWV0aG9kLFxuICAgICAgcGF0aCxcbiAgICAgIHR5cGU6IFwicmVxdWVzdFwiXG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLnNldChpZCwge3Jlc29sdmUsIHJlamVjdH0pXG4gICAgICB0aGlzLl9zZW5kTWVzc2FnZShwYXlsb2FkKVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtNZXNzYWdlRXZlbnQ8dW5rbm93bj59IGV2ZW50IC0gRXZlbnQgcGF5bG9hZC5cbiAgICovXG4gIG9uTWVzc2FnZSA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHJhdyA9IHR5cGVvZiBldmVudC5kYXRhID09PSBcInN0cmluZ1wiID8gZXZlbnQuZGF0YSA6IGV2ZW50LmRhdGE/LnRvU3RyaW5nPy4oKVxuXG4gICAgaWYgKCFyYXcpIHJldHVyblxuXG4gICAgbGV0IG1lc3NhZ2VcblxuICAgIHRyeSB7XG4gICAgICBtZXNzYWdlID0gSlNPTi5wYXJzZShyYXcpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuX2RlYnVnKFwiRmFpbGVkIHRvIHBhcnNlIHdlYnNvY2tldCBtZXNzYWdlXCIsIGVycm9yKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qge3R5cGV9ID0gbWVzc2FnZVxuXG4gICAgaWYgKHR5cGUgPT09IFwicmVzcG9uc2VcIikge1xuICAgICAgY29uc3Qge2lkfSA9IG1lc3NhZ2VcbiAgICAgIGNvbnN0IHBlbmRpbmcgPSBpZCA/IHRoaXMucGVuZGluZ1JlcXVlc3RzLmdldChpZCkgOiB1bmRlZmluZWRcblxuICAgICAgaWYgKHBlbmRpbmcpIHtcbiAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKGlkKVxuICAgICAgICBwZW5kaW5nLnJlc29sdmUobmV3IFZlbG9jaW91c1dlYnNvY2tldFJlc3BvbnNlKG1lc3NhZ2UpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZGVidWcoYE5vIHBlbmRpbmcgcmVxdWVzdCBmb3IgcmVzcG9uc2UgaWQgJHtpZH1gKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJldmVudFwiKSB7XG4gICAgICBjb25zdCB7Y2hhbm5lbCwgcGF5bG9hZH0gPSBtZXNzYWdlXG4gICAgICBjb25zdCBjYWxsYmFja3MgPSB0aGlzLmxpc3RlbmVycy5nZXQoY2hhbm5lbClcblxuICAgICAgY2FsbGJhY2tzPy5mb3JFYWNoKChjYWxsYmFjaykgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNhbGxiYWNrKHBheWxvYWQpXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgdGhpcy5fZGVidWcoXCJMaXN0ZW5lciBlcnJvclwiLCBlcnJvcilcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwiZXJyb3JcIiAmJiBtZXNzYWdlLmlkKSB7XG4gICAgICBjb25zdCBwZW5kaW5nID0gdGhpcy5wZW5kaW5nUmVxdWVzdHMuZ2V0KG1lc3NhZ2UuaWQpXG5cbiAgICAgIGlmIChwZW5kaW5nKSB7XG4gICAgICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLmRlbGV0ZShtZXNzYWdlLmlkKVxuICAgICAgICBwZW5kaW5nLnJlamVjdChuZXcgRXJyb3IobWVzc2FnZS5lcnJvciB8fCBcIlVua25vd24gd2Vic29ja2V0IGVycm9yXCIpKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWplY3QgYWxsIHBlbmRpbmcgcmVxdWVzdHMgd2hlbiB0aGUgc29ja2V0IGNsb3NlcyB1bmV4cGVjdGVkbHkuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBvbkNsb3NlID0gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgW2lkLCB7cmVqZWN0fV0gb2YgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZW50cmllcygpKSB7XG4gICAgICByZWplY3QobmV3IEVycm9yKGBXZWJzb2NrZXQgY2xvc2VkIGJlZm9yZSByZXNwb25zZSBmb3IgJHtpZH1gKSlcbiAgICB9XG5cbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5jbGVhcigpXG4gICAgdGhpcy5jb25uZWN0UHJvbWlzZSA9IHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IHBheWxvYWQgLSBQYXlsb2FkIGRhdGEuXG4gICAqL1xuICBfc2VuZE1lc3NhZ2UocGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5zb2NrZXQgfHwgdGhpcy5zb2NrZXQucmVhZHlTdGF0ZSAhPT0gdGhpcy5zb2NrZXQuT1BFTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiV2Vic29ja2V0IGlzIG5vdCBvcGVuXCIpXG4gICAgfVxuXG4gICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpXG5cbiAgICB0aGlzLl9kZWJ1ZyhcIlNlbmRpbmdcIiwganNvbilcbiAgICB0aGlzLnNvY2tldC5zZW5kKGpzb24pXG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtICB7Li4udW5rbm93bn0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBfZGVidWcoLi4uYXJncykge1xuICAgIGlmICghdGhpcy5kZWJ1ZykgcmV0dXJuXG5cbiAgICBjb25zb2xlLmRlYnVnKFwiW1ZlbG9jaW91c1dlYnNvY2tldENsaWVudF1cIiwgLi4uYXJncylcbiAgfVxufVxuXG5jbGFzcyBWZWxvY2lvdXNXZWJzb2NrZXRSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gbWVzc2FnZSAtIE1lc3NhZ2UgdGV4dC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICB0aGlzLmJvZHkgPSBtZXNzYWdlLmJvZHlcbiAgICB0aGlzLmhlYWRlcnMgPSBtZXNzYWdlLmhlYWRlcnMgfHwge31cbiAgICB0aGlzLmlkID0gbWVzc2FnZS5pZFxuICAgIHRoaXMuc3RhdHVzQ29kZSA9IG1lc3NhZ2Uuc3RhdHVzQ29kZSB8fCAyMDBcbiAgICB0aGlzLnN0YXR1c01lc3NhZ2UgPSBtZXNzYWdlLnN0YXR1c01lc3NhZ2UgfHwgXCJPS1wiXG4gICAgdGhpcy50eXBlID0gbWVzc2FnZS50eXBlXG4gIH1cblxuICAvKiogQHJldHVybnMge3Vua25vd259IC0gVGhlIGpzb24uICAqL1xuICBqc29uKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5ib2R5ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXNwb25zZSBib2R5IGlzIG5vdCBhIHN0cmluZ1wiKVxuICAgIH1cblxuICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuYm9keSlcbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export default class VeoliciousHttpServerClient {
|
|
2
2
|
/**
|
|
3
|
-
* @param {object} args
|
|
4
|
-
* @param {number} args.clientCount
|
|
5
|
-
* @param {import("../../configuration.js").default} args.configuration
|
|
6
|
-
* @param {string} [args.remoteAddress]
|
|
3
|
+
* @param {object} args - Options object.
|
|
4
|
+
* @param {number} args.clientCount - Client count.
|
|
5
|
+
* @param {import("../../configuration.js").default} args.configuration - Configuration instance.
|
|
6
|
+
* @param {string} [args.remoteAddress] - Remote address.
|
|
7
7
|
*/
|
|
8
8
|
constructor({ clientCount, configuration, remoteAddress }: {
|
|
9
9
|
clientCount: number;
|
|
@@ -19,30 +19,30 @@ export default class VeoliciousHttpServerClient {
|
|
|
19
19
|
/** @type {RequestRunner[]} */
|
|
20
20
|
requestRunners: RequestRunner[];
|
|
21
21
|
/**
|
|
22
|
-
* @param {string} message
|
|
23
|
-
* @returns {void} -
|
|
22
|
+
* @param {string} message - Message text.
|
|
23
|
+
* @returns {void} - No return value.
|
|
24
24
|
*/
|
|
25
25
|
_sendBadUpgradeResponse(message: string): void;
|
|
26
26
|
executeCurrentRequest: () => void;
|
|
27
27
|
/**
|
|
28
|
-
* @param {Buffer} data
|
|
29
|
-
* @returns {void} -
|
|
28
|
+
* @param {Buffer} data - Data payload.
|
|
29
|
+
* @returns {void} - No return value.
|
|
30
30
|
*/
|
|
31
31
|
onWrite(data: Buffer): void;
|
|
32
32
|
currentRequest: Request;
|
|
33
33
|
/**
|
|
34
|
-
* @param {import("./request.js").default} request
|
|
35
|
-
* @returns {boolean} -
|
|
34
|
+
* @param {import("./request.js").default} request - Request object.
|
|
35
|
+
* @returns {boolean} - Whether websocket upgrade.
|
|
36
36
|
*/
|
|
37
37
|
_isWebsocketUpgrade(request: import("./request.js").default): boolean;
|
|
38
|
-
/** @returns {void} -
|
|
38
|
+
/** @returns {void} - No return value. */
|
|
39
39
|
_upgradeToWebsocket(): void;
|
|
40
40
|
websocketSession: WebsocketSession;
|
|
41
41
|
requestDone: () => void;
|
|
42
42
|
sendDoneRequests(): void;
|
|
43
43
|
/**
|
|
44
|
-
* @param {RequestRunner} requestRunner
|
|
45
|
-
* @returns {void} -
|
|
44
|
+
* @param {RequestRunner} requestRunner - Request runner.
|
|
45
|
+
* @returns {void} - No return value.
|
|
46
46
|
*/
|
|
47
47
|
sendResponse(requestRunner: RequestRunner): void;
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/index.js"],"names":[],"mappings":"AAUA;IAIE;;;;;OAKG;IACH,2DAJG;QAAqB,WAAW,EAAxB,MAAM;QACyC,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;QAC1B,aAAa,GAA3B,MAAM;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/index.js"],"names":[],"mappings":"AAUA;IAIE;;;;;OAKG;IACH,2DAJG;QAAqB,WAAW,EAAxB,MAAM;QACyC,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;QAC1B,aAAa,GAA3B,MAAM;KAChB,EAWA;IAnBD,8BAA2B;IAC3B,cAAiB;IAWf,eAA8B;IAC9B,oBAA8B;IAC9B,wDAAkC;IAClC,sBAAkC;IAElC,8BAA8B;IAC9B,gBADW,aAAa,EAAE,CACF;IAG1B;;;OAGG;IACH,iCAHW,MAAM,GACJ,IAAI,CAgBhB;IAED,kCAsBC;IAED;;;OAGG;IACH,cAHW,MAAM,GACJ,IAAI,CAoBhB;IAXG,wBAAoF;IAaxF;;;OAGG;IACH,6BAHW,OAAO,cAAc,EAAE,OAAO,GAC5B,OAAO,CAOnB;IAED,0CAA0C;IAC1C,uBADc,IAAI,CAoCjB;IAXC,mCAGE;IAUJ,wBAEC;IAED,yBAqBC;IAED;;;OAGG;IACH,4BAHW,aAAa,GACX,IAAI,CAwChB;CACF;6BAvN0B,QAAQ;uBACd,iBAAiB;0BAEZ,qBAAqB;oBAD3B,cAAc;6BAEL,wBAAwB"}
|