tnp-helpers 19.0.0 → 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.
Files changed (228) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/fesm2022/tnp-helpers.mjs +58 -38
  3. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  4. package/browser/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +13 -3
  5. package/browser/lib/base/classes/base-git.d.ts +1 -1
  6. package/browser/lib/base/classes/base-node-modules.d.ts +1 -1
  7. package/browser/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  8. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -7
  9. package/client/fesm2022/tnp-helpers.mjs +58 -38
  10. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  11. package/client/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +13 -3
  12. package/client/lib/base/classes/base-git.d.ts +1 -1
  13. package/client/lib/base/classes/base-node-modules.d.ts +1 -1
  14. package/client/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  15. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -7
  16. package/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +13 -3
  17. package/lib/base/classes/base-cli-worker/base-cli-worker.js +54 -1
  18. package/lib/base/classes/base-cli-worker/base-cli-worker.js.map +1 -1
  19. package/lib/base/classes/base-global-command-line.backend.d.ts +2 -0
  20. package/lib/base/classes/base-global-command-line.backend.js +36 -1
  21. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  22. package/lib/base/classes/base-node-modules.d.ts +1 -1
  23. package/lib/base/classes/base-project-resolver.js.map +1 -1
  24. package/lib/base/classes/base-project.d.ts +1 -1
  25. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  26. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  27. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +2 -2
  28. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  29. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -7
  30. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +3 -33
  31. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  32. package/lib/helpers/for-backend/helpers-file-folders.js.map +1 -1
  33. package/lib/helpers/for-backend/helpers-git.backend.d.ts +2 -0
  34. package/lib/helpers/for-backend/helpers-git.backend.js +34 -23
  35. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  36. package/lib/helpers/for-browser/angular.helper.js +2 -2
  37. package/lib/old/base-component.js +2 -2
  38. package/lib/old/base-formly-component.js +2 -2
  39. package/lib/old/dual-component-ctrl.js +2 -2
  40. package/package.json +5 -5
  41. package/tmp-environment.json +3 -3
  42. package/websql/fesm2022/tnp-helpers.mjs +58 -38
  43. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  44. package/websql/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +13 -3
  45. package/websql/lib/base/classes/base-git.d.ts +1 -1
  46. package/websql/lib/base/classes/base-node-modules.d.ts +1 -1
  47. package/websql/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  48. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -7
  49. package/browser/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
  50. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +0 -37
  51. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +0 -125
  52. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +0 -133
  53. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +0 -404
  54. package/browser/esm2022/lib/base/classes/base-cli-worker/index.mjs +0 -7
  55. package/browser/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
  56. package/browser/esm2022/lib/base/classes/base-db.mjs +0 -31
  57. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
  58. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
  59. package/browser/esm2022/lib/base/classes/base-git.mjs +0 -1175
  60. package/browser/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
  61. package/browser/esm2022/lib/base/classes/base-library-build.mjs +0 -613
  62. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
  63. package/browser/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
  64. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
  65. package/browser/esm2022/lib/base/classes/base-package-json.mjs +0 -340
  66. package/browser/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
  67. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +0 -282
  68. package/browser/esm2022/lib/base/classes/base-project.mjs +0 -922
  69. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
  70. package/browser/esm2022/lib/base/classes/base-release-process.mjs +0 -599
  71. package/browser/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
  72. package/browser/esm2022/lib/base/classes/base-vscode.mjs +0 -531
  73. package/browser/esm2022/lib/base/classes/index.mjs +0 -24
  74. package/browser/esm2022/lib/base/commit-data.mjs +0 -633
  75. package/browser/esm2022/lib/base/config-database.mjs +0 -46
  76. package/browser/esm2022/lib/base/core-project.mjs +0 -115
  77. package/browser/esm2022/lib/base/index.mjs +0 -10
  78. package/browser/esm2022/lib/base/linked-project.mjs +0 -90
  79. package/browser/esm2022/lib/base/project-database.mjs +0 -18
  80. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
  81. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
  82. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -33
  83. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
  84. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +0 -261
  85. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -45
  86. package/browser/esm2022/lib/base/translate.mjs +0 -566
  87. package/browser/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
  88. package/browser/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
  89. package/browser/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
  90. package/browser/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
  91. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
  92. package/browser/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
  93. package/browser/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
  94. package/browser/esm2022/lib/helpers/helpers-strings.mjs +0 -258
  95. package/browser/esm2022/lib/helpers/helpers.mjs +0 -428
  96. package/browser/esm2022/lib/index.mjs +0 -13
  97. package/browser/esm2022/lib/models.mjs +0 -175
  98. package/browser/esm2022/lib/utils.mjs +0 -952
  99. package/browser/esm2022/lib/validators/validators-git.mjs +0 -12
  100. package/browser/esm2022/lib/validators/validators-network.mjs +0 -18
  101. package/browser/esm2022/lib/validators/validators.mjs +0 -10
  102. package/browser/esm2022/migrations/1736198527297_init.mjs +0 -41
  103. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
  104. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
  105. package/browser/esm2022/migrations/index.mjs +0 -5
  106. package/browser/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
  107. package/browser/esm2022/public-api.mjs +0 -2
  108. package/browser/esm2022/tnp-helpers.mjs +0 -5
  109. package/client/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
  110. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +0 -37
  111. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +0 -125
  112. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +0 -133
  113. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +0 -404
  114. package/client/esm2022/lib/base/classes/base-cli-worker/index.mjs +0 -7
  115. package/client/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
  116. package/client/esm2022/lib/base/classes/base-db.mjs +0 -31
  117. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
  118. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
  119. package/client/esm2022/lib/base/classes/base-git.mjs +0 -1175
  120. package/client/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
  121. package/client/esm2022/lib/base/classes/base-library-build.mjs +0 -613
  122. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
  123. package/client/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
  124. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
  125. package/client/esm2022/lib/base/classes/base-package-json.mjs +0 -340
  126. package/client/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
  127. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +0 -282
  128. package/client/esm2022/lib/base/classes/base-project.mjs +0 -922
  129. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
  130. package/client/esm2022/lib/base/classes/base-release-process.mjs +0 -599
  131. package/client/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
  132. package/client/esm2022/lib/base/classes/base-vscode.mjs +0 -531
  133. package/client/esm2022/lib/base/classes/index.mjs +0 -24
  134. package/client/esm2022/lib/base/commit-data.mjs +0 -633
  135. package/client/esm2022/lib/base/config-database.mjs +0 -46
  136. package/client/esm2022/lib/base/core-project.mjs +0 -115
  137. package/client/esm2022/lib/base/index.mjs +0 -10
  138. package/client/esm2022/lib/base/linked-project.mjs +0 -90
  139. package/client/esm2022/lib/base/project-database.mjs +0 -18
  140. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
  141. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
  142. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -33
  143. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
  144. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +0 -261
  145. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -45
  146. package/client/esm2022/lib/base/translate.mjs +0 -566
  147. package/client/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
  148. package/client/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
  149. package/client/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
  150. package/client/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
  151. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
  152. package/client/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
  153. package/client/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
  154. package/client/esm2022/lib/helpers/helpers-strings.mjs +0 -258
  155. package/client/esm2022/lib/helpers/helpers.mjs +0 -428
  156. package/client/esm2022/lib/index.mjs +0 -13
  157. package/client/esm2022/lib/models.mjs +0 -175
  158. package/client/esm2022/lib/utils.mjs +0 -952
  159. package/client/esm2022/lib/validators/validators-git.mjs +0 -12
  160. package/client/esm2022/lib/validators/validators-network.mjs +0 -18
  161. package/client/esm2022/lib/validators/validators.mjs +0 -10
  162. package/client/esm2022/migrations/1736198527297_init.mjs +0 -41
  163. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
  164. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
  165. package/client/esm2022/migrations/index.mjs +0 -5
  166. package/client/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
  167. package/client/esm2022/public-api.mjs +0 -2
  168. package/client/esm2022/tnp-helpers.mjs +0 -5
  169. package/websql/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
  170. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +0 -37
  171. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +0 -125
  172. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +0 -133
  173. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +0 -404
  174. package/websql/esm2022/lib/base/classes/base-cli-worker/index.mjs +0 -7
  175. package/websql/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
  176. package/websql/esm2022/lib/base/classes/base-db.mjs +0 -31
  177. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
  178. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
  179. package/websql/esm2022/lib/base/classes/base-git.mjs +0 -1175
  180. package/websql/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
  181. package/websql/esm2022/lib/base/classes/base-library-build.mjs +0 -613
  182. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
  183. package/websql/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
  184. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
  185. package/websql/esm2022/lib/base/classes/base-package-json.mjs +0 -340
  186. package/websql/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
  187. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +0 -272
  188. package/websql/esm2022/lib/base/classes/base-project.mjs +0 -891
  189. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
  190. package/websql/esm2022/lib/base/classes/base-release-process.mjs +0 -599
  191. package/websql/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
  192. package/websql/esm2022/lib/base/classes/base-vscode.mjs +0 -531
  193. package/websql/esm2022/lib/base/classes/index.mjs +0 -24
  194. package/websql/esm2022/lib/base/commit-data.mjs +0 -633
  195. package/websql/esm2022/lib/base/config-database.mjs +0 -46
  196. package/websql/esm2022/lib/base/core-project.mjs +0 -115
  197. package/websql/esm2022/lib/base/index.mjs +0 -10
  198. package/websql/esm2022/lib/base/linked-project.mjs +0 -90
  199. package/websql/esm2022/lib/base/project-database.mjs +0 -18
  200. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
  201. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
  202. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -56
  203. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
  204. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +0 -261
  205. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -45
  206. package/websql/esm2022/lib/base/translate.mjs +0 -566
  207. package/websql/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
  208. package/websql/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
  209. package/websql/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
  210. package/websql/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
  211. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
  212. package/websql/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
  213. package/websql/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
  214. package/websql/esm2022/lib/helpers/helpers-strings.mjs +0 -258
  215. package/websql/esm2022/lib/helpers/helpers.mjs +0 -428
  216. package/websql/esm2022/lib/index.mjs +0 -13
  217. package/websql/esm2022/lib/models.mjs +0 -175
  218. package/websql/esm2022/lib/utils.mjs +0 -952
  219. package/websql/esm2022/lib/validators/validators-git.mjs +0 -12
  220. package/websql/esm2022/lib/validators/validators-network.mjs +0 -18
  221. package/websql/esm2022/lib/validators/validators.mjs +0 -10
  222. package/websql/esm2022/migrations/1736198527297_init.mjs +0 -41
  223. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
  224. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
  225. package/websql/esm2022/migrations/index.mjs +0 -5
  226. package/websql/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
  227. package/websql/esm2022/public-api.mjs +0 -2
  228. package/websql/esm2022/tnp-helpers.mjs +0 -5
@@ -1,428 +0,0 @@
1
- import { _ } from 'tnp-core/websql';
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/websql';
9
- import { CoreHelpers } from 'tnp-core/websql';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsQ0FBQyxFQUFRLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFxQnhFLE9BQU8sRUFBRSxPQUFPLEVBQW1CLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSzlEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLFdBQWdCLEVBQUUsU0FBZ0I7SUFDNUQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUMzQixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1RCxNQUFNLENBQUMsY0FBYyxDQUNuQixXQUFXLENBQUMsU0FBUyxFQUNyQixJQUFJLEVBQ0osTUFBTSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQzFELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUdELE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBVztJQUduQyxNQUFNLEtBQUssUUFBUTtRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNCLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBQy9CLENBQUM7SUFJRDtJQUNGLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBRU0sU0FBUyxJQUFJLGVBQWUsRUFBRSxFQUM5QixVQUFVLElBQUksY0FBYyxFQUFFLEVBQzlCLFVBQVUsSUFBSSxhQUFhLEVBQUUsRUFFN0IsVUFBVSxjQUFjLENBQUMsUUFBUSxFQUNqQyxLQUFLLGNBQWM7UUFHMUIsS0FBSyxFQUFFLENBQUM7UUFSRCxXQUFNLEdBQU4sTUFBTSxDQUF3QjtRQUM5QixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUU3QixZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQUNqQyxPQUFFLEdBQUYsRUFBRSxDQUFpQjtRQWdjckIsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFJakMsY0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBSXpDLHNCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO0lBcGNsRCxDQUFDO0lBSUQsT0FBTyxDQUFDLENBQVcsRUFBRSxJQUFZO1FBQy9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUlEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FDUCxZQUFvQixFQUNwQixjQUFzQixFQUN0QixPQVdDO1FBRUwsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7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S0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBSUQsZ0JBQWdCLENBQUMsSUFBb0M7UUFDdkQsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBY0Y7QUFRRCxXQUFXLENBQUMsV0FBVyxFQUFFO0lBQ3ZCLHFCQUFxQjtJQUNyQixjQUFjO0lBQ2Qsa0JBQWtCO0NBQ25CLENBQUMsQ0FBQztBQUlGLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0RBQStEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgXywgcGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzQXJyYXlPYmogfSBmcm9tICcuL2hlbHBlcnMtYXJyYXktb2JqJztcbmltcG9ydCB7IEhlbHBlcnNTdHJpbmdzUmVnZXhlcyB9IGZyb20gJy4vaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMnO1xuaW1wb3J0IHsgSGVscGVyc1N0cmluZ3MgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncyc7XG5pbXBvcnQgeyBIZWxwZXJzUHJvY2VzcyB9IGZyb20gJy4vZm9yLWJhY2tlbmQvaGVscGVycy1wcm9jZXNzJztcbmltcG9ydCB7IEhlbHBlcnNGaWxlRm9sZGVycyB9IGZyb20gJy4vZm9yLWJhY2tlbmQvaGVscGVycy1maWxlLWZvbGRlcnMnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvd2Vic3FsJztcbmltcG9ydCB7IEhlbHBlcnMsIFV0aWxzUXVpY2tGaXhlcywgVmFsaWRhdG9ycyB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAndHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3dlYnNxbCc7XG5pbXBvcnQgeyBDb3JlSGVscGVycywgQ29yZU1vZGVscyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzTnVtYmVyIH0gZnJvbSAnLi9oZWxwZXJzLW51bWJlcnMnO1xuXG5pbXBvcnQgeyBIZWxwZXJzQnJvd3NlciB9IGZyb20gJy4vZm9yLWJyb3dzZXIvaGVscGVycy1icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnNBbmd1bGFyIH0gZnJvbSAnLi9mb3ItYnJvd3Nlci9hbmd1bGFyLmhlbHBlcic7XG5cblxuXG5cbi8qKlxuICogTWl4aW5nIGZvciBtdWx0aWNsYXNzIGluaGVyaXRhbmNlXG4gKlxuICogSG93IHRvIHVzZSBJdDpcbiAqXG4gKiBjbGFzcyBXb2x2ZXJpbmUge31cbiAqIGNsYXNzIEplYW4ge31cbiAqIGV4cG9ydCBjbGFzcyBDaGlsZCB7fVxuICogZXhwb3J0IGludGVyZmFjZSBNeUNoaWxkIGltcGxlbWVudHMgV29sdmVyaW5lLCBKZWFuIHt9XG4gKiBhcHBseU1peGluZyhDaGlsZCxbV29sdmVyaW5lLCBKZWFuXSk7XG4gKlxuICogQHBhcmFtIGRlcml2ZWRDdG9yIFRhcmdldCBDbGFzc1xuICogQHBhcmFtIGJhc2VDdG9ycyBCYXNlIENsYXNzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5TWl4aW5zKGRlcml2ZWRDdG9yOiBhbnksIGJhc2VDdG9yczogYW55W10pIHtcbiAgYmFzZUN0b3JzLmZvckVhY2goYmFzZUN0b3IgPT4ge1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGJhc2VDdG9yLnByb3RvdHlwZSkuZm9yRWFjaChuYW1lID0+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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUd0RSxjQUFjLFNBQVMsQ0FBQztBQUN4QixPQUFPLEVBQUUsV0FBVyxJQUFJLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBUyxJQUFJLENBQUMsUUFBZ0IsQ0FBQztBQUNuRCxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFEQUFxRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMvdmFsaWRhdG9ycyc7XG5cbmV4cG9ydCB7IEhlbHBlcnNBbmd1bGFyIH0gZnJvbSAnLi9oZWxwZXJzL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyJztcblxuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEhlbHBlcnNUYW9uIGFzIEJhc2UgfSBmcm9tICcuL2hlbHBlcnMvaGVscGVycyc7XG5leHBvcnQgY29uc3QgSGVscGVyczogQmFzZSA9IEJhc2UuSW5zdGFuY2UgYXMgQmFzZTtcbmV4cG9ydCAqIGZyb20gJy4vYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2luZGV4LnRzIl19
@@ -1,175 +0,0 @@
1
- import { CoreModels } from 'tnp-core/websql';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxVQUFVLEVBQUssTUFBTSxpQkFBaUIsQ0FBQztBQVFoRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUM7QUE4RmhFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBcUI7UUFDL0IsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsWUFBb0IsSUFBbUI7UUFjdkM7OztXQUdHO1FBQ0gsaUNBQTRCLEdBQXFCLEVBQUUsQ0FBQztRQWpCbEQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FxQkY7QUFtQkQsTUFBTSxDQUFOLElBQVksbUJBTVg7QUFORCxXQUFZLG1CQUFtQjtJQUM3QixrREFBMkIsQ0FBQTtJQUMzQiw0REFBcUMsQ0FBQTtJQUNyQywwQ0FBbUIsQ0FBQTtJQUNuQixvRUFBNkMsQ0FBQTtJQUM3Qyw0Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQU05QjtBQWNELE1BQU0sT0FBTyxjQUFjO0lBS3pCLElBQWMsR0FBRztRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTztZQUNMLG1CQUFtQixDQUFDLFFBQVE7WUFDNUIsbUJBQW1CLENBQUMsb0JBQW9CO1NBQ3pDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTztZQUNMLG1CQUFtQixDQUFDLE9BQU87WUFDM0IsbUJBQW1CLENBQUMsb0JBQW9CO1NBQ3pDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDO0lBQzdELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0NBQXdDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQztJQUNwRCxDQUFDO0lBTUQsWUFDVSxPQUFvQixFQUNwQixNQUFxQixFQUNyQixPQUEwQjtRQUYxQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFwRDVCLFVBQUssR0FBd0IsbUJBQW1CLENBQUMsV0FBVyxDQUFDO1FBOEM5RCwwQkFBcUIsR0FBcUIsRUFBRSxDQUFDO0lBT2pELENBQUM7SUFLSixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQWtDO1FBQ2hELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxLQUFLLENBQUMsSUFBSTtRQUNaLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUVGO0FBcUJBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0RBQXNEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgQ2hpbGRQcm9jZXNzLCBleGVjU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuXG5pbXBvcnQgeyBIZWxwZXJzLCBVdGlsc1Rlcm1pbmFsIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IENvcmVNb2RlbHMsIF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuXG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0LCBUeXBlT2ZDb21taXQgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvY2Vzc01hbmdlciB9IGZyb20gJy4vYmFzZS9jbGFzc2VzL2Jhc2UtcHJvY2Vzcy1tYW5hZ2VyJztcblxuXG5cbmV4cG9ydCB0eXBlIEJhc2VQcm9qZWN0VHlwZSA9IENvcmVNb2RlbHMuQmFzZVByb2plY3RUeXBlO1xuZXhwb3J0IGNvbnN0IEJhc2VQcm9qZWN0VHlwZUFyciA9IENvcmVNb2RlbHMuQmFzZVByb2plY3RUeXBlQXJyO1xuXG5cblxuLyoqXG4gKiBBbmd1bGFyIHByb2plY3QgdHlwZVxuICovXG5leHBvcnQgdHlwZSBOZ1Byb2plY3QgPSB7XG4gIHByb2plY3RUeXBlOiAnbGlicmFyeScgfCAnYXBwbGljYXRpb24nO1xuICAvKipcbiAgICogd2hlcmUgbmctcGFja2Fnci5qc29uIGlzIGxvY2F0ZWQsIHRzY29uZmlnIGV0Yy5cbiAgICovXG4gIHJvb3Q6IHN0cmluZztcbiAgLyoqXG4gICAqIFNvdXJjZSBjb2RlIHByb2plY3RcbiAgICovXG4gIHNvdXJjZVJvb3Q6IHN0cmluZztcbiAgcHJlZml4OiBzdHJpbmc7XG59O1xuXG5cblxuXG5leHBvcnQgdHlwZSBMaWJyYXJ5QnVpbGRDb21tYW5kT3B0aW9ucyA9IHtcbiAgd2F0Y2g/OiBib29sZWFuO1xufTtcblxuXG5cbmV4cG9ydCB0eXBlIExpYnJhcmllc0J1aWxkT3B0aW9uczxQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBCYXNlUHJvamVjdD4gPSB7XG4gIHN0cmF0ZWd5PzogJ2xpbmsnIHwgJ2NvcHknO1xuICAvKipcbiAgICogYnkgZGVmYXVsdCB3ZSBhcmUgY29weWluZyBhbGwgbGlicmFyaWVzIHRvIG5vZGVfbW9kdWxlcyBvZiBpdHNlbGZcbiAgICovXG4gIGNvcHlsaW5rX3RvX25vZGVfbW9kdWxlcz86IHN0cmluZ1tdO1xuICByZWxlYXNlQnVpbGQ/OiBib29sZWFuO1xuICAvKipcbiAgICogb3ZlcnJpZGUgYnVpbGQgb3B0aW9ucyBmb3Igc3BlY2lmaWMgbGlicmFyaWVzXG4gICAqIEB0b2RvXG4gICAqL1xuICBsaWJyYXJpZXM/OiBQUk9KRUNUW107XG4gIG91dHB1dExpbmVSZXBsYWNlPzogKFxuICAgIGxpYkZvck91dHB1dDogUFJPSkVDVCxcbiAgICB1c2VFeHRlcm5hbFByb3ZpZGVkTGliczogYm9vbGVhbixcbiAgKSA9PiAobGluZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIHVzZUxhc3RVc2VyQ29uZmlndXJhdGlvbj86IGJvb2xlYW47XG59O1xuXG5cblxuZXhwb3J0IHR5cGUgVGVzdEJ1aWxkT3B0aW9ucyA9IHtcbiAgb25seVNwZWN5ZmljRmlsZXM/OiBzdHJpbmdbXTtcbiAgdXBkYXRlU25hcHNob3Q/OiBib29sZWFuO1xufTtcblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlbG9nRGF0YSB7XG4gIGNoYW5nZXM6IHN0cmluZ1tdO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGRhdGU6IHN0cmluZztcbn1cblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVzaFByb2Nlc3NPcHRpb25zIHtcbiAgZm9yY2U/OiBib29sZWFuO1xuICB0eXBlb2ZDb21taXQ/OiBUeXBlT2ZDb21taXQ7XG4gIG1lcmdlVXBkYXRlQ29tbWl0cz86IGJvb2xlYW47XG4gIGFza1RvQ29uZmlybVB1c2g/OiBib29sZWFuO1xuICBhc2tUb0NvbmZpcm1Db21taXQ/OiBib29sZWFuO1xuICBza2lwTGludD86IGJvb2xlYW47XG4gIGFza1RvQ29uZmlybUJyYW5jaENoYW5nZT86IGJvb2xlYW47XG4gIG9yaWdpbj86IHN0cmluZztcbiAgYXJncz86IHN0cmluZ1tdO1xuICBzZXRPcmlnaW4/OiAnc3NoJyB8ICdodHRwJztcbiAgZXhpdENhbGxCYWNrPzogKCkgPT4gdm9pZDtcbiAgZm9yY2VQdXNoTm9RdWVzdGlvbj86IGJvb2xlYW47XG4gIG92ZXJyaWRlQ29tbWl0TWVzc2FnZT86IHN0cmluZztcbiAgY29tbWl0TWVzc2FnZVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIG9ubHkgbmVlZGVkIHdoZW4gcHVzaCBnaXRodWJcbiAgICogYW5kIEkgZm9yZ290IHRvIGFkZCBteSB1c2VybmFtZSBiZWZvcmUgaXNzdWVcbiAgICogdGFvbiBwZml4IHByb3BlciBpbnB1dCBteS1yZXBvIzM0NFxuICAgKiB0aGF0IHNob3VsZCBiZVxuICAgKiB0YW9uIHBmaXggcHJvcGVyIGlucHV0IG15LXVzZXJuYW1lL215LXJlcG8jMzQ0XG4gICAqL1xuICBjdXJyZW50T3JpZ2luPzogc3RyaW5nO1xuICBza2lwQ2hpbGRyZW4/OiBib29sZWFuO1xuICBub0V4aXQ/OiBib29sZWFuO1xufVxuXG5cblxuZXhwb3J0IGNsYXNzIENvbW1hbmRDb25maWcge1xuICBzdGF0aWMgZnJvbShjb25maWc6IENvbW1hbmRDb25maWcpOiBDb21tYW5kQ29uZmlnIHtcbiAgICByZXR1cm4gbmV3IENvbW1hbmRDb25maWcoY29uZmlnIGFzIGFueSk7XG4gIH1cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihkYXRhOiBDb21tYW5kQ29uZmlnKSB7XG4gICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xuICAgIH0pO1xuICB9XG4gIG5hbWU6IHN0cmluZztcbiAgY21kOiBzdHJpbmc7XG5cbiAgaGVhZGVyTWVzc2FnZVdoZW5BY3RpdmU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgb3V0cHV0IHdpbGwgYmUgc3RvcmVkIGluIGEgYnVmZmVyIGFuZCBkaXNwbGF5ZWQgd2hlbiByZXF1ZXN0ZWQuXG4gICAqIERlZmF1bHQ6IHRydWVcbiAgICovXG4gIHVzZURhdGFCdWZmZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogUHJvY2VzcyB0aGF0IHNob3VsZCBiZSBzdGFydGVkXG4gICAqIGJlZm9yZSB0aGlzIHByb2Nlc3Mgc3RhcnRzLlxuICAgKi9cbiAgc2hvdWxkQmVBY3RpdmVPckFscmVhZHlCdWlsZD86IENvbW1hbmRDb25maWdbXSA9IFtdO1xuICBnb1RvTmV4dENvbW1hbmRXaGVuT3V0cHV0PzpcbiAgICB8IHN0cmluZ1xuICAgIHwge1xuICAgICAgICBzdGRvdXRDb250YWlucz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgICBzdGRlcnJDb250YWlucz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbn1cblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc01hbmFnZXJDb25maWc8UFJPSkVDVD4ge1xuICB0aXRsZTogc3RyaW5nO1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIGNvbW1hbmRzOiBDb21tYW5kQ29uZmlnW107XG4gIC8qKlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKiBJZiBmYWxzZSAtIGFmdGVyIGZpcnN0IHNlbGVjdGlvbiBvZiBwcm9jZXNzZXMsIGl0IHdpbGwgYmUgbm90IHBvc3NpYmxlXG4gICAqIHRvIGFkZCBuZXcgcHJvY2Vzc2VzIHRvIGJ1aWxkIGFuZCBidWlsZCB3aWxsIGJlIGRvbmUgYWZ0ZXJcbiAgICogYWxsIHByb2Nlc3NlcyBhcmUgZG9uZS5cbiAgICovXG4gIHdhdGNoPzogYm9vbGVhbjtcbn1cblxuXG5cbmV4cG9ydCBlbnVtIENvbW1hbmRQcm9jZXNzU3RhdGUge1xuICBOT1RfU1RBUlRFRCA9ICdub3Qtc3RhcnRlZCcsXG4gIFdBSVRJTkdfVE9fU1RBUlQgPSAnd2FpdGluZy10by1zdGFydCcsXG4gIFJVTk5JTkcgPSAncnVubmluZycsXG4gIEZJTklTSEVEX0FORF9SVU5OSU5HID0gJ2ZpbmlzaGVkLWFuZC1ydW5uaW5nJywgLy8gb25seSBmb3Igd2F0Y2ggbW9kZVxuICBGSU5JU0hFRCA9ICdmaW5pc2hlZCcsIC8vIG9ubHkgZm9yIG5vcm1hbCBtb2RlXG59XG5cblxuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRQcm9jZXNzUnVuT3B0aW9ucyB7XG4gIHByb2dyZXNzPzogKG46IG51bWJlciwgdG90YWw6IG51bWJlcikgPT4gdm9pZDtcbiAgcmVzb2x2ZU5leHRQcm9jZXNzPzogKFxuICAgIGN1cnJlbnRQcm9jZXNzOiBDb21tYW5kUHJvY2VzcyxcbiAgKSA9PiBQcm9taXNlPENvbW1hbmRQcm9jZXNzPjtcbiAgcmVzb2x2ZVdoZW5GaW5pc2g/OiBib29sZWFuO1xufVxuXG5cblxuZXhwb3J0IGNsYXNzIENvbW1hbmRQcm9jZXNzIHtcblxuICBwcml2YXRlIHN0YXRlOiBDb21tYW5kUHJvY2Vzc1N0YXRlID0gQ29tbWFuZFByb2Nlc3NTdGF0ZS5OT1RfU1RBUlRFRDtcbiAgcHVibGljIHJlYWRvbmx5IGNoaWxkX3Byb2Nlc3M/OiBDaGlsZFByb2Nlc3M7XG5cbiAgcHJvdGVjdGVkIGdldCBjbWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY21kO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLm5hbWU7XG4gIH1cblxuICBnZXQgaGVhZGVyTWVzc2FnZVdoZW5BY3RpdmUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaGVhZGVyTWVzc2FnZVdoZW5BY3RpdmU7XG4gIH1cblxuICBnZXQgcGlkKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRfcHJvY2Vzcy5waWQ7XG4gIH1cblxuICBnZXQgaXNGaW5pc2hlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW1xuICAgICAgQ29tbWFuZFByb2Nlc3NTdGF0ZS5GSU5JU0hFRCxcbiAgICAgIENvbW1hbmRQcm9jZXNzU3RhdGUuRklOSVNIRURfQU5EX1JVTk5JTkcsXG4gICAgXS5pbmNsdWRlcyh0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIGdldCBpc1J1bm5pbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQcm9jZXNzU3RhdGUuUlVOTklORyxcbiAgICAgIENvbW1hbmRQcm9jZXNzU3RhdGUuRklOSVNIRURfQU5EX1JVTk5JTkcsXG4gICAgXS5pbmNsdWRlcyh0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIGdldCBpc1dhaXRpbmdUb1N0YXJ0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlID09PSBDb21tYW5kUHJvY2Vzc1N0YXRlLldBSVRJTkdfVE9fU1RBUlQ7XG4gIH1cblxuICBtYXJrRm9yU3RhcnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNSdW5uaW5nIHx8IHRoaXMuaXNXYWl0aW5nVG9TdGFydCkge1xuICAgICAgY29uc29sZS53YXJuKGBBbHJlYWR5IHJ1bm5pbmcgb3Igd2FpdGluZyB0byBzdGFydDogJHt0aGlzLm5hbWV9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSBDb21tYW5kUHJvY2Vzc1N0YXRlLldBSVRJTkdfVE9fU1RBUlQ7XG4gIH1cblxuXG4gIHB1YmxpYyBkZXBlbmRlbmNpZXNQcm9jZXNzZXM6IENvbW1hbmRQcm9jZXNzW10gPSBbXTtcblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJvamVjdDogQmFzZVByb2plY3QsXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbW1hbmRDb25maWcsXG4gICAgcHJpdmF0ZSBtYW5hZ2VyOiBCYXNlUHJvY2Vzc01hbmdlcixcbiAgKSB7fVxuXG5cblxuXG4gIGFzeW5jIHN0YXJ0KG9wdGlvbnM/OiBDb21tYW5kUHJvY2Vzc1J1bk9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cblxuXG5leHBvcnQgdHlwZSBDZm9udFN0eWxlID1cbiAgfCAnYmxvY2snXG4gIHwgJ3NsaWNrJ1xuICB8ICd0aW55J1xuICB8ICdncmlkJ1xuICB8ICdwYWxsZXQnXG4gIHwgJ3NoYWRlJ1xuICB8ICdjaHJvbWUnXG4gIHwgJ3NpbXBsZSdcbiAgfCAnc2ltcGxlQmxvY2snXG4gIHwgJzNkJ1xuICB8ICdzaW1wbGUzZCdcbiAgfCAnaHVnZSc7XG5cbmV4cG9ydCB0eXBlIENmb250QWxpZ24gPSAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcgfCAnYmxvY2snO1xuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvbW9kZWxzLnRzIl19