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
|
@@ -48,7 +48,7 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
48
48
|
fileContent += ` * @returns {typeof import("${sourceModelFilePath}").default}\n`;
|
|
49
49
|
fileContent += " */\n";
|
|
50
50
|
fileContent += " // @ts-ignore - override narrows return type for better IntelliSense in generated model bases\n";
|
|
51
|
-
fileContent += ` getModelClass() { return
|
|
51
|
+
fileContent += ` getModelClass() { return /unknownunknown @type {typeof import("${sourceModelFilePath}").default} */ (this.constructor) }\n\n`;
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
54
|
// No model file yet → fall back to typeof TicketBase
|
|
@@ -56,7 +56,7 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
56
56
|
fileContent += ` * @returns {typeof ${modelNameCamelized}Base}\n`;
|
|
57
57
|
fileContent += " */\n";
|
|
58
58
|
fileContent += " // @ts-ignore - override narrows return type for better IntelliSense in generated model bases\n";
|
|
59
|
-
fileContent += ` getModelClass() { return
|
|
59
|
+
fileContent += ` getModelClass() { return /unknownunknown @type {typeof ${modelNameCamelized}Base} */ (this.constructor) }\n\n`;
|
|
60
60
|
}
|
|
61
61
|
const columns = await modelClass._getTable().getColumns();
|
|
62
62
|
let methodsCount = 0;
|
|
@@ -162,11 +162,11 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
162
162
|
fileContent += " /**\n";
|
|
163
163
|
fileContent += ` * @returns {import("${modelFilePath}").default}\n`;
|
|
164
164
|
fileContent += " */\n";
|
|
165
|
-
fileContent += ` ${relationship.getRelationshipName()}() { return
|
|
165
|
+
fileContent += ` ${relationship.getRelationshipName()}() { return /unknownunknown @type {import("${modelFilePath}").default} */ (this.getRelationshipByName("${relationship.getRelationshipName()}").loaded()) }\n`;
|
|
166
166
|
fileContent += "\n";
|
|
167
167
|
fileContent += " /**\n";
|
|
168
168
|
fileContent += " * @abstract\n";
|
|
169
|
-
fileContent += " * @param {Record<string,
|
|
169
|
+
fileContent += " * @param {Record<string, unknown>} [attributes]\n";
|
|
170
170
|
fileContent += ` * @returns {import("${modelFilePath}").default}\n`;
|
|
171
171
|
fileContent += " */\n";
|
|
172
172
|
fileContent += ` build${inflection.camelize(relationship.getRelationshipName())}(attributes) { throw new Error("Not implemented") } // eslint-disable-line no-unused-vars\n`;
|
|
@@ -198,12 +198,12 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
198
198
|
fileContent += " /**\n";
|
|
199
199
|
fileContent += ` * @returns {import("${hasManyRelationFilePath}").default<typeof import("${sourceModelFilePath}").default, typeof import("${recordImport}").default>}\n`;
|
|
200
200
|
fileContent += " */\n";
|
|
201
|
-
fileContent += ` ${relationship.getRelationshipName()}() { return
|
|
201
|
+
fileContent += ` ${relationship.getRelationshipName()}() { return /unknownunknown @type {import("${hasManyRelationFilePath}").default<typeof import("${sourceModelFilePath}").default, typeof import("${recordImport}").default>} */ (this.getRelationshipByName("${relationship.getRelationshipName()}")) }\n`;
|
|
202
202
|
fileContent += "\n";
|
|
203
203
|
fileContent += " /**\n";
|
|
204
204
|
fileContent += ` * @returns {Array<import("${recordImport}").default>}\n`;
|
|
205
205
|
fileContent += " */\n";
|
|
206
|
-
fileContent += ` ${relationship.getRelationshipName()}Loaded() { return
|
|
206
|
+
fileContent += ` ${relationship.getRelationshipName()}Loaded() { return /unknownunknown @type {Array<import("${recordImport}").default>} */ (this.getRelationshipByName("${relationship.getRelationshipName()}").loaded()) }\n`;
|
|
207
207
|
fileContent += "\n";
|
|
208
208
|
fileContent += " /**\n";
|
|
209
209
|
fileContent += " * @abstract\n";
|
|
@@ -228,8 +228,8 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
230
|
/**
|
|
231
|
-
* @param {import("../../../../../database/drivers/base-column.js").default} column
|
|
232
|
-
* @returns {string | undefined}
|
|
231
|
+
* @param {import("../../../../../database/drivers/base-column.js").default} column - Column.
|
|
232
|
+
* @returns {string | undefined} - The js doc type from column.
|
|
233
233
|
*/
|
|
234
234
|
jsDocTypeFromColumn(column) {
|
|
235
235
|
const type = column.getType();
|
|
@@ -253,8 +253,8 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
/**
|
|
256
|
-
* @param {import("../../../../../database/drivers/base-column.js").default} column
|
|
257
|
-
* @returns {string | undefined}
|
|
256
|
+
* @param {import("../../../../../database/drivers/base-column.js").default} column - Column.
|
|
257
|
+
* @returns {string | undefined} - The js doc setter type from column.
|
|
258
258
|
*/
|
|
259
259
|
jsDocSetterTypeFromColumn(column) {
|
|
260
260
|
const type = column.getType();
|
|
@@ -264,4 +264,4 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
264
264
|
return this.jsDocTypeFromColumn(column);
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvZW52aXJvbm1lbnQtaGFuZGxlcnMvbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvYmFzZS1tb2RlbHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sb0NBQW9DLENBQUE7QUFDNUQsT0FBTyxVQUFVLE1BQU0scUNBQXFDLENBQUE7QUFDNUQsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBRXhDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQ3RELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBRWhELE1BQU0sU0FBUyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUE7UUFDL0MsTUFBTSxhQUFhLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFBO1FBQ3hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQzlELElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUVuQixJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsc0NBQXNDLENBQUMsRUFBRSxDQUFDO1lBQ25FLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUNsRCxDQUFDO1FBRUQsS0FBSyxNQUFNLGNBQWMsSUFBSSxZQUFZLEVBQUUsQ0FB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akIsQ0FBQzthQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5RixPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO2FBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQyxPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILHlCQUF5QixDQUFDLE1BQU07UUFDOUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxlQUFlLENBQUE7UUFDeEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5pbXBvcnQgZmlsZUV4aXN0cyBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vdXRpbHMvZmlsZS1leGlzdHMuanNcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy9wcm9taXNlc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGJHZW5lcmF0ZU1vZGVsIGV4dGVuZHMgQmFzZUNvbW1hbmQge1xuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGF3YWl0IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmluaXRpYWxpemVNb2RlbHMoKVxuXG4gICAgY29uc3QgbW9kZWxzRGlyID0gYCR7cHJvY2Vzcy5jd2QoKX0vc3JjL21vZGVsc2BcbiAgICBjb25zdCBiYXNlTW9kZWxzRGlyID0gYCR7cHJvY2Vzcy5jd2QoKX0vc3JjL21vZGVsLWJhc2VzYFxuICAgIGNvbnN0IG1vZGVsQ2xhc3NlcyA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldE1vZGVsQ2xhc3NlcygpXG4gICAgbGV0IGRldk1vZGUgPSBmYWxzZVxuXG4gICAgaWYgKGJhc2VNb2RlbHNEaXIuZW5kc1dpdGgoXCJ2ZWxvY2lvdXMvc3BlYy9kdW1teS9zcmMvbW9kZWwtYmFzZXNcIikpIHtcbiAgICAgIGRldk1vZGUgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKCFhd2FpdCBmaWxlRXhpc3RzKGJhc2VNb2RlbHNEaXIpKSB7XG4gICAgICBhd2FpdCBmcy5ta2RpcihiYXNlTW9kZWxzRGlyLCB7cmVjdXJzaXZlOiB0cnVlfSlcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsQ2xhc3NOYW1lIGluIG1vZGVsQ2xhc3Nlcykge1xuICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3Nlc1ttb2RlbENsYXNzTmFtZV1cbiAgICAgIGNvbnN0IG1vZGVsTmFtZSA9IGluZmxlY3Rpb24uZGFzaGVyaXplKG1vZGVsQ2xhc3NOYW1lKVxuICAgICAgY29uc3QgbW9kZWxOYW1lQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtb2RlbE5hbWUucmVwbGFjZUFsbChcIi1cIiwgXCJfXCIpKVxuICAgICAgY29uc3QgbW9kZWxCYXNlRmlsZU5hbWUgPSBgJHtpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUobW9kZWxOYW1lKSl9LmpzYFxuICAgICAgY29uc3QgbW9kZWxQYXRoID0gYCR7YmFzZU1vZGVsc0Rpcn0vJHttb2RlbEJhc2VGaWxlTmFtZX1gXG5cbiAgICAgIGNvbnNvbGUubG9nKGBjcmVhdGUgc3JjL21vZGVsLWJhc2VzLyR7bW9kZWxCYXNlRmlsZU5hbWV9YClcblxuICAgICAgY29uc3Qgc291cmNlTW9kZWxGdWxsRmlsZVBhdGggPSBgJHttb2RlbHNEaXJ9LyR7bW9kZWxCYXNlRmlsZU5hbWV9YFxuICAgICAgbGV0IHNvdXJjZU1vZGVsRmlsZVBhdGhcblxuICAgICAgaWYgKGF3YWl0IGZpbGVFeGlzdHMoc291cmNlTW9kZWxGdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgIHNvdXJjZU1vZGVsRmlsZVBhdGggPSBgLi4vbW9kZWxzLyR7bW9kZWxCYXNlRmlsZU5hbWV9YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc291cmNlTW9kZWxGaWxlUGF0aCA9IFwidmVsb2Npb3VzL2J1aWxkL3NyYy9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIlxuICAgICAgfVxuXG4gICAgICBsZXQgZmlsZUNvbnRlbnQgPSBcIlwiXG4gICAgICBsZXQgdmVsb2Npb3VzUGF0aFxuXG4gICAgICBpZiAoZGV2TW9kZSkge1xuICAgICAgICB2ZWxvY2lvdXNQYXRoID0gXCIuLi8uLi8uLi8uLi9zcmNcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmVsb2Npb3VzUGF0aCA9IFwidmVsb2Npb3VzL2J1aWxkL3NyY1wiXG4gICAgICB9XG5cbiAgICAgIGZpbGVDb250ZW50ICs9IGBpbXBvcnQgRGF0YWJhc2VSZWNvcmQgZnJvbSBcIiR7dmVsb2Npb3VzUGF0aH0vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCJcXG5cXG5gXG5cbiAgICAgIGNvbnN0IGhhc01hbnlSZWxhdGlvbkZpbGVQYXRoID0gYCR7dmVsb2Npb3VzUGF0aH0vZGF0YWJhc2UvcmVjb3JkL2luc3RhbmNlLXJlbGF0aW9uc2hpcHMvaGFzLW1hbnkuanNgXG5cbiAgICAgIGZpbGVDb250ZW50ICs9IGBleHBvcnQgZGVmYXVsdCBjbGFzcyAke21vZGVsTmFtZUNhbWVsaXplZH1CYXNlIGV4dGVuZHMgRGF0YWJhc2VSZWNvcmQge1xcbmBcblxuICAgICAgLy8gLS0tIGdldE1vZGVsQ2xhc3MoKSBvdmVycmlkZSAoZml4ZXMgcG9seW1vcnBoaWMgdHlwaW5nIGluIEpTL0pTRG9jKSAtLS1cbiAgICAgIGlmIChhd2FpdCBmaWxlRXhpc3RzKHNvdXJjZU1vZGVsRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAvLyBNb2RlbCBmaWxlIGV4aXN0cyAoZS5nLiBzcmMvbW9kZWxzL3RpY2tldC5qcykg4oaSIHJldHVybiB0eXBlb2YgVGlja2V0XG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLy8gQHRzLWlnbm9yZSAtIG92ZXJyaWRlIG5hcnJvd3MgcmV0dXJuIHR5cGUgZm9yIGJldHRlciBJbnRlbGxpU2Vuc2UgaW4gZ2VuZXJhdGVkIG1vZGVsIGJhc2VzXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgZ2V0TW9kZWxDbGFzcygpIHsgcmV0dXJuIC8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH0gKi8gKHRoaXMuY29uc3RydWN0b3IpIH1cXG5cXG5gXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyBtb2RlbCBmaWxlIHlldCDihpIgZmFsbCBiYWNrIHRvIHR5cGVvZiBUaWNrZXRCYXNlXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dHlwZW9mICR7bW9kZWxOYW1lQ2FtZWxpemVkfUJhc2V9XFxuYFxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8vIEB0cy1pZ25vcmUgLSBvdmVycmlkZSBuYXJyb3dzIHJldHVybiB0eXBlIGZvciBiZXR0ZXIgSW50ZWxsaVNlbnNlIGluIGdlbmVyYXRlZCBtb2RlbCBiYXNlc1xcblwiXG4gICAgICAgIGZpbGVDb250ZW50ICs9IGAgIGdldE1vZGVsQ2xhc3MoKSB7IHJldHVybiAvKiogQHR5cGUge3R5cGVvZiAke21vZGVsTmFtZUNhbWVsaXplZH1CYXNlfSAqLyAodGhpcy5jb25zdHJ1Y3RvcikgfVxcblxcbmBcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29sdW1ucyA9IGF3YWl0IG1vZGVsQ2xhc3MuX2dldFRhYmxlKCkuZ2V0Q29sdW1ucygpXG4gICAgICBsZXQgbWV0aG9kc0NvdW50ID0gMFxuXG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XG4gICAgICAgIGNvbnN0IGNhbWVsaXplZENvbHVtbk5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGNvbHVtbi5nZXROYW1lKCksIHRydWUpXG4gICAgICAgIGNvbnN0IGNhbWVsaXplZENvbHVtbk5hbWVCaWdGaXJzdCA9IGluZmxlY3Rpb24uY2FtZWxpemUoY29sdW1uLmdldE5hbWUoKSlcbiAgICAgICAgY29uc3QganNkb2NUeXBlID0gdGhpcy5qc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbilcblxuICAgICAgICBpZiAobWV0aG9kc0NvdW50ID4gMCkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChqc2RvY1R5cGUpIHtcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7JHtqc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgIH1cblxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2NhbWVsaXplZENvbHVtbk5hbWV9KCkgeyByZXR1cm4gdGhpcy5yZWFkQXR0cmlidXRlKFwiJHtjYW1lbGl6ZWRDb2x1bW5OYW1lfVwiKSB9XFxuXFxuYFxuXG4gICAgICAgIGNvbnN0IHNldHRlckpzZG9jVHlwZSA9IHRoaXMuanNEb2NTZXR0ZXJUeXBlRnJvbUNvbHVtbihjb2x1bW4pXG5cbiAgICAgICAgaWYgKHNldHRlckpzZG9jVHlwZSkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBwYXJhbSB7JHtzZXR0ZXJKc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX0gbmV3VmFsdWVcXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEByZXR1cm5zIHt2b2lkfVxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgIH1cblxuICAgICAgICBmaWxlQ29udGVudCArPSBgICBzZXQke2NhbWVsaXplZENvbHVtbk5hbWVCaWdGaXJzdH0obmV3VmFsdWUpIHsgcmV0dXJuIHRoaXMuX3NldENvbHVtbkF0dHJpYnV0ZShcIiR7Y2FtZWxpemVkQ29sdW1uTmFtZX1cIiwgbmV3VmFsdWUpIH1cXG5cXG5gXG5cbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgaGFzJHtjYW1lbGl6ZWRDb2x1bW5OYW1lQmlnRmlyc3R9KCkgeyByZXR1cm4gdGhpcy5faGFzQXR0cmlidXRlKHRoaXMuJHtjYW1lbGl6ZWRDb2x1bW5OYW1lfSgpKSB9XFxuYFxuXG4gICAgICAgIG1ldGhvZHNDb3VudCsrXG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlbENsYXNzLl90cmFuc2xhdGlvbnMpIHtcbiAgICAgICAgY29uc3QgVHJhbnNsYXRpb25DbGFzcyA9IG1vZGVsQ2xhc3MuZ2V0VHJhbnNsYXRpb25DbGFzcygpXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uQ29sdW1ucyA9IFRyYW5zbGF0aW9uQ2xhc3MuZ2V0Q29sdW1ucygpXG5cbiAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIG1vZGVsQ2xhc3MuX3RyYW5zbGF0aW9ucykge1xuICAgICAgICAgIGNvbnN0IG5hbWVVbmRlcnNjb3JlID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG5hbWUpXG4gICAgICAgICAgY29uc3QgY29sdW1uID0gdHJhbnNsYXRpb25Db2x1bW5zLmZpbmQoKHRyYW5zbGF0aW9uQ29sdW1uKSA9PiB0cmFuc2xhdGlvbkNvbHVtbi5nZXROYW1lKCkgPT09IG5hbWVVbmRlcnNjb3JlKVxuICAgICAgICAgIGxldCB0cmFuc2xhdGlvbkpzZG9jVHlwZVxuXG4gICAgICAgICAgaWYgKGNvbHVtbikge1xuICAgICAgICAgICAgdHJhbnNsYXRpb25Kc2RvY1R5cGUgPSB0aGlzLmpzRG9jVHlwZUZyb21Db2x1bW4oY29sdW1uKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0cmFuc2xhdGlvbkpzZG9jVHlwZSkge1xuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYFxcbmBcbiAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMgeyR7dHJhbnNsYXRpb25Kc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke25hbWV9KCkgeyByZXR1cm4gdGhpcy5fZ2V0VHJhbnNsYXRlZEF0dHJpYnV0ZVdpdGhGYWxsYmFjayhcIiR7bmFtZX1cIiwgdGhpcy5fZ2V0Q29uZmlndXJhdGlvbigpLmdldExvY2FsZSgpKSB9XFxuYFxuICAgICAgICAgIG1ldGhvZHNDb3VudCsrXG5cbiAgICAgICAgICBjb25zdCBoYXNOYW1lID0gYGhhcyR7aW5mbGVjdGlvbi5jYW1lbGl6ZShuYW1lKX1gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgXFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBhYnN0cmFjdFxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtoYXNOYW1lfSgpIHsgdGhyb3cgbmV3IEVycm9yKFwiJHtoYXNOYW1lfSBub3QgaW1wbGVtZW50ZWRcIikgfVxcbmBcbiAgICAgICAgICBtZXRob2RzQ291bnQrK1xuXG4gICAgICAgICAgZm9yIChjb25zdCBsb2NhbGUgb2YgdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0TG9jYWxlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhbGVNZXRob2ROYW1lID0gYCR7bmFtZX0ke2luZmxlY3Rpb24uY2FtZWxpemUobG9jYWxlKX1gXG5cbiAgICAgICAgICAgIGlmICh0cmFuc2xhdGlvbkpzZG9jVHlwZSkge1xuICAgICAgICAgICAgICBmaWxlQ29udGVudCArPSBgXFxuYFxuICAgICAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMgeyR7dHJhbnNsYXRpb25Kc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2xvY2FsZU1ldGhvZE5hbWV9KCkgeyByZXR1cm4gdGhpcy5fZ2V0VHJhbnNsYXRlZEF0dHJpYnV0ZVdpdGhGYWxsYmFjayhcIiR7bmFtZX1cIiwgXCIke2xvY2FsZX1cIikgfVxcbmBcbiAgICAgICAgICAgIG1ldGhvZHNDb3VudCsrXG5cbiAgICAgICAgICAgIGNvbnN0IGxvY2FsZUhhc05hbWUgPSBgaGFzJHtpbmZsZWN0aW9uLmNhbWVsaXplKGxvY2FsZU1ldGhvZE5hbWUpfWBcblxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYFxcbmBcbiAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQGFic3RyYWN0XFxuYFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2Jvb2xlYW59XFxuYFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2xvY2FsZUhhc05hbWV9KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCIke2xvY2FsZUhhc05hbWV9IG5vdCBpbXBsZW1lbnRlZFwiKSB9XFxuYFxuICAgICAgICAgICAgbWV0aG9kc0NvdW50KytcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCByZWxhdGlvbnNoaXAgb2YgbW9kZWxDbGFzcy5nZXRSZWxhdGlvbnNoaXBzKCkpIHtcbiAgICAgICAgbGV0IGJhc2VGaWxlUGF0aCwgYmFzZUZ1bGxGaWxlUGF0aCwgZmlsZU5hbWUsIGZ1bGxGaWxlUGF0aFxuXG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0UG9seW1vcnBoaWMoKSkge1xuICAgICAgICAgIGZpbGVOYW1lID0gXCJ2ZWxvY2lvdXMvYnVpbGQvc3JjL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZmlsZU5hbWUgPSBpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUocmVsYXRpb25zaGlwLmdldFRhcmdldE1vZGVsQ2xhc3MoKS5uYW1lKSlcbiAgICAgICAgICBmdWxsRmlsZVBhdGggPSBgc3JjL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICBiYXNlRmlsZVBhdGggPSBgLi4vbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgICAgYmFzZUZ1bGxGaWxlUGF0aCA9IGBzcmMvbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0aG9kc0NvdW50ID4gMCkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0VHlwZSgpID09IFwiYmVsb25nc1RvXCIgfHwgcmVsYXRpb25zaGlwLmdldFR5cGUoKSA9PSBcImhhc09uZVwiKSB7XG4gICAgICAgICAgbGV0IG1vZGVsRmlsZVBhdGhcblxuICAgICAgICAgIGlmIChmdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhmdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgICAgICBtb2RlbEZpbGVQYXRoID0gYC4uL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICB9IGVsc2UgaWYgKGJhc2VGdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhiYXNlRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAgICAgbW9kZWxGaWxlUGF0aCA9IGJhc2VGaWxlUGF0aFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2RlbEZpbGVQYXRoID0gXCJ2ZWxvY2lvdXMvYnVpbGQvc3JjL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2ltcG9ydChcIiR7bW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfSgpIHsgcmV0dXJuIC8qKiBAdHlwZSB7aW1wb3J0KFwiJHttb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0fSAqLyAodGhpcy5nZXRSZWxhdGlvbnNoaXBCeU5hbWUoXCIke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9XCIpLmxvYWRlZCgpKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAYWJzdHJhY3RcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFthdHRyaWJ1dGVzXVxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2ltcG9ydChcIiR7bW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgYnVpbGQke2luZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKSl9KGF0dHJpYnV0ZXMpIHsgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpIH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xcbmBcblxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQGFic3RyYWN0XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICBsb2FkJHtpbmZsZWN0aW9uLmNhbWVsaXplKHJlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCkpfSgpIHsgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpIH1cXG5gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEBhYnN0cmFjdFxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHBhcmFtIHtpbXBvcnQoXCIke21vZGVsRmlsZVBhdGh9XCIpLmRlZmF1bHR9IG5ld01vZGVsXFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEByZXR1cm5zIHt2b2lkfVxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICBzZXQke2luZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKSl9KG5ld01vZGVsKSB7IHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcXG5gXG4gICAgICAgIH0gZWxzZSBpZiAocmVsYXRpb25zaGlwLmdldFR5cGUoKSA9PSBcImhhc01hbnlcIikge1xuICAgICAgICAgIGxldCByZWNvcmRJbXBvcnRcblxuICAgICAgICAgIGlmIChmdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhmdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgICAgICByZWNvcmRJbXBvcnQgPSBgLi4vbW9kZWxzLyR7ZmlsZU5hbWV9LmpzYFxuICAgICAgICAgIH0gZWxzZSBpZiAoYmFzZUZ1bGxGaWxlUGF0aCAmJiBhd2FpdCBmaWxlRXhpc3RzKGJhc2VGdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgICAgICByZWNvcmRJbXBvcnQgPSBgLi4vbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlY29yZEltcG9ydCA9IGAke3ZlbG9jaW91c1BhdGh9L2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc2BcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiJHtoYXNNYW55UmVsYXRpb25GaWxlUGF0aH1cIikuZGVmYXVsdDx0eXBlb2YgaW1wb3J0KFwiJHtzb3VyY2VNb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0LCB0eXBlb2YgaW1wb3J0KFwiJHtyZWNvcmRJbXBvcnR9XCIpLmRlZmF1bHQ+fVxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9KCkgeyByZXR1cm4gLyoqIEB0eXBlIHtpbXBvcnQoXCIke2hhc01hbnlSZWxhdGlvbkZpbGVQYXRofVwiKS5kZWZhdWx0PHR5cGVvZiBpbXBvcnQoXCIke3NvdXJjZU1vZGVsRmlsZVBhdGh9XCIpLmRlZmF1bHQsIHR5cGVvZiBpbXBvcnQoXCIke3JlY29yZEltcG9ydH1cIikuZGVmYXVsdD59ICovICh0aGlzLmdldFJlbGF0aW9uc2hpcEJ5TmFtZShcIiR7cmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKX1cIikpIH1cXG5gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge0FycmF5PGltcG9ydChcIiR7cmVjb3JkSW1wb3J0fVwiKS5kZWZhdWx0Pn1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfUxvYWRlZCgpIHsgcmV0dXJuIC8qKiBAdHlwZSB7QXJyYXk8aW1wb3J0KFwiJHtyZWNvcmRJbXBvcnR9XCIpLmRlZmF1bHQ+fSAqLyAodGhpcy5nZXRSZWxhdGlvbnNoaXBCeU5hbWUoXCIke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9XCIpLmxvYWRlZCgpKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAYWJzdHJhY3RcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgIGxvYWQke2luZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKSl9KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIikgfVxcbmBcblxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQGFic3RyYWN0XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcGFyYW0ge0FycmF5PGltcG9ydChcIiR7cmVjb3JkSW1wb3J0fVwiKS5kZWZhdWx0Pn0gbmV3TW9kZWxzXFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcmV0dXJucyB7dm9pZH1cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgIHNldCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpKX0obmV3TW9kZWxzKSB7IHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcXG5gXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHJlbGF0aW9uc2hpcCB0eXBlOiAke3JlbGF0aW9uc2hpcC5nZXRUeXBlKCl9YClcbiAgICAgICAgfVxuXG4gICAgICAgIG1ldGhvZHNDb3VudCsrXG4gICAgICB9XG5cbiAgICAgIGZpbGVDb250ZW50ICs9IFwifVxcblwiXG5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShtb2RlbFBhdGgsIGZpbGVDb250ZW50KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uLy4uLy4uLy4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS1jb2x1bW4uanNcIikuZGVmYXVsdH0gY29sdW1uXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqL1xuICBqc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbikge1xuICAgIGNvbnN0IHR5cGUgPSBjb2x1bW4uZ2V0VHlwZSgpXG5cbiAgICBpZiAodHlwZSA9PSBcImJvb2xlYW5cIikge1xuICAgICAgcmV0dXJuIFwiYm9vbGVhblwiXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwianNvblwiKSB7XG4gICAgICByZXR1cm4gXCJSZWNvcmQ8c3RyaW5nLCBhbnk+XCJcbiAgICB9IGVsc2UgaWYgKFtcImJsb2JcIiwgXCJjaGFyXCIsIFwibnZhcmNoYXJcIiwgXCJ2YXJjaGFyXCIsIFwidGV4dFwiLCBcImxvbmd0ZXh0XCIsIFwidXVpZFwiXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwic3RyaW5nXCJcbiAgICB9IGVsc2UgaWYgKFtcImJpdFwiLCBcImJpZ2ludFwiLCBcImZsb2F0XCIsIFwiaW50XCIsIFwiaW50ZWdlclwiLCBcInNtYWxsaW50XCIsIFwidGlueWludFwiXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwibnVtYmVyXCJcbiAgICB9IGVsc2UgaWYgKFtcImRhdGVcIiwgXCJkYXRldGltZVwiXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwiRGF0ZVwiXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFVua25vd24gY29sdW1uIHR5cGU6ICR7dHlwZX1gKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uLy4uLy4uLy4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS1jb2x1bW4uanNcIikuZGVmYXVsdH0gY29sdW1uXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqL1xuICBqc0RvY1NldHRlclR5cGVGcm9tQ29sdW1uKGNvbHVtbikge1xuICAgIGNvbnN0IHR5cGUgPSBjb2x1bW4uZ2V0VHlwZSgpXG5cbiAgICBpZiAoW1wiZGF0ZVwiLCBcImRhdGV0aW1lXCJdLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICByZXR1cm4gXCJEYXRlIHwgc3RyaW5nXCJcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5qc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbilcbiAgfVxufVxuIl19
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvZW52aXJvbm1lbnQtaGFuZGxlcnMvbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvYmFzZS1tb2RlbHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sb0NBQW9DLENBQUE7QUFDNUQsT0FBTyxVQUFVLE1BQU0scUNBQXFDLENBQUE7QUFDNUQsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBRXhDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQ3RELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBRWhELE1BQU0sU0FBUyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUE7UUFDL0MsTUFBTSxhQUFhLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFBO1FBQ3hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQzlELElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUVuQixJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsc0NBQXNDLENBQUMsRUFBRSxDQUFDO1lBQ25FLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUNsRCxDQUFDO1FBRUQsS0FBSyxNQUFNLGNBQWMsSUFBSSxZQUFZLEVBQUUsQ0FB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akIsQ0FBQzthQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5RixPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO2FBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQyxPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILHlCQUF5QixDQUFDLE1BQU07UUFDOUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxlQUFlLENBQUE7UUFDeEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5pbXBvcnQgZmlsZUV4aXN0cyBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vdXRpbHMvZmlsZS1leGlzdHMuanNcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy9wcm9taXNlc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGJHZW5lcmF0ZU1vZGVsIGV4dGVuZHMgQmFzZUNvbW1hbmQge1xuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGF3YWl0IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmluaXRpYWxpemVNb2RlbHMoKVxuXG4gICAgY29uc3QgbW9kZWxzRGlyID0gYCR7cHJvY2Vzcy5jd2QoKX0vc3JjL21vZGVsc2BcbiAgICBjb25zdCBiYXNlTW9kZWxzRGlyID0gYCR7cHJvY2Vzcy5jd2QoKX0vc3JjL21vZGVsLWJhc2VzYFxuICAgIGNvbnN0IG1vZGVsQ2xhc3NlcyA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldE1vZGVsQ2xhc3NlcygpXG4gICAgbGV0IGRldk1vZGUgPSBmYWxzZVxuXG4gICAgaWYgKGJhc2VNb2RlbHNEaXIuZW5kc1dpdGgoXCJ2ZWxvY2lvdXMvc3BlYy9kdW1teS9zcmMvbW9kZWwtYmFzZXNcIikpIHtcbiAgICAgIGRldk1vZGUgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKCFhd2FpdCBmaWxlRXhpc3RzKGJhc2VNb2RlbHNEaXIpKSB7XG4gICAgICBhd2FpdCBmcy5ta2RpcihiYXNlTW9kZWxzRGlyLCB7cmVjdXJzaXZlOiB0cnVlfSlcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1vZGVsQ2xhc3NOYW1lIGluIG1vZGVsQ2xhc3Nlcykge1xuICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3Nlc1ttb2RlbENsYXNzTmFtZV1cbiAgICAgIGNvbnN0IG1vZGVsTmFtZSA9IGluZmxlY3Rpb24uZGFzaGVyaXplKG1vZGVsQ2xhc3NOYW1lKVxuICAgICAgY29uc3QgbW9kZWxOYW1lQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtb2RlbE5hbWUucmVwbGFjZUFsbChcIi1cIiwgXCJfXCIpKVxuICAgICAgY29uc3QgbW9kZWxCYXNlRmlsZU5hbWUgPSBgJHtpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUobW9kZWxOYW1lKSl9LmpzYFxuICAgICAgY29uc3QgbW9kZWxQYXRoID0gYCR7YmFzZU1vZGVsc0Rpcn0vJHttb2RlbEJhc2VGaWxlTmFtZX1gXG5cbiAgICAgIGNvbnNvbGUubG9nKGBjcmVhdGUgc3JjL21vZGVsLWJhc2VzLyR7bW9kZWxCYXNlRmlsZU5hbWV9YClcblxuICAgICAgY29uc3Qgc291cmNlTW9kZWxGdWxsRmlsZVBhdGggPSBgJHttb2RlbHNEaXJ9LyR7bW9kZWxCYXNlRmlsZU5hbWV9YFxuICAgICAgbGV0IHNvdXJjZU1vZGVsRmlsZVBhdGhcblxuICAgICAgaWYgKGF3YWl0IGZpbGVFeGlzdHMoc291cmNlTW9kZWxGdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgIHNvdXJjZU1vZGVsRmlsZVBhdGggPSBgLi4vbW9kZWxzLyR7bW9kZWxCYXNlRmlsZU5hbWV9YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc291cmNlTW9kZWxGaWxlUGF0aCA9IFwidmVsb2Npb3VzL2J1aWxkL3NyYy9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIlxuICAgICAgfVxuXG4gICAgICBsZXQgZmlsZUNvbnRlbnQgPSBcIlwiXG4gICAgICBsZXQgdmVsb2Npb3VzUGF0aFxuXG4gICAgICBpZiAoZGV2TW9kZSkge1xuICAgICAgICB2ZWxvY2lvdXNQYXRoID0gXCIuLi8uLi8uLi8uLi9zcmNcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmVsb2Npb3VzUGF0aCA9IFwidmVsb2Npb3VzL2J1aWxkL3NyY1wiXG4gICAgICB9XG5cbiAgICAgIGZpbGVDb250ZW50ICs9IGBpbXBvcnQgRGF0YWJhc2VSZWNvcmQgZnJvbSBcIiR7dmVsb2Npb3VzUGF0aH0vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCJcXG5cXG5gXG5cbiAgICAgIGNvbnN0IGhhc01hbnlSZWxhdGlvbkZpbGVQYXRoID0gYCR7dmVsb2Npb3VzUGF0aH0vZGF0YWJhc2UvcmVjb3JkL2luc3RhbmNlLXJlbGF0aW9uc2hpcHMvaGFzLW1hbnkuanNgXG5cbiAgICAgIGZpbGVDb250ZW50ICs9IGBleHBvcnQgZGVmYXVsdCBjbGFzcyAke21vZGVsTmFtZUNhbWVsaXplZH1CYXNlIGV4dGVuZHMgRGF0YWJhc2VSZWNvcmQge1xcbmBcblxuICAgICAgLy8gLS0tIGdldE1vZGVsQ2xhc3MoKSBvdmVycmlkZSAoZml4ZXMgcG9seW1vcnBoaWMgdHlwaW5nIGluIEpTL0pTRG9jKSAtLS1cbiAgICAgIGlmIChhd2FpdCBmaWxlRXhpc3RzKHNvdXJjZU1vZGVsRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAvLyBNb2RlbCBmaWxlIGV4aXN0cyAoZS5nLiBzcmMvbW9kZWxzL3RpY2tldC5qcykg4oaSIHJldHVybiB0eXBlb2YgVGlja2V0XG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLy8gQHRzLWlnbm9yZSAtIG92ZXJyaWRlIG5hcnJvd3MgcmV0dXJuIHR5cGUgZm9yIGJldHRlciBJbnRlbGxpU2Vuc2UgaW4gZ2VuZXJhdGVkIG1vZGVsIGJhc2VzXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgZ2V0TW9kZWxDbGFzcygpIHsgcmV0dXJuIC91bmtub3dudW5rbm93biBAdHlwZSB7dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH0gKi8gKHRoaXMuY29uc3RydWN0b3IpIH1cXG5cXG5gXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyBtb2RlbCBmaWxlIHlldCDihpIgZmFsbCBiYWNrIHRvIHR5cGVvZiBUaWNrZXRCYXNlXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dHlwZW9mICR7bW9kZWxOYW1lQ2FtZWxpemVkfUJhc2V9XFxuYFxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8vIEB0cy1pZ25vcmUgLSBvdmVycmlkZSBuYXJyb3dzIHJldHVybiB0eXBlIGZvciBiZXR0ZXIgSW50ZWxsaVNlbnNlIGluIGdlbmVyYXRlZCBtb2RlbCBiYXNlc1xcblwiXG4gICAgICAgIGZpbGVDb250ZW50ICs9IGAgIGdldE1vZGVsQ2xhc3MoKSB7IHJldHVybiAvdW5rbm93bnVua25vd24gQHR5cGUge3R5cGVvZiAke21vZGVsTmFtZUNhbWVsaXplZH1CYXNlfSAqLyAodGhpcy5jb25zdHJ1Y3RvcikgfVxcblxcbmBcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29sdW1ucyA9IGF3YWl0IG1vZGVsQ2xhc3MuX2dldFRhYmxlKCkuZ2V0Q29sdW1ucygpXG4gICAgICBsZXQgbWV0aG9kc0NvdW50ID0gMFxuXG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XG4gICAgICAgIGNvbnN0IGNhbWVsaXplZENvbHVtbk5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGNvbHVtbi5nZXROYW1lKCksIHRydWUpXG4gICAgICAgIGNvbnN0IGNhbWVsaXplZENvbHVtbk5hbWVCaWdGaXJzdCA9IGluZmxlY3Rpb24uY2FtZWxpemUoY29sdW1uLmdldE5hbWUoKSlcbiAgICAgICAgY29uc3QganNkb2NUeXBlID0gdGhpcy5qc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbilcblxuICAgICAgICBpZiAobWV0aG9kc0NvdW50ID4gMCkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChqc2RvY1R5cGUpIHtcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7JHtqc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgIH1cblxuICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2NhbWVsaXplZENvbHVtbk5hbWV9KCkgeyByZXR1cm4gdGhpcy5yZWFkQXR0cmlidXRlKFwiJHtjYW1lbGl6ZWRDb2x1bW5OYW1lfVwiKSB9XFxuXFxuYFxuXG4gICAgICAgIGNvbnN0IHNldHRlckpzZG9jVHlwZSA9IHRoaXMuanNEb2NTZXR0ZXJUeXBlRnJvbUNvbHVtbihjb2x1bW4pXG5cbiAgICAgICAgaWYgKHNldHRlckpzZG9jVHlwZSkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBwYXJhbSB7JHtzZXR0ZXJKc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX0gbmV3VmFsdWVcXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEByZXR1cm5zIHt2b2lkfVxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgIH1cblxuICAgICAgICBmaWxlQ29udGVudCArPSBgICBzZXQke2NhbWVsaXplZENvbHVtbk5hbWVCaWdGaXJzdH0obmV3VmFsdWUpIHsgcmV0dXJuIHRoaXMuX3NldENvbHVtbkF0dHJpYnV0ZShcIiR7Y2FtZWxpemVkQ29sdW1uTmFtZX1cIiwgbmV3VmFsdWUpIH1cXG5cXG5gXG5cbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cXG5cIlxuICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgaGFzJHtjYW1lbGl6ZWRDb2x1bW5OYW1lQmlnRmlyc3R9KCkgeyByZXR1cm4gdGhpcy5faGFzQXR0cmlidXRlKHRoaXMuJHtjYW1lbGl6ZWRDb2x1bW5OYW1lfSgpKSB9XFxuYFxuXG4gICAgICAgIG1ldGhvZHNDb3VudCsrXG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlbENsYXNzLl90cmFuc2xhdGlvbnMpIHtcbiAgICAgICAgY29uc3QgVHJhbnNsYXRpb25DbGFzcyA9IG1vZGVsQ2xhc3MuZ2V0VHJhbnNsYXRpb25DbGFzcygpXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uQ29sdW1ucyA9IFRyYW5zbGF0aW9uQ2xhc3MuZ2V0Q29sdW1ucygpXG5cbiAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIG1vZGVsQ2xhc3MuX3RyYW5zbGF0aW9ucykge1xuICAgICAgICAgIGNvbnN0IG5hbWVVbmRlcnNjb3JlID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG5hbWUpXG4gICAgICAgICAgY29uc3QgY29sdW1uID0gdHJhbnNsYXRpb25Db2x1bW5zLmZpbmQoKHRyYW5zbGF0aW9uQ29sdW1uKSA9PiB0cmFuc2xhdGlvbkNvbHVtbi5nZXROYW1lKCkgPT09IG5hbWVVbmRlcnNjb3JlKVxuICAgICAgICAgIGxldCB0cmFuc2xhdGlvbkpzZG9jVHlwZVxuXG4gICAgICAgICAgaWYgKGNvbHVtbikge1xuICAgICAgICAgICAgdHJhbnNsYXRpb25Kc2RvY1R5cGUgPSB0aGlzLmpzRG9jVHlwZUZyb21Db2x1bW4oY29sdW1uKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0cmFuc2xhdGlvbkpzZG9jVHlwZSkge1xuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYFxcbmBcbiAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMgeyR7dHJhbnNsYXRpb25Kc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke25hbWV9KCkgeyByZXR1cm4gdGhpcy5fZ2V0VHJhbnNsYXRlZEF0dHJpYnV0ZVdpdGhGYWxsYmFjayhcIiR7bmFtZX1cIiwgdGhpcy5fZ2V0Q29uZmlndXJhdGlvbigpLmdldExvY2FsZSgpKSB9XFxuYFxuICAgICAgICAgIG1ldGhvZHNDb3VudCsrXG5cbiAgICAgICAgICBjb25zdCBoYXNOYW1lID0gYGhhcyR7aW5mbGVjdGlvbi5jYW1lbGl6ZShuYW1lKX1gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgXFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBhYnN0cmFjdFxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtoYXNOYW1lfSgpIHsgdGhyb3cgbmV3IEVycm9yKFwiJHtoYXNOYW1lfSBub3QgaW1wbGVtZW50ZWRcIikgfVxcbmBcbiAgICAgICAgICBtZXRob2RzQ291bnQrK1xuXG4gICAgICAgICAgZm9yIChjb25zdCBsb2NhbGUgb2YgdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0TG9jYWxlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhbGVNZXRob2ROYW1lID0gYCR7bmFtZX0ke2luZmxlY3Rpb24uY2FtZWxpemUobG9jYWxlKX1gXG5cbiAgICAgICAgICAgIGlmICh0cmFuc2xhdGlvbkpzZG9jVHlwZSkge1xuICAgICAgICAgICAgICBmaWxlQ29udGVudCArPSBgXFxuYFxuICAgICAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMgeyR7dHJhbnNsYXRpb25Kc2RvY1R5cGV9JHtjb2x1bW4uZ2V0TnVsbCgpID8gXCIgfCBudWxsXCIgOiBcIlwifX1cXG5gXG4gICAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2xvY2FsZU1ldGhvZE5hbWV9KCkgeyByZXR1cm4gdGhpcy5fZ2V0VHJhbnNsYXRlZEF0dHJpYnV0ZVdpdGhGYWxsYmFjayhcIiR7bmFtZX1cIiwgXCIke2xvY2FsZX1cIikgfVxcbmBcbiAgICAgICAgICAgIG1ldGhvZHNDb3VudCsrXG5cbiAgICAgICAgICAgIGNvbnN0IGxvY2FsZUhhc05hbWUgPSBgaGFzJHtpbmZsZWN0aW9uLmNhbWVsaXplKGxvY2FsZU1ldGhvZE5hbWUpfWBcblxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYFxcbmBcbiAgICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQGFic3RyYWN0XFxuYFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2Jvb2xlYW59XFxuYFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAke2xvY2FsZUhhc05hbWV9KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCIke2xvY2FsZUhhc05hbWV9IG5vdCBpbXBsZW1lbnRlZFwiKSB9XFxuYFxuICAgICAgICAgICAgbWV0aG9kc0NvdW50KytcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCByZWxhdGlvbnNoaXAgb2YgbW9kZWxDbGFzcy5nZXRSZWxhdGlvbnNoaXBzKCkpIHtcbiAgICAgICAgbGV0IGJhc2VGaWxlUGF0aCwgYmFzZUZ1bGxGaWxlUGF0aCwgZmlsZU5hbWUsIGZ1bGxGaWxlUGF0aFxuXG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0UG9seW1vcnBoaWMoKSkge1xuICAgICAgICAgIGZpbGVOYW1lID0gXCJ2ZWxvY2lvdXMvYnVpbGQvc3JjL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZmlsZU5hbWUgPSBpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUocmVsYXRpb25zaGlwLmdldFRhcmdldE1vZGVsQ2xhc3MoKS5uYW1lKSlcbiAgICAgICAgICBmdWxsRmlsZVBhdGggPSBgc3JjL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICBiYXNlRmlsZVBhdGggPSBgLi4vbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgICAgYmFzZUZ1bGxGaWxlUGF0aCA9IGBzcmMvbW9kZWwtYmFzZXMvJHtmaWxlTmFtZX0uanNgXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0aG9kc0NvdW50ID4gMCkge1xuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZWxhdGlvbnNoaXAuZ2V0VHlwZSgpID09IFwiYmVsb25nc1RvXCIgfHwgcmVsYXRpb25zaGlwLmdldFR5cGUoKSA9PSBcImhhc09uZVwiKSB7XG4gICAgICAgICAgbGV0IG1vZGVsRmlsZVBhdGhcblxuICAgICAgICAgIGlmIChmdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhmdWxsRmlsZVBhdGgpKSB7XG4gICAgICAgICAgICBtb2RlbEZpbGVQYXRoID0gYC4uL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICB9IGVsc2UgaWYgKGJhc2VGdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhiYXNlRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAgICAgbW9kZWxGaWxlUGF0aCA9IGJhc2VGaWxlUGF0aFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2RlbEZpbGVQYXRoID0gXCJ2ZWxvY2lvdXMvYnVpbGQvc3JjL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2ltcG9ydChcIiR7bW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdH1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfSgpIHsgcmV0dXJuIC91bmtub3dudW5rbm93biBAdHlwZSB7aW1wb3J0KFwiJHttb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0fSAqLyAodGhpcy5nZXRSZWxhdGlvbnNoaXBCeU5hbWUoXCIke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9XCIpLmxvYWRlZCgpKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAYWJzdHJhY3RcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSBbYXR0cmlidXRlc11cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEByZXR1cm5zIHtpbXBvcnQoXCIke21vZGVsRmlsZVBhdGh9XCIpLmRlZmF1bHR9XFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgIGJ1aWxkJHtpbmZsZWN0aW9uLmNhbWVsaXplKHJlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCkpfShhdHRyaWJ1dGVzKSB7IHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcXG5gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEBhYnN0cmFjdFxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgbG9hZCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpKX0oKSB7IHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKiBAYWJzdHJhY3RcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEBwYXJhbSB7aW1wb3J0KFwiJHttb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0fSBuZXdNb2RlbFxcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICAgKiBAcmV0dXJucyB7dm9pZH1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgc2V0JHtpbmZsZWN0aW9uLmNhbWVsaXplKHJlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCkpfShuZXdNb2RlbCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIikgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXFxuYFxuICAgICAgICB9IGVsc2UgaWYgKHJlbGF0aW9uc2hpcC5nZXRUeXBlKCkgPT0gXCJoYXNNYW55XCIpIHtcbiAgICAgICAgICBsZXQgcmVjb3JkSW1wb3J0XG5cbiAgICAgICAgICBpZiAoZnVsbEZpbGVQYXRoICYmIGF3YWl0IGZpbGVFeGlzdHMoZnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAgICAgcmVjb3JkSW1wb3J0ID0gYC4uL21vZGVscy8ke2ZpbGVOYW1lfS5qc2BcbiAgICAgICAgICB9IGVsc2UgaWYgKGJhc2VGdWxsRmlsZVBhdGggJiYgYXdhaXQgZmlsZUV4aXN0cyhiYXNlRnVsbEZpbGVQYXRoKSkge1xuICAgICAgICAgICAgcmVjb3JkSW1wb3J0ID0gYC4uL21vZGVsLWJhc2VzLyR7ZmlsZU5hbWV9LmpzYFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZWNvcmRJbXBvcnQgPSBgJHt2ZWxvY2lvdXNQYXRofS9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNgXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHJldHVybnMge2ltcG9ydChcIiR7aGFzTWFueVJlbGF0aW9uRmlsZVBhdGh9XCIpLmRlZmF1bHQ8dHlwZW9mIGltcG9ydChcIiR7c291cmNlTW9kZWxGaWxlUGF0aH1cIikuZGVmYXVsdCwgdHlwZW9mIGltcG9ydChcIiR7cmVjb3JkSW1wb3J0fVwiKS5kZWZhdWx0Pn1cXG5gXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqL1xcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfSgpIHsgcmV0dXJuIC91bmtub3dudW5rbm93biBAdHlwZSB7aW1wb3J0KFwiJHtoYXNNYW55UmVsYXRpb25GaWxlUGF0aH1cIikuZGVmYXVsdDx0eXBlb2YgaW1wb3J0KFwiJHtzb3VyY2VNb2RlbEZpbGVQYXRofVwiKS5kZWZhdWx0LCB0eXBlb2YgaW1wb3J0KFwiJHtyZWNvcmRJbXBvcnR9XCIpLmRlZmF1bHQ+fSAqLyAodGhpcy5nZXRSZWxhdGlvbnNoaXBCeU5hbWUoXCIke3JlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCl9XCIpKSB9XFxuYFxuXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCJcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAvKipcXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICAqIEByZXR1cm5zIHtBcnJheTxpbXBvcnQoXCIke3JlY29yZEltcG9ydH1cIikuZGVmYXVsdD59XFxuYFxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiICAgKi9cXG5cIlxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IGAgICR7cmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKX1Mb2FkZWQoKSB7IHJldHVybiAvdW5rbm93bnVua25vd24gQHR5cGUge0FycmF5PGltcG9ydChcIiR7cmVjb3JkSW1wb3J0fVwiKS5kZWZhdWx0Pn0gKi8gKHRoaXMuZ2V0UmVsYXRpb25zaGlwQnlOYW1lKFwiJHtyZWxhdGlvbnNoaXAuZ2V0UmVsYXRpb25zaGlwTmFtZSgpfVwiKS5sb2FkZWQoKSkgfVxcbmBcblxuICAgICAgICAgIGZpbGVDb250ZW50ICs9IFwiXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgLyoqXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQGFic3RyYWN0XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICBsb2FkJHtpbmZsZWN0aW9uLmNhbWVsaXplKHJlbGF0aW9uc2hpcC5nZXRSZWxhdGlvbnNoaXBOYW1lKCkpfSgpIHsgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpIH1cXG5gXG5cbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgIC8qKlxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gXCIgICAqIEBhYnN0cmFjdFxcblwiXG4gICAgICAgICAgZmlsZUNvbnRlbnQgKz0gYCAgICogQHBhcmFtIHtBcnJheTxpbXBvcnQoXCIke3JlY29yZEltcG9ydH1cIikuZGVmYXVsdD59IG5ld01vZGVsc1xcbmBcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICogQHJldHVybnMge3ZvaWR9XFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBcIiAgICovXFxuXCJcbiAgICAgICAgICBmaWxlQ29udGVudCArPSBgICBzZXQke2luZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwLmdldFJlbGF0aW9uc2hpcE5hbWUoKSl9KG5ld01vZGVscykgeyB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIikgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXFxuYFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biByZWxhdGlvbnNoaXAgdHlwZTogJHtyZWxhdGlvbnNoaXAuZ2V0VHlwZSgpfWApXG4gICAgICAgIH1cblxuICAgICAgICBtZXRob2RzQ291bnQrK1xuICAgICAgfVxuXG4gICAgICBmaWxlQ29udGVudCArPSBcIn1cXG5cIlxuXG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUobW9kZWxQYXRoLCBmaWxlQ29udGVudClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi8uLi8uLi8uLi8uLi9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UtY29sdW1uLmpzXCIpLmRlZmF1bHR9IGNvbHVtbiAtIENvbHVtbi5cbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBUaGUganMgZG9jIHR5cGUgZnJvbSBjb2x1bW4uXG4gICAqL1xuICBqc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbikge1xuICAgIGNvbnN0IHR5cGUgPSBjb2x1bW4uZ2V0VHlwZSgpXG5cbiAgICBpZiAodHlwZSA9PSBcImJvb2xlYW5cIikge1xuICAgICAgcmV0dXJuIFwiYm9vbGVhblwiXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwianNvblwiKSB7XG4gICAgICByZXR1cm4gXCJSZWNvcmQ8c3RyaW5nLCBhbnk+XCJcbiAgICB9IGVsc2UgaWYgKFtcImJsb2JcIiwgXCJjaGFyXCIsIFwibnZhcmNoYXJcIiwgXCJ2YXJjaGFyXCIsIFwidGV4dFwiLCBcImxvbmd0ZXh0XCIsIFwidXVpZFwiXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwic3RyaW5nXCJcbiAgICB9IGVsc2UgaWYgKFtcImJpdFwiLCBcImJpZ2ludFwiLCBcImZsb2F0XCIsIFwiaW50XCIsIFwiaW50ZWdlclwiLCBcInNtYWxsaW50XCIsIFwidGlueWludFwiXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwibnVtYmVyXCJcbiAgICB9IGVsc2UgaWYgKFtcImRhdGVcIiwgXCJkYXRldGltZVwiXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgcmV0dXJuIFwiRGF0ZVwiXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFVua25vd24gY29sdW1uIHR5cGU6ICR7dHlwZX1gKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uLy4uLy4uLy4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS1jb2x1bW4uanNcIikuZGVmYXVsdH0gY29sdW1uIC0gQ29sdW1uLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIFRoZSBqcyBkb2Mgc2V0dGVyIHR5cGUgZnJvbSBjb2x1bW4uXG4gICAqL1xuICBqc0RvY1NldHRlclR5cGVGcm9tQ29sdW1uKGNvbHVtbikge1xuICAgIGNvbnN0IHR5cGUgPSBjb2x1bW4uZ2V0VHlwZSgpXG5cbiAgICBpZiAoW1wiZGF0ZVwiLCBcImRhdGV0aW1lXCJdLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICByZXR1cm4gXCJEYXRlIHwgc3RyaW5nXCJcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5qc0RvY1R5cGVGcm9tQ29sdW1uKGNvbHVtbilcbiAgfVxufVxuIl19
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export default class DbGenerateMigration extends BaseCommand {
|
|
5
5
|
/**
|
|
6
|
-
* @returns {Promise<void | DbGenerateMigrationReturnType>}
|
|
6
|
+
* @returns {Promise<void | DbGenerateMigrationReturnType>} - Resolves with the execute.
|
|
7
7
|
*/
|
|
8
8
|
execute(): Promise<void | DbGenerateMigrationReturnType>;
|
|
9
9
|
}
|
|
@@ -8,7 +8,7 @@ import strftime from "strftime";
|
|
|
8
8
|
*/
|
|
9
9
|
export default class DbGenerateMigration extends BaseCommand {
|
|
10
10
|
/**
|
|
11
|
-
* @returns {Promise<void | DbGenerateMigrationReturnType>}
|
|
11
|
+
* @returns {Promise<void | DbGenerateMigrationReturnType>} - Resolves with the execute.
|
|
12
12
|
*/
|
|
13
13
|
async execute() {
|
|
14
14
|
const migrationName = this.processArgs[1];
|
|
@@ -34,4 +34,4 @@ export default class DbGenerateMigration extends BaseCommand {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Vudmlyb25tZW50LWhhbmRsZXJzL25vZGUvY2xpL2NvbW1hbmRzL2dlbmVyYXRlL21pZ3JhdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM1RCxPQUFPLFVBQVUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDNUIsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxRQUFRLE1BQU0sVUFBVSxDQUFBO0FBRS9COztHQUVHO0FBRUgsTUFBTSxDQUFDLE9BQU8sT0FBTyxtQkFBb0IsU0FBUSxXQUFXO0lBQzFEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3pDLE1BQU0sc0JBQXNCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ3RGLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFDdkIsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ2hELE1BQU0saUJBQWlCLEdBQUcsR0FBRyxlQUFlLElBQUksYUFBYSxLQUFLLENBQUE7UUFDbEUsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQzNFLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxhQUFhLHNDQUFzQyxDQUFBO1FBQy9FLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDbEUsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUMsQ0FBQTtRQUNuSCxNQUFNLFlBQVksR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUE7UUFDL0QsTUFBTSxhQUFhLEdBQUcsR0FBRyxZQUFZLElBQUksaUJBQWlCLEVBQUUsQ0FBQTtRQUU1RCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsT0FBTyxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBQyxDQUFBO1FBQ3hHLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtZQUNqRCxDQUFDO1lBRUQsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO1lBRW5ELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLGlCQUFpQixFQUFFLENBQUMsQ0FBQTtRQUNwRSxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jbGkvYmFzZS1jb21tYW5kLmpzXCJcbmltcG9ydCBmaWxlRXhpc3RzIGZyb20gXCIuLi8uLi8uLi8uLi8uLi91dGlscy9maWxlLWV4aXN0cy5qc1wiXG5pbXBvcnQgZnMgZnJvbSBcImZzL3Byb21pc2VzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHN0cmZ0aW1lIGZyb20gXCJzdHJmdGltZVwiXG5cbi8qKlxuICogQHR5cGVkZWYge3tkYXRlOiBEYXRlLCBtaWdyYXRpb25Db250ZW50OiBzdHJpbmcsIG1pZ3JhdGlvbk5hbWU6IHN0cmluZywgbWlncmF0aW9uTmFtZUNhbWVsaXplZDogc3RyaW5nLCBtaWdyYXRpb25OdW1iZXI6IHN0cmluZywgbWlncmF0aW9uUGF0aDogc3RyaW5nfX0gRGJHZW5lcmF0ZU1pZ3JhdGlvblJldHVyblR5cGVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEYkdlbmVyYXRlTWlncmF0aW9uIGV4dGVuZHMgQmFzZUNvbW1hbmQge1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZCB8IERiR2VuZXJhdGVNaWdyYXRpb25SZXR1cm5UeXBlPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBleGVjdXRlLlxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICBjb25zdCBtaWdyYXRpb25OYW1lID0gdGhpcy5wcm9jZXNzQXJnc1sxXVxuICAgIGNvbnN0IG1pZ3JhdGlvbk5hbWVDYW1lbGl6ZWQgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1pZ3JhdGlvbk5hbWUucmVwbGFjZUFsbChcIi1cIiwgXCJfXCIpKVxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgY29uc3QgbWlncmF0aW9uTnVtYmVyID0gc3RyZnRpbWUoXCIlWSVtJWQlSCVNJVNcIilcbiAgICBjb25zdCBtaWdyYXRpb25GaWxlTmFtZSA9IGAke21pZ3JhdGlvbk51bWJlcn0tJHttaWdyYXRpb25OYW1lfS5qc2BcbiAgICBjb25zdCB2ZWxvY2lvdXNQYXRoID0gYXdhaXQgdGhpcy5nZXRFbnZpcm9ubWVudEhhbmRsZXIoKS5nZXRWZWxvY2lvdXNQYXRoKClcbiAgICBjb25zdCB0ZW1wbGF0ZUZpbGVQYXRoID0gYCR7dmVsb2Npb3VzUGF0aH0vc3JjL3RlbXBsYXRlcy9nZW5lcmF0ZS1taWdyYXRpb24uanNgXG4gICAgY29uc3QgbWlncmF0aW9uQ29udGVudEJ1ZmZlciA9IGF3YWl0IGZzLnJlYWRGaWxlKHRlbXBsYXRlRmlsZVBhdGgpXG4gICAgY29uc3QgbWlncmF0aW9uQ29udGVudCA9IG1pZ3JhdGlvbkNvbnRlbnRCdWZmZXIudG9TdHJpbmcoKS5yZXBsYWNlQWxsKFwiX19NSUdSQVRJT05fTkFNRV9fXCIsIG1pZ3JhdGlvbk5hbWVDYW1lbGl6ZWQpXG4gICAgY29uc3QgbWlncmF0aW9uRGlyID0gYCR7cHJvY2Vzcy5jd2QoKX0vc3JjL2RhdGFiYXNlL21pZ3JhdGlvbnNgXG4gICAgY29uc3QgbWlncmF0aW9uUGF0aCA9IGAke21pZ3JhdGlvbkRpcn0vJHttaWdyYXRpb25GaWxlTmFtZX1gXG5cbiAgICBpZiAodGhpcy5hcmdzLnRlc3RpbmcpIHtcbiAgICAgIHJldHVybiB7ZGF0ZSwgbWlncmF0aW9uQ29udGVudCwgbWlncmF0aW9uTmFtZSwgbWlncmF0aW9uTmFtZUNhbWVsaXplZCwgbWlncmF0aW9uTnVtYmVyLCBtaWdyYXRpb25QYXRofVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIWF3YWl0IGZpbGVFeGlzdHMobWlncmF0aW9uRGlyKSkge1xuICAgICAgICBhd2FpdCBmcy5ta2RpcihtaWdyYXRpb25EaXIsIHtyZWN1cnNpdmU6IHRydWV9KVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUobWlncmF0aW9uUGF0aCwgbWlncmF0aW9uQ29udGVudClcblxuICAgICAgY29uc29sZS5sb2coYGNyZWF0ZSBzcmMvZGF0YWJhc2UvbWlncmF0aW9ucy8ke21pZ3JhdGlvbkZpbGVOYW1lfWApXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -7,7 +7,7 @@ import * as inflection from "inflection";
|
|
|
7
7
|
*/
|
|
8
8
|
export default class DbGenerateModel extends BaseCommand {
|
|
9
9
|
/**
|
|
10
|
-
* @returns {Promise<void | DbGenerateModelResult>}
|
|
10
|
+
* @returns {Promise<void | DbGenerateModelResult>} - Resolves with the execute.
|
|
11
11
|
*/
|
|
12
12
|
async execute() {
|
|
13
13
|
const modelName = this.processArgs[1];
|
|
@@ -34,4 +34,4 @@ export default class DbGenerateModel extends BaseCommand {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvZW52aXJvbm1lbnQtaGFuZGxlcnMvbm9kZS9jbGkvY29tbWFuZHMvZ2VuZXJhdGUvbW9kZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sb0NBQW9DLENBQUE7QUFDNUQsT0FBTyxVQUFVLE1BQU0scUNBQXFDLENBQUE7QUFDNUQsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBRXhDOztHQUVHO0FBRUgsTUFBTSxDQUFDLE9BQU8sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFDdEQ7O09BRUc7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDckMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDOUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtRQUN2QixNQUFNLGFBQWEsR0FBRyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDcEYsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQzNFLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxhQUFhLGtDQUFrQyxDQUFBO1FBQzNFLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDOUQsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUE7UUFDbkcsTUFBTSxTQUFTLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQTtRQUMvQyxNQUFNLFNBQVMsR0FBRyxHQUFHLFNBQVMsSUFBSSxhQUFhLEVBQUUsQ0FBQTtRQUVqRCxJQUFJLE1BQU0sVUFBVSxDQUFDLFNBQVMsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFFM0YsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE9BQU8sRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUMsQ0FBQTtRQUN2RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUE7WUFDOUMsQ0FBQztZQUVELE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUE7WUFFM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsYUFBYSxFQUFFLENBQUMsQ0FBQTtRQUNuRCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jbGkvYmFzZS1jb21tYW5kLmpzXCJcbmltcG9ydCBmaWxlRXhpc3RzIGZyb20gXCIuLi8uLi8uLi8uLi8uLi91dGlscy9maWxlLWV4aXN0cy5qc1wiXG5pbXBvcnQgZnMgZnJvbSBcImZzL3Byb21pc2VzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuXG4vKipcbiAqIEB0eXBlZGVmIHt7ZGF0ZTogRGF0ZSwgbW9kZWxDb250ZW50OiBzdHJpbmcsIG1vZGVsTmFtZTogc3RyaW5nLCBtb2RlbE5hbWVDYW1lbGl6ZWQ6IHN0cmluZywgbW9kZWxQYXRoOiBzdHJpbmd9fSBEYkdlbmVyYXRlTW9kZWxSZXN1bHRcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEYkdlbmVyYXRlTW9kZWwgZXh0ZW5kcyBCYXNlQ29tbWFuZCB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkIHwgRGJHZW5lcmF0ZU1vZGVsUmVzdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBleGVjdXRlLlxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICBjb25zdCBtb2RlbE5hbWUgPSB0aGlzLnByb2Nlc3NBcmdzWzFdXG4gICAgY29uc3QgbW9kZWxOYW1lQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtb2RlbE5hbWUucmVwbGFjZUFsbChcIi1cIiwgXCJfXCIpKVxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgY29uc3QgbW9kZWxGaWxlTmFtZSA9IGAke2luZmxlY3Rpb24uZGFzaGVyaXplKGluZmxlY3Rpb24udW5kZXJzY29yZShtb2RlbE5hbWUpKX0uanNgXG4gICAgY29uc3QgdmVsb2Npb3VzUGF0aCA9IGF3YWl0IHRoaXMuZ2V0RW52aXJvbm1lbnRIYW5kbGVyKCkuZ2V0VmVsb2Npb3VzUGF0aCgpXG4gICAgY29uc3QgdGVtcGxhdGVGaWxlUGF0aCA9IGAke3ZlbG9jaW91c1BhdGh9L3NyYy90ZW1wbGF0ZXMvZ2VuZXJhdGUtbW9kZWwuanNgXG4gICAgY29uc3QgbW9kZWxDb250ZW50QnVmZmVyID0gYXdhaXQgZnMucmVhZEZpbGUodGVtcGxhdGVGaWxlUGF0aClcbiAgICBjb25zdCBtb2RlbENvbnRlbnQgPSBtb2RlbENvbnRlbnRCdWZmZXIudG9TdHJpbmcoKS5yZXBsYWNlQWxsKFwiX19NT0RFTF9OQU1FX19cIiwgbW9kZWxOYW1lQ2FtZWxpemVkKVxuICAgIGNvbnN0IG1vZGVsc0RpciA9IGAke3Byb2Nlc3MuY3dkKCl9L3NyYy9tb2RlbHNgXG4gICAgY29uc3QgbW9kZWxQYXRoID0gYCR7bW9kZWxzRGlyfS8ke21vZGVsRmlsZU5hbWV9YFxuXG4gICAgaWYgKGF3YWl0IGZpbGVFeGlzdHMobW9kZWxQYXRoKSkgdGhyb3cgbmV3IEVycm9yKGBNb2RlbCBmaWxlIGFscmVhZHkgZXhpc3RzOiAke21vZGVsUGF0aH1gKVxuXG4gICAgaWYgKHRoaXMuYXJncy50ZXN0aW5nKSB7XG4gICAgICByZXR1cm4ge2RhdGUsIG1vZGVsQ29udGVudCwgbW9kZWxOYW1lLCBtb2RlbE5hbWVDYW1lbGl6ZWQsIG1vZGVsUGF0aH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFhd2FpdCBmaWxlRXhpc3RzKG1vZGVsc0RpcikpIHtcbiAgICAgICAgYXdhaXQgZnMubWtkaXIobW9kZWxzRGlyLCB7cmVjdXJzaXZlOiB0cnVlfSlcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKG1vZGVsUGF0aCwgbW9kZWxDb250ZW50KVxuXG4gICAgICBjb25zb2xlLmxvZyhgY3JlYXRlIHNyYy9tb2RlbHMvJHttb2RlbEZpbGVOYW1lfWApXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export default class VelociousCliCommandsInit extends BaseCommand {
|
|
5
5
|
/**
|
|
6
|
-
* @returns {Promise<void | {fileMappings: FileMappingType[]}>}
|
|
6
|
+
* @returns {Promise<void | {fileMappings: FileMappingType[]}>} - Resolves with generated file mappings, if any.
|
|
7
7
|
*/
|
|
8
8
|
execute(): Promise<void | {
|
|
9
9
|
fileMappings: FileMappingType[];
|
|
@@ -6,7 +6,7 @@ import fs from "fs/promises";
|
|
|
6
6
|
*/
|
|
7
7
|
export default class VelociousCliCommandsInit extends BaseCommand {
|
|
8
8
|
/**
|
|
9
|
-
* @returns {Promise<void | {fileMappings: FileMappingType[]}>}
|
|
9
|
+
* @returns {Promise<void | {fileMappings: FileMappingType[]}>} - Resolves with generated file mappings, if any.
|
|
10
10
|
*/
|
|
11
11
|
async execute() {
|
|
12
12
|
const velociousPath = await this.getEnvironmentHandler().getVelociousPath();
|
|
@@ -58,4 +58,4 @@ export default class VelociousCliCommandsInit extends BaseCommand {
|
|
|
58
58
|
}
|
|
59
59
|
const dontLoadConfiguration = true;
|
|
60
60
|
export { dontLoadConfiguration };
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9pbml0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLGlDQUFpQyxDQUFBO0FBQ3pELE9BQU8sVUFBVSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3pELE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUU1Qjs7R0FFRztBQUVILE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0JBQXlCLFNBQVEsV0FBVztJQUMvRDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQzNFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUM1RSxNQUFNLGlCQUFpQixHQUFHLEdBQUcsV0FBVyxhQUFhLENBQUE7UUFDckQsTUFBTSxZQUFZLEdBQUc7WUFDbkI7Z0JBQ0UsTUFBTSxFQUFFLEdBQUcsYUFBYSxpQ0FBaUM7Z0JBQ3pELE1BQU0sRUFBRSxHQUFHLGlCQUFpQixtQkFBbUI7YUFDaEQ7WUFDRDtnQkFDRSxNQUFNLEVBQUUsR0FBRyxhQUFhLDBCQUEwQjtnQkFDbEQsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLFlBQVk7YUFDekM7U0FDRixDQUFBO1FBQ0QsTUFBTSxLQUFLLEdBQUc7WUFDWixpQkFBaUI7WUFDakIsR0FBRyxXQUFXLDBCQUEwQjtZQUN4QyxHQUFHLFdBQVcsYUFBYTtZQUMzQixHQUFHLFdBQVcsYUFBYTtTQUM1QixDQUFBO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE9BQU87Z0JBQ0wsWUFBWTthQUNiLENBQUE7UUFDSCxDQUFDO1FBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QixJQUFJLE1BQU0sVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLElBQUksRUFBRSxDQUFDLENBQUE7WUFDbkQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLElBQUksRUFBRSxDQUFDLENBQUE7Z0JBQ2pELE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtZQUN6QyxDQUFDO1FBQ0gsQ0FBQztRQUVELEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtZQUNsRSxDQUFDO1lBRUQsSUFBSSxNQUFNLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDM0QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO2dCQUN2RCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDM0QsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQTtBQUVsQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5pbXBvcnQgZmlsZUV4aXN0cyBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvZmlsZS1leGlzdHMuanNcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy9wcm9taXNlc1wiXG5cbi8qKlxuICogQHR5cGVkZWYge3tzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmd9fSBGaWxlTWFwcGluZ1R5cGVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNDbGlDb21tYW5kc0luaXQgZXh0ZW5kcyBCYXNlQ29tbWFuZCB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkIHwge2ZpbGVNYXBwaW5nczogRmlsZU1hcHBpbmdUeXBlW119Pn0gLSBSZXNvbHZlcyB3aXRoIGdlbmVyYXRlZCBmaWxlIG1hcHBpbmdzLCBpZiBhbnkuXG4gICAqL1xuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGNvbnN0IHZlbG9jaW91c1BhdGggPSBhd2FpdCB0aGlzLmdldEVudmlyb25tZW50SGFuZGxlcigpLmdldFZlbG9jaW91c1BhdGgoKVxuICAgIGNvbnN0IHByb2plY3RQYXRoID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKCk/LmdldERpcmVjdG9yeSgpIHx8IHByb2Nlc3MuY3dkKClcbiAgICBjb25zdCBwcm9qZWN0Q29uZmlnUGF0aCA9IGAke3Byb2plY3RQYXRofS9zcmMvY29uZmlnYFxuICAgIGNvbnN0IGZpbGVNYXBwaW5ncyA9IFtcbiAgICAgIHtcbiAgICAgICAgc291cmNlOiBgJHt2ZWxvY2lvdXNQYXRofS9zcmMvdGVtcGxhdGVzL2NvbmZpZ3VyYXRpb24uanNgLFxuICAgICAgICB0YXJnZXQ6IGAke3Byb2plY3RDb25maWdQYXRofS9jb25maWd1cmF0aW9uLmpzYFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc291cmNlOiBgJHt2ZWxvY2lvdXNQYXRofS9zcmMvdGVtcGxhdGVzL3JvdXRlcy5qc2AsXG4gICAgICAgIHRhcmdldDogYCR7cHJvamVjdENvbmZpZ1BhdGh9L3JvdXRlcy5qc2BcbiAgICAgIH1cbiAgICBdXG4gICAgY29uc3QgcGF0aHMgPSBbXG4gICAgICBwcm9qZWN0Q29uZmlnUGF0aCxcbiAgICAgIGAke3Byb2plY3RQYXRofS9zcmMvZGF0YWJhc2UvbWlncmF0aW9uc2AsXG4gICAgICBgJHtwcm9qZWN0UGF0aH0vc3JjL21vZGVsc2AsXG4gICAgICBgJHtwcm9qZWN0UGF0aH0vc3JjL3JvdXRlc2BcbiAgICBdXG5cbiAgICBpZiAodGhpcy5hcmdzLnRlc3RpbmcpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZpbGVNYXBwaW5nc1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgcGF0aCBvZiBwYXRocykge1xuICAgICAgaWYgKGF3YWl0IGZpbGVFeGlzdHMocGF0aCkpIHtcbiAgICAgICAgY29uc29sZS5sb2coYENvbmZpZyBkaXIgYWxyZWFkeSBleGlzdHM6ICR7cGF0aH1gKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coYENvbmZpZyBkaXIgZG9lc24ndCBleGlzdHM6ICR7cGF0aH1gKVxuICAgICAgICBhd2FpdCBmcy5ta2RpcihwYXRoLCB7cmVjdXJzaXZlOiB0cnVlfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGZpbGVNYXBwaW5nIG9mIGZpbGVNYXBwaW5ncykge1xuICAgICAgaWYgKCFhd2FpdCBmaWxlRXhpc3RzKGZpbGVNYXBwaW5nLnNvdXJjZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUZW1wbGF0ZSBkb2Vzbid0IGV4aXN0OiAke2ZpbGVNYXBwaW5nLnNvdXJjZX1gKVxuICAgICAgfVxuXG4gICAgICBpZiAoYXdhaXQgZmlsZUV4aXN0cyhmaWxlTWFwcGluZy50YXJnZXQpKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBGaWxlIGFscmVhZHkgZXhpc3RzOiAke2ZpbGVNYXBwaW5nLnRhcmdldH1gKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coYEZpbGUgZG9lc250IGV4aXN0OiAke2ZpbGVNYXBwaW5nLnRhcmdldH1gKVxuICAgICAgICBhd2FpdCBmcy5jb3B5RmlsZShmaWxlTWFwcGluZy5zb3VyY2UsIGZpbGVNYXBwaW5nLnRhcmdldClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuY29uc3QgZG9udExvYWRDb25maWd1cmF0aW9uID0gdHJ1ZVxuXG5leHBvcnQge2RvbnRMb2FkQ29uZmlndXJhdGlvbn1cbiJdfQ==
|
|
@@ -4,14 +4,14 @@ export default class VelociousCliCommandsServer extends BaseCommand {
|
|
|
4
4
|
output: string;
|
|
5
5
|
}>;
|
|
6
6
|
/**
|
|
7
|
-
* @param {import("../../../../routes/base-route.js").default} route
|
|
8
|
-
* @param {number} [level]
|
|
9
|
-
* @returns {void}
|
|
7
|
+
* @param {import("../../../../routes/base-route.js").default} route - Route.
|
|
8
|
+
* @param {number} [level] - Level.
|
|
9
|
+
* @returns {void} - No return value.
|
|
10
10
|
*/
|
|
11
11
|
printRoutes(route: import("../../../../routes/base-route.js").default, level?: number): void;
|
|
12
12
|
/**
|
|
13
|
-
* @param {string} content
|
|
14
|
-
* @returns {void}
|
|
13
|
+
* @param {string} content - Content.
|
|
14
|
+
* @returns {void} - No return value.
|
|
15
15
|
*/
|
|
16
16
|
log(content: string): void;
|
|
17
17
|
}
|
|
@@ -14,9 +14,9 @@ export default class VelociousCliCommandsServer extends BaseCommand {
|
|
|
14
14
|
return { output: this.output };
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* @param {import("../../../../routes/base-route.js").default} route
|
|
18
|
-
* @param {number} [level]
|
|
19
|
-
* @returns {void}
|
|
17
|
+
* @param {import("../../../../routes/base-route.js").default} route - Route.
|
|
18
|
+
* @param {number} [level] - Level.
|
|
19
|
+
* @returns {void} - No return value.
|
|
20
20
|
*/
|
|
21
21
|
printRoutes(route, level = 0) {
|
|
22
22
|
const prefix = " ".repeat(level);
|
|
@@ -28,8 +28,8 @@ export default class VelociousCliCommandsServer extends BaseCommand {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* @param {string} content
|
|
32
|
-
* @returns {void}
|
|
31
|
+
* @param {string} content - Content.
|
|
32
|
+
* @returns {void} - No return value.
|
|
33
33
|
*/
|
|
34
34
|
log(content) {
|
|
35
35
|
if (this.cli.getTesting()) {
|
|
@@ -40,4 +40,4 @@ export default class VelociousCliCommandsServer extends BaseCommand {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Vudmlyb25tZW50LWhhbmRsZXJzL25vZGUvY2xpL2NvbW1hbmRzL3JvdXRlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUV4QyxPQUFPLFdBQVcsTUFBTSw0QkFBNEIsQ0FBQTtBQUNwRCxPQUFPLFdBQVcsTUFBTSxpQ0FBaUMsQ0FBQTtBQUV6RCxNQUFNLENBQUMsT0FBTyxPQUFPLDBCQUEyQixTQUFRLFdBQVc7SUFDakUsTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUVYLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDbEMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN0QyxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUMsQ0FBQTtRQUNGLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBRWxELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWxDLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFBO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQztRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRWpDLEtBQUssTUFBTSxTQUFTLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ2hLLENBQUM7UUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sSUFBSSxHQUFHLE9BQU8sSUFBSSxDQUFBO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN0QixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5cbmltcG9ydCBBcHBsaWNhdGlvbiBmcm9tIFwiLi4vLi4vLi4vLi4vYXBwbGljYXRpb24uanNcIlxuaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gXCIuLi8uLi8uLi8uLi9jbGkvYmFzZS1jb21tYW5kLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzQ2xpQ29tbWFuZHNTZXJ2ZXIgZXh0ZW5kcyBCYXNlQ29tbWFuZHtcbiAgb3V0cHV0ID0gXCJcIlxuXG4gIGFzeW5jIGV4ZWN1dGUoKSB7XG4gICAgY29uc3QgYXBwbGljYXRpb24gPSBuZXcgQXBwbGljYXRpb24oe1xuICAgICAgY29uZmlndXJhdGlvbjogdGhpcy5nZXRDb25maWd1cmF0aW9uKCksXG4gICAgICB0eXBlOiBcInNlcnZlclwiXG4gICAgfSlcbiAgICBhd2FpdCBhcHBsaWNhdGlvbi5pbml0aWFsaXplKClcbiAgICBjb25zdCByb3V0ZXMgPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXRSb3V0ZXMoKVxuXG4gICAgdGhpcy5wcmludFJvdXRlcyhyb3V0ZXMucm9vdFJvdXRlKVxuXG4gICAgcmV0dXJuIHtvdXRwdXQ6IHRoaXMub3V0cHV0fVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vLi4vLi4vcm91dGVzL2Jhc2Utcm91dGUuanNcIikuZGVmYXVsdH0gcm91dGUgLSBSb3V0ZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtsZXZlbF0gLSBMZXZlbC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgcHJpbnRSb3V0ZXMocm91dGUsIGxldmVsID0gMCkge1xuICAgIGNvbnN0IHByZWZpeCA9IFwiICBcIi5yZXBlYXQobGV2ZWwpXG5cbiAgICBmb3IgKGNvbnN0IHJvdXRlRGF0YSBvZiByb3V0ZS5nZXRIdW1hblBhdGhzKCkpIHtcbiAgICAgIHRoaXMubG9nKGAke3ByZWZpeH0ke3JvdXRlRGF0YS5tZXRob2R9ICR7cm91dGVEYXRhLnBhdGh9JHtyb3V0ZURhdGEuYWN0aW9uID8gYCAtPiAke2luZmxlY3Rpb24uY2FtZWxpemUocm91dGVEYXRhLmFjdGlvbi5yZXBsYWNlQWxsKFwiLVwiLCBcIl9cIiksIHRydWUpfWAgOiBcIlwifWApXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzdWJSb3V0ZSBvZiByb3V0ZS5nZXRTdWJSb3V0ZXMoKSkge1xuICAgICAgdGhpcy5wcmludFJvdXRlcyhzdWJSb3V0ZSwgbGV2ZWwgKyAxKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udGVudCAtIENvbnRlbnQuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIGxvZyhjb250ZW50KSB7XG4gICAgaWYgKHRoaXMuY2xpLmdldFRlc3RpbmcoKSkge1xuICAgICAgdGhpcy5vdXRwdXQgKz0gYCR7Y29udGVudH1cXG5gXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKGNvbnRlbnQpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -7,8 +7,8 @@ export default class VelociousCliCommandsServer extends BaseCommand {
|
|
|
7
7
|
this.databaseConnection = await this.databasePool.spawnConnectionWithConfiguration(this.newConfiguration);
|
|
8
8
|
await this.databaseConnection.connect();
|
|
9
9
|
const { parsedProcessArgs } = this.args;
|
|
10
|
-
const host = parsedProcessArgs.h || parsedProcessArgs.host || "127.0.0.1";
|
|
11
|
-
const port = parsedProcessArgs.p || parsedProcessArgs.port || 3006;
|
|
10
|
+
const host = String(parsedProcessArgs.h || parsedProcessArgs.host || "127.0.0.1");
|
|
11
|
+
const port = Number(parsedProcessArgs.p || parsedProcessArgs.port || 3006);
|
|
12
12
|
const application = new Application({
|
|
13
13
|
configuration: this.getConfiguration(),
|
|
14
14
|
httpServer: {
|
|
@@ -24,4 +24,4 @@ export default class VelociousCliCommandsServer extends BaseCommand {
|
|
|
24
24
|
await application.wait();
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Vudmlyb25tZW50LWhhbmRsZXJzL25vZGUvY2xpL2NvbW1hbmRzL3NlcnZlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSw0QkFBNEIsQ0FBQTtBQUNwRCxPQUFPLFdBQVcsTUFBTSxpQ0FBaUMsQ0FBQTtBQUV6RCxNQUFNLENBQUMsT0FBTyxPQUFPLDBCQUEyQixTQUFRLFdBQVc7SUFDakUsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQzdELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQTtRQUMvRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRXpHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRXZDLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDckMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLENBQUE7UUFDakYsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUE7UUFDMUUsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDbEMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN0QyxVQUFVLEVBQUU7Z0JBQ1YsSUFBSTtnQkFDSixJQUFJO2FBQ0w7WUFDRCxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUMsQ0FBQTtRQUNGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBRTVELE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQzlCLE1BQU0sV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLElBQUksSUFBSSxJQUFJLE9BQU8sV0FBVyxjQUFjLENBQUMsQ0FBQTtRQUM3RixNQUFNLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXBwbGljYXRpb24gZnJvbSBcIi4uLy4uLy4uLy4uL2FwcGxpY2F0aW9uLmpzXCJcbmltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0NsaUNvbW1hbmRzU2VydmVyIGV4dGVuZHMgQmFzZUNvbW1hbmR7XG4gIGFzeW5jIGV4ZWN1dGUoKSB7XG4gICAgdGhpcy5kYXRhYmFzZVBvb2wgPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKS5nZXREYXRhYmFzZVBvb2woKVxuICAgIHRoaXMubmV3Q29uZmlndXJhdGlvbiA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZGF0YWJhc2VQb29sLmdldENvbmZpZ3VyYXRpb24oKSlcbiAgICB0aGlzLmRhdGFiYXNlQ29ubmVjdGlvbiA9IGF3YWl0IHRoaXMuZGF0YWJhc2VQb29sLnNwYXduQ29ubmVjdGlvbldpdGhDb25maWd1cmF0aW9uKHRoaXMubmV3Q29uZmlndXJhdGlvbilcblxuICAgIGF3YWl0IHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uLmNvbm5lY3QoKVxuXG4gICAgY29uc3Qge3BhcnNlZFByb2Nlc3NBcmdzfSA9IHRoaXMuYXJnc1xuICAgIGNvbnN0IGhvc3QgPSBTdHJpbmcocGFyc2VkUHJvY2Vzc0FyZ3MuaCB8fCBwYXJzZWRQcm9jZXNzQXJncy5ob3N0IHx8IFwiMTI3LjAuMC4xXCIpXG4gICAgY29uc3QgcG9ydCA9IE51bWJlcihwYXJzZWRQcm9jZXNzQXJncy5wIHx8IHBhcnNlZFByb2Nlc3NBcmdzLnBvcnQgfHwgMzAwNilcbiAgICBjb25zdCBhcHBsaWNhdGlvbiA9IG5ldyBBcHBsaWNhdGlvbih7XG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmdldENvbmZpZ3VyYXRpb24oKSxcbiAgICAgIGh0dHBTZXJ2ZXI6IHtcbiAgICAgICAgaG9zdCxcbiAgICAgICAgcG9ydFxuICAgICAgfSxcbiAgICAgIHR5cGU6IFwic2VydmVyXCJcbiAgICB9KVxuICAgIGNvbnN0IGVudmlyb25tZW50ID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0RW52aXJvbm1lbnQoKVxuXG4gICAgYXdhaXQgYXBwbGljYXRpb24uaW5pdGlhbGl6ZSgpXG4gICAgYXdhaXQgYXBwbGljYXRpb24uc3RhcnRIdHRwU2VydmVyKClcbiAgICBjb25zb2xlLmxvZyhgU3RhcnRlZCBWZWxvY2lvdXMgSFRUUCBzZXJ2ZXIgb24gJHtob3N0fToke3BvcnR9IGluICR7ZW52aXJvbm1lbnR9IGVudmlyb25tZW50YClcbiAgICBhd2FpdCBhcHBsaWNhdGlvbi53YWl0KClcbiAgfVxufVxuIl19
|
|
@@ -5,52 +5,17 @@ export default class VelociousEnvironmentHandlerNode extends Base {
|
|
|
5
5
|
name: string;
|
|
6
6
|
file: string;
|
|
7
7
|
}[]>;
|
|
8
|
-
/**
|
|
9
|
-
* @param {import("../cli/base-command.js").default} command
|
|
10
|
-
* @returns {Promise<any>}
|
|
11
|
-
*/
|
|
12
|
-
cliCommandsMigrationGenerate(command: import("../cli/base-command.js").default): Promise<any>;
|
|
13
|
-
/**
|
|
14
|
-
* @param {import("../cli/base-command.js").default} command
|
|
15
|
-
* @returns {Promise<any>}
|
|
16
|
-
*/
|
|
17
|
-
cliCommandsMigrationDestroy(command: import("../cli/base-command.js").default): Promise<any>;
|
|
18
|
-
/**
|
|
19
|
-
* @param {import("../cli/base-command.js").default} command
|
|
20
|
-
* @returns {Promise<any>}
|
|
21
|
-
*/
|
|
22
|
-
cliCommandsGenerateBaseModels(command: import("../cli/base-command.js").default): Promise<any>;
|
|
23
|
-
/**
|
|
24
|
-
* @param {import("../cli/base-command.js").default} command
|
|
25
|
-
* @returns {Promise<any>}
|
|
26
|
-
*/
|
|
27
|
-
cliCommandsGenerateModel(command: import("../cli/base-command.js").default): Promise<any>;
|
|
28
|
-
/**
|
|
29
|
-
* @param {import("../cli/base-command.js").default} command
|
|
30
|
-
* @returns {Promise<any>}
|
|
31
|
-
*/
|
|
32
|
-
cliCommandsRoutes(command: import("../cli/base-command.js").default): Promise<any>;
|
|
33
|
-
/**
|
|
34
|
-
* @param {import("../cli/base-command.js").default} command
|
|
35
|
-
* @returns {Promise<any>}
|
|
36
|
-
*/
|
|
37
|
-
cliCommandsServer(command: import("../cli/base-command.js").default): Promise<any>;
|
|
38
|
-
/**
|
|
39
|
-
* @param {import("../cli/base-command.js").default} command
|
|
40
|
-
* @returns {Promise<any>}
|
|
41
|
-
*/
|
|
42
|
-
cliCommandsTest(command: import("../cli/base-command.js").default): Promise<any>;
|
|
43
8
|
_velociousPath: string;
|
|
44
9
|
/**
|
|
45
|
-
* @param {string} filePath
|
|
46
|
-
* @returns {Promise<import("../database/migration/index.js").default>}
|
|
10
|
+
* @param {string} filePath - File path.
|
|
11
|
+
* @returns {Promise<import("../database/migration/index.js").default>} - Resolves with the require migration.
|
|
47
12
|
*/
|
|
48
13
|
requireMigration(filePath: string): Promise<import("../database/migration/index.js").default>;
|
|
49
14
|
getBasePath(): Promise<string>;
|
|
50
15
|
/**
|
|
51
|
-
* @param {object} args
|
|
52
|
-
* @param {Record<string, import("../database/drivers/base.js").default>} args.dbs
|
|
53
|
-
* @returns {Promise<Record<string, string>>}
|
|
16
|
+
* @param {object} args - Options object.
|
|
17
|
+
* @param {Record<string, import("../database/drivers/base.js").default>} args.dbs - Dbs.
|
|
18
|
+
* @returns {Promise<Record<string, string>>} - Resolves with SQL string.
|
|
54
19
|
*/
|
|
55
20
|
_structureSqlByIdentifier({ dbs }: {
|
|
56
21
|
dbs: Record<string, import("../database/drivers/base.js").default>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/environment-handlers/node.js"],"names":[],"mappings":"AAiBA;IACE,sEAAsE;IACtE,qBADW,OAAO,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,CACnC;IAa/B;;;SAyBC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/environment-handlers/node.js"],"names":[],"mappings":"AAiBA;IACE,sEAAsE;IACtE,qBADW,OAAO,WAAW,EAAE,qBAAqB,EAAE,GAAG,SAAS,CACnC;IAa/B;;;SAyBC;IAwIG,uBAA6D;IAyDjE;;;OAGG;IACH,2BAHW,MAAM,GACJ,OAAO,CAAC,OAAO,gCAAgC,EAAE,OAAO,CAAC,CAUrE;IAED,+BAKC;IAwBD;;;;OAIG;IACH,mCAHG;QAA4E,GAAG,EAAvE,MAAM,CAAC,MAAM,EAAE,OAAO,6BAA6B,EAAE,OAAO,CAAC;KACrE,GAAU,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkB3C;CACF;iBAzTgB,WAAW"}
|