velocious 1.0.146 → 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 +16 -15
- package/build/src/database/drivers/base.d.ts +189 -131
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +159 -142
- 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 -56
- 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 +8 -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 -3
- package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query.js +5 -4
- 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 +58 -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 +9 -7
- package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table.js +12 -8
- 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 -15
- package/build/src/database/query/insert-base.d.ts.map +1 -1
- package/build/src/database/query/insert-base.js +12 -11
- 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 -7
- package/build/src/database/query/where-hash.d.ts.map +1 -1
- package/build/src/database/query/where-hash.js +11 -7
- 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 +200 -184
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +193 -167
- 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 -2
- package/build/src/error-logger.d.ts.map +1 -1
- package/build/src/error-logger.js +5 -4
- 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 +16 -10
- package/build/src/http-client/request.d.ts.map +1 -1
- package/build/src/http-client/request.js +17 -11
- 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 +50 -25
- 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 +17 -16
- package/build/src/testing/test-files-finder.d.ts.map +1 -1
- package/build/src/testing/test-files-finder.js +17 -16
- 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
|
@@ -17,7 +17,7 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
17
17
|
/** @type {import("./base.js").CommandFileObjectType[] | undefined} */
|
|
18
18
|
_findCommandsResult = undefined;
|
|
19
19
|
/**
|
|
20
|
-
* @returns {Promise<Array<import("./base.js").CommandFileObjectType>>}
|
|
20
|
+
* @returns {Promise<Array<import("./base.js").CommandFileObjectType>>} - Resolves with the commands.
|
|
21
21
|
*/
|
|
22
22
|
async findCommands() {
|
|
23
23
|
this._findCommandsResult ||= await this._actualFindCommands();
|
|
@@ -48,65 +48,65 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
48
48
|
return commands;
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
* @param {import("../cli/base-command.js").default} command
|
|
52
|
-
* @returns {Promise<
|
|
51
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
52
|
+
* @returns {Promise<unknown>} - Resolves with the command result.
|
|
53
53
|
*/
|
|
54
54
|
async cliCommandsInit(command) {
|
|
55
55
|
return await this.forwardCommand(command, CliCommandsInit);
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
|
-
* @param {import("../cli/base-command.js").default} command
|
|
59
|
-
* @returns {Promise<
|
|
58
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
59
|
+
* @returns {Promise<unknown>} - Resolves with the command result.
|
|
60
60
|
*/
|
|
61
61
|
async cliCommandsMigrationGenerate(command) {
|
|
62
62
|
return await this.forwardCommand(command, CliCommandsGenerateMigration);
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
|
-
* @param {import("../cli/base-command.js").default} command
|
|
66
|
-
* @returns {Promise<
|
|
65
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
66
|
+
* @returns {Promise<unknown>} - Resolves with the command result.
|
|
67
67
|
*/
|
|
68
68
|
async cliCommandsMigrationDestroy(command) {
|
|
69
69
|
return await this.forwardCommand(command, CliCommandsDestroyMigration);
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
|
-
* @param {import("../cli/base-command.js").default} command
|
|
73
|
-
* @returns {Promise<
|
|
72
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
73
|
+
* @returns {Promise<unknown>} - Resolves with the command result.
|
|
74
74
|
*/
|
|
75
75
|
async cliCommandsGenerateBaseModels(command) {
|
|
76
76
|
return await this.forwardCommand(command, CliCommandsGenerateBaseModels);
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
* @param {import("../cli/base-command.js").default} command
|
|
80
|
-
* @returns {Promise<
|
|
79
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
80
|
+
* @returns {Promise<unknown>} - Resolves with the command result.
|
|
81
81
|
*/
|
|
82
82
|
async cliCommandsGenerateModel(command) {
|
|
83
83
|
return await this.forwardCommand(command, CliCommandsGenerateModel);
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
|
-
* @param {import("../cli/base-command.js").default} command
|
|
87
|
-
* @returns {Promise<
|
|
86
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
87
|
+
* @returns {Promise<unknown>} - Resolves with the command result.
|
|
88
88
|
*/
|
|
89
89
|
async cliCommandsRoutes(command) {
|
|
90
90
|
return await this.forwardCommand(command, CliCommandsRoutes);
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
93
|
-
* @param {import("../cli/base-command.js").default} command
|
|
94
|
-
* @returns {Promise<
|
|
93
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
94
|
+
* @returns {Promise<unknown>} - Resolves with the command result.
|
|
95
95
|
*/
|
|
96
96
|
async cliCommandsServer(command) {
|
|
97
97
|
return await this.forwardCommand(command, CliCommandsServer);
|
|
98
98
|
}
|
|
99
99
|
/**
|
|
100
|
-
* @param {import("../cli/base-command.js").default} command
|
|
101
|
-
* @returns {Promise<
|
|
100
|
+
* @param {import("../cli/base-command.js").default} command - Command.
|
|
101
|
+
* @returns {Promise<unknown>} - Resolves with the command result.
|
|
102
102
|
*/
|
|
103
103
|
async cliCommandsTest(command) {
|
|
104
104
|
return await this.forwardCommand(command, CliCommandsTest);
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
|
-
* @param {object} args
|
|
108
|
-
* @param {string[]} args.commandParts
|
|
109
|
-
* @returns {Promise<typeof import ("../cli/base-command.js").default>}
|
|
107
|
+
* @param {object} args - Options object.
|
|
108
|
+
* @param {string[]} args.commandParts - Command parts.
|
|
109
|
+
* @returns {Promise<typeof import ("../cli/base-command.js").default>} - Resolves with the require command.
|
|
110
110
|
*/
|
|
111
111
|
async requireCommand({ commandParts }) {
|
|
112
112
|
const commands = await this.findCommands();
|
|
@@ -120,7 +120,7 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
120
120
|
return CommandClass;
|
|
121
121
|
}
|
|
122
122
|
/**
|
|
123
|
-
* @returns {Promise<Array<import("./base.js").MigrationObjectType>>}
|
|
123
|
+
* @returns {Promise<Array<import("./base.js").MigrationObjectType>>} - Resolves with the migrations.
|
|
124
124
|
*/
|
|
125
125
|
async findMigrations() {
|
|
126
126
|
const migrationsPath = `${this.getConfiguration().getDirectory()}/src/database/migrations`;
|
|
@@ -145,14 +145,14 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
145
145
|
return files;
|
|
146
146
|
}
|
|
147
147
|
/**
|
|
148
|
-
* @returns {Promise<import("../routes/index.js").default>}
|
|
148
|
+
* @returns {Promise<import("../routes/index.js").default>} - Resolves with the import application routes.
|
|
149
149
|
*/
|
|
150
150
|
async importApplicationRoutes() {
|
|
151
151
|
const routesImport = await import(`${this.getConfiguration().getDirectory()}/src/config/routes.js`);
|
|
152
152
|
return routesImport.default;
|
|
153
153
|
}
|
|
154
154
|
/**
|
|
155
|
-
* @returns {Promise<string>}
|
|
155
|
+
* @returns {Promise<string>} - Resolves with the velocious path.
|
|
156
156
|
*/
|
|
157
157
|
async getVelociousPath() {
|
|
158
158
|
if (!this._velociousPath) {
|
|
@@ -163,8 +163,8 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
163
163
|
return this._velociousPath;
|
|
164
164
|
}
|
|
165
165
|
/**
|
|
166
|
-
* @param {string[]} testFiles
|
|
167
|
-
* @returns {Promise<void>}
|
|
166
|
+
* @param {string[]} testFiles - Test files.
|
|
167
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
168
168
|
*/
|
|
169
169
|
async importTestFiles(testFiles) {
|
|
170
170
|
for (const testFile of testFiles) {
|
|
@@ -172,19 +172,19 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
/**
|
|
175
|
-
* @param {object} args
|
|
176
|
-
* @param {import("../configuration.js").default} args.configuration
|
|
177
|
-
* @returns {string}
|
|
175
|
+
* @param {object} args - Options object.
|
|
176
|
+
* @param {import("../configuration.js").default} args.configuration - Configuration instance.
|
|
177
|
+
* @returns {string} - The default log directory.
|
|
178
178
|
*/
|
|
179
179
|
getDefaultLogDirectory({ configuration }) {
|
|
180
180
|
return path.join(configuration.getDirectory(), "log");
|
|
181
181
|
}
|
|
182
182
|
/**
|
|
183
|
-
* @param {object} args
|
|
184
|
-
* @param {import("../configuration.js").default} args.configuration
|
|
185
|
-
* @param {string | undefined} args.directory
|
|
186
|
-
* @param {string} args.environment
|
|
187
|
-
* @returns {string | undefined}
|
|
183
|
+
* @param {object} args - Options object.
|
|
184
|
+
* @param {import("../configuration.js").default} args.configuration - Configuration instance.
|
|
185
|
+
* @param {string | undefined} args.directory - Directory path.
|
|
186
|
+
* @param {string} args.environment - Environment.
|
|
187
|
+
* @returns {string | undefined} - The log file path.
|
|
188
188
|
*/
|
|
189
189
|
getLogFilePath({ configuration, directory, environment }) {
|
|
190
190
|
const actualDirectory = directory || configuration?.getDirectory?.();
|
|
@@ -193,10 +193,10 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
193
193
|
return path.join(actualDirectory, `${environment}.log`);
|
|
194
194
|
}
|
|
195
195
|
/**
|
|
196
|
-
* @param {object} args
|
|
197
|
-
* @param {string} args.filePath
|
|
198
|
-
* @param {string} args.message
|
|
199
|
-
* @returns {Promise<void>}
|
|
196
|
+
* @param {object} args - Options object.
|
|
197
|
+
* @param {string} args.filePath - File path.
|
|
198
|
+
* @param {string} args.message - Message text.
|
|
199
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
200
200
|
*/
|
|
201
201
|
async writeLogToFile({ filePath, message }) {
|
|
202
202
|
await fs.mkdir(path.dirname(filePath), { recursive: true });
|
|
@@ -207,8 +207,8 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
207
207
|
await import(testingConfigPath);
|
|
208
208
|
}
|
|
209
209
|
/**
|
|
210
|
-
* @param {string} filePath
|
|
211
|
-
* @returns {Promise<import("../database/migration/index.js").default>}
|
|
210
|
+
* @param {string} filePath - File path.
|
|
211
|
+
* @returns {Promise<import("../database/migration/index.js").default>} - Resolves with the require migration.
|
|
212
212
|
*/
|
|
213
213
|
async requireMigration(filePath) {
|
|
214
214
|
const migrationImport = await import(filePath);
|
|
@@ -225,9 +225,9 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
225
225
|
return basePath;
|
|
226
226
|
}
|
|
227
227
|
/**
|
|
228
|
-
* @param {object} args
|
|
229
|
-
* @param {Record<string, import("../database/drivers/base.js").default>} args.dbs
|
|
230
|
-
* @returns {Promise<void>}
|
|
228
|
+
* @param {object} args - Options object.
|
|
229
|
+
* @param {Record<string, import("../database/drivers/base.js").default>} args.dbs - Dbs.
|
|
230
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
231
231
|
*/
|
|
232
232
|
async afterMigrations({ dbs }) {
|
|
233
233
|
const dbDir = path.join(this.getConfiguration().getDirectory(), "db");
|
|
@@ -242,9 +242,9 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
/**
|
|
245
|
-
* @param {object} args
|
|
246
|
-
* @param {Record<string, import("../database/drivers/base.js").default>} args.dbs
|
|
247
|
-
* @returns {Promise<Record<string, string>>}
|
|
245
|
+
* @param {object} args - Options object.
|
|
246
|
+
* @param {Record<string, import("../database/drivers/base.js").default>} args.dbs - Dbs.
|
|
247
|
+
* @returns {Promise<Record<string, string>>} - Resolves with SQL string.
|
|
248
248
|
*/
|
|
249
249
|
async _structureSqlByIdentifier({ dbs }) {
|
|
250
250
|
const sqlByIdentifier = /** @type {Record<string, string>} */ ({});
|
|
@@ -260,4 +260,4 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
260
260
|
return sqlByIdentifier;
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFDNUIsT0FBTywyQkFBMkIsTUFBTSwwQ0FBMEMsQ0FBQTtBQUNsRixPQUFPLGVBQWUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN6RCxPQUFPLDZCQUE2QixNQUFNLDZDQUE2QyxDQUFBO0FBQ3ZGLE9BQU8sNEJBQTRCLE1BQU0sMkNBQTJDLENBQUE7QUFDcEYsT0FBTyx3QkFBd0IsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM1RSxPQUFPLGlCQUFpQixNQUFNLCtCQUErQixDQUFBO0FBQzdELE9BQU8saUJBQWlCLE1BQU0sK0JBQStCLENBQUE7QUFDN0QsT0FBTyxlQUFlLE1BQU0sNkJBQTZCLENBQUE7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sS0FBSyxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM1QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFFdkIsTUFBTSxDQUFDLE9BQU8sT0FBTywrQkFBZ0MsU0FBUSxJQUFJO0lBQy9ELHNFQUFzRTtJQUN0RSxtQkFBbUIsR0FBRyxTQUFTLENBQUE7SUFFL0I7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixJQUFJLENBQUMsbUJBQW1CLEtBQUssTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtRQUU3RCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUV4RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIs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QUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtZQUU1QyxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsWUFBWSxDQUFBO1lBQzVDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUE7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBCYXNlIGZyb20gXCIuL2Jhc2UuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzRGVzdHJveU1pZ3JhdGlvbiBmcm9tIFwiLi9ub2RlL2NsaS9jb21tYW5kcy9kZXN0cm95L21pZ3JhdGlvbi5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNJbml0IGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2luaXQuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzR2VuZXJhdGVCYXNlTW9kZWxzIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2dlbmVyYXRlL2Jhc2UtbW9kZWxzLmpzXCJcbmltcG9ydCBDbGlDb21tYW5kc0dlbmVyYXRlTWlncmF0aW9uIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2dlbmVyYXRlL21pZ3JhdGlvbi5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNHZW5lcmF0ZU1vZGVsIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2dlbmVyYXRlL21vZGVsLmpzXCJcbmltcG9ydCBDbGlDb21tYW5kc1JvdXRlcyBmcm9tIFwiLi9ub2RlL2NsaS9jb21tYW5kcy9yb3V0ZXMuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzU2VydmVyIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL3NlcnZlci5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNUZXN0IGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL3Rlc3QuanNcIlxuaW1wb3J0IHtkaXJuYW1lfSBmcm9tIFwicGF0aFwiXG5pbXBvcnQge2ZpbGVVUkxUb1BhdGh9IGZyb20gXCJ1cmxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy9wcm9taXNlc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRW52aXJvbm1lbnRIYW5kbGVyTm9kZSBleHRlbmRzIEJhc2V7XG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLkNvbW1hbmRGaWxlT2JqZWN0VHlwZVtdIHwgdW5kZWZpbmVkfSAqL1xuICBfZmluZENvbW1hbmRzUmVzdWx0ID0gdW5kZWZpbmVkXG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PGltcG9ydChcIi4vYmFzZS5qc1wiKS5Db21tYW5kRmlsZU9iamVjdFR5cGU+Pn1cbiAgICovXG4gIGFzeW5jIGZpbmRDb21tYW5kcygpIHtcbiAgICB0aGlzLl9maW5kQ29tbWFuZHNSZXN1bHQgfHw9IGF3YWl0IHRoaXMuX2FjdHVhbEZpbmRDb21tYW5kcygpXG5cbiAgICBpZiAoIXRoaXMuX2ZpbmRDb21tYW5kc1Jlc3VsdCkgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGdldCBjb21tYW5kc1wiKVxuXG4gICAgcmV0dXJuIHRoaXMuX2ZpbmRDb21tYW5kc1Jlc3VsdFxuICB9XG5cbiAgYXN5bmMgX2FjdHVhbEZpbmRDb21tYW5kcygpIHtcbiAgICBjb25zdCBiYXNlUGF0aCA9IGF3YWl0IHRoaXMuZ2V0QmFzZVBhdGgoKVxuICAgIGNvbnN0IGNvbW1hbmRGaWxlcyA9IGZzLmdsb2IoYCR7YmFzZVBhdGh9L3NyYy9jbGkvY29tbWFuZHMvKiovKi5qc2ApXG4gICAgY29uc3QgY29tbWFuZHMgPSBbXVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBhRmlsZVBhdGggb2YgY29tbWFuZEZpbGVzKSB7XG4gICAgICBjb25zdCBhRmlsZVBhdGhQYXJ0cyA9IGFGaWxlUGF0aC5zcGxpdChcIi9cIilcbiAgICAgIGNvbnN0IGNvbW1hbmRQYXRoTG9jYXRpb24gPSBhRmlsZVBhdGhQYXJ0cy5pbmRleE9mKFwiY29tbWFuZHNcIikgKyAxXG4gICAgICBjb25zdCBsYXN0UGFydCA9IGFGaWxlUGF0aFBhcnRzW2FGaWxlUGF0aFBhcnRzLmxlbmd0aCAtIDFdXG4gICAgICBsZXQgbmFtZSwgcGF0aHNcblxuICAgICAgaWYgKGxhc3RQYXJ0ID09IFwiaW5kZXguanNcIikge1xuICAgICAgICBuYW1lID0gYUZpbGVQYXRoUGFydHNbYUZpbGVQYXRoUGFydHMubGVuZ3RoIC0gMl1cbiAgICAgICAgcGF0aHMgPSBhRmlsZVBhdGhQYXJ0cy5zbGljZShjb21tYW5kUGF0aExvY2F0aW9uLCAtMilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5hbWUgPSBsYXN0UGFydC5yZXBsYWNlKFwiLmpzXCIsIFwiXCIpXG4gICAgICAgIHBhdGhzID0gYUZpbGVQYXRoUGFydHMuc2xpY2UoY29tbWFuZFBhdGhMb2NhdGlvbiwgLTEpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbW1hbmROYW1lID0gYCR7cGF0aHMuam9pbihcIjpcIil9JHtwYXRocy5sZW5ndGggPiAwID8gXCI6XCIgOiBcIlwifSR7bmFtZX1gXG5cbiAgICAgIGNvbW1hbmRzLnB1c2goe25hbWU6IGNvbW1hbmROYW1lLCBmaWxlOiBhRmlsZVBhdGh9KVxuICAgIH1cblxuICAgIHJldHVybiBjb21tYW5kc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNJbml0KGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc0luaXQpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzTWlncmF0aW9uR2VuZXJhdGUoY29tbWFuZCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZvcndhcmRDb21tYW5kKGNvbW1hbmQsIENsaUNvbW1hbmRzR2VuZXJhdGVNaWdyYXRpb24pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzTWlncmF0aW9uRGVzdHJveShjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNEZXN0cm95TWlncmF0aW9uKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc0dlbmVyYXRlQmFzZU1vZGVscyhjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNHZW5lcmF0ZUJhc2VNb2RlbHMpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzR2VuZXJhdGVNb2RlbChjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNHZW5lcmF0ZU1vZGVsKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc1JvdXRlcyhjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNSb3V0ZXMpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzU2VydmVyKGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc1NlcnZlcilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gY29tbWFuZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNUZXN0KGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc1Rlc3QpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gYXJncy5jb21tYW5kUGFydHNcbiAgICogQHJldHVybnMge1Byb21pc2U8dHlwZW9mIGltcG9ydCAoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHQ+fVxuICAgKi9cbiAgYXN5bmMgcmVxdWlyZUNvbW1hbmQoe2NvbW1hbmRQYXJ0c30pIHtcbiAgICBjb25zdCBjb21tYW5kcyA9IGF3YWl0IHRoaXMuZmluZENvbW1hbmRzKClcbiAgICBjb25zdCBjb21tYW5kID0gY29tbWFuZHMuZmluZCgoYUNvbW1hbmQpID0+IGFDb21tYW5kLm5hbWUgPT09IGNvbW1hbmRQYXJ0cy5qb2luKFwiOlwiKSlcblxuICAgIGlmICghY29tbWFuZCkge1xuICAgICAgY29uc3QgcG9zc2libGVDb21tYW5kcyA9IGNvbW1hbmRzLm1hcChhQ29tbWFuZCA9PiBhQ29tbWFuZC5uYW1lKVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29tbWFuZDogJHtjb21tYW5kUGFydHMuam9pbihcIjpcIil9IHdoaWNoIHNob3VsZCBoYXZlIGJlZW4gb25lIG9mOiAke3Bvc3NpYmxlQ29tbWFuZHMuc29ydCgpLmpvaW4oXCIsIFwiKX1gKVxuICAgIH1cblxuICAgIGNvbnN0IGNvbW1hbmRDbGFzc0ltcG9ydCA9IGF3YWl0IGltcG9ydChjb21tYW5kLmZpbGUpXG4gICAgY29uc3QgQ29tbWFuZENsYXNzID0gY29tbWFuZENsYXNzSW1wb3J0LmRlZmF1bHRcblxuICAgIHJldHVybiBDb21tYW5kQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxpbXBvcnQoXCIuL2Jhc2UuanNcIikuTWlncmF0aW9uT2JqZWN0VHlwZT4+fVxuICAgKi9cbiAgYXN5bmMgZmluZE1pZ3JhdGlvbnMoKSB7XG4gICAgY29uc3QgbWlncmF0aW9uc1BhdGggPSBgJHt0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXREaXJlY3RvcnkoKX0vc3JjL2RhdGFiYXNlL21pZ3JhdGlvbnNgXG4gICAgY29uc3QgZ2xvYiA9IGF3YWl0IGZzLmdsb2IoYCR7bWlncmF0aW9uc1BhdGh9LyoqLyouanNgKVxuICAgIGxldCBmaWxlcyA9IFtdXG5cbiAgICBmb3IgYXdhaXQgKGNvbnN0IGZ1bGxQYXRoIG9mIGdsb2IpIHtcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBwYXRoLmJhc2VuYW1lKGZ1bGxQYXRoKVxuXG4gICAgICBjb25zdCBtYXRjaCA9IGZpbGUubWF0Y2goL14oXFxkezE0fSktKC4rKVxcLmpzJC8pXG5cbiAgICAgIGlmICghbWF0Y2gpIGNvbnRpbnVlXG5cbiAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZUludChtYXRjaFsxXSlcbiAgICAgIGNvbnN0IG1pZ3JhdGlvbk5hbWUgPSBtYXRjaFsyXVxuICAgICAgY29uc3QgbWlncmF0aW9uQ2xhc3NOYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtaWdyYXRpb25OYW1lLnJlcGxhY2VBbGwoXCItXCIsIFwiX1wiKSlcblxuICAgICAgZmlsZXMucHVzaCh7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIGZ1bGxQYXRoOiBgJHttaWdyYXRpb25zUGF0aH0vJHtmaWxlfWAsXG4gICAgICAgIGRhdGUsXG4gICAgICAgIG1pZ3JhdGlvbkNsYXNzTmFtZVxuICAgICAgfSlcbiAgICB9XG5cbiAgICBmaWxlcyA9IGZpbGVzLnNvcnQoKG1pZ3JhdGlvbjEsIG1pZ3JhdGlvbjIpID0+IG1pZ3JhdGlvbjEuZGF0ZSAtIG1pZ3JhdGlvbjIuZGF0ZSlcblxuICAgIHJldHVybiBmaWxlc1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL3JvdXRlcy9pbmRleC5qc1wiKS5kZWZhdWx0Pn1cbiAgICovXG4gIGFzeW5jIGltcG9ydEFwcGxpY2F0aW9uUm91dGVzKCkge1xuICAgIGNvbnN0IHJvdXRlc0ltcG9ydCA9IGF3YWl0IGltcG9ydChgJHt0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXREaXJlY3RvcnkoKX0vc3JjL2NvbmZpZy9yb3V0ZXMuanNgKVxuXG4gICAgcmV0dXJuIHJvdXRlc0ltcG9ydC5kZWZhdWx0XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn1cbiAgICovXG4gIGFzeW5jIGdldFZlbG9jaW91c1BhdGgoKSB7XG4gICAgaWYgKCF0aGlzLl92ZWxvY2lvdXNQYXRoKSB7XG4gICAgICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpXG4gICAgICBjb25zdCBfX2Rpcm5hbWUgPSBkaXJuYW1lKF9fZmlsZW5hbWUpXG5cbiAgICAgIHRoaXMuX3ZlbG9jaW91c1BhdGggPSBhd2FpdCBmcy5yZWFscGF0aChgJHtfX2Rpcm5hbWV9Ly4uLy4uYClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdmVsb2Npb3VzUGF0aFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IHRlc3RGaWxlc1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIGltcG9ydFRlc3RGaWxlcyh0ZXN0RmlsZXMpIHtcbiAgICBmb3IgKGNvbnN0IHRlc3RGaWxlIG9mIHRlc3RGaWxlcykge1xuICAgICAgYXdhaXQgaW1wb3J0KHRlc3RGaWxlKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBnZXREZWZhdWx0TG9nRGlyZWN0b3J5KHtjb25maWd1cmF0aW9ufSkge1xuICAgIHJldHVybiBwYXRoLmpvaW4oY29uZmlndXJhdGlvbi5nZXREaXJlY3RvcnkoKSwgXCJsb2dcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSBhcmdzLmRpcmVjdG9yeVxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5lbnZpcm9ubWVudFxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgZ2V0TG9nRmlsZVBhdGgoe2NvbmZpZ3VyYXRpb24sIGRpcmVjdG9yeSwgZW52aXJvbm1lbnR9KSB7XG4gICAgY29uc3QgYWN0dWFsRGlyZWN0b3J5ID0gZGlyZWN0b3J5IHx8IGNvbmZpZ3VyYXRpb24/LmdldERpcmVjdG9yeT8uKClcblxuICAgIGlmICghYWN0dWFsRGlyZWN0b3J5KSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICByZXR1cm4gcGF0aC5qb2luKGFjdHVhbERpcmVjdG9yeSwgYCR7ZW52aXJvbm1lbnR9LmxvZ2ApXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MuZmlsZVBhdGhcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MubWVzc2FnZVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIHdyaXRlTG9nVG9GaWxlKHtmaWxlUGF0aCwgbWVzc2FnZX0pIHtcbiAgICBhd2FpdCBmcy5ta2RpcihwYXRoLmRpcm5hbWUoZmlsZVBhdGgpLCB7cmVjdXJzaXZlOiB0cnVlfSlcbiAgICBhd2FpdCBmcy5hcHBlbmRGaWxlKGZpbGVQYXRoLCBgJHttZXNzYWdlfVxcbmAsIFwidXRmOFwiKVxuICB9XG5cbiAgYXN5bmMgaW1wb3J0VGVzdGluZ0NvbmZpZ1BhdGgoKSB7XG4gICAgY29uc3QgdGVzdGluZ0NvbmZpZ1BhdGggPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXRUZXN0aW5nKClcblxuICAgIGF3YWl0IGltcG9ydCh0ZXN0aW5nQ29uZmlnUGF0aClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmlsZVBhdGhcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZGF0YWJhc2UvbWlncmF0aW9uL2luZGV4LmpzXCIpLmRlZmF1bHQ+fVxuICAgKi9cbiAgYXN5bmMgcmVxdWlyZU1pZ3JhdGlvbihmaWxlUGF0aCkge1xuICAgIGNvbnN0IG1pZ3JhdGlvbkltcG9ydCA9IGF3YWl0IGltcG9ydChmaWxlUGF0aClcbiAgICBjb25zdCBtaWdyYXRpb25JbXBvcnREZWZhdWx0ID0gbWlncmF0aW9uSW1wb3J0LmRlZmF1bHRcblxuICAgIGlmICghbWlncmF0aW9uSW1wb3J0RGVmYXVsdCkgdGhyb3cgbmV3IEVycm9yKFwiTWlncmF0aW9uIGZpbGUgbXVzdCBleHBvcnQgYSBkZWZhdWx0IG1pZ3JhdGlvbiBjbGFzc1wiKVxuICAgIGlmICh0eXBlb2YgbWlncmF0aW9uSW1wb3J0RGVmYXVsdCAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgRXJyb3IoXCJNaWdyYXRpb24gZGVmYXVsdCBleHBvcnQgaXNuJ3QgYSBmdW5jdGlvbiAoc2hvdWxkIGJlIGEgY2xhc3Mgd2hpY2ggaXMgYSBmdW5jdGlvbiBpbiBKUylcIilcblxuICAgIHJldHVybiBtaWdyYXRpb25JbXBvcnREZWZhdWx0XG4gIH1cblxuICBhc3luYyBnZXRCYXNlUGF0aCgpIHtcbiAgICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpXG4gICAgY29uc3QgYmFzZVBhdGggPSBhd2FpdCBmcy5yZWFscGF0aChgJHtkaXJuYW1lKF9fZmlsZW5hbWUpfS8uLi8uLmApXG5cbiAgICByZXR1cm4gYmFzZVBhdGhcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gYXJncy5kYnNcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBhZnRlck1pZ3JhdGlvbnMoe2Ric30pIHtcbiAgICBjb25zdCBkYkRpciA9IHBhdGguam9pbih0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXREaXJlY3RvcnkoKSwgXCJkYlwiKVxuICAgIGNvbnN0IHN0cnVjdHVyZVNxbEJ5SWRlbnRpZmllciA9IGF3YWl0IHRoaXMuX3N0cnVjdHVyZVNxbEJ5SWRlbnRpZmllcih7ZGJzfSlcblxuICAgIGF3YWl0IGZzLm1rZGlyKGRiRGlyLCB7cmVjdXJzaXZlOiB0cnVlfSlcblxuICAgIGZvciAoY29uc3QgaWRlbnRpZmllciBvZiBPYmplY3Qua2V5cyhzdHJ1Y3R1cmVTcWxCeUlkZW50aWZpZXIpKSB7XG4gICAgICBjb25zdCBzdHJ1Y3R1cmVTcWwgPSBzdHJ1Y3R1cmVTcWxCeUlkZW50aWZpZXJbaWRlbnRpZmllcl1cblxuICAgICAgaWYgKCFzdHJ1Y3R1cmVTcWwpIGNvbnRpbnVlXG5cbiAgICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKGRiRGlyLCBgc3RydWN0dXJlLSR7aWRlbnRpZmllcn0uc3FsYClcblxuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKGZpbGVQYXRoLCBzdHJ1Y3R1cmVTcWwpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgaW1wb3J0KFwiLi4vZGF0YWJhc2UvZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSBhcmdzLmRic1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pn1cbiAgICovXG4gIGFzeW5jIF9zdHJ1Y3R1cmVTcWxCeUlkZW50aWZpZXIoe2Ric30pIHtcbiAgICBjb25zdCBzcWxCeUlkZW50aWZpZXIgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZz59ICovICh7fSlcblxuICAgIGZvciAoY29uc3QgaWRlbnRpZmllciBvZiBPYmplY3Qua2V5cyhkYnMpKSB7XG4gICAgICBjb25zdCBkYiA9IGRic1tpZGVudGlmaWVyXVxuXG4gICAgICBpZiAodHlwZW9mIGRiLnN0cnVjdHVyZVNxbCAhPT0gXCJmdW5jdGlvblwiKSBjb250aW51ZVxuXG4gICAgICBjb25zdCBzdHJ1Y3R1cmVTcWwgPSBhd2FpdCBkYi5zdHJ1Y3R1cmVTcWwoKVxuXG4gICAgICBpZiAoc3RydWN0dXJlU3FsKSB7XG4gICAgICAgIHNxbEJ5SWRlbnRpZmllcltpZGVudGlmaWVyXSA9IHN0cnVjdHVyZVNxbFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzcWxCeUlkZW50aWZpZXJcbiAgfVxufVxuIl19
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFDNUIsT0FBTywyQkFBMkIsTUFBTSwwQ0FBMEMsQ0FBQTtBQUNsRixPQUFPLGVBQWUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN6RCxPQUFPLDZCQUE2QixNQUFNLDZDQUE2QyxDQUFBO0FBQ3ZGLE9BQU8sNEJBQTRCLE1BQU0sMkNBQTJDLENBQUE7QUFDcEYsT0FBTyx3QkFBd0IsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM1RSxPQUFPLGlCQUFpQixNQUFNLCtCQUErQixDQUFBO0FBQzdELE9BQU8saUJBQWlCLE1BQU0sK0JBQStCLENBQUE7QUFDN0QsT0FBTyxlQUFlLE1BQU0sNkJBQTZCLENBQUE7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sS0FBSyxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM1QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFFdkIsTUFBTSxDQUFDLE9BQU8sT0FBTywrQkFBZ0MsU0FBUSxJQUFJO0lBQy9ELHNFQUFzRTtJQUN0RSxtQkFBbUIsR0FBRyxTQUFTLENBQUE7SUFFL0I7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixJQUFJLENBQUMsbUJBQW1CLEtBQUssTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtRQUU3RCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUV4RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIs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QUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtZQUU1QyxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsWUFBWSxDQUFBO1lBQzVDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUE7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBCYXNlIGZyb20gXCIuL2Jhc2UuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzRGVzdHJveU1pZ3JhdGlvbiBmcm9tIFwiLi9ub2RlL2NsaS9jb21tYW5kcy9kZXN0cm95L21pZ3JhdGlvbi5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNJbml0IGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2luaXQuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzR2VuZXJhdGVCYXNlTW9kZWxzIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2dlbmVyYXRlL2Jhc2UtbW9kZWxzLmpzXCJcbmltcG9ydCBDbGlDb21tYW5kc0dlbmVyYXRlTWlncmF0aW9uIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2dlbmVyYXRlL21pZ3JhdGlvbi5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNHZW5lcmF0ZU1vZGVsIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL2dlbmVyYXRlL21vZGVsLmpzXCJcbmltcG9ydCBDbGlDb21tYW5kc1JvdXRlcyBmcm9tIFwiLi9ub2RlL2NsaS9jb21tYW5kcy9yb3V0ZXMuanNcIlxuaW1wb3J0IENsaUNvbW1hbmRzU2VydmVyIGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL3NlcnZlci5qc1wiXG5pbXBvcnQgQ2xpQ29tbWFuZHNUZXN0IGZyb20gXCIuL25vZGUvY2xpL2NvbW1hbmRzL3Rlc3QuanNcIlxuaW1wb3J0IHtkaXJuYW1lfSBmcm9tIFwicGF0aFwiXG5pbXBvcnQge2ZpbGVVUkxUb1BhdGh9IGZyb20gXCJ1cmxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy9wcm9taXNlc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRW52aXJvbm1lbnRIYW5kbGVyTm9kZSBleHRlbmRzIEJhc2V7XG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLkNvbW1hbmRGaWxlT2JqZWN0VHlwZVtdIHwgdW5kZWZpbmVkfSAqL1xuICBfZmluZENvbW1hbmRzUmVzdWx0ID0gdW5kZWZpbmVkXG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PGltcG9ydChcIi4vYmFzZS5qc1wiKS5Db21tYW5kRmlsZU9iamVjdFR5cGU+Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjb21tYW5kcy5cbiAgICovXG4gIGFzeW5jIGZpbmRDb21tYW5kcygpIHtcbiAgICB0aGlzLl9maW5kQ29tbWFuZHNSZXN1bHQgfHw9IGF3YWl0IHRoaXMuX2FjdHVhbEZpbmRDb21tYW5kcygpXG5cbiAgICBpZiAoIXRoaXMuX2ZpbmRDb21tYW5kc1Jlc3VsdCkgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGdldCBjb21tYW5kc1wiKVxuXG4gICAgcmV0dXJuIHRoaXMuX2ZpbmRDb21tYW5kc1Jlc3VsdFxuICB9XG5cbiAgYXN5bmMgX2FjdHVhbEZpbmRDb21tYW5kcygpIHtcbiAgICBjb25zdCBiYXNlUGF0aCA9IGF3YWl0IHRoaXMuZ2V0QmFzZVBhdGgoKVxuICAgIGNvbnN0IGNvbW1hbmRGaWxlcyA9IGZzLmdsb2IoYCR7YmFzZVBhdGh9L3NyYy9jbGkvY29tbWFuZHMvKiovKi5qc2ApXG4gICAgY29uc3QgY29tbWFuZHMgPSBbXVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBhRmlsZVBhdGggb2YgY29tbWFuZEZpbGVzKSB7XG4gICAgICBjb25zdCBhRmlsZVBhdGhQYXJ0cyA9IGFGaWxlUGF0aC5zcGxpdChcIi9cIilcbiAgICAgIGNvbnN0IGNvbW1hbmRQYXRoTG9jYXRpb24gPSBhRmlsZVBhdGhQYXJ0cy5pbmRleE9mKFwiY29tbWFuZHNcIikgKyAxXG4gICAgICBjb25zdCBsYXN0UGFydCA9IGFGaWxlUGF0aFBhcnRzW2FGaWxlUGF0aFBhcnRzLmxlbmd0aCAtIDFdXG4gICAgICBsZXQgbmFtZSwgcGF0aHNcblxuICAgICAgaWYgKGxhc3RQYXJ0ID09IFwiaW5kZXguanNcIikge1xuICAgICAgICBuYW1lID0gYUZpbGVQYXRoUGFydHNbYUZpbGVQYXRoUGFydHMubGVuZ3RoIC0gMl1cbiAgICAgICAgcGF0aHMgPSBhRmlsZVBhdGhQYXJ0cy5zbGljZShjb21tYW5kUGF0aExvY2F0aW9uLCAtMilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5hbWUgPSBsYXN0UGFydC5yZXBsYWNlKFwiLmpzXCIsIFwiXCIpXG4gICAgICAgIHBhdGhzID0gYUZpbGVQYXRoUGFydHMuc2xpY2UoY29tbWFuZFBhdGhMb2NhdGlvbiwgLTEpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbW1hbmROYW1lID0gYCR7cGF0aHMuam9pbihcIjpcIil9JHtwYXRocy5sZW5ndGggPiAwID8gXCI6XCIgOiBcIlwifSR7bmFtZX1gXG5cbiAgICAgIGNvbW1hbmRzLnB1c2goe25hbWU6IGNvbW1hbmROYW1lLCBmaWxlOiBhRmlsZVBhdGh9KVxuICAgIH1cblxuICAgIHJldHVybiBjb21tYW5kc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kIC0gQ29tbWFuZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgY29tbWFuZCByZXN1bHQuXG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc0luaXQoY29tbWFuZCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZvcndhcmRDb21tYW5kKGNvbW1hbmQsIENsaUNvbW1hbmRzSW5pdClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gY29tbWFuZCAtIENvbW1hbmQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNvbW1hbmQgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNNaWdyYXRpb25HZW5lcmF0ZShjb21tYW5kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZm9yd2FyZENvbW1hbmQoY29tbWFuZCwgQ2xpQ29tbWFuZHNHZW5lcmF0ZU1pZ3JhdGlvbilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gY29tbWFuZCAtIENvbW1hbmQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNvbW1hbmQgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNNaWdyYXRpb25EZXN0cm95KGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc0Rlc3Ryb3lNaWdyYXRpb24pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmQgLSBDb21tYW5kLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjb21tYW5kIHJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzR2VuZXJhdGVCYXNlTW9kZWxzKGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc0dlbmVyYXRlQmFzZU1vZGVscylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gY29tbWFuZCAtIENvbW1hbmQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNvbW1hbmQgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNHZW5lcmF0ZU1vZGVsKGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc0dlbmVyYXRlTW9kZWwpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jbGkvYmFzZS1jb21tYW5kLmpzXCIpLmRlZmF1bHR9IGNvbW1hbmQgLSBDb21tYW5kLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjb21tYW5kIHJlc3VsdC5cbiAgICovXG4gIGFzeW5jIGNsaUNvbW1hbmRzUm91dGVzKGNvbW1hbmQpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5mb3J3YXJkQ29tbWFuZChjb21tYW5kLCBDbGlDb21tYW5kc1JvdXRlcylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIikuZGVmYXVsdH0gY29tbWFuZCAtIENvbW1hbmQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNvbW1hbmQgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2xpQ29tbWFuZHNTZXJ2ZXIoY29tbWFuZCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZvcndhcmRDb21tYW5kKGNvbW1hbmQsIENsaUNvbW1hbmRzU2VydmVyKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kIC0gQ29tbWFuZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgY29tbWFuZCByZXN1bHQuXG4gICAqL1xuICBhc3luYyBjbGlDb21tYW5kc1Rlc3QoY29tbWFuZCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZvcndhcmRDb21tYW5kKGNvbW1hbmQsIENsaUNvbW1hbmRzVGVzdClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBhcmdzLmNvbW1hbmRQYXJ0cyAtIENvbW1hbmQgcGFydHMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHR5cGVvZiBpbXBvcnQgKFwiLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSByZXF1aXJlIGNvbW1hbmQuXG4gICAqL1xuICBhc3luYyByZXF1aXJlQ29tbWFuZCh7Y29tbWFuZFBhcnRzfSkge1xuICAgIGNvbnN0IGNvbW1hbmRzID0gYXdhaXQgdGhpcy5maW5kQ29tbWFuZHMoKVxuICAgIGNvbnN0IGNvbW1hbmQgPSBjb21tYW5kcy5maW5kKChhQ29tbWFuZCkgPT4gYUNvbW1hbmQubmFtZSA9PT0gY29tbWFuZFBhcnRzLmpvaW4oXCI6XCIpKVxuXG4gICAgaWYgKCFjb21tYW5kKSB7XG4gICAgICBjb25zdCBwb3NzaWJsZUNvbW1hbmRzID0gY29tbWFuZHMubWFwKGFDb21tYW5kID0+IGFDb21tYW5kLm5hbWUpXG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBjb21tYW5kOiAke2NvbW1hbmRQYXJ0cy5qb2luKFwiOlwiKX0gd2hpY2ggc2hvdWxkIGhhdmUgYmVlbiBvbmUgb2Y6ICR7cG9zc2libGVDb21tYW5kcy5zb3J0KCkuam9pbihcIiwgXCIpfWApXG4gICAgfVxuXG4gICAgY29uc3QgY29tbWFuZENsYXNzSW1wb3J0ID0gYXdhaXQgaW1wb3J0KGNvbW1hbmQuZmlsZSlcbiAgICBjb25zdCBDb21tYW5kQ2xhc3MgPSBjb21tYW5kQ2xhc3NJbXBvcnQuZGVmYXVsdFxuXG4gICAgcmV0dXJuIENvbW1hbmRDbGFzc1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PGltcG9ydChcIi4vYmFzZS5qc1wiKS5NaWdyYXRpb25PYmplY3RUeXBlPj59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgbWlncmF0aW9ucy5cbiAgICovXG4gIGFzeW5jIGZpbmRNaWdyYXRpb25zKCkge1xuICAgIGNvbnN0IG1pZ3JhdGlvbnNQYXRoID0gYCR7dGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0RGlyZWN0b3J5KCl9L3NyYy9kYXRhYmFzZS9taWdyYXRpb25zYFxuICAgIGNvbnN0IGdsb2IgPSBhd2FpdCBmcy5nbG9iKGAke21pZ3JhdGlvbnNQYXRofS8qKi8qLmpzYClcbiAgICBsZXQgZmlsZXMgPSBbXVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBmdWxsUGF0aCBvZiBnbG9iKSB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgcGF0aC5iYXNlbmFtZShmdWxsUGF0aClcblxuICAgICAgY29uc3QgbWF0Y2ggPSBmaWxlLm1hdGNoKC9eKFxcZHsxNH0pLSguKylcXC5qcyQvKVxuXG4gICAgICBpZiAoIW1hdGNoKSBjb250aW51ZVxuXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2VJbnQobWF0Y2hbMV0pXG4gICAgICBjb25zdCBtaWdyYXRpb25OYW1lID0gbWF0Y2hbMl1cbiAgICAgIGNvbnN0IG1pZ3JhdGlvbkNsYXNzTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUobWlncmF0aW9uTmFtZS5yZXBsYWNlQWxsKFwiLVwiLCBcIl9cIikpXG5cbiAgICAgIGZpbGVzLnB1c2goe1xuICAgICAgICBmaWxlLFxuICAgICAgICBmdWxsUGF0aDogYCR7bWlncmF0aW9uc1BhdGh9LyR7ZmlsZX1gLFxuICAgICAgICBkYXRlLFxuICAgICAgICBtaWdyYXRpb25DbGFzc05hbWVcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZmlsZXMgPSBmaWxlcy5zb3J0KChtaWdyYXRpb24xLCBtaWdyYXRpb24yKSA9PiBtaWdyYXRpb24xLmRhdGUgLSBtaWdyYXRpb24yLmRhdGUpXG5cbiAgICByZXR1cm4gZmlsZXNcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9yb3V0ZXMvaW5kZXguanNcIikuZGVmYXVsdD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgaW1wb3J0IGFwcGxpY2F0aW9uIHJvdXRlcy5cbiAgICovXG4gIGFzeW5jIGltcG9ydEFwcGxpY2F0aW9uUm91dGVzKCkge1xuICAgIGNvbnN0IHJvdXRlc0ltcG9ydCA9IGF3YWl0IGltcG9ydChgJHt0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXREaXJlY3RvcnkoKX0vc3JjL2NvbmZpZy9yb3V0ZXMuanNgKVxuXG4gICAgcmV0dXJuIHJvdXRlc0ltcG9ydC5kZWZhdWx0XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSB2ZWxvY2lvdXMgcGF0aC5cbiAgICovXG4gIGFzeW5jIGdldFZlbG9jaW91c1BhdGgoKSB7XG4gICAgaWYgKCF0aGlzLl92ZWxvY2lvdXNQYXRoKSB7XG4gICAgICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpXG4gICAgICBjb25zdCBfX2Rpcm5hbWUgPSBkaXJuYW1lKF9fZmlsZW5hbWUpXG5cbiAgICAgIHRoaXMuX3ZlbG9jaW91c1BhdGggPSBhd2FpdCBmcy5yZWFscGF0aChgJHtfX2Rpcm5hbWV9Ly4uLy4uYClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdmVsb2Npb3VzUGF0aFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IHRlc3RGaWxlcyAtIFRlc3QgZmlsZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBpbXBvcnRUZXN0RmlsZXModGVzdEZpbGVzKSB7XG4gICAgZm9yIChjb25zdCB0ZXN0RmlsZSBvZiB0ZXN0RmlsZXMpIHtcbiAgICAgIGF3YWl0IGltcG9ydCh0ZXN0RmlsZSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIGRlZmF1bHQgbG9nIGRpcmVjdG9yeS5cbiAgICovXG4gIGdldERlZmF1bHRMb2dEaXJlY3Rvcnkoe2NvbmZpZ3VyYXRpb259KSB7XG4gICAgcmV0dXJuIHBhdGguam9pbihjb25maWd1cmF0aW9uLmdldERpcmVjdG9yeSgpLCBcImxvZ1wiKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHVuZGVmaW5lZH0gYXJncy5kaXJlY3RvcnkgLSBEaXJlY3RvcnkgcGF0aC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MuZW52aXJvbm1lbnQgLSBFbnZpcm9ubWVudC5cbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBUaGUgbG9nIGZpbGUgcGF0aC5cbiAgICovXG4gIGdldExvZ0ZpbGVQYXRoKHtjb25maWd1cmF0aW9uLCBkaXJlY3RvcnksIGVudmlyb25tZW50fSkge1xuICAgIGNvbnN0IGFjdHVhbERpcmVjdG9yeSA9IGRpcmVjdG9yeSB8fCBjb25maWd1cmF0aW9uPy5nZXREaXJlY3Rvcnk/LigpXG5cbiAgICBpZiAoIWFjdHVhbERpcmVjdG9yeSkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgcmV0dXJuIHBhdGguam9pbihhY3R1YWxEaXJlY3RvcnksIGAke2Vudmlyb25tZW50fS5sb2dgKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmZpbGVQYXRoIC0gRmlsZSBwYXRoLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5tZXNzYWdlIC0gTWVzc2FnZSB0ZXh0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgd3JpdGVMb2dUb0ZpbGUoe2ZpbGVQYXRoLCBtZXNzYWdlfSkge1xuICAgIGF3YWl0IGZzLm1rZGlyKHBhdGguZGlybmFtZShmaWxlUGF0aCksIHtyZWN1cnNpdmU6IHRydWV9KVxuICAgIGF3YWl0IGZzLmFwcGVuZEZpbGUoZmlsZVBhdGgsIGAke21lc3NhZ2V9XFxuYCwgXCJ1dGY4XCIpXG4gIH1cblxuICBhc3luYyBpbXBvcnRUZXN0aW5nQ29uZmlnUGF0aCgpIHtcbiAgICBjb25zdCB0ZXN0aW5nQ29uZmlnUGF0aCA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldFRlc3RpbmcoKVxuXG4gICAgYXdhaXQgaW1wb3J0KHRlc3RpbmdDb25maWdQYXRoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlUGF0aCAtIEZpbGUgcGF0aC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZGF0YWJhc2UvbWlncmF0aW9uL2luZGV4LmpzXCIpLmRlZmF1bHQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIHJlcXVpcmUgbWlncmF0aW9uLlxuICAgKi9cbiAgYXN5bmMgcmVxdWlyZU1pZ3JhdGlvbihmaWxlUGF0aCkge1xuICAgIGNvbnN0IG1pZ3JhdGlvbkltcG9ydCA9IGF3YWl0IGltcG9ydChmaWxlUGF0aClcbiAgICBjb25zdCBtaWdyYXRpb25JbXBvcnREZWZhdWx0ID0gbWlncmF0aW9uSW1wb3J0LmRlZmF1bHRcblxuICAgIGlmICghbWlncmF0aW9uSW1wb3J0RGVmYXVsdCkgdGhyb3cgbmV3IEVycm9yKFwiTWlncmF0aW9uIGZpbGUgbXVzdCBleHBvcnQgYSBkZWZhdWx0IG1pZ3JhdGlvbiBjbGFzc1wiKVxuICAgIGlmICh0eXBlb2YgbWlncmF0aW9uSW1wb3J0RGVmYXVsdCAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgRXJyb3IoXCJNaWdyYXRpb24gZGVmYXVsdCBleHBvcnQgaXNuJ3QgYSBmdW5jdGlvbiAoc2hvdWxkIGJlIGEgY2xhc3Mgd2hpY2ggaXMgYSBmdW5jdGlvbiBpbiBKUylcIilcblxuICAgIHJldHVybiBtaWdyYXRpb25JbXBvcnREZWZhdWx0XG4gIH1cblxuICBhc3luYyBnZXRCYXNlUGF0aCgpIHtcbiAgICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpXG4gICAgY29uc3QgYmFzZVBhdGggPSBhd2FpdCBmcy5yZWFscGF0aChgJHtkaXJuYW1lKF9fZmlsZW5hbWUpfS8uLi8uLmApXG5cbiAgICByZXR1cm4gYmFzZVBhdGhcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gYXJncy5kYnMgLSBEYnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBhZnRlck1pZ3JhdGlvbnMoe2Ric30pIHtcbiAgICBjb25zdCBkYkRpciA9IHBhdGguam9pbih0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXREaXJlY3RvcnkoKSwgXCJkYlwiKVxuICAgIGNvbnN0IHN0cnVjdHVyZVNxbEJ5SWRlbnRpZmllciA9IGF3YWl0IHRoaXMuX3N0cnVjdHVyZVNxbEJ5SWRlbnRpZmllcih7ZGJzfSlcblxuICAgIGF3YWl0IGZzLm1rZGlyKGRiRGlyLCB7cmVjdXJzaXZlOiB0cnVlfSlcblxuICAgIGZvciAoY29uc3QgaWRlbnRpZmllciBvZiBPYmplY3Qua2V5cyhzdHJ1Y3R1cmVTcWxCeUlkZW50aWZpZXIpKSB7XG4gICAgICBjb25zdCBzdHJ1Y3R1cmVTcWwgPSBzdHJ1Y3R1cmVTcWxCeUlkZW50aWZpZXJbaWRlbnRpZmllcl1cblxuICAgICAgaWYgKCFzdHJ1Y3R1cmVTcWwpIGNvbnRpbnVlXG5cbiAgICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKGRiRGlyLCBgc3RydWN0dXJlLSR7aWRlbnRpZmllcn0uc3FsYClcblxuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKGZpbGVQYXRoLCBzdHJ1Y3R1cmVTcWwpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgaW1wb3J0KFwiLi4vZGF0YWJhc2UvZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSBhcmdzLmRicyAtIERicy5cbiAgICogQHJldHVybnMge1Byb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj59IC0gUmVzb2x2ZXMgd2l0aCBTUUwgc3RyaW5nLlxuICAgKi9cbiAgYXN5bmMgX3N0cnVjdHVyZVNxbEJ5SWRlbnRpZmllcih7ZGJzfSkge1xuICAgIGNvbnN0IHNxbEJ5SWRlbnRpZmllciA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gKi8gKHt9KVxuXG4gICAgZm9yIChjb25zdCBpZGVudGlmaWVyIG9mIE9iamVjdC5rZXlzKGRicykpIHtcbiAgICAgIGNvbnN0IGRiID0gZGJzW2lkZW50aWZpZXJdXG5cbiAgICAgIGlmICh0eXBlb2YgZGIuc3RydWN0dXJlU3FsICE9PSBcImZ1bmN0aW9uXCIpIGNvbnRpbnVlXG5cbiAgICAgIGNvbnN0IHN0cnVjdHVyZVNxbCA9IGF3YWl0IGRiLnN0cnVjdHVyZVNxbCgpXG5cbiAgICAgIGlmIChzdHJ1Y3R1cmVTcWwpIHtcbiAgICAgICAgc3FsQnlJZGVudGlmaWVyW2lkZW50aWZpZXJdID0gc3RydWN0dXJlU3FsXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNxbEJ5SWRlbnRpZmllclxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @param {(...args:
|
|
2
|
+
* @param {(...args: unknown[]) => Promise<void>} callback - Callback function.
|
|
3
|
+
* @returns {(...args: unknown[]) => Promise<void>} - The error logger.
|
|
3
4
|
*/
|
|
4
|
-
export default function errorLogger(callback: (...args:
|
|
5
|
+
export default function errorLogger(callback: (...args: unknown[]) => Promise<void>): (...args: unknown[]) => Promise<void>;
|
|
5
6
|
//# sourceMappingURL=error-logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-logger.d.ts","sourceRoot":"","sources":["../../src/error-logger.js"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"error-logger.d.ts","sourceRoot":"","sources":["../../src/error-logger.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,8CAHW,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GACnC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CA4BjD"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
/**
|
|
3
|
-
* @param {(...args:
|
|
3
|
+
* @param {(...args: unknown[]) => Promise<void>} callback - Callback function.
|
|
4
|
+
* @returns {(...args: unknown[]) => Promise<void>} - The error logger.
|
|
4
5
|
*/
|
|
5
6
|
export default function errorLogger(callback) {
|
|
6
7
|
/**
|
|
7
|
-
* @param {...
|
|
8
|
-
* @returns {Promise<void>}
|
|
8
|
+
* @param {...unknown[]} args - Arguments forwarded to the callback.
|
|
9
|
+
* @returns {Promise<void>} - Resolves when complete.
|
|
9
10
|
*/
|
|
10
11
|
return async function (...args) {
|
|
11
12
|
try {
|
|
@@ -30,4 +31,4 @@ export default function errorLogger(callback) {
|
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9yLWxvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVo7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sVUFBVSxXQUFXLENBQUMsUUFBUTtJQUMxQzs7O09BR0c7SUFDSCxPQUFPLEtBQUssV0FBVSxHQUFHLElBQUk7UUFDM0IsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUN6QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO2dCQUMzQixPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtnQkFFOUMsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDckMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7Z0JBQzNCLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxFQUFFLENBQUMsQ0FBQTtnQkFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUMzQixDQUFDO1lBRUQsK0RBQStEO1lBQy9ELFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ25DLENBQUM7SUFDSCxDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQHBhcmFtIHsoLi4uYXJnczogdW5rbm93bltdKSA9PiBQcm9taXNlPHZvaWQ+fSBjYWxsYmFjayAtIENhbGxiYWNrIGZ1bmN0aW9uLlxuICogQHJldHVybnMgeyguLi5hcmdzOiB1bmtub3duW10pID0+IFByb21pc2U8dm9pZD59IC0gVGhlIGVycm9yIGxvZ2dlci5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZXJyb3JMb2dnZXIoY2FsbGJhY2spIHtcbiAgLyoqXG4gICAqIEBwYXJhbSAgey4uLnVua25vd25bXX0gYXJncyAtIEFyZ3VtZW50cyBmb3J3YXJkZWQgdG8gdGhlIGNhbGxiYWNrLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgY2FsbGJhY2soLi4uYXJncylcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3JMb2dnZXI6ICR7ZXJyb3IubWVzc2FnZX1gKVxuXG4gICAgICAgIGlmIChlcnJvci5zdGFjaykge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJTdGFja1wiLCBlcnJvci5zdGFjaylcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiTm8gc3RhY2tcIilcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3JMb2dnZXI6ICR7ZXJyb3J9YClcbiAgICAgICAgY29uc29sZS5lcnJvcihcIk5vIHN0YWNrXCIpXG4gICAgICB9XG5cbiAgICAgIC8vIEdpdmUgY29uc29sZSBzb21lIHRpbWUgdG8gd3JpdGUgb3V0IG1lc3NhZ2VzIGJlZm9yZSBjcmFzaGluZ1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRocm93IGVycm9yIH0pXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
export default class Header {
|
|
3
3
|
/**
|
|
4
|
-
* @param {string} name
|
|
5
|
-
* @param {string | number} value
|
|
4
|
+
* @param {string} name - Name.
|
|
5
|
+
* @param {string | number} value - Value to use.
|
|
6
6
|
*/
|
|
7
7
|
constructor(name, value) {
|
|
8
8
|
this.name = name;
|
|
@@ -12,4 +12,4 @@ export default class Header {
|
|
|
12
12
|
getValue() { return this.value; }
|
|
13
13
|
toString() { return `${this.getName()}: ${this.getValue()}`; }
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2h0dHAtY2xpZW50L2hlYWRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxNQUFNO0lBQ3pCOzs7T0FHRztJQUNILFlBQVksSUFBSSxFQUFFLEtBQUs7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsQ0FBQztJQUVELE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFDO0lBQzlCLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsS0FBSyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFBLENBQUMsQ0FBQztDQUM5RCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIZWFkZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lLlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlcn0gdmFsdWUgLSBWYWx1ZSB0byB1c2UuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihuYW1lLCB2YWx1ZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWVcbiAgICB0aGlzLnZhbHVlID0gdmFsdWVcbiAgfVxuXG4gIGdldE5hbWUoKSB7IHJldHVybiB0aGlzLm5hbWUgfVxuICBnZXRWYWx1ZSgpIHsgcmV0dXJuIHRoaXMudmFsdWUgfVxuICB0b1N0cmluZygpIHsgcmV0dXJuIGAke3RoaXMuZ2V0TmFtZSgpfTogJHt0aGlzLmdldFZhbHVlKCl9YCB9XG59XG4iXX0=
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export default class HttpClient {
|
|
2
2
|
/**
|
|
3
|
-
* @param {object} args
|
|
4
|
-
* @param {boolean} [args.debug]
|
|
5
|
-
* @param {Array<import("./header.js").default>} [args.headers]
|
|
6
|
-
* @param {string} [args.version]
|
|
3
|
+
* @param {object} args - Options object.
|
|
4
|
+
* @param {boolean} [args.debug] - Whether debug.
|
|
5
|
+
* @param {Array<import("./header.js").default>} [args.headers] - Header list.
|
|
6
|
+
* @param {string} [args.version] - Version.
|
|
7
7
|
*/
|
|
8
8
|
constructor({ debug, headers, version }: {
|
|
9
9
|
debug?: boolean;
|
|
@@ -17,10 +17,10 @@ export default class HttpClient {
|
|
|
17
17
|
connectionReject: (reason?: any) => void;
|
|
18
18
|
connection: net.Socket;
|
|
19
19
|
/**
|
|
20
|
-
* @param {string} path
|
|
21
|
-
* @param {object} [options]
|
|
22
|
-
* @param {Array<import("./header.js").default>} [options.headers]
|
|
23
|
-
* @returns {Promise<{request: import("./request.js").default, response: import("./response.js").default}>}
|
|
20
|
+
* @param {string} path - Path.
|
|
21
|
+
* @param {object} [options] - Options object.
|
|
22
|
+
* @param {Array<import("./header.js").default>} [options.headers] - Header list.
|
|
23
|
+
* @returns {Promise<{request: import("./request.js").default, response: import("./response.js").default}>} - Resolves with the request/response pair.
|
|
24
24
|
*/
|
|
25
25
|
get(path: string, { headers }?: {
|
|
26
26
|
headers?: Array<import("./header.js").default>;
|
|
@@ -39,12 +39,12 @@ export default class HttpClient {
|
|
|
39
39
|
currentResponse: Response;
|
|
40
40
|
currentRequest: Request;
|
|
41
41
|
/**
|
|
42
|
-
* @param {Buffer} data
|
|
42
|
+
* @param {Buffer} data - Data payload.
|
|
43
43
|
*/
|
|
44
44
|
onConnectionData: (data: Buffer) => void;
|
|
45
45
|
onConnectionEnd: () => void;
|
|
46
46
|
/**
|
|
47
|
-
* @param {Error} error
|
|
47
|
+
* @param {Error} error - Error instance.
|
|
48
48
|
*/
|
|
49
49
|
onConnectionError: (error: Error) => void;
|
|
50
50
|
isConnected(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http-client/index.js"],"names":[],"mappings":"AAOA;IACE;;;;;OAKG;IACH,yCAJG;QAAuB,KAAK,GAApB,OAAO;QACqC,OAAO,GAAnD,KAAK,CAAC,OAAO,aAAa,EAAE,OAAO,CAAC;QACtB,OAAO,GAArB,MAAM;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http-client/index.js"],"names":[],"mappings":"AAOA;IACE;;;;;OAKG;IACH,yCAJG;QAAuB,KAAK,GAApB,OAAO;QACqC,OAAO,GAAnD,KAAK,CAAC,OAAO,aAAa,EAAE,OAAO,CAAC;QACtB,OAAO,GAArB,MAAM;KAChB,EAKA;IAHC,yCAA4B;IAC5B,eAAuC;IACvC,gBAAsB;IAGxB,wBAYC;IAVG,yCAA8B;IAC9B,uBAGE;IAQN;;;;;OAKG;IACH,UALW,MAAM,gBAEd;QAAuD,OAAO,GAAtD,KAAK,CAAC,OAAO,aAAa,EAAE,OAAO,CAAC;KAC5C,GAAU,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,cAAc,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,eAAe,EAAE,OAAO,CAAA;KAAC,CAAC,CA+CzG;IAzCG;iBAN2B,OAAO,cAAc,EAAE,OAAO;kBAAY,OAAO,eAAe,EAAE,OAAO;;iBAAzE,OAAO,cAAc,EAAE,OAAO;kBAAY,OAAO,eAAe,EAAE,OAAO;gBAMhE;IACpC,6CAAkC;IAqBlC,0BAAyF;IAEzF,wBAA6F;IAmBjG;;OAEG;IACH,mBAAoB,MAFT,MAEa,UAIvB;IAED,4BAEC;IAED;;OAEG;IACH,oBAAqB,OAFV,KAEe,UAMzB;IAED,uBAMC;IAED,+BAcC;CACF;uBAjIoB,cAAc;gBAHnB,KAAK;qBAEA,eAAe;oBADhB,cAAc"}
|
|
@@ -5,10 +5,10 @@ import Response from "./response.js";
|
|
|
5
5
|
import { Logger } from "../logger.js";
|
|
6
6
|
export default class HttpClient {
|
|
7
7
|
/**
|
|
8
|
-
* @param {object} args
|
|
9
|
-
* @param {boolean} [args.debug]
|
|
10
|
-
* @param {Array<import("./header.js").default>} [args.headers]
|
|
11
|
-
* @param {string} [args.version]
|
|
8
|
+
* @param {object} args - Options object.
|
|
9
|
+
* @param {boolean} [args.debug] - Whether debug.
|
|
10
|
+
* @param {Array<import("./header.js").default>} [args.headers] - Header list.
|
|
11
|
+
* @param {string} [args.version] - Version.
|
|
12
12
|
*/
|
|
13
13
|
constructor({ debug = false, headers, version = "1.1" }) {
|
|
14
14
|
this.headers = headers || [];
|
|
@@ -28,10 +28,10 @@ export default class HttpClient {
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* @param {string} path
|
|
32
|
-
* @param {object} [options]
|
|
33
|
-
* @param {Array<import("./header.js").default>} [options.headers]
|
|
34
|
-
* @returns {Promise<{request: import("./request.js").default, response: import("./response.js").default}>}
|
|
31
|
+
* @param {string} path - Path.
|
|
32
|
+
* @param {object} [options] - Options object.
|
|
33
|
+
* @param {Array<import("./header.js").default>} [options.headers] - Header list.
|
|
34
|
+
* @returns {Promise<{request: import("./request.js").default, response: import("./response.js").default}>} - Resolves with the request/response pair.
|
|
35
35
|
*/
|
|
36
36
|
get(path, { headers } = {}) {
|
|
37
37
|
if (!this.connection)
|
|
@@ -72,7 +72,7 @@ export default class HttpClient {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
* @param {Buffer} data
|
|
75
|
+
* @param {Buffer} data - Data payload.
|
|
76
76
|
*/
|
|
77
77
|
onConnectionData = (data) => {
|
|
78
78
|
if (!this.currentResponse)
|
|
@@ -83,7 +83,7 @@ export default class HttpClient {
|
|
|
83
83
|
this.connection = null;
|
|
84
84
|
};
|
|
85
85
|
/**
|
|
86
|
-
* @param {Error} error
|
|
86
|
+
* @param {Error} error - Error instance.
|
|
87
87
|
*/
|
|
88
88
|
onConnectionError = (error) => {
|
|
89
89
|
if (this.connectionReject) {
|
|
@@ -116,4 +116,4 @@ export default class HttpClient {
|
|
|
116
116
|
this.currentResponse = null;
|
|
117
117
|
};
|
|
118
118
|
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQTtBQUNyQixPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUE7QUFDbEMsT0FBTyxRQUFRLE1BQU0sZUFBZSxDQUFBO0FBQ3BDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFbkMsTUFBTSxDQUFDLE9BQU8sT0FBTyxVQUFVO0lBQzdCOzs7OztPQUtHO0lBQ0gsWUFBWSxFQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sR0FBRyxLQUFLLEVBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFBO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtJQUN4QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQTtZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQTtnQkFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2YsQ0FBQyxDQUFDLENBQUE7WUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7WUFDakQsSUFBSSxDQUFD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LE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYztZQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDL0IsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQTtRQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFBO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFBO0lBQzdCLENBQUMsQ0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBuZXQgZnJvbSBcIm5ldFwiXG5pbXBvcnQgUmVxdWVzdCBmcm9tIFwiLi9yZXF1ZXN0LmpzXCJcbmltcG9ydCBSZXNwb25zZSBmcm9tIFwiLi9yZXNwb25zZS5qc1wiXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSBcIi4uL2xvZ2dlci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBDbGllbnQge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5kZWJ1Z11cbiAgICogQHBhcmFtIHtBcnJheTxpbXBvcnQoXCIuL2hlYWRlci5qc1wiKS5kZWZhdWx0Pn0gW2FyZ3MuaGVhZGVyc11cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLnZlcnNpb25dXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7ZGVidWcgPSBmYWxzZSwgaGVhZGVycywgdmVyc2lvbiA9IFwiMS4xXCJ9KSB7XG4gICAgdGhpcy5oZWFkZXJzID0gaGVhZGVycyB8fCBbXVxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzLCB7ZGVidWd9KVxuICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb25cbiAgfVxuXG4gIGNvbm5lY3QoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblJlamVjdCA9IHJlamVjdFxuICAgICAgdGhpcy5jb25uZWN0aW9uID0gbmV0LmNyZWF0ZUNvbm5lY3Rpb24oMzAwNiwgXCIxMjcuMC4wLjFcIiwgKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25SZWplY3QgPSBudWxsXG4gICAgICAgIHJlc29sdmUobnVsbClcbiAgICAgIH0pXG5cbiAgICAgIHRoaXMuY29ubmVjdGlvbi5vbihcImRhdGFcIiwgdGhpcy5vbkNvbm5lY3Rpb25EYXRhKVxuICAgICAgdGhpcy5jb25uZWN0aW9uLm9uKFwiZW5kXCIsIHRoaXMub25Db25uZWN0aW9uRW5kKVxuICAgICAgdGhpcy5jb25uZWN0aW9uLm9uKFwiZXJyb3JcIiwgdGhpcy5vbkNvbm5lY3Rpb25FcnJvcilcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc11cbiAgICogQHBhcmFtIHtBcnJheTxpbXBvcnQoXCIuL2hlYWRlci5qc1wiKS5kZWZhdWx0Pn0gW29wdGlvbnMuaGVhZGVyc11cbiAgICogQHJldHVybnMge1Byb21pc2U8e3JlcXVlc3Q6IGltcG9ydChcIi4vcmVxdWVzdC5qc1wiKS5kZWZhdWx0LCByZXNwb25zZTogaW1wb3J0KFwiLi9yZXNwb25zZS5qc1wiKS5kZWZhdWx0fT59XG4gICAqL1xuICBnZXQocGF0aCwge2hlYWRlcnN9ID0ge30pIHtcbiAgICBpZiAoIXRoaXMuY29ubmVjdGlvbikgdGhyb3cgbmV3IEVycm9yKFwiTm90IGNvbm5lY3RlZCB5ZXRcIilcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0UmVzb2x2ZSA9IHJlc29sdmVcbiAgICAgIHRoaXMuY3VycmVudFJlcXVlc3RSZWplY3QgPSByZWplY3RcblxuICAgICAgY29uc3QgbmV3SGVhZGVycyA9IFtdXG5cbiAgICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICAgIGZvciAoY29uc3QgaGVhZGVyIG9mIGhlYWRlcnMpIHtcbiAgICAgICAgICBuZXdIZWFkZXJzLnB1c2goaGVhZGVyKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgaGVhZGVyIG9mIHRoaXMuaGVhZGVycykge1xuICAgICAgICBjb25zdCBleGlzdGluZ05ld0hlYWRlciA9IG5ld0hlYWRlcnMuZmluZCgobmV3SGVhZGVyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ld0hlYWRlci5nZXROYW1lKCkudG9Mb3dlckNhc2UoKS50cmltKCkgPT09IGhlYWRlci5nZXROYW1lKCkudG9Mb3dlckNhc2UoKS50cmltKClcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoIWV4aXN0aW5nTmV3SGVhZGVyKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Z0xvd0xldmVsKCgpID0+IGBQdXNoaW5nIGhlYWRlciBmcm9tIGNvbm5lY3Rpb246ICR7aGVhZGVyLnRvU3RyaW5nKCl9YClcbiAgICAgICAgICBuZXdIZWFkZXJzLnB1c2goaGVhZGVyKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3VycmVudFJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKHttZXRob2Q6IFwiR0VUXCIsIG9uQ29tcGxldGU6IHRoaXMub25SZXNwb25zZUNvbXBsZXRlfSlcblxuICAgICAgdGhpcy5jdXJyZW50UmVxdWVzdCA9IG5ldyBSZXF1ZXN0KHtoZWFkZXJzOiBuZXdIZWFkZXJzLCBtZXRob2Q6IFwiR0VUXCIsIHBhdGgsIHZlcnNpb246IFwiMS4wXCJ9KVxuICAgICAgdGhpcy5jdXJyZW50UmVxdWVzdC5zdHJlYW0oKGNodW5rKSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnTG93TGV2ZWwoKCkgPT4gYFdyaXRpbmc6ICR7Y2h1bmt9YClcblxuICAgICAgICBpZiAoIXRoaXMuY29ubmVjdGlvbikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGNvbm5lY3Rpb24gdG8gd3JpdGUgdG9cIilcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi53cml0ZShjaHVuaywgXCJ1dGY4XCIsIChlcnJvcikgPT4ge1xuICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRSZXF1ZXN0UmVqZWN0KSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjdXJyZW50IHJlcXVlc3QgcmVqZWN0IGZ1bmN0aW9uXCIpXG5cbiAgICAgICAgICAgIHRoaXMuY3VycmVudFJlcXVlc3RSZWplY3QoZXJyb3IpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7QnVmZmVyfSBkYXRhXG4gICAqL1xuICBvbkNvbm5lY3Rpb25EYXRhID0gKGRhdGEpID0+IHtcbiAgICBpZiAoIXRoaXMuY3VycmVudFJlc3BvbnNlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjdXJyZW50IHJlc3BvbnNlIHRvIGZlZWQgZGF0YSB0b1wiKVxuXG4gICAgdGhpcy5jdXJyZW50UmVzcG9uc2UuZmVlZChkYXRhKVxuICB9XG5cbiAgb25Db25uZWN0aW9uRW5kID0gKCkgPT4ge1xuICAgIHRoaXMuY29ubmVjdGlvbiA9IG51bGxcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vycm9yfSBlcnJvclxuICAgKi9cbiAgb25Db25uZWN0aW9uRXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uUmVqZWN0KSB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25SZWplY3QoZXJyb3IpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiSHR0cENsaWVudCBvbkNvbm5lY3Rpb25FcnJvclwiLCBlcnJvcilcbiAgICB9XG4gIH1cblxuICBpc0Nvbm5lY3RlZCgpIHtcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgb25SZXNwb25zZUNvbXBsZXRlID0gKCkgPT4ge1xuICAgIGlmICghdGhpcy5jdXJyZW50UmVxdWVzdFJlc29sdmUpIHRocm93IG5ldyBFcnJvcihcIk5vIGN1cnJlbnQgcmVxdWVzdCByZXNvbHZlIGZ1bmN0aW9uXCIpXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRSZXF1ZXN0KSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjdXJyZW50IHJlcXVlc3RcIilcbiAgICBpZiAoIXRoaXMuY3VycmVudFJlc3BvbnNlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjdXJyZW50IHJlc3BvbnNlXCIpXG5cbiAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0UmVzb2x2ZSh7XG4gICAgICByZXF1ZXN0OiB0aGlzLmN1cnJlbnRSZXF1ZXN0LFxuICAgICAgcmVzcG9uc2U6IHRoaXMuY3VycmVudFJlc3BvbnNlXG4gICAgfSlcblxuICAgIHRoaXMuY3VycmVudFJlcXVlc3RSZXNvbHZlID0gbnVsbFxuICAgIHRoaXMuY3VycmVudFJlcXVlc3RSZWplY3QgPSBudWxsXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdCA9IG51bGxcbiAgICB0aGlzLmN1cnJlbnRSZXNwb25zZSA9IG51bGxcbiAgfVxufVxuIl19
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1jbGllbnQvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQTtBQUNyQixPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUE7QUFDbEMsT0FBTyxRQUFRLE1BQU0sZUFBZSxDQUFBO0FBQ3BDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFbkMsTUFBTSxDQUFDLE9BQU8sT0FBTyxVQUFVO0lBQzdCOzs7OztPQUtHO0lBQ0gsWUFBWSxFQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sR0FBRyxLQUFLLEVBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFBO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtJQUN4QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQTtZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQTtnQkFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2YsQ0FBQyxDQUFDLENBQUE7WUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7WUFDakQsSUFBSSxDQUFD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LE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYztZQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDL0IsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQTtRQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFBO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFBO0lBQzdCLENBQUMsQ0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBuZXQgZnJvbSBcIm5ldFwiXG5pbXBvcnQgUmVxdWVzdCBmcm9tIFwiLi9yZXF1ZXN0LmpzXCJcbmltcG9ydCBSZXNwb25zZSBmcm9tIFwiLi9yZXNwb25zZS5qc1wiXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSBcIi4uL2xvZ2dlci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBDbGllbnQge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtib29sZWFufSBbYXJncy5kZWJ1Z10gLSBXaGV0aGVyIGRlYnVnLlxuICAgKiBAcGFyYW0ge0FycmF5PGltcG9ydChcIi4vaGVhZGVyLmpzXCIpLmRlZmF1bHQ+fSBbYXJncy5oZWFkZXJzXSAtIEhlYWRlciBsaXN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MudmVyc2lvbl0gLSBWZXJzaW9uLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2RlYnVnID0gZmFsc2UsIGhlYWRlcnMsIHZlcnNpb24gPSBcIjEuMVwifSkge1xuICAgIHRoaXMuaGVhZGVycyA9IGhlYWRlcnMgfHwgW11cbiAgICB0aGlzLmxvZ2dlciA9IG5ldyBMb2dnZXIodGhpcywge2RlYnVnfSlcbiAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uXG4gIH1cblxuICBjb25uZWN0KCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25SZWplY3QgPSByZWplY3RcbiAgICAgIHRoaXMuY29ubmVjdGlvbiA9IG5ldC5jcmVhdGVDb25uZWN0aW9uKDMwMDYsIFwiMTI3LjAuMC4xXCIsICgpID0+IHtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uUmVqZWN0ID0gbnVsbFxuICAgICAgICByZXNvbHZlKG51bGwpXG4gICAgICB9KVxuXG4gICAgICB0aGlzLmNvbm5lY3Rpb24ub24oXCJkYXRhXCIsIHRoaXMub25Db25uZWN0aW9uRGF0YSlcbiAgICAgIHRoaXMuY29ubmVjdGlvbi5vbihcImVuZFwiLCB0aGlzLm9uQ29ubmVjdGlvbkVuZClcbiAgICAgIHRoaXMuY29ubmVjdGlvbi5vbihcImVycm9yXCIsIHRoaXMub25Db25uZWN0aW9uRXJyb3IpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCAtIFBhdGguXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtBcnJheTxpbXBvcnQoXCIuL2hlYWRlci5qc1wiKS5kZWZhdWx0Pn0gW29wdGlvbnMuaGVhZGVyc10gLSBIZWFkZXIgbGlzdC5cbiAgICogQHJldHVybnMge1Byb21pc2U8e3JlcXVlc3Q6IGltcG9ydChcIi4vcmVxdWVzdC5qc1wiKS5kZWZhdWx0LCByZXNwb25zZTogaW1wb3J0KFwiLi9yZXNwb25zZS5qc1wiKS5kZWZhdWx0fT59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgcmVxdWVzdC9yZXNwb25zZSBwYWlyLlxuICAgKi9cbiAgZ2V0KHBhdGgsIHtoZWFkZXJzfSA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmNvbm5lY3Rpb24pIHRocm93IG5ldyBFcnJvcihcIk5vdCBjb25uZWN0ZWQgeWV0XCIpXG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50UmVxdWVzdFJlc29sdmUgPSByZXNvbHZlXG4gICAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0UmVqZWN0ID0gcmVqZWN0XG5cbiAgICAgIGNvbnN0IG5ld0hlYWRlcnMgPSBbXVxuXG4gICAgICBpZiAoaGVhZGVycykge1xuICAgICAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiBoZWFkZXJzKSB7XG4gICAgICAgICAgbmV3SGVhZGVycy5wdXNoKGhlYWRlcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiB0aGlzLmhlYWRlcnMpIHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdOZXdIZWFkZXIgPSBuZXdIZWFkZXJzLmZpbmQoKG5ld0hlYWRlcikgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXdIZWFkZXIuZ2V0TmFtZSgpLnRvTG93ZXJDYXNlKCkudHJpbSgpID09PSBoZWFkZXIuZ2V0TmFtZSgpLnRvTG93ZXJDYXNlKCkudHJpbSgpXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKCFleGlzdGluZ05ld0hlYWRlcikge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWdMb3dMZXZlbCgoKSA9PiBgUHVzaGluZyBoZWFkZXIgZnJvbSBjb25uZWN0aW9uOiAke2hlYWRlci50b1N0cmluZygpfWApXG4gICAgICAgICAgbmV3SGVhZGVycy5wdXNoKGhlYWRlcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmN1cnJlbnRSZXNwb25zZSA9IG5ldyBSZXNwb25zZSh7bWV0aG9kOiBcIkdFVFwiLCBvbkNvbXBsZXRlOiB0aGlzLm9uUmVzcG9uc2VDb21wbGV0ZX0pXG5cbiAgICAgIHRoaXMuY3VycmVudFJlcXVlc3QgPSBuZXcgUmVxdWVzdCh7aGVhZGVyczogbmV3SGVhZGVycywgbWV0aG9kOiBcIkdFVFwiLCBwYXRoLCB2ZXJzaW9uOiBcIjEuMFwifSlcbiAgICAgIHRoaXMuY3VycmVudFJlcXVlc3Quc3RyZWFtKChjaHVuaykgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1Z0xvd0xldmVsKCgpID0+IGBXcml0aW5nOiAke2NodW5rfWApXG5cbiAgICAgICAgaWYgKCF0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBjb25uZWN0aW9uIHRvIHdyaXRlIHRvXCIpXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24ud3JpdGUoY2h1bmssIFwidXRmOFwiLCAoZXJyb3IpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jdXJyZW50UmVxdWVzdFJlamVjdCkgdGhyb3cgbmV3IEVycm9yKFwiTm8gY3VycmVudCByZXF1ZXN0IHJlamVjdCBmdW5jdGlvblwiKVxuXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0UmVqZWN0KGVycm9yKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gZGF0YSAtIERhdGEgcGF5bG9hZC5cbiAgICovXG4gIG9uQ29ubmVjdGlvbkRhdGEgPSAoZGF0YSkgPT4ge1xuICAgIGlmICghdGhpcy5jdXJyZW50UmVzcG9uc2UpIHRocm93IG5ldyBFcnJvcihcIk5vIGN1cnJlbnQgcmVzcG9uc2UgdG8gZmVlZCBkYXRhIHRvXCIpXG5cbiAgICB0aGlzLmN1cnJlbnRSZXNwb25zZS5mZWVkKGRhdGEpXG4gIH1cblxuICBvbkNvbm5lY3Rpb25FbmQgPSAoKSA9PiB7XG4gICAgdGhpcy5jb25uZWN0aW9uID0gbnVsbFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIC0gRXJyb3IgaW5zdGFuY2UuXG4gICAqL1xuICBvbkNvbm5lY3Rpb25FcnJvciA9IChlcnJvcikgPT4ge1xuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25SZWplY3QpIHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblJlamVjdChlcnJvcilcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJIdHRwQ2xpZW50IG9uQ29ubmVjdGlvbkVycm9yXCIsIGVycm9yKVxuICAgIH1cbiAgfVxuXG4gIGlzQ29ubmVjdGVkKCkge1xuICAgIGlmICh0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBvblJlc3BvbnNlQ29tcGxldGUgPSAoKSA9PiB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRSZXF1ZXN0UmVzb2x2ZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gY3VycmVudCByZXF1ZXN0IHJlc29sdmUgZnVuY3Rpb25cIilcbiAgICBpZiAoIXRoaXMuY3VycmVudFJlcXVlc3QpIHRocm93IG5ldyBFcnJvcihcIk5vIGN1cnJlbnQgcmVxdWVzdFwiKVxuICAgIGlmICghdGhpcy5jdXJyZW50UmVzcG9uc2UpIHRocm93IG5ldyBFcnJvcihcIk5vIGN1cnJlbnQgcmVzcG9uc2VcIilcblxuICAgIHRoaXMuY3VycmVudFJlcXVlc3RSZXNvbHZlKHtcbiAgICAgIHJlcXVlc3Q6IHRoaXMuY3VycmVudFJlcXVlc3QsXG4gICAgICByZXNwb25zZTogdGhpcy5jdXJyZW50UmVzcG9uc2VcbiAgICB9KVxuXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdFJlc29sdmUgPSBudWxsXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdFJlamVjdCA9IG51bGxcbiAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0ID0gbnVsbFxuICAgIHRoaXMuY3VycmVudFJlc3BvbnNlID0gbnVsbFxuICB9XG59XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export default class Request {
|
|
2
2
|
/**
|
|
3
|
-
* @param {object} args
|
|
4
|
-
* @param {string} [args.body]
|
|
5
|
-
* @param {string} args.method
|
|
6
|
-
* @param {Header[]} args.headers
|
|
7
|
-
* @param {string} args.path
|
|
8
|
-
* @param {string} args.version
|
|
3
|
+
* @param {object} args - Options object.
|
|
4
|
+
* @param {string} [args.body] - Request body.
|
|
5
|
+
* @param {string} args.method - HTTP method.
|
|
6
|
+
* @param {Header[]} args.headers - Header list.
|
|
7
|
+
* @param {string} args.path - Path.
|
|
8
|
+
* @param {string} args.version - Version.
|
|
9
9
|
*/
|
|
10
10
|
constructor({ body, method, headers, path, version }: {
|
|
11
11
|
body?: string;
|
|
@@ -21,17 +21,23 @@ export default class Request {
|
|
|
21
21
|
version: string;
|
|
22
22
|
asString(): string;
|
|
23
23
|
/**
|
|
24
|
-
* @param {string} name
|
|
24
|
+
* @param {string} name - Name.
|
|
25
|
+
* @returns {Header} - The header.
|
|
25
26
|
*/
|
|
26
27
|
getHeader(name: string): Header;
|
|
27
28
|
/**
|
|
28
|
-
* @param {string} name
|
|
29
|
-
* @param {string | number} value
|
|
29
|
+
* @param {string} name - Name.
|
|
30
|
+
* @param {string | number} value - Value to use.
|
|
31
|
+
* @returns {void} - No return value.
|
|
30
32
|
*/
|
|
31
33
|
addHeader(name: string, value: string | number): void;
|
|
34
|
+
/**
|
|
35
|
+
* @returns {void} - No return value.
|
|
36
|
+
*/
|
|
32
37
|
prepare(): void;
|
|
33
38
|
/**
|
|
34
|
-
* @param {function(string) : void} callback
|
|
39
|
+
* @param {function(string) : void} callback - Callback function.
|
|
40
|
+
* @returns {void} - No return value.
|
|
35
41
|
*/
|
|
36
42
|
stream(callback: (arg0: string) => void): void;
|
|
37
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/http-client/request.js"],"names":[],"mappings":"AAIA;IACE;;;;;;;OAOG;IACH,sDANG;QAAsB,IAAI,GAAlB,MAAM;QACO,MAAM,EAAnB,MAAM;QACS,OAAO,EAAtB,MAAM,EAAE;QACK,IAAI,EAAjB,MAAM;QACO,OAAO,EAApB,MAAM;KAChB,EAOA;IALC,aAAgB;IAChB,kBAAsB;IACtB,eAAoB;IACpB,aAAgB;IAChB,gBAAsB;IAGxB,mBAQC;IAED
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/http-client/request.js"],"names":[],"mappings":"AAIA;IACE;;;;;;;OAOG;IACH,sDANG;QAAsB,IAAI,GAAlB,MAAM;QACO,MAAM,EAAnB,MAAM;QACS,OAAO,EAAtB,MAAM,EAAE;QACK,IAAI,EAAjB,MAAM;QACO,OAAO,EAApB,MAAM;KAChB,EAOA;IALC,aAAgB;IAChB,kBAAsB;IACtB,eAAoB;IACpB,aAAgB;IAChB,gBAAsB;IAGxB,mBAQC;IAED;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,CAclB;IAED;;;;OAIG;IACH,gBAJW,MAAM,SACN,MAAM,GAAG,MAAM,GACb,IAAI,CAIhB;IAED;;OAEG;IACH,WAFa,IAAI,CAMhB;IAED;;;OAGG;IACH,iBAHW,CAAS,IAAM,EAAN,MAAM,KAAI,IAAI,GACrB,IAAI,CAkBhB;CACF;mBAtFkB,aAAa"}
|