tnp-helpers 18.0.25 → 19.0.1
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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/browser/fesm2022/tnp-helpers.mjs +468 -431
- package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
- package/browser/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +2 -2
- package/browser/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
- package/{websql/lib/base/classes → browser/lib/base/classes/base-cli-worker}/base-cli-worker.d.ts +23 -45
- package/browser/lib/base/classes/base-cli-worker/index.d.ts +5 -0
- package/browser/lib/base/classes/base-git.d.ts +1 -1
- package/browser/lib/base/classes/base-node-modules.d.ts +1 -1
- package/browser/lib/base/classes/index.d.ts +0 -2
- package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
- package/browser/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
- package/browser/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
- package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +6 -22
- package/browser/lib/models.d.ts +3 -1
- package/client/README.md +24 -24
- package/client/fesm2022/tnp-helpers.mjs +468 -431
- package/client/fesm2022/tnp-helpers.mjs.map +1 -1
- package/client/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +2 -2
- package/client/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
- package/client/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +23 -45
- package/client/lib/base/classes/base-cli-worker/index.d.ts +5 -0
- package/client/lib/base/classes/base-git.d.ts +1 -1
- package/client/lib/base/classes/base-node-modules.d.ts +1 -1
- package/client/lib/base/classes/index.d.ts +0 -2
- package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
- package/client/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
- package/client/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
- package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +6 -22
- package/client/lib/models.d.ts +3 -1
- package/index.js.map +1 -1
- package/lib/base/classes/base-bower-json.js.map +1 -1
- package/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +1 -1
- package/lib/base/classes/base-cli-worker/base-cli-worker-config.js.map +1 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker-controller.js.map +1 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +39 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js +148 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js.map +1 -0
- package/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +21 -43
- package/lib/base/classes/{base-cli-worker.js → base-cli-worker/base-cli-worker.js} +93 -173
- package/lib/base/classes/base-cli-worker/base-cli-worker.js.map +1 -0
- package/lib/base/classes/base-cli-worker/index.d.ts +4 -0
- package/lib/base/classes/base-cli-worker/index.js +21 -0
- package/lib/base/classes/base-cli-worker/index.js.map +1 -0
- package/lib/base/classes/base-command-line-feature.backend.js.map +1 -1
- package/lib/base/classes/base-compiler-for-project.js.map +1 -1
- package/lib/base/classes/base-db.js.map +1 -1
- package/lib/base/classes/base-debounce-compiler-for-project.js.map +1 -1
- package/lib/base/classes/base-feature-for-project.js.map +1 -1
- package/lib/base/classes/base-git.js.map +1 -1
- package/lib/base/classes/base-global-command-line.backend.d.ts +2 -0
- package/lib/base/classes/base-global-command-line.backend.js +36 -1
- package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
- package/lib/base/classes/base-ignore-hide.js.map +1 -1
- package/lib/base/classes/base-json-file-reader.js.map +1 -1
- package/lib/base/classes/base-library-build.js.map +1 -1
- package/lib/base/classes/base-linked-projects.js.map +1 -1
- package/lib/base/classes/base-node-modules.d.ts +1 -1
- package/lib/base/classes/base-node-modules.js.map +1 -1
- package/lib/base/classes/base-npm-helpers.js.map +1 -1
- package/lib/base/classes/base-package-json.js.map +1 -1
- package/lib/base/classes/base-powershell.js.map +1 -1
- package/lib/base/classes/base-process-manager.js.map +1 -1
- package/lib/base/classes/base-project-resolver.js.map +1 -1
- package/lib/base/classes/base-project.d.ts +1 -1
- package/lib/base/classes/base-project.js.map +1 -1
- package/lib/base/classes/base-quick-fixes.js.map +1 -1
- package/lib/base/classes/base-release-process.js.map +1 -1
- package/lib/base/classes/base-start-config.backend.js.map +1 -1
- package/lib/base/classes/base-static-pages.js.map +1 -1
- package/lib/base/classes/base-vscode.js +8 -12
- package/lib/base/classes/base-vscode.js.map +1 -1
- package/lib/base/classes/index.d.ts +0 -2
- package/lib/base/classes/index.js +0 -2
- package/lib/base/classes/index.js.map +1 -1
- package/lib/base/commit-data.js.map +1 -1
- package/lib/base/config-database.js.map +1 -1
- package/lib/base/core-project.js.map +1 -1
- package/lib/base/gh-temp-code.js.map +1 -1
- package/lib/base/index-rebuilder.backend.js.map +1 -1
- package/lib/base/index.js.map +1 -1
- package/lib/base/linked-project.js.map +1 -1
- package/lib/base/project-database.js.map +1 -1
- package/lib/base/tcp-udp-ports/index.js.map +1 -1
- package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
- package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
- package/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
- package/lib/base/tcp-udp-ports/ports.controller.js +2 -2
- package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
- package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
- package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
- package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +2 -2
- package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
- package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +32 -0
- package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js +256 -0
- package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js.map +1 -0
- package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +6 -35
- package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +4 -284
- package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
- package/lib/base/translate.js.map +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
- package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-file-folders.js.map +1 -1
- package/lib/helpers/for-backend/helpers-git.backend.d.ts +2 -0
- package/lib/helpers/for-backend/helpers-git.backend.js +34 -23
- package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-network.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-npm.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-path.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-process.js.map +1 -1
- package/lib/helpers/for-backend/helpers-system-terminal.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-vscode.backend.js.map +1 -1
- package/lib/helpers/for-browser/angular.helper.js +2 -2
- package/lib/helpers/for-browser/angular.helper.js.map +1 -1
- package/lib/helpers/for-browser/helpers-browser.js.map +1 -1
- package/lib/helpers/helpers-array-obj.js.map +1 -1
- package/lib/helpers/helpers-json5.backend.js.map +1 -1
- package/lib/helpers/helpers-numbers.js.map +1 -1
- package/lib/helpers/helpers-strings-regexes.js.map +1 -1
- package/lib/helpers/helpers-strings.js.map +1 -1
- package/lib/helpers/helpers.js.map +1 -1
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/lowdb/adapters/Memory.js.map +1 -1
- package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
- package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
- package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
- package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
- package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
- package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
- package/lib/lowdb/adapters/node/steno.js.map +1 -1
- package/lib/lowdb/browser.js.map +1 -1
- package/lib/lowdb/core/Low.js.map +1 -1
- package/lib/lowdb/examples/browser.js.map +1 -1
- package/lib/lowdb/examples/cli.js.map +1 -1
- package/lib/lowdb/examples/in-memory.js.map +1 -1
- package/lib/lowdb/examples/server.js.map +1 -1
- package/lib/lowdb/index.js.map +1 -1
- package/lib/lowdb/node.js.map +1 -1
- package/lib/lowdb/presets/browser.js.map +1 -1
- package/lib/lowdb/presets/node.js.map +1 -1
- package/lib/models.d.ts +2 -0
- package/lib/models.js.map +1 -1
- package/lib/old/base-component.js +2 -2
- package/lib/old/base-component.js.map +1 -1
- package/lib/old/base-formly-component.js +2 -2
- package/lib/old/base-formly-component.js.map +1 -1
- package/lib/old/condition-wait.js.map +1 -1
- package/lib/old/dual-component-ctrl.js +2 -2
- package/lib/old/dual-component-ctrl.js.map +1 -1
- package/lib/old/execute-command.js.map +1 -1
- package/lib/old/helpers.js.map +1 -1
- package/lib/old/models.js.map +1 -1
- package/lib/utils.js.map +1 -1
- package/lib/validators/validators-firedev.js.map +1 -1
- package/lib/validators/validators-git.js.map +1 -1
- package/lib/validators/validators-network.js.map +1 -1
- package/lib/validators/validators.js.map +1 -1
- package/migrations/1736198527297_init.js.map +1 -1
- package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
- package/migrations/1736454437350_addFreePorts.js.map +1 -1
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +5 -5
- package/tmp-environment.json +2 -2
- package/websql/README.md +24 -24
- package/websql/fesm2022/tnp-helpers.mjs +468 -431
- package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
- package/websql/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +2 -2
- package/websql/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
- package/{browser/lib/base/classes → websql/lib/base/classes/base-cli-worker}/base-cli-worker.d.ts +23 -45
- package/websql/lib/base/classes/base-cli-worker/index.d.ts +5 -0
- package/websql/lib/base/classes/base-git.d.ts +1 -1
- package/websql/lib/base/classes/base-node-modules.d.ts +1 -1
- package/websql/lib/base/classes/index.d.ts +0 -2
- package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
- package/websql/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
- package/websql/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
- package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +6 -22
- package/websql/lib/models.d.ts +3 -1
- package/browser/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
- package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
- package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
- package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
- package/browser/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
- package/browser/esm2022/lib/base/classes/base-db.mjs +0 -31
- package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
- package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
- package/browser/esm2022/lib/base/classes/base-git.mjs +0 -1175
- package/browser/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
- package/browser/esm2022/lib/base/classes/base-library-build.mjs +0 -613
- package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
- package/browser/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
- package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
- package/browser/esm2022/lib/base/classes/base-package-json.mjs +0 -340
- package/browser/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
- package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +0 -282
- package/browser/esm2022/lib/base/classes/base-project.mjs +0 -922
- package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
- package/browser/esm2022/lib/base/classes/base-release-process.mjs +0 -599
- package/browser/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
- package/browser/esm2022/lib/base/classes/base-vscode.mjs +0 -534
- package/browser/esm2022/lib/base/classes/index.mjs +0 -26
- package/browser/esm2022/lib/base/commit-data.mjs +0 -633
- package/browser/esm2022/lib/base/config-database.mjs +0 -46
- package/browser/esm2022/lib/base/core-project.mjs +0 -115
- package/browser/esm2022/lib/base/index.mjs +0 -10
- package/browser/esm2022/lib/base/linked-project.mjs +0 -90
- package/browser/esm2022/lib/base/project-database.mjs +0 -18
- package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
- package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
- package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -33
- package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
- package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -298
- package/browser/esm2022/lib/base/translate.mjs +0 -566
- package/browser/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
- package/browser/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
- package/browser/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
- package/browser/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
- package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
- package/browser/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
- package/browser/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
- package/browser/esm2022/lib/helpers/helpers-strings.mjs +0 -258
- package/browser/esm2022/lib/helpers/helpers.mjs +0 -428
- package/browser/esm2022/lib/index.mjs +0 -13
- package/browser/esm2022/lib/models.mjs +0 -175
- package/browser/esm2022/lib/utils.mjs +0 -952
- package/browser/esm2022/lib/validators/validators-git.mjs +0 -12
- package/browser/esm2022/lib/validators/validators-network.mjs +0 -18
- package/browser/esm2022/lib/validators/validators.mjs +0 -10
- package/browser/esm2022/migrations/1736198527297_init.mjs +0 -41
- package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
- package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
- package/browser/esm2022/migrations/index.mjs +0 -5
- package/browser/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
- package/browser/esm2022/public-api.mjs +0 -2
- package/browser/esm2022/tnp-helpers.mjs +0 -5
- package/cli.d.ts +0 -6
- package/client/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
- package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
- package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
- package/client/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
- package/client/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
- package/client/esm2022/lib/base/classes/base-db.mjs +0 -31
- package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
- package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
- package/client/esm2022/lib/base/classes/base-git.mjs +0 -1175
- package/client/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
- package/client/esm2022/lib/base/classes/base-library-build.mjs +0 -613
- package/client/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
- package/client/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
- package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
- package/client/esm2022/lib/base/classes/base-package-json.mjs +0 -340
- package/client/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
- package/client/esm2022/lib/base/classes/base-project-resolver.mjs +0 -282
- package/client/esm2022/lib/base/classes/base-project.mjs +0 -922
- package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
- package/client/esm2022/lib/base/classes/base-release-process.mjs +0 -599
- package/client/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
- package/client/esm2022/lib/base/classes/base-vscode.mjs +0 -534
- package/client/esm2022/lib/base/classes/index.mjs +0 -26
- package/client/esm2022/lib/base/commit-data.mjs +0 -633
- package/client/esm2022/lib/base/config-database.mjs +0 -46
- package/client/esm2022/lib/base/core-project.mjs +0 -115
- package/client/esm2022/lib/base/index.mjs +0 -10
- package/client/esm2022/lib/base/linked-project.mjs +0 -90
- package/client/esm2022/lib/base/project-database.mjs +0 -18
- package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
- package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
- package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -33
- package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
- package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -298
- package/client/esm2022/lib/base/translate.mjs +0 -566
- package/client/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
- package/client/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
- package/client/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
- package/client/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
- package/client/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
- package/client/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
- package/client/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
- package/client/esm2022/lib/helpers/helpers-strings.mjs +0 -258
- package/client/esm2022/lib/helpers/helpers.mjs +0 -428
- package/client/esm2022/lib/index.mjs +0 -13
- package/client/esm2022/lib/models.mjs +0 -175
- package/client/esm2022/lib/utils.mjs +0 -952
- package/client/esm2022/lib/validators/validators-git.mjs +0 -12
- package/client/esm2022/lib/validators/validators-network.mjs +0 -18
- package/client/esm2022/lib/validators/validators.mjs +0 -10
- package/client/esm2022/migrations/1736198527297_init.mjs +0 -41
- package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
- package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
- package/client/esm2022/migrations/index.mjs +0 -5
- package/client/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
- package/client/esm2022/public-api.mjs +0 -2
- package/client/esm2022/tnp-helpers.mjs +0 -5
- package/env.d.ts +0 -3
- package/environments/angular-node-app/env.angular-node-app.__.d.ts +0 -3
- package/environments/angular-node-app/env.angular-node-app.prod.d.ts +0 -3
- package/environments/docs-webapp/env.docs-webapp.__.d.ts +0 -3
- package/environments/electron-app/env.electron-app.__.d.ts +0 -3
- package/environments/electron-app/env.electron-app.prod.d.ts +0 -3
- package/environments/mobile-app/env.mobile-app.__.d.ts +0 -3
- package/environments/mobile-app/env.mobile-app.prod.d.ts +0 -3
- package/environments/npm-lib-and-cli-tool/env.npm-lib-and-cli-tool.__.d.ts +0 -3
- package/environments/npm-lib-and-cli-tool/env.npm-lib-and-cli-tool.prod.d.ts +0 -3
- package/environments/vscode-plugin/env.vscode-plugin.__.d.ts +0 -6
- package/environments/vscode-plugin/env.vscode-plugin.prod.d.ts +0 -4
- package/global-typings.d.ts +0 -41
- package/lib/base/classes/base-cli-worker-config.js.map +0 -1
- package/lib/base/classes/base-cli-worker-controller.js.map +0 -1
- package/lib/base/classes/base-cli-worker.js.map +0 -1
- package/lib/base/classes/base-detached-service.d.ts +0 -5
- package/lib/base/classes/base-detached-service.js +0 -12
- package/lib/base/classes/base-detached-service.js.map +0 -1
- package/lib/base/classes/base-github-pages.d.ts +0 -14
- package/lib/constants.d.ts +0 -77
- package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +0 -104
- package/lib/helpers/for-backend/helpers-file-folders.backend.js +0 -956
- package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +0 -1
- package/lib/helpers/for-backend/helpers-process.backend.d.ts +0 -87
- package/lib/helpers/for-backend/helpers-process.backend.js +0 -496
- package/lib/helpers/for-backend/helpers-process.backend.js.map +0 -1
- package/lib/helpers/for-backend/ts-code/index.d.ts +0 -1
- package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.d.ts +0 -29
- package/lib/helpers.d.ts +0 -0
- package/lib/options.d.ts +0 -252
- package/lib/project/abstract/artifacts/__helpers__/artifacts-helpers.d.ts +0 -28
- package/lib/project/abstract/artifacts/__helpers__/branding.d.ts +0 -13
- package/lib/project/abstract/artifacts/__helpers__/environment-config/environment-config.d.ts +0 -26
- package/lib/project/abstract/artifacts/angular-node-app/artifact-angular-node-app.d.ts +0 -53
- package/lib/project/abstract/artifacts/angular-node-app/index.d.ts +0 -1
- package/lib/project/abstract/artifacts/angular-node-app/tools/assets-list-file-generator.d.ts +0 -19
- package/lib/project/abstract/artifacts/angular-node-app/tools/assets-manager.d.ts +0 -5
- package/lib/project/abstract/artifacts/angular-node-app/tools/basename-manager.d.ts +0 -17
- package/lib/project/abstract/artifacts/angular-node-app/tools/docs-app-build-config.d.ts +0 -21
- package/lib/project/abstract/artifacts/angular-node-app/tools/inside-struct-angular13-app.d.ts +0 -6
- package/lib/project/abstract/artifacts/angular-node-app/tools/migrations-helper.d.ts +0 -18
- package/lib/project/abstract/artifacts/artifacts-manager.d.ts +0 -39
- package/lib/project/abstract/artifacts/base-artifact.d.ts +0 -52
- package/lib/project/abstract/artifacts/docs-webapp/artifact-docs-webapp.d.ts +0 -27
- package/lib/project/abstract/artifacts/docs-webapp/docs.d.ts +0 -55
- package/lib/project/abstract/artifacts/docs-webapp/index.d.ts +0 -1
- package/lib/project/abstract/artifacts/electron-app/artifact-electron-app.d.ts +0 -22
- package/lib/project/abstract/artifacts/electron-app/index.d.ts +0 -1
- package/lib/project/abstract/artifacts/mobile-app/artifact-mobile-app.d.ts +0 -16
- package/lib/project/abstract/artifacts/mobile-app/index.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/artifact-npm-lib-and-cli-tool.d.ts +0 -82
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/index.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/browser-code-cut.d.ts +0 -102
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/code-cut.d.ts +0 -41
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/code-split-process.enum.d.ts +0 -44
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/cut-fn.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/file-split-process.d.ts +0 -14
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/compilations/compilation-backend.d.ts +0 -60
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/compilations/compilation-browser.d.ts +0 -41
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/compilations/incremental-build-process.d.ts +0 -23
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/base-copy-manager.d.ts +0 -85
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager-helpers.d.ts +0 -12
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager-organization.d.ts +0 -0
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager-standalone.d.ts +0 -77
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager.d.ts +0 -7
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/mjs-fesm-module-spliter.d.ts +0 -46
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/source-maping-url.d.ts +0 -11
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/typescript-dts-fixer.d.ts +0 -25
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/files-recreation/files-recreator.d.ts +0 -133
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/files-recreation/files-templates.d.ts +0 -8
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/files-recreation/index.d.ts +0 -2
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/index-autogen-provider.d.ts +0 -15
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-struct-angular13-lib.d.ts +0 -6
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/inside-struct.d.ts +0 -44
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/inside-structures.d.ts +0 -17
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/base-inside-struct.d.ts +0 -12
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/inside-struct-constants.d.ts +0 -2
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/inside-struct-helpers.d.ts +0 -12
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/image-loader.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-default.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-ellipsis.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-facebook.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-grid.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-heart.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-ripple.d.ts +0 -1
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loaders.d.ts +0 -2
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/lib-project/lib-project-base.d.ts +0 -9
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/lib-project/lib-project-standalone.d.ts +0 -9
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/singular-build.d.ts +0 -0
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/cypress-test-runner.d.ts +0 -7
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/index.d.ts +0 -3
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/jest-test-runner.d.ts +0 -8
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/mocha-test-runner.d.ts +0 -7
- package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/webpack-backend-compilation.d.ts +0 -0
- package/lib/project/abstract/artifacts/vscode-plugin/artifact-vscode-plugin.d.ts +0 -33
- package/lib/project/abstract/artifacts/vscode-plugin/index.d.ts +0 -1
- package/lib/project/abstract/framework.d.ts +0 -61
- package/lib/project/abstract/git.d.ts +0 -26
- package/lib/project/abstract/library-build.d.ts +0 -9
- package/lib/project/abstract/linked-projects.d.ts +0 -4
- package/lib/project/abstract/linter.d.ts +0 -9
- package/lib/project/abstract/node-modules.d.ts +0 -35
- package/lib/project/abstract/npm-helpers.d.ts +0 -22
- package/lib/project/abstract/package-json.d.ts +0 -14
- package/lib/project/abstract/packages-recognition.d.ts +0 -16
- package/lib/project/abstract/project-resolve.d.ts +0 -37
- package/lib/project/abstract/project.d.ts +0 -63
- package/lib/project/abstract/quick-fixes.d.ts +0 -18
- package/lib/project/abstract/release-process/index.d.ts +0 -1
- package/lib/project/abstract/release-process/release-config.d.ts +0 -0
- package/lib/project/abstract/release-process/release-process.d.ts +0 -26
- package/lib/project/abstract/taon-worker/taon-build.controller.d.ts +0 -5
- package/lib/project/abstract/taon-worker/taon-build.entity.d.ts +0 -8
- package/lib/project/abstract/taon-worker/taon-env.entity.d.ts +0 -10
- package/lib/project/abstract/taon-worker/taon-project.entity.d.ts +0 -8
- package/lib/project/abstract/taon-worker/taon.context.d.ts +0 -56
- package/lib/project/abstract/taon-worker/taon.controller.d.ts +0 -7
- package/lib/project/abstract/taon-worker/taon.worker.d.ts +0 -40
- package/lib/project/abstract/taonJson.d.ts +0 -49
- package/lib/project/abstract/vscode.d.ts +0 -80
- package/lib/project/cli/base-cli.d.ts +0 -8
- package/lib/project/cli/cli-BRANDING.d.ts +0 -23
- package/lib/project/cli/cli-BUILD.d.ts +0 -4
- package/lib/project/cli/cli-DOCS.d.ts +0 -4
- package/lib/project/cli/cli-INIT.d.ts +0 -13
- package/lib/project/cli/cli-LINK.d.ts +0 -23
- package/lib/project/cli/cli-MIGRATION.d.ts +0 -4
- package/lib/project/cli/cli-NEW.d.ts +0 -15
- package/lib/project/cli/cli-OPEN.d.ts +0 -15
- package/lib/project/cli/cli-RELEASE.d.ts +0 -4
- package/lib/project/cli/cli-TEST.d.ts +0 -23
- package/lib/project/cli/cli-VERSION.d.ts +0 -16
- package/lib/project/cli/cli-VSCODE.d.ts +0 -17
- package/lib/project/cli/cli-_GLOBAL_.d.ts +0 -85
- package/lib/project/cli/index.d.ts +0 -29
- package/lib/project/index.d.ts +0 -0
- package/lib/templates.d.ts +0 -1
- package/migrations/1737301724542_addingSampleData.d.ts +0 -14
- package/start.backend.d.ts +0 -2
- package/taon.jsonc +0 -34
- package/websql/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
- package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
- package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
- package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
- package/websql/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
- package/websql/esm2022/lib/base/classes/base-db.mjs +0 -31
- package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
- package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
- package/websql/esm2022/lib/base/classes/base-git.mjs +0 -1175
- package/websql/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
- package/websql/esm2022/lib/base/classes/base-library-build.mjs +0 -613
- package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
- package/websql/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
- package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
- package/websql/esm2022/lib/base/classes/base-package-json.mjs +0 -340
- package/websql/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
- package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +0 -272
- package/websql/esm2022/lib/base/classes/base-project.mjs +0 -891
- package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
- package/websql/esm2022/lib/base/classes/base-release-process.mjs +0 -599
- package/websql/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
- package/websql/esm2022/lib/base/classes/base-vscode.mjs +0 -534
- package/websql/esm2022/lib/base/classes/index.mjs +0 -26
- package/websql/esm2022/lib/base/commit-data.mjs +0 -633
- package/websql/esm2022/lib/base/config-database.mjs +0 -46
- package/websql/esm2022/lib/base/core-project.mjs +0 -115
- package/websql/esm2022/lib/base/index.mjs +0 -10
- package/websql/esm2022/lib/base/linked-project.mjs +0 -90
- package/websql/esm2022/lib/base/project-database.mjs +0 -18
- package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
- package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
- package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -56
- package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
- package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -298
- package/websql/esm2022/lib/base/translate.mjs +0 -566
- package/websql/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
- package/websql/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
- package/websql/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
- package/websql/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
- package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
- package/websql/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
- package/websql/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
- package/websql/esm2022/lib/helpers/helpers-strings.mjs +0 -258
- package/websql/esm2022/lib/helpers/helpers.mjs +0 -428
- package/websql/esm2022/lib/index.mjs +0 -13
- package/websql/esm2022/lib/models.mjs +0 -175
- package/websql/esm2022/lib/utils.mjs +0 -952
- package/websql/esm2022/lib/validators/validators-git.mjs +0 -12
- package/websql/esm2022/lib/validators/validators-network.mjs +0 -18
- package/websql/esm2022/lib/validators/validators.mjs +0 -10
- package/websql/esm2022/migrations/1736198527297_init.mjs +0 -41
- package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
- package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
- package/websql/esm2022/migrations/index.mjs +0 -5
- package/websql/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
- package/websql/esm2022/public-api.mjs +0 -2
- package/websql/esm2022/tnp-helpers.mjs +0 -5
- /package/browser/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
- /package/client/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
- /package/lib/base/classes/{base-cli-worker-config.js → base-cli-worker/base-cli-worker-config.js} +0 -0
- /package/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
- /package/lib/base/classes/{base-cli-worker-controller.js → base-cli-worker/base-cli-worker-controller.js} +0 -0
- /package/websql/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
|
@@ -1,428 +0,0 @@
|
|
|
1
|
-
import { _ } from 'tnp-core/browser';
|
|
2
|
-
import { HelpersArrayObj } from './helpers-array-obj';
|
|
3
|
-
import { HelpersStringsRegexes } from './helpers-strings-regexes';
|
|
4
|
-
import { HelpersStrings } from './helpers-strings';
|
|
5
|
-
import { HelpersProcess } from './for-backend/helpers-process';
|
|
6
|
-
import { HelpersFileFolders } from './for-backend/helpers-file-folders';
|
|
7
|
-
import { Helpers, Validators } from '../index';
|
|
8
|
-
import { CLASS } from 'typescript-class-helpers/browser';
|
|
9
|
-
import { CoreHelpers } from 'tnp-core/browser';
|
|
10
|
-
import { HelpersNumber } from './helpers-numbers';
|
|
11
|
-
import { HelpersBrowser } from './for-browser/helpers-browser';
|
|
12
|
-
import { HelpersAngular } from './for-browser/angular.helper';
|
|
13
|
-
/**
|
|
14
|
-
* Mixing for multiclass inheritance
|
|
15
|
-
*
|
|
16
|
-
* How to use It:
|
|
17
|
-
*
|
|
18
|
-
* class Wolverine {}
|
|
19
|
-
* class Jean {}
|
|
20
|
-
* export class Child {}
|
|
21
|
-
* export interface MyChild implements Wolverine, Jean {}
|
|
22
|
-
* applyMixing(Child,[Wolverine, Jean]);
|
|
23
|
-
*
|
|
24
|
-
* @param derivedCtor Target Class
|
|
25
|
-
* @param baseCtors Base Classes
|
|
26
|
-
*/
|
|
27
|
-
export function applyMixins(derivedCtor, baseCtors) {
|
|
28
|
-
baseCtors.forEach(baseCtor => {
|
|
29
|
-
Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
|
|
30
|
-
Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
export class HelpersTaon extends CoreHelpers {
|
|
35
|
-
static get Instance() {
|
|
36
|
-
if (!HelpersTaon._instance) {
|
|
37
|
-
HelpersTaon._instance = new HelpersTaon();
|
|
38
|
-
}
|
|
39
|
-
return HelpersTaon._instance;
|
|
40
|
-
}
|
|
41
|
-
constructor(
|
|
42
|
-
/* */
|
|
43
|
-
/* */
|
|
44
|
-
/* */
|
|
45
|
-
/* */
|
|
46
|
-
/* */
|
|
47
|
-
/* */
|
|
48
|
-
/* */
|
|
49
|
-
/* */
|
|
50
|
-
/* */
|
|
51
|
-
/* */
|
|
52
|
-
/* */
|
|
53
|
-
arrays = new HelpersArrayObj(), strings = new HelpersStrings(), numbers = new HelpersNumber(), browser = HelpersBrowser.instance, ng = HelpersAngular) {
|
|
54
|
-
super();
|
|
55
|
-
this.arrays = arrays;
|
|
56
|
-
this.strings = strings;
|
|
57
|
-
this.numbers = numbers;
|
|
58
|
-
this.browser = browser;
|
|
59
|
-
this.ng = ng;
|
|
60
|
-
this.applyMixins = applyMixins;
|
|
61
|
-
this.isValidIp = Validators.network.isValidIp;
|
|
62
|
-
this.isValidGitRepuUrl = Validators.git.isValidRepoUrl;
|
|
63
|
-
}
|
|
64
|
-
CLIWRAP(f, name) {
|
|
65
|
-
CLASS.setName(f, name);
|
|
66
|
-
return f;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Bundle file with node_modules into one file
|
|
70
|
-
*/
|
|
71
|
-
async ncc(pathToJsFile, outputFilePath, options) {
|
|
72
|
-
/* */
|
|
73
|
-
/* */
|
|
74
|
-
/* */
|
|
75
|
-
/* */
|
|
76
|
-
/* */
|
|
77
|
-
/* */
|
|
78
|
-
/* */
|
|
79
|
-
/* */
|
|
80
|
-
/* */
|
|
81
|
-
/* */
|
|
82
|
-
/* */
|
|
83
|
-
/* */
|
|
84
|
-
/* */
|
|
85
|
-
/* */
|
|
86
|
-
/* */
|
|
87
|
-
/* */
|
|
88
|
-
/* */
|
|
89
|
-
/* */
|
|
90
|
-
/* */
|
|
91
|
-
/* */
|
|
92
|
-
/* */
|
|
93
|
-
/* */
|
|
94
|
-
/* */
|
|
95
|
-
/* */
|
|
96
|
-
/* */
|
|
97
|
-
/* */
|
|
98
|
-
/* */
|
|
99
|
-
/* */
|
|
100
|
-
/* */
|
|
101
|
-
/* */
|
|
102
|
-
/* */
|
|
103
|
-
/* */
|
|
104
|
-
/* */
|
|
105
|
-
/* */
|
|
106
|
-
/* */
|
|
107
|
-
/* */
|
|
108
|
-
/* */
|
|
109
|
-
/* */
|
|
110
|
-
/* */
|
|
111
|
-
/* */
|
|
112
|
-
/* */
|
|
113
|
-
/* */
|
|
114
|
-
/* */
|
|
115
|
-
/* */
|
|
116
|
-
/* */
|
|
117
|
-
/* */
|
|
118
|
-
/* */
|
|
119
|
-
/* */
|
|
120
|
-
/* */
|
|
121
|
-
/* */
|
|
122
|
-
/* */
|
|
123
|
-
/* */
|
|
124
|
-
/* */
|
|
125
|
-
/* */
|
|
126
|
-
/* */
|
|
127
|
-
/* */
|
|
128
|
-
/* */
|
|
129
|
-
/* */
|
|
130
|
-
/* */
|
|
131
|
-
/* */
|
|
132
|
-
/* */
|
|
133
|
-
/* */
|
|
134
|
-
/* */
|
|
135
|
-
/* */
|
|
136
|
-
/* */
|
|
137
|
-
/* */
|
|
138
|
-
/* */
|
|
139
|
-
/* */
|
|
140
|
-
/* */
|
|
141
|
-
/* */
|
|
142
|
-
/* */
|
|
143
|
-
/* */
|
|
144
|
-
/* */
|
|
145
|
-
/* */
|
|
146
|
-
/* */
|
|
147
|
-
/* */
|
|
148
|
-
/* */
|
|
149
|
-
return (void 0);
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* @deprecated
|
|
153
|
-
* use Utils.uniqArray from tnp-core
|
|
154
|
-
*/
|
|
155
|
-
uniqArray(array, uniqueProperty) {
|
|
156
|
-
/* */
|
|
157
|
-
/* */
|
|
158
|
-
/* */
|
|
159
|
-
return (void 0);
|
|
160
|
-
}
|
|
161
|
-
urlParse(portOrHost, forceDomain = false) {
|
|
162
|
-
let url;
|
|
163
|
-
if (portOrHost instanceof URL) {
|
|
164
|
-
url = portOrHost;
|
|
165
|
-
}
|
|
166
|
-
else if (_.isNumber(portOrHost)) {
|
|
167
|
-
url = new URL(`http://localhost:${portOrHost}`);
|
|
168
|
-
}
|
|
169
|
-
else if (!_.isNaN(Number(portOrHost))) {
|
|
170
|
-
url = new URL(`http://localhost:${Number(portOrHost)}`);
|
|
171
|
-
}
|
|
172
|
-
else if (_.isString(portOrHost)) {
|
|
173
|
-
try {
|
|
174
|
-
url = new URL(portOrHost);
|
|
175
|
-
}
|
|
176
|
-
catch (error) { }
|
|
177
|
-
if (Validators.network.isValidIp(portOrHost)) {
|
|
178
|
-
try {
|
|
179
|
-
url = new URL(`http://${portOrHost}`);
|
|
180
|
-
}
|
|
181
|
-
catch (error) {
|
|
182
|
-
Helpers.warn(`Not able to get port from ${portOrHost}`);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
if (forceDomain) {
|
|
186
|
-
const domain = portOrHost;
|
|
187
|
-
url = new URL(domain.startsWith('http') ? domain : `http://${portOrHost}`);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
return url;
|
|
191
|
-
}
|
|
192
|
-
slash(pathFromWindowsOrUnixType) {
|
|
193
|
-
/* */
|
|
194
|
-
/* */
|
|
195
|
-
return (void 0);
|
|
196
|
-
}
|
|
197
|
-
async isElevated() {
|
|
198
|
-
/* */
|
|
199
|
-
/* */
|
|
200
|
-
/* */
|
|
201
|
-
/* */
|
|
202
|
-
/* */
|
|
203
|
-
/* */
|
|
204
|
-
/* */
|
|
205
|
-
/* */
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* TODO fix this methods
|
|
209
|
-
*/
|
|
210
|
-
async localIpAddress() {
|
|
211
|
-
/* */
|
|
212
|
-
/* */
|
|
213
|
-
/* */
|
|
214
|
-
/* */
|
|
215
|
-
/* */
|
|
216
|
-
/* */
|
|
217
|
-
/* */
|
|
218
|
-
/* */
|
|
219
|
-
/* */
|
|
220
|
-
/* */
|
|
221
|
-
/* */
|
|
222
|
-
/* */
|
|
223
|
-
/* */
|
|
224
|
-
/* */
|
|
225
|
-
/* */
|
|
226
|
-
/* */
|
|
227
|
-
/* */
|
|
228
|
-
/* */
|
|
229
|
-
/* */
|
|
230
|
-
/* */
|
|
231
|
-
/* */
|
|
232
|
-
/* */
|
|
233
|
-
/* */
|
|
234
|
-
/* */
|
|
235
|
-
/* */
|
|
236
|
-
return (void 0);
|
|
237
|
-
}
|
|
238
|
-
allLocalIpAddresses() {
|
|
239
|
-
/* */
|
|
240
|
-
/* */
|
|
241
|
-
/* */
|
|
242
|
-
/* */
|
|
243
|
-
/* */
|
|
244
|
-
/* */
|
|
245
|
-
/* */
|
|
246
|
-
/* */
|
|
247
|
-
/* */
|
|
248
|
-
/* */
|
|
249
|
-
/* */
|
|
250
|
-
/* */
|
|
251
|
-
/* */
|
|
252
|
-
/* */
|
|
253
|
-
/* */
|
|
254
|
-
/* */
|
|
255
|
-
/* */
|
|
256
|
-
/* */
|
|
257
|
-
return (void 0);
|
|
258
|
-
}
|
|
259
|
-
async mesureExectionInMs(description, functionToExecute, ...functionArguments) {
|
|
260
|
-
var start = new Date();
|
|
261
|
-
await Helpers.runSyncOrAsync({
|
|
262
|
-
functionFn: functionToExecute,
|
|
263
|
-
arrayOfParams: functionArguments,
|
|
264
|
-
});
|
|
265
|
-
//@ts-ignore
|
|
266
|
-
var end = new Date() - start;
|
|
267
|
-
if (Helpers.isBrowser) {
|
|
268
|
-
Helpers.info(`Execution time: ${end.toString()}ms for "${description}"`);
|
|
269
|
-
}
|
|
270
|
-
/* */
|
|
271
|
-
/* */
|
|
272
|
-
/* */
|
|
273
|
-
/* */
|
|
274
|
-
return end;
|
|
275
|
-
}
|
|
276
|
-
mesureExectionInMsSync(description, functionToExecute) {
|
|
277
|
-
var start = new Date();
|
|
278
|
-
functionToExecute();
|
|
279
|
-
//@ts-ignore
|
|
280
|
-
var end = new Date() - start;
|
|
281
|
-
if (Helpers.isBrowser) {
|
|
282
|
-
Helpers.info(`Execution time: ${end.toString()}ms for "${description}"`);
|
|
283
|
-
}
|
|
284
|
-
/* */
|
|
285
|
-
/* */
|
|
286
|
-
/* */
|
|
287
|
-
/* */
|
|
288
|
-
return end;
|
|
289
|
-
}
|
|
290
|
-
waitForCondition(conditionFn, howOfftenCheckInMs = 1000) {
|
|
291
|
-
return new Promise(async (resolve, reject) => {
|
|
292
|
-
const result = await Helpers.runSyncOrAsync({ functionFn: conditionFn });
|
|
293
|
-
if (result) {
|
|
294
|
-
resolve(void 0);
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
setTimeout(() => {
|
|
298
|
-
Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {
|
|
299
|
-
resolve(void 0);
|
|
300
|
-
});
|
|
301
|
-
}, howOfftenCheckInMs);
|
|
302
|
-
}
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
getMethodName(classObject, method) {
|
|
306
|
-
var methodName = null;
|
|
307
|
-
Object.getOwnPropertyNames(classObject).forEach(prop => {
|
|
308
|
-
if (classObject[prop] === method) {
|
|
309
|
-
methodName = prop;
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
if (methodName !== null) {
|
|
313
|
-
return methodName;
|
|
314
|
-
}
|
|
315
|
-
var proto = Object.getPrototypeOf(classObject);
|
|
316
|
-
if (proto) {
|
|
317
|
-
return Helpers.getMethodName(proto, method);
|
|
318
|
-
}
|
|
319
|
-
return null;
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* @deprecated
|
|
323
|
-
*/
|
|
324
|
-
fixWebpackEnv(env) {
|
|
325
|
-
_.forIn(env, (v, k) => {
|
|
326
|
-
const value = v;
|
|
327
|
-
if (value === 'true')
|
|
328
|
-
env[k] = true;
|
|
329
|
-
if (value === 'false')
|
|
330
|
-
env[k] = false;
|
|
331
|
-
});
|
|
332
|
-
}
|
|
333
|
-
/**
|
|
334
|
-
* @deprecated
|
|
335
|
-
*/
|
|
336
|
-
async workerCalculateArray(dataToSplit, operation, options) {
|
|
337
|
-
/* */
|
|
338
|
-
/* */
|
|
339
|
-
/* */
|
|
340
|
-
/* */
|
|
341
|
-
/* */
|
|
342
|
-
/* */
|
|
343
|
-
/* */
|
|
344
|
-
/* */
|
|
345
|
-
/* */
|
|
346
|
-
/* */
|
|
347
|
-
/* */
|
|
348
|
-
/* */
|
|
349
|
-
/* */
|
|
350
|
-
/* */
|
|
351
|
-
/* */
|
|
352
|
-
/* */
|
|
353
|
-
/* */
|
|
354
|
-
/* */
|
|
355
|
-
/* */
|
|
356
|
-
/* */
|
|
357
|
-
/* */
|
|
358
|
-
/* */
|
|
359
|
-
/* */
|
|
360
|
-
/* */
|
|
361
|
-
/* */
|
|
362
|
-
/* */
|
|
363
|
-
/* */
|
|
364
|
-
/* */
|
|
365
|
-
/* */
|
|
366
|
-
/* */
|
|
367
|
-
/* */
|
|
368
|
-
/* */
|
|
369
|
-
/* */
|
|
370
|
-
/* */
|
|
371
|
-
/* */
|
|
372
|
-
/* */
|
|
373
|
-
/* */
|
|
374
|
-
/* */
|
|
375
|
-
/* */
|
|
376
|
-
/* */
|
|
377
|
-
/* */
|
|
378
|
-
/* */
|
|
379
|
-
/* */
|
|
380
|
-
/* */
|
|
381
|
-
/* */
|
|
382
|
-
/* */
|
|
383
|
-
/* */
|
|
384
|
-
/* */
|
|
385
|
-
/* */
|
|
386
|
-
/* */
|
|
387
|
-
/* */
|
|
388
|
-
/* */
|
|
389
|
-
/* */
|
|
390
|
-
/* */
|
|
391
|
-
/* */
|
|
392
|
-
/* */
|
|
393
|
-
/* */
|
|
394
|
-
/* */
|
|
395
|
-
/* */
|
|
396
|
-
/* */
|
|
397
|
-
/* */
|
|
398
|
-
/* */
|
|
399
|
-
/* */
|
|
400
|
-
/* */
|
|
401
|
-
/* */
|
|
402
|
-
/* */
|
|
403
|
-
/* */
|
|
404
|
-
/* */
|
|
405
|
-
/* */
|
|
406
|
-
/* */
|
|
407
|
-
/* */
|
|
408
|
-
/* */
|
|
409
|
-
/* */
|
|
410
|
-
/* */
|
|
411
|
-
/* */
|
|
412
|
-
/* */
|
|
413
|
-
/* */
|
|
414
|
-
}
|
|
415
|
-
checkEnvironment(deps) {
|
|
416
|
-
/* */
|
|
417
|
-
/* */
|
|
418
|
-
return (void 0);
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
applyMixins(HelpersTaon, [
|
|
422
|
-
HelpersStringsRegexes,
|
|
423
|
-
HelpersProcess,
|
|
424
|
-
HelpersFileFolders,
|
|
425
|
-
]);
|
|
426
|
-
;
|
|
427
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers.ts
|
|
428
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxDQUFDLEVBQVEsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQXFCeEUsT0FBTyxFQUFFLE9BQU8sRUFBbUIsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFLOUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBZ0IsRUFBRSxTQUFnQjtJQUM1RCxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVELE1BQU0sQ0FBQyxjQUFjLENBQ25CLFdBQVcsQ0FBQyxTQUFTLEVBQ3JCLElBQUksRUFDSixNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FDMUQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBR0QsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBR25DLE1BQU0sS0FBSyxRQUFRO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0IsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUlEO0lBQ0YsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFFTSxTQUFTLElBQUksZUFBZSxFQUFFLEVBQzlCLFVBQVUsSUFBSSxjQUFjLEVBQUUsRUFDOUIsVUFBVSxJQUFJLGFBQWEsRUFBRSxFQUU3QixVQUFVLGNBQWMsQ0FBQyxRQUFRLEVBQ2pDLEtBQUssY0FBYztRQUcxQixLQUFLLEVBQUUsQ0FBQztRQVJELFdBQU0sR0FBTixNQUFNLENBQXdCO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBRTdCLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBQ2pDLE9BQUUsR0FBRixFQUFFLENBQWlCO1FBZ2NyQixnQkFBVyxHQUFHLFdBQVcsQ0FBQztRQUlqQyxjQUFTLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFJekMsc0JBQWlCLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7SUFwY2xELENBQUM7SUFJRCxPQUFPLENBQUMsQ0FBVyxFQUFFLElBQVk7UUFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBSUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUNQLFlBQW9CLEVBQ3BCLGNBQXNCLEVBQ3RCLE9BV0M7UUFFTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtB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Q0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxnQkFBZ0IsQ0FBQyxJQUFvQztRQUN2RCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FjRjtBQVFELFdBQVcsQ0FBQyxXQUFXLEVBQUU7SUFDdkIscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxrQkFBa0I7Q0FDbkIsQ0FBQyxDQUFDO0FBSUYsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrREFBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBfLCBwYXRoIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzQXJyYXlPYmogfSBmcm9tICcuL2hlbHBlcnMtYXJyYXktb2JqJztcbmltcG9ydCB7IEhlbHBlcnNTdHJpbmdzUmVnZXhlcyB9IGZyb20gJy4vaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMnO1xuaW1wb3J0IHsgSGVscGVyc1N0cmluZ3MgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncyc7XG5pbXBvcnQgeyBIZWxwZXJzUHJvY2VzcyB9IGZyb20gJy4vZm9yLWJhY2tlbmQvaGVscGVycy1wcm9jZXNzJztcbmltcG9ydCB7IEhlbHBlcnNGaWxlRm9sZGVycyB9IGZyb20gJy4vZm9yLWJhY2tlbmQvaGVscGVycy1maWxlLWZvbGRlcnMnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzLCBVdGlsc1F1aWNrRml4ZXMsIFZhbGlkYXRvcnMgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcbmltcG9ydCB7IENvcmVIZWxwZXJzLCBDb3JlTW9kZWxzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzTnVtYmVyIH0gZnJvbSAnLi9oZWxwZXJzLW51bWJlcnMnO1xuXG5pbXBvcnQgeyBIZWxwZXJzQnJvd3NlciB9IGZyb20gJy4vZm9yLWJyb3dzZXIvaGVscGVycy1icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnNBbmd1bGFyIH0gZnJvbSAnLi9mb3ItYnJvd3Nlci9hbmd1bGFyLmhlbHBlcic7XG5cblxuXG5cbi8qKlxuICogTWl4aW5nIGZvciBtdWx0aWNsYXNzIGluaGVyaXRhbmNlXG4gKlxuICogSG93IHRvIHVzZSBJdDpcbiAqXG4gKiBjbGFzcyBXb2x2ZXJpbmUge31cbiAqIGNsYXNzIEplYW4ge31cbiAqIGV4cG9ydCBjbGFzcyBDaGlsZCB7fVxuICogZXhwb3J0IGludGVyZmFjZSBNeUNoaWxkIGltcGxlbWVudHMgV29sdmVyaW5lLCBKZWFuIHt9XG4gKiBhcHBseU1peGluZyhDaGlsZCxbV29sdmVyaW5lLCBKZWFuXSk7XG4gKlxuICogQHBhcmFtIGRlcml2ZWRDdG9yIFRhcmdldCBDbGFzc1xuICogQHBhcmFtIGJhc2VDdG9ycyBCYXNlIENsYXNzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5TWl4aW5zKGRlcml2ZWRDdG9yOiBhbnksIGJhc2VDdG9yczogYW55W10pIHtcbiAgYmFzZUN0b3JzLmZvckVhY2goYmFzZUN0b3IgPT4ge1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGJhc2VDdG9yLnByb3RvdHlwZSkuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcbiAgICAgICAgZGVyaXZlZEN0b3IucHJvdG90eXBlLFxuICAgICAgICBuYW1lLFxuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJhc2VDdG9yLnByb3RvdHlwZSwgbmFtZSksXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn1cblxuXG5leHBvcnQgY2xhc3MgSGVscGVyc1Rhb24gZXh0ZW5kcyBDb3JlSGVscGVycyB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBIZWxwZXJzVGFvbiAmIENvcmVIZWxwZXJzO1xuICBwdWJsaWMgc3RhdGljIGdldCBJbnN0YW5jZSgpOiBIZWxwZXJzVGFvbiB7XG4gICAgaWYgKCFIZWxwZXJzVGFvbi5faW5zdGFuY2UpIHtcbiAgICAgIEhlbHBlcnNUYW9uLl9pbnN0YW5jZSA9IG5ldyBIZWxwZXJzVGFvbigpO1xuICAgIH1cbiAgICByZXR1cm4gSGVscGVyc1Rhb24uX2luc3RhbmNlO1xuICB9XG5cblxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcHVibGljIGFycmF5cyA9IG5ldyBIZWxwZXJzQXJyYXlPYmooKSxcbiAgICBwdWJsaWMgc3RyaW5ncyA9IG5ldyBIZWxwZXJzU3RyaW5ncygpLFxuICAgIHB1YmxpYyBudW1iZXJzID0gbmV3IEhlbHBlcnNOdW1iZXIoKSxcblxuICAgIHB1YmxpYyBicm93c2VyID0gSGVscGVyc0Jyb3dzZXIuaW5zdGFuY2UsXG4gICAgcHVibGljIG5nID0gSGVscGVyc0FuZ3VsYXIsXG5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG5cblxuICBDTElXUkFQKGY6IEZ1bmN0aW9uLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBDTEFTUy5zZXROYW1lKGYsIG5hbWUpO1xuICAgIHJldHVybiBmO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBCdW5kbGUgZmlsZSB3aXRoIG5vZGVfbW9kdWxlcyBpbnRvIG9uZSBmaWxlXG4gICAqL1xuICBhc3luYyBuY2MoXG4gICAgcGF0aFRvSnNGaWxlOiBzdHJpbmcsXG4gICAgb3V0cHV0RmlsZVBhdGg6IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgLyoqXG4gICAgICAgKiAhIGJlZm9yZVdyaXRlIG5lZWRzIHRvIHJldHVybiBvdXRwdXRcbiAgICAgICAqL1xuICAgICAgYmVmb3JlV3JpdGU/OiAob3B0aW9uczoge1xuICAgICAgICBvdXRwdXQ/OiBzdHJpbmc7XG4gICAgICAgIGNvcHlUb0Rlc3RpbmF0aW9uPzogKGZpbGVPckZvbGRlckFic1BhdGg6IHN0cmluZykgPT4gdm9pZDtcbiAgICAgIH0pID0+IHN0cmluZztcbiAgICAgIGFkZGl0aW9uYWxFeHRlcm5hbHM/OiBzdHJpbmdbXTtcbiAgICAgIHNraXBSZW1vdmluZ0VsZWN0cm9uPzogYm9vbGVhbjtcbiAgICAgIHNraXBGaXhpbmdTUUxsaXRlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgVXRpbHMudW5pcUFycmF5IGZyb20gdG5wLWNvcmVcbiAgICovXG4gIHVuaXFBcnJheTxUID0gYW55PihhcnJheTogYW55W10sIHVuaXF1ZVByb3BlcnR5Pzoga2V5b2YgVCk6IFRbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxuXG5cblxuXG5cbiAgdXJsUGFyc2UocG9ydE9ySG9zdDogbnVtYmVyIHwgc3RyaW5nIHwgVVJMLCBmb3JjZURvbWFpbiA9IGZhbHNlKSB7XG4gICAgbGV0IHVybDogVVJMO1xuICAgIGlmIChwb3J0T3JIb3N0IGluc3RhbmNlb2YgVVJMKSB7XG4gICAgICB1cmwgPSBwb3J0T3JIb3N0O1xuICAgIH0gZWxzZSBpZiAoXy5pc051bWJlcihwb3J0T3JIb3N0KSkge1xuICAgICAgdXJsID0gbmV3IFVSTChgaHR0cDovL2xvY2FsaG9zdDoke3BvcnRPckhvc3R9YCk7XG4gICAgfSBlbHNlIGlmICghXy5pc05hTihOdW1iZXIocG9ydE9ySG9zdCkpKSB7XG4gICAgICB1cmwgPSBuZXcgVVJMKGBodHRwOi8vbG9jYWxob3N0OiR7TnVtYmVyKHBvcnRPckhvc3QpfWApO1xuICAgIH0gZWxzZSBpZiAoXy5pc1N0cmluZyhwb3J0T3JIb3N0KSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdXJsID0gbmV3IFVSTChwb3J0T3JIb3N0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgICAgaWYgKFZhbGlkYXRvcnMubmV0d29yay5pc1ZhbGlkSXAocG9ydE9ySG9zdCkpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB1cmwgPSBuZXcgVVJMKGBodHRwOi8vJHtwb3J0T3JIb3N0fWApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIEhlbHBlcnMud2FybihgTm90IGFibGUgdG8gZ2V0IHBvcnQgZnJvbSAke3BvcnRPckhvc3R9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChmb3JjZURvbWFpbikge1xuICAgICAgICBjb25zdCBkb21haW4gPSBwb3J0T3JIb3N0IGFzIHN0cmluZztcbiAgICAgICAgdXJsID0gbmV3IFVSTChcbiAgICAgICAgICBkb21haW4uc3RhcnRzV2l0aCgnaHR0cCcpID8gZG9tYWluIDogYGh0dHA6Ly8ke3BvcnRPckhvc3R9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG5cblxuICBzbGFzaChwYXRoRnJvbVdpbmRvd3NPclVuaXhUeXBlOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBpc0VsZXZhdGVkKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUT0RPIGZpeCB0aGlzIG1ldGhvZHNcbiAgICovXG4gIGFzeW5jIGxvY2FsSXBBZGRyZXNzKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuICBhbGxMb2NhbElwQWRkcmVzc2VzKCk6IFVSTFtdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgbWVzdXJlRXhlY3Rpb25Jbk1zKFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGU6IEZ1bmN0aW9uLFxuICAgIC4uLmZ1bmN0aW9uQXJndW1lbnRzOiBhbnlbXVxuICApOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKCk7XG4gICAgYXdhaXQgSGVscGVycy5ydW5TeW5jT3JBc3luYyh7XG4gICAgICBmdW5jdGlvbkZuOiBmdW5jdGlvblRvRXhlY3V0ZSxcbiAgICAgIGFycmF5T2ZQYXJhbXM6IGZ1bmN0aW9uQXJndW1lbnRzLFxuICAgIH0pO1xuICAgIC8vQHRzLWlnbm9yZVxuICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpIC0gc3RhcnQ7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBIZWxwZXJzLmluZm8oYEV4ZWN1dGlvbiB0aW1lOiAke2VuZC50b1N0cmluZygpfW1zIGZvciBcIiR7ZGVzY3JpcHRpb259XCJgKTtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICByZXR1cm4gZW5kO1xuICB9XG5cblxuXG4gIG1lc3VyZUV4ZWN0aW9uSW5Nc1N5bmMoXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBmdW5jdGlvblRvRXhlY3V0ZTogKCkgPT4gdm9pZCxcbiAgKTogbnVtYmVyIHtcbiAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpO1xuICAgIGZ1bmN0aW9uVG9FeGVjdXRlKCk7XG4gICAgLy9AdHMtaWdub3JlXG4gICAgdmFyIGVuZCA9IG5ldyBEYXRlKCkgLSBzdGFydDtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhgRXhlY3V0aW9uIHRpbWU6ICR7ZW5kLnRvU3RyaW5nKCl9bXMgZm9yIFwiJHtkZXNjcmlwdGlvbn1cImApO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIHJldHVybiBlbmQ7XG4gIH1cblxuXG5cbiAgd2FpdEZvckNvbmRpdGlvbihjb25kaXRpb25GbjogKGFueSkgPT4gYm9vbGVhbiwgaG93T2ZmdGVuQ2hlY2tJbk1zID0gMTAwMCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKHsgZnVuY3Rpb25GbjogY29uZGl0aW9uRm4gfSk7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIEhlbHBlcnMud2FpdEZvckNvbmRpdGlvbihjb25kaXRpb25GbiwgaG93T2ZmdGVuQ2hlY2tJbk1zKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgaG93T2ZmdGVuQ2hlY2tJbk1zKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cblxuICBnZXRNZXRob2ROYW1lKGNsYXNzT2JqZWN0LCBtZXRob2QpOiBzdHJpbmcge1xuICAgIHZhciBtZXRob2ROYW1lID0gbnVsbDtcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjbGFzc09iamVjdCkuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgIGlmIChjbGFzc09iamVjdFtwcm9wXSA9PT0gbWV0aG9kKSB7XG4gICAgICAgIG1ldGhvZE5hbWUgPSBwcm9wO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBtZXRob2ROYW1lO1xuICAgIH1cblxuICAgIHZhciBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjbGFzc09iamVjdCk7XG4gICAgaWYgKHByb3RvKSB7XG4gICAgICByZXR1cm4gSGVscGVycy5nZXRNZXRob2ROYW1lKHByb3RvLCBtZXRob2QpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGZpeFdlYnBhY2tFbnYoZW52OiBPYmplY3QpIHtcbiAgICBfLmZvckluKGVudiwgKHYsIGspID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB2IGFzIGFueTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gJ3RydWUnKSBlbnZba10gPSB0cnVlO1xuICAgICAgaWYgKHZhbHVlID09PSAnZmFsc2UnKSBlbnZba10gPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGFzeW5jIHdvcmtlckNhbGN1bGF0ZUFycmF5KFxuICAgIGRhdGFUb1NwbGl0OiBhbnlbXSxcbiAgICBvcGVyYXRpb246IChcbiAgICAgIGRhdGFDaHVuazogYW55W10sXG4gICAgICB3b3JrZXJOdW1iZXI/OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBtYXhlc0Zvcldvcmtlcz86IHsgW3dvcmtlck1heGVzOiBudW1iZXJdOiBudW1iZXIgfTtcbiAgICAgIHdvcmtlckxpbWl0PzogbnVtYmVyO1xuICAgICAgZ2xvYmFscz86IGFueTtcbiAgICB9LFxuICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBjaGVja0Vudmlyb25tZW50KGRlcHM/OiBDb3JlTW9kZWxzLkdsb2JhbERlcGVuZGVuY2llcykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBhcHBseU1peGlucyA9IGFwcGx5TWl4aW5zO1xuXG5cblxuICBpc1ZhbGlkSXAgPSBWYWxpZGF0b3JzLm5ldHdvcmsuaXNWYWxpZElwO1xuXG5cblxuICBpc1ZhbGlkR2l0UmVwdVVybCA9IFZhbGlkYXRvcnMuZ2l0LmlzVmFsaWRSZXBvVXJsO1xuXG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBIZWxwZXJzVGFvblxuICBleHRlbmRzIEhlbHBlcnNTdHJpbmdzUmVnZXhlcyxcbiAgICBIZWxwZXJzUHJvY2VzcyxcbiAgICBIZWxwZXJzRmlsZUZvbGRlcnMge31cblxuYXBwbHlNaXhpbnMoSGVscGVyc1Rhb24sIFtcbiAgSGVscGVyc1N0cmluZ3NSZWdleGVzLFxuICBIZWxwZXJzUHJvY2VzcyxcbiAgSGVscGVyc0ZpbGVGb2xkZXJzLFxuXSk7XG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMvaGVscGVycy50cyJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export * from './validators/validators';
|
|
2
|
-
export { HelpersAngular } from './helpers/for-browser/angular.helper';
|
|
3
|
-
export * from './utils';
|
|
4
|
-
import { HelpersTaon as Base } from './helpers/helpers';
|
|
5
|
-
export const Helpers = Base.Instance;
|
|
6
|
-
export * from './base';
|
|
7
|
-
export * from './models';
|
|
8
|
-
/* */
|
|
9
|
-
/* */
|
|
10
|
-
/* */
|
|
11
|
-
;
|
|
12
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/index.ts
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBR3RFLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxXQUFXLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFTLElBQUksQ0FBQyxRQUFnQixDQUFDO0FBQ25ELGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUdKLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcblxuZXhwb3J0IHsgSGVscGVyc0FuZ3VsYXIgfSBmcm9tICcuL2hlbHBlcnMvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXInO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgSGVscGVyc1Rhb24gYXMgQmFzZSB9IGZyb20gJy4vaGVscGVycy9oZWxwZXJzJztcbmV4cG9ydCBjb25zdCBIZWxwZXJzOiBCYXNlID0gQmFzZS5JbnN0YW5jZSBhcyBCYXNlO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaW5kZXgudHMiXX0=
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { CoreModels } from 'tnp-core/browser';
|
|
2
|
-
export const BaseProjectTypeArr = CoreModels.BaseProjectTypeArr;
|
|
3
|
-
export class CommandConfig {
|
|
4
|
-
static from(config) {
|
|
5
|
-
return new CommandConfig(config);
|
|
6
|
-
}
|
|
7
|
-
constructor(data) {
|
|
8
|
-
/**
|
|
9
|
-
* Process that should be started
|
|
10
|
-
* before this process starts.
|
|
11
|
-
*/
|
|
12
|
-
this.shouldBeActiveOrAlreadyBuild = [];
|
|
13
|
-
Object.keys(data).forEach(key => {
|
|
14
|
-
this[key] = data[key];
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export var CommandProcessState;
|
|
19
|
-
(function (CommandProcessState) {
|
|
20
|
-
CommandProcessState["NOT_STARTED"] = "not-started";
|
|
21
|
-
CommandProcessState["WAITING_TO_START"] = "waiting-to-start";
|
|
22
|
-
CommandProcessState["RUNNING"] = "running";
|
|
23
|
-
CommandProcessState["FINISHED_AND_RUNNING"] = "finished-and-running";
|
|
24
|
-
CommandProcessState["FINISHED"] = "finished";
|
|
25
|
-
})(CommandProcessState || (CommandProcessState = {}));
|
|
26
|
-
export class CommandProcess {
|
|
27
|
-
get cmd() {
|
|
28
|
-
return this.config.cmd;
|
|
29
|
-
}
|
|
30
|
-
get name() {
|
|
31
|
-
return this.config.name;
|
|
32
|
-
}
|
|
33
|
-
get headerMessageWhenActive() {
|
|
34
|
-
return this.config.headerMessageWhenActive;
|
|
35
|
-
}
|
|
36
|
-
get pid() {
|
|
37
|
-
return this.child_process.pid;
|
|
38
|
-
}
|
|
39
|
-
get isFinished() {
|
|
40
|
-
return [
|
|
41
|
-
CommandProcessState.FINISHED,
|
|
42
|
-
CommandProcessState.FINISHED_AND_RUNNING,
|
|
43
|
-
].includes(this.state);
|
|
44
|
-
}
|
|
45
|
-
get isRunning() {
|
|
46
|
-
return [
|
|
47
|
-
CommandProcessState.RUNNING,
|
|
48
|
-
CommandProcessState.FINISHED_AND_RUNNING,
|
|
49
|
-
].includes(this.state);
|
|
50
|
-
}
|
|
51
|
-
get isWaitingToStart() {
|
|
52
|
-
return this.state === CommandProcessState.WAITING_TO_START;
|
|
53
|
-
}
|
|
54
|
-
markForStart() {
|
|
55
|
-
if (this.isRunning || this.isWaitingToStart) {
|
|
56
|
-
console.warn(`Already running or waiting to start: ${this.name}`);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this.state = CommandProcessState.WAITING_TO_START;
|
|
60
|
-
}
|
|
61
|
-
constructor(project, config, manager) {
|
|
62
|
-
this.project = project;
|
|
63
|
-
this.config = config;
|
|
64
|
-
this.manager = manager;
|
|
65
|
-
this.state = CommandProcessState.NOT_STARTED;
|
|
66
|
-
this.dependenciesProcesses = [];
|
|
67
|
-
}
|
|
68
|
-
async start(options) {
|
|
69
|
-
/* */
|
|
70
|
-
/* */
|
|
71
|
-
/* */
|
|
72
|
-
/* */
|
|
73
|
-
/* */
|
|
74
|
-
/* */
|
|
75
|
-
/* */
|
|
76
|
-
/* */
|
|
77
|
-
/* */
|
|
78
|
-
/* */
|
|
79
|
-
/* */
|
|
80
|
-
/* */
|
|
81
|
-
/* */
|
|
82
|
-
/* */
|
|
83
|
-
/* */
|
|
84
|
-
/* */
|
|
85
|
-
/* */
|
|
86
|
-
/* */
|
|
87
|
-
/* */
|
|
88
|
-
/* */
|
|
89
|
-
/* */
|
|
90
|
-
/* */
|
|
91
|
-
/* */
|
|
92
|
-
/* */
|
|
93
|
-
/* */
|
|
94
|
-
/* */
|
|
95
|
-
/* */
|
|
96
|
-
/* */
|
|
97
|
-
/* */
|
|
98
|
-
/* */
|
|
99
|
-
/* */
|
|
100
|
-
/* */
|
|
101
|
-
/* */
|
|
102
|
-
/* */
|
|
103
|
-
/* */
|
|
104
|
-
/* */
|
|
105
|
-
/* */
|
|
106
|
-
/* */
|
|
107
|
-
/* */
|
|
108
|
-
/* */
|
|
109
|
-
/* */
|
|
110
|
-
/* */
|
|
111
|
-
/* */
|
|
112
|
-
/* */
|
|
113
|
-
/* */
|
|
114
|
-
/* */
|
|
115
|
-
/* */
|
|
116
|
-
/* */
|
|
117
|
-
/* */
|
|
118
|
-
/* */
|
|
119
|
-
/* */
|
|
120
|
-
/* */
|
|
121
|
-
/* */
|
|
122
|
-
/* */
|
|
123
|
-
/* */
|
|
124
|
-
/* */
|
|
125
|
-
/* */
|
|
126
|
-
/* */
|
|
127
|
-
/* */
|
|
128
|
-
/* */
|
|
129
|
-
return (void 0);
|
|
130
|
-
}
|
|
131
|
-
async stop() {
|
|
132
|
-
/* */
|
|
133
|
-
/* */
|
|
134
|
-
/* */
|
|
135
|
-
/* */
|
|
136
|
-
/* */
|
|
137
|
-
/* */
|
|
138
|
-
/* */
|
|
139
|
-
/* */
|
|
140
|
-
/* */
|
|
141
|
-
/* */
|
|
142
|
-
/* */
|
|
143
|
-
/* */
|
|
144
|
-
/* */
|
|
145
|
-
/* */
|
|
146
|
-
/* */
|
|
147
|
-
/* */
|
|
148
|
-
/* */
|
|
149
|
-
/* */
|
|
150
|
-
/* */
|
|
151
|
-
/* */
|
|
152
|
-
/* */
|
|
153
|
-
/* */
|
|
154
|
-
/* */
|
|
155
|
-
/* */
|
|
156
|
-
/* */
|
|
157
|
-
/* */
|
|
158
|
-
/* */
|
|
159
|
-
/* */
|
|
160
|
-
/* */
|
|
161
|
-
/* */
|
|
162
|
-
/* */
|
|
163
|
-
/* */
|
|
164
|
-
/* */
|
|
165
|
-
/* */
|
|
166
|
-
/* */
|
|
167
|
-
/* */
|
|
168
|
-
/* */
|
|
169
|
-
/* */
|
|
170
|
-
return (void 0);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
;
|
|
174
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLFVBQVUsRUFBSyxNQUFNLGtCQUFrQixDQUFDO0FBUWpELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQztBQThGaEUsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFxQjtRQUMvQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxZQUFvQixJQUFtQjtRQWN2Qzs7O1dBR0c7UUFDSCxpQ0FBNEIsR0FBcUIsRUFBRSxDQUFDO1FBakJsRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQXFCRjtBQW1CRCxNQUFNLENBQU4sSUFBWSxtQkFNWDtBQU5ELFdBQVksbUJBQW1CO0lBQzdCLGtEQUEyQixDQUFBO0lBQzNCLDREQUFxQyxDQUFBO0lBQ3JDLDBDQUFtQixDQUFBO0lBQ25CLG9FQUE2QyxDQUFBO0lBQzdDLDRDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBTTlCO0FBY0QsTUFBTSxPQUFPLGNBQWM7SUFLekIsSUFBYyxHQUFHO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPO1lBQ0wsbUJBQW1CLENBQUMsUUFBUTtZQUM1QixtQkFBbUIsQ0FBQyxvQkFBb0I7U0FDekMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPO1lBQ0wsbUJBQW1CLENBQUMsT0FBTztZQUMzQixtQkFBbUIsQ0FBQyxvQkFBb0I7U0FDekMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssbUJBQW1CLENBQUMsZ0JBQWdCLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDNUMsT0FBTyxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbEUsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDO0lBQ3BELENBQUM7SUFNRCxZQUNVLE9BQW9CLEVBQ3BCLE1BQXFCLEVBQ3JCLE9BQTBCO1FBRjFCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQXBENUIsVUFBSyxHQUF3QixtQkFBbUIsQ0FBQyxXQUFXLENBQUM7UUE4QzlELDBCQUFxQixHQUFxQixFQUFFLENBQUM7SUFPakQsQ0FBQztJQUtKLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBa0M7UUFDaEQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxJQUFJO1FBQ1osS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFHQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNEQUFzRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IENoaWxkUHJvY2VzcywgZXhlY1N5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcblxuaW1wb3J0IHsgSGVscGVycywgVXRpbHNUZXJtaW5hbCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ29yZU1vZGVscywgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuXG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0LCBUeXBlT2ZDb21taXQgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvY2Vzc01hbmdlciB9IGZyb20gJy4vYmFzZS9jbGFzc2VzL2Jhc2UtcHJvY2Vzcy1tYW5hZ2VyJztcblxuXG5cbmV4cG9ydCB0eXBlIEJhc2VQcm9qZWN0VHlwZSA9IENvcmVNb2RlbHMuQmFzZVByb2plY3RUeXBlO1xuZXhwb3J0IGNvbnN0IEJhc2VQcm9qZWN0VHlwZUFyciA9IENvcmVNb2RlbHMuQmFzZVByb2plY3RUeXBlQXJyO1xuXG5cblxuLyoqXG4gKiBBbmd1bGFyIHByb2plY3QgdHlwZVxuICovXG5leHBvcnQgdHlwZSBOZ1Byb2plY3QgPSB7XG4gIHByb2plY3RUeXBlOiAnbGlicmFyeScgfCAnYXBwbGljYXRpb24nO1xuICAvKipcbiAgICogd2hlcmUgbmctcGFja2Fnci5qc29uIGlzIGxvY2F0ZWQsIHRzY29uZmlnIGV0Yy5cbiAgICovXG4gIHJvb3Q6IHN0cmluZztcbiAgLyoqXG4gICAqIFNvdXJjZSBjb2RlIHByb2plY3RcbiAgICovXG4gIHNvdXJjZVJvb3Q6IHN0cmluZztcbiAgcHJlZml4OiBzdHJpbmc7XG59O1xuXG5cblxuXG5leHBvcnQgdHlwZSBMaWJyYXJ5QnVpbGRDb21tYW5kT3B0aW9ucyA9IHtcbiAgd2F0Y2g/OiBib29sZWFuO1xufTtcblxuXG5cbmV4cG9ydCB0eXBlIExpYnJhcmllc0J1aWxkT3B0aW9uczxQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBCYXNlUHJvamVjdD4gPSB7XG4gIHN0cmF0ZWd5PzogJ2xpbmsnIHwgJ2NvcHknO1xuICAvKipcbiAgICogYnkgZGVmYXVsdCB3ZSBhcmUgY29weWluZyBhbGwgbGlicmFyaWVzIHRvIG5vZGVfbW9kdWxlcyBvZiBpdHNlbGZcbiAgICovXG4gIGNvcHlsaW5rX3RvX25vZGVfbW9kdWxlcz86IHN0cmluZ1tdO1xuICByZWxlYXNlQnVpbGQ/OiBib29sZWFuO1xuICAvKipcbiAgICogb3ZlcnJpZGUgYnVpbGQgb3B0aW9ucyBmb3Igc3BlY2lmaWMgbGlicmFyaWVzXG4gICAqIEB0b2RvXG4gICAqL1xuICBsaWJyYXJpZXM/OiBQUk9KRUNUW107XG4gIG91dHB1dExpbmVSZXBsYWNlPzogKFxuICAgIGxpYkZvck91dHB1dDogUFJPSkVDVCxcbiAgICB1c2VFeHRlcm5hbFByb3ZpZGVkTGliczogYm9vbGVhbixcbiAgKSA9PiAobGluZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIHVzZUxhc3RVc2VyQ29uZmlndXJhdGlvbj86IGJvb2xlYW47XG59O1xuXG5cblxuZXhwb3J0IHR5cGUgVGVzdEJ1aWxkT3B0aW9ucyA9IHtcbiAgb25seVNwZWN5ZmljRmlsZXM/OiBzdHJpbmdbXTtcbiAgdXBkYXRlU25hcHNob3Q/OiBib29sZWFuO1xufTtcblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlbG9nRGF0YSB7XG4gIGNoYW5nZXM6IHN0cmluZ1tdO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGRhdGU6IHN0cmluZztcbn1cblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVzaFByb2Nlc3NPcHRpb25zIHtcbiAgZm9yY2U/OiBib29sZWFuO1xuICB0eXBlb2ZDb21taXQ/OiBUeXBlT2ZDb21taXQ7XG4gIG1lcmdlVXBkYXRlQ29tbWl0cz86IGJvb2xlYW47XG4gIGFza1RvQ29uZmlybVB1c2g/OiBib29sZWFuO1xuICBhc2tUb0NvbmZpcm1Db21taXQ/OiBib29sZWFuO1xuICBza2lwTGludD86IGJvb2xlYW47XG4gIGFza1RvQ29uZmlybUJyYW5jaENoYW5nZT86IGJvb2xlYW47XG4gIG9yaWdpbj86IHN0cmluZztcbiAgYXJncz86IHN0cmluZ1tdO1xuICBzZXRPcmlnaW4/OiAnc3NoJyB8ICdodHRwJztcbiAgZXhpdENhbGxCYWNrPzogKCkgPT4gdm9pZDtcbiAgZm9yY2VQdXNoTm9RdWVzdGlvbj86IGJvb2xlYW47XG4gIG92ZXJyaWRlQ29tbWl0TWVzc2FnZT86IHN0cmluZztcbiAgY29tbWl0TWVzc2FnZVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIG9ubHkgbmVlZGVkIHdoZW4gcHVzaCBnaXRodWJcbiAgICogYW5kIEkgZm9yZ290IHRvIGFkZCBteSB1c2VybmFtZSBiZWZvcmUgaXNzdWVcbiAgICogdGFvbiBwZml4IHByb3BlciBpbnB1dCBteS1yZXBvIzM0NFxuICAgKiB0aGF0IHNob3VsZCBiZVxuICAgKiB0YW9uIHBmaXggcHJvcGVyIGlucHV0IG15LXVzZXJuYW1lL215LXJlcG8jMzQ0XG4gICAqL1xuICBjdXJyZW50T3JpZ2luPzogc3RyaW5nO1xuICBza2lwQ2hpbGRyZW4/OiBib29sZWFuO1xuICBub0V4aXQ/OiBib29sZWFuO1xufVxuXG5cblxuZXhwb3J0IGNsYXNzIENvbW1hbmRDb25maWcge1xuICBzdGF0aWMgZnJvbShjb25maWc6IENvbW1hbmRDb25maWcpOiBDb21tYW5kQ29uZmlnIHtcbiAgICByZXR1cm4gbmV3IENvbW1hbmRDb25maWcoY29uZmlnIGFzIGFueSk7XG4gIH1cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihkYXRhOiBDb21tYW5kQ29uZmlnKSB7XG4gICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xuICAgIH0pO1xuICB9XG4gIG5hbWU6IHN0cmluZztcbiAgY21kOiBzdHJpbmc7XG5cbiAgaGVhZGVyTWVzc2FnZVdoZW5BY3RpdmU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgb3V0cHV0IHdpbGwgYmUgc3RvcmVkIGluIGEgYnVmZmVyIGFuZCBkaXNwbGF5ZWQgd2hlbiByZXF1ZXN0ZWQuXG4gICAqIERlZmF1bHQ6IHRydWVcbiAgICovXG4gIHVzZURhdGFCdWZmZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogUHJvY2VzcyB0aGF0IHNob3VsZCBiZSBzdGFydGVkXG4gICAqIGJlZm9yZSB0aGlzIHByb2Nlc3Mgc3RhcnRzLlxuICAgKi9cbiAgc2hvdWxkQmVBY3RpdmVPckFscmVhZHlCdWlsZD86IENvbW1hbmRDb25maWdbXSA9IFtdO1xuICBnb1RvTmV4dENvbW1hbmRXaGVuT3V0cHV0PzpcbiAgICB8IHN0cmluZ1xuICAgIHwge1xuICAgICAgICBzdGRvdXRDb250YWlucz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICBzdGRlcnJDb250YWlucz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbn1cblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc01hbmFnZXJDb25maWc8UFJPSkVDVD4ge1xuICB0aXRsZTogc3RyaW5nO1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIGNvbW1hbmRzOiBDb21tYW5kQ29uZmlnW107XG4gIC8qKlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKiBJZiBmYWxzZSAtIGFmdGVyIGZpcnN0IHNlbGVjdGlvbiBvZiBwcm9jZXNzZXMsIGl0IHdpbGwgYmUgbm90IHBvc3NpYmxlXG4gICAqIHRvIGFkZCBuZXcgcHJvY2Vzc2VzIHRvIGJ1aWxkIGFuZCBidWlsZCB3aWxsIGJlIGRvbmUgYWZ0ZXJcbiAgICogYWxsIHByb2Nlc3NlcyBhcmUgZG9uZS5cbiAgICovXG4gIHdhdGNoPzogYm9vbGVhbjtcbn1cblxuXG5cbmV4cG9ydCBlbnVtIENvbW1hbmRQcm9jZXNzU3RhdGUge1xuICBOT1RfU1RBUlRFRCA9ICdub3Qtc3RhcnRlZCcsXG4gIFdBSVRJTkdfVE9fU1RBUlQgPSAnd2FpdGluZy10by1zdGFydCcsXG4gIFJVTk5JTkcgPSAncnVubmluZycsXG4gIEZJTklTSEVEX0FORF9SVU5OSU5HID0gJ2ZpbmlzaGVkLWFuZC1ydW5uaW5nJywgLy8gb25seSBmb3Igd2F0Y2ggbW9kZVxuICBGSU5JU0hFRCA9ICdmaW5pc2hlZCcsIC8vIG9ubHkgZm9yIG5vcm1hbCBtb2RlXG59XG5cblxuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRQcm9jZXNzUnVuT3B0aW9ucyB7XG4gIHByb2dyZXNzPzogKG46IG51bWJlciwgdG90YWw6IG51bWJlcikgPT4gdm9pZDtcbiAgcmVzb2x2ZU5leHRQcm9jZXNzPzogKFxuICAgIGN1cnJlbnRQcm9jZXNzOiBDb21tYW5kUHJvY2VzcyxcbiAgKSA9PiBQcm9taXNlPENvbW1hbmRQcm9jZXNzPjtcbiAgcmVzb2x2ZVdoZW5GaW5pc2g/OiBib29sZWFuO1xufVxuXG5cblxuZXhwb3J0IGNsYXNzIENvbW1hbmRQcm9jZXNzIHtcblxuICBwcml2YXRlIHN0YXRlOiBDb21tYW5kUHJvY2Vzc1N0YXRlID0gQ29tbWFuZFByb2Nlc3NTdGF0ZS5OT1RfU1RBUlRFRDtcbiAgcHVibGljIHJlYWRvbmx5IGNoaWxkX3Byb2Nlc3M/OiBDaGlsZFByb2Nlc3M7XG5cbiAgcHJvdGVjdGVkIGdldCBjbWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY21kO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLm5hbWU7XG4gIH1cblxuICBnZXQgaGVhZGVyTWVzc2FnZVdoZW5BY3RpdmUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaGVhZGVyTWVzc2FnZVdoZW5BY3RpdmU7XG4gIH1cblxuICBnZXQgcGlkKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRfcHJvY2Vzcy5waWQ7XG4gIH1cblxuICBnZXQgaXNGaW5pc2hlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW1xuICAgICAgQ29tbWFuZFByb2Nlc3NTdGF0ZS5GSU5JU0hFRCxcbiAgICAgIENvbW1hbmRQcm9jZXNzU3RhdGUuRklOSVNIRURfQU5EX1JVTk5JTkcsXG4gICAgXS5pbmNsdWRlcyh0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIGdldCBpc1J1bm5pbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQcm9jZXNzU3RhdGUuUlVOTklORyxcbiAgICAgIENvbW1hbmRQcm9jZXNzU3RhdGUuRklOSVNIRURfQU5EX1JVTk5JTkcsXG4gICAgXS5pbmNsdWRlcyh0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIGdldCBpc1dhaXRpbmdUb1N0YXJ0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlID09PSBDb21tYW5kUHJvY2Vzc1N0YXRlLldBSVRJTkdfVE9fU1RBUlQ7XG4gIH1cblxuICBtYXJrRm9yU3RhcnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNSdW5uaW5nIHx8IHRoaXMuaXNXYWl0aW5nVG9TdGFydCkge1xuICAgICAgY29uc29sZS53YXJuKGBBbHJlYWR5IHJ1bm5pbmcgb3Igd2FpdGluZyB0byBzdGFydDogJHt0aGlzLm5hbWV9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSBDb21tYW5kUHJvY2Vzc1N0YXRlLldBSVRJTkdfVE9fU1RBUlQ7XG4gIH1cblxuXG4gIHB1YmxpYyBkZXBlbmRlbmNpZXNQcm9jZXNzZXM6IENvbW1hbmRQcm9jZXNzW10gPSBbXTtcblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJvamVjdDogQmFzZVByb2plY3QsXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbW1hbmRDb25maWcsXG4gICAgcHJpdmF0ZSBtYW5hZ2VyOiBCYXNlUHJvY2Vzc01hbmdlcixcbiAgKSB7fVxuXG5cblxuXG4gIGFzeW5jIHN0YXJ0KG9wdGlvbnM/OiBDb21tYW5kUHJvY2Vzc1J1bk9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9tb2RlbHMudHMiXX0=
|