tnp-helpers 16.0.4 → 16.0.6

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 (174) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2020/lib/base-component.mjs +50 -0
  4. package/browser/esm2020/lib/base-formly-component.mjs +113 -0
  5. package/browser/esm2020/lib/helpers-browser.mjs +47 -0
  6. package/browser/esm2020/lib/helpers.mjs +286 -0
  7. package/browser/esm2020/lib/long-press.directive.mjs +113 -0
  8. package/browser/esm2020/lib/project.mjs +430 -0
  9. package/browser/esm2020/lib/resize-service.mjs +22 -0
  10. package/browser/fesm2015/tnp-helpers.mjs +1741 -0
  11. package/browser/fesm2015/tnp-helpers.mjs.map +1 -0
  12. package/{client/fesm2022 → browser/fesm2020}/tnp-helpers.mjs +35 -39
  13. package/browser/{fesm2022 → fesm2020}/tnp-helpers.mjs.map +1 -1
  14. package/browser/lib/base-component.d.ts +1 -1
  15. package/browser/lib/base-formly-component.d.ts +1 -1
  16. package/browser/lib/condition-wait.d.ts +1 -1
  17. package/browser/lib/long-press.directive.d.ts +1 -1
  18. package/browser/lib/project.d.ts +2 -2
  19. package/browser/package.json +12 -6
  20. package/client/README.md +24 -24
  21. package/client/esm2020/lib/base-component.mjs +50 -0
  22. package/client/esm2020/lib/base-formly-component.mjs +113 -0
  23. package/client/esm2020/lib/helpers-browser.mjs +47 -0
  24. package/client/esm2020/lib/helpers.mjs +286 -0
  25. package/client/esm2020/lib/long-press.directive.mjs +113 -0
  26. package/client/esm2020/lib/project.mjs +430 -0
  27. package/client/esm2020/lib/resize-service.mjs +22 -0
  28. package/client/fesm2015/tnp-helpers.mjs +1741 -0
  29. package/client/fesm2015/tnp-helpers.mjs.map +1 -0
  30. package/{browser/fesm2022 → client/fesm2020}/tnp-helpers.mjs +35 -39
  31. package/client/{fesm2022 → fesm2020}/tnp-helpers.mjs.map +1 -1
  32. package/client/lib/base-component.d.ts +1 -1
  33. package/client/lib/base-formly-component.d.ts +1 -1
  34. package/client/lib/condition-wait.d.ts +1 -1
  35. package/client/lib/long-press.directive.d.ts +1 -1
  36. package/client/lib/project.d.ts +2 -2
  37. package/client/package.json +75 -30
  38. package/index.js.map +1 -1
  39. package/lib/angular.helper.js +3 -3
  40. package/lib/angular.helper.js.map +1 -1
  41. package/lib/base-component.js +3 -3
  42. package/lib/base-component.js.map +1 -1
  43. package/lib/base-formly-component.js +3 -3
  44. package/lib/base-formly-component.js.map +1 -1
  45. package/lib/condition-wait.d.ts +1 -1
  46. package/lib/condition-wait.js.map +1 -1
  47. package/lib/constants.js.map +1 -1
  48. package/lib/dual-component-ctrl.js +3 -3
  49. package/lib/dual-component-ctrl.js.map +1 -1
  50. package/lib/firedev-models.js.map +1 -1
  51. package/lib/git-project.js.map +1 -1
  52. package/lib/helpers-array-obj.js.map +1 -1
  53. package/lib/helpers-browser.js +2 -1
  54. package/lib/helpers-browser.js.map +1 -1
  55. package/lib/helpers-cli-tool.backend.js.map +1 -1
  56. package/lib/helpers-console-gui.js.map +1 -1
  57. package/lib/helpers-dependencies.backend.js.map +1 -1
  58. package/lib/helpers-environment.js.map +1 -1
  59. package/lib/helpers-file-folders.backend.js.map +1 -1
  60. package/lib/helpers-git.backend.js +5 -1
  61. package/lib/helpers-git.backend.js.map +1 -1
  62. package/lib/helpers-json5.backend.js.map +1 -1
  63. package/lib/helpers-morphi-framework.backend.js.map +1 -1
  64. package/lib/helpers-network.backend.js.map +1 -1
  65. package/lib/helpers-npm.backend.js.map +1 -1
  66. package/lib/helpers-numbers.js.map +1 -1
  67. package/lib/helpers-path.backend.js.map +1 -1
  68. package/lib/helpers-process.backend.js.map +1 -1
  69. package/lib/helpers-strings-regexes.js.map +1 -1
  70. package/lib/helpers-strings.js.map +1 -1
  71. package/lib/helpers-system-terminal.backend.js.map +1 -1
  72. package/lib/helpers-vscode.backend.js.map +1 -1
  73. package/lib/helpers.js.map +1 -1
  74. package/lib/index.js.map +1 -1
  75. package/lib/long-press.directive.js +2 -1
  76. package/lib/long-press.directive.js.map +1 -1
  77. package/lib/merge-helpers.backend.d.ts +1 -1
  78. package/lib/merge-helpers.backend.js.map +1 -1
  79. package/lib/project.d.ts +2 -2
  80. package/lib/project.js +3 -4
  81. package/lib/project.js.map +1 -1
  82. package/lib/resize-service.js +2 -1
  83. package/lib/resize-service.js.map +1 -1
  84. package/lib/ts-code/index.js.map +1 -1
  85. package/lib/ts-code/ts-code-extractor.d.ts +1 -1
  86. package/lib/ts-code/ts-code-extractor.js.map +1 -1
  87. package/lib/ts-code/ts-code-modifier.backend.js.map +1 -1
  88. package/package.json +45 -5
  89. package/package.json_devDependencies.json +222 -222
  90. package/package.json_tnp.json5 +49 -49
  91. package/tmp-environment.json +39 -34
  92. package/websql/README.md +24 -24
  93. package/websql/esm2020/lib/base-component.mjs +50 -0
  94. package/websql/esm2020/lib/base-formly-component.mjs +113 -0
  95. package/websql/esm2020/lib/helpers-browser.mjs +47 -0
  96. package/websql/esm2020/lib/helpers.mjs +286 -0
  97. package/{browser/esm2022 → websql/esm2020}/lib/long-press.directive.mjs +7 -8
  98. package/websql/esm2020/lib/project.mjs +430 -0
  99. package/websql/esm2020/lib/resize-service.mjs +22 -0
  100. package/websql/fesm2015/tnp-helpers.mjs +1741 -0
  101. package/websql/fesm2015/tnp-helpers.mjs.map +1 -0
  102. package/websql/{fesm2022 → fesm2020}/tnp-helpers.mjs +35 -39
  103. package/websql/{fesm2022 → fesm2020}/tnp-helpers.mjs.map +1 -1
  104. package/websql/lib/base-component.d.ts +1 -1
  105. package/websql/lib/base-formly-component.d.ts +1 -1
  106. package/websql/lib/condition-wait.d.ts +1 -1
  107. package/websql/lib/long-press.directive.d.ts +1 -1
  108. package/websql/lib/project.d.ts +2 -2
  109. package/websql/package.json +12 -6
  110. package/browser/esm2022/lib/base-component.mjs +0 -51
  111. package/browser/esm2022/lib/base-formly-component.mjs +0 -114
  112. package/browser/esm2022/lib/helpers-browser.mjs +0 -48
  113. package/browser/esm2022/lib/helpers.mjs +0 -286
  114. package/browser/esm2022/lib/project.mjs +0 -431
  115. package/browser/esm2022/lib/resize-service.mjs +0 -23
  116. package/client/esm2022/lib/base-component.mjs +0 -51
  117. package/client/esm2022/lib/base-formly-component.mjs +0 -114
  118. package/client/esm2022/lib/helpers-browser.mjs +0 -48
  119. package/client/esm2022/lib/helpers.mjs +0 -286
  120. package/client/esm2022/lib/long-press.directive.mjs +0 -114
  121. package/client/esm2022/lib/project.mjs +0 -431
  122. package/client/esm2022/lib/resize-service.mjs +0 -23
  123. package/websql/esm2022/lib/base-component.mjs +0 -51
  124. package/websql/esm2022/lib/base-formly-component.mjs +0 -114
  125. package/websql/esm2022/lib/helpers-browser.mjs +0 -48
  126. package/websql/esm2022/lib/helpers.mjs +0 -286
  127. package/websql/esm2022/lib/long-press.directive.mjs +0 -114
  128. package/websql/esm2022/lib/project.mjs +0 -431
  129. package/websql/esm2022/lib/resize-service.mjs +0 -23
  130. /package/browser/{esm2022 → esm2020}/lib/angular.helper.mjs +0 -0
  131. /package/browser/{esm2022 → esm2020}/lib/condition-wait.mjs +0 -0
  132. /package/browser/{esm2022 → esm2020}/lib/constants.mjs +0 -0
  133. /package/browser/{esm2022 → esm2020}/lib/dual-component-ctrl.mjs +0 -0
  134. /package/browser/{esm2022 → esm2020}/lib/firedev-models.mjs +0 -0
  135. /package/browser/{esm2022 → esm2020}/lib/helpers-array-obj.mjs +0 -0
  136. /package/browser/{esm2022 → esm2020}/lib/helpers-console-gui.mjs +0 -0
  137. /package/browser/{esm2022 → esm2020}/lib/helpers-environment.mjs +0 -0
  138. /package/browser/{esm2022 → esm2020}/lib/helpers-numbers.mjs +0 -0
  139. /package/browser/{esm2022 → esm2020}/lib/helpers-strings-regexes.mjs +0 -0
  140. /package/browser/{esm2022 → esm2020}/lib/helpers-strings.mjs +0 -0
  141. /package/browser/{esm2022 → esm2020}/lib/index.mjs +0 -0
  142. /package/browser/{esm2022 → esm2020}/public-api.mjs +0 -0
  143. /package/browser/{esm2022 → esm2020}/tnp-helpers.mjs +0 -0
  144. /package/browser/{index.d.ts → tnp-helpers.d.ts} +0 -0
  145. /package/client/{esm2022 → esm2020}/lib/angular.helper.mjs +0 -0
  146. /package/client/{esm2022 → esm2020}/lib/condition-wait.mjs +0 -0
  147. /package/client/{esm2022 → esm2020}/lib/constants.mjs +0 -0
  148. /package/client/{esm2022 → esm2020}/lib/dual-component-ctrl.mjs +0 -0
  149. /package/client/{esm2022 → esm2020}/lib/firedev-models.mjs +0 -0
  150. /package/client/{esm2022 → esm2020}/lib/helpers-array-obj.mjs +0 -0
  151. /package/client/{esm2022 → esm2020}/lib/helpers-console-gui.mjs +0 -0
  152. /package/client/{esm2022 → esm2020}/lib/helpers-environment.mjs +0 -0
  153. /package/client/{esm2022 → esm2020}/lib/helpers-numbers.mjs +0 -0
  154. /package/client/{esm2022 → esm2020}/lib/helpers-strings-regexes.mjs +0 -0
  155. /package/client/{esm2022 → esm2020}/lib/helpers-strings.mjs +0 -0
  156. /package/client/{esm2022 → esm2020}/lib/index.mjs +0 -0
  157. /package/client/{esm2022 → esm2020}/public-api.mjs +0 -0
  158. /package/client/{esm2022 → esm2020}/tnp-helpers.mjs +0 -0
  159. /package/client/{index.d.ts → tnp-helpers.d.ts} +0 -0
  160. /package/websql/{esm2022 → esm2020}/lib/angular.helper.mjs +0 -0
  161. /package/websql/{esm2022 → esm2020}/lib/condition-wait.mjs +0 -0
  162. /package/websql/{esm2022 → esm2020}/lib/constants.mjs +0 -0
  163. /package/websql/{esm2022 → esm2020}/lib/dual-component-ctrl.mjs +0 -0
  164. /package/websql/{esm2022 → esm2020}/lib/firedev-models.mjs +0 -0
  165. /package/websql/{esm2022 → esm2020}/lib/helpers-array-obj.mjs +0 -0
  166. /package/websql/{esm2022 → esm2020}/lib/helpers-console-gui.mjs +0 -0
  167. /package/websql/{esm2022 → esm2020}/lib/helpers-environment.mjs +0 -0
  168. /package/websql/{esm2022 → esm2020}/lib/helpers-numbers.mjs +0 -0
  169. /package/websql/{esm2022 → esm2020}/lib/helpers-strings-regexes.mjs +0 -0
  170. /package/websql/{esm2022 → esm2020}/lib/helpers-strings.mjs +0 -0
  171. /package/websql/{esm2022 → esm2020}/lib/index.mjs +0 -0
  172. /package/websql/{esm2022 → esm2020}/public-api.mjs +0 -0
  173. /package/websql/{esm2022 → esm2020}/tnp-helpers.mjs +0 -0
  174. /package/websql/{index.d.ts → tnp-helpers.d.ts} +0 -0
@@ -1,48 +0,0 @@
1
- const key = Symbol('[firedev-helpers] helper browser key');
2
- class HelpersBrowaser {
3
- static { this.callbacks = []; }
4
- static onInit(callback) {
5
- this.callbacks.push(callback);
6
- }
7
- get win() {
8
- let win = window;
9
- return win;
10
- }
11
- get tabIdSessionStorage() {
12
- return Number(this.win.sessionStorage?.tabId) || 0;
13
- }
14
- constructor(win) {
15
- this.init = (() => {
16
- const win = this.win;
17
- if (!win[key]) {
18
- win[key] = new HelpersBrowaser(win);
19
- }
20
- HelpersBrowaser.inst = win[key];
21
- })();
22
- win.addEventListener("beforeunload", (e) => {
23
- win.sessionStorage.tabId = this.tabId;
24
- return null;
25
- });
26
- setTimeout(() => {
27
- if (win.sessionStorage?.tabId) {
28
- // @ts-ignore
29
- this.tabId = Number(win.sessionStorage.tabId);
30
- win.sessionStorage.removeItem("tabId");
31
- }
32
- else {
33
- // @ts-ignore
34
- this.tabId = Math.floor(Math.random() * 1000000) + (new Date()).getTime();
35
- }
36
- HelpersBrowaser.callbacks.forEach((c) => {
37
- c(this);
38
- });
39
- });
40
- }
41
- static get instance() {
42
- return HelpersBrowaser.inst;
43
- }
44
- }
45
- export { HelpersBrowaser };
46
- ;
47
- ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers-browser.ts
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFFMUQsTUFBYSxlQUFlO2FBRVgsY0FBUyxHQUFHLEVBQUUsQUFBTCxDQUFNO0lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBdUM7UUFDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNqQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFZLG1CQUFtQjtRQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQWNELFlBQW9CLEdBQVc7UUFUL0IsU0FBSSxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUVyQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNyQztZQUNELGVBQWUsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFJSCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUVkLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUU7Z0JBQzdCLGFBQWE7Z0JBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEM7aUJBQ0k7Z0JBQ0gsYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzNFO1lBQ0QsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUdKLENBQUM7SUFHRCxNQUFNLEtBQUssUUFBUTtRQUNqQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQzs7U0F6RFUsZUFBZTtBQWtFM0IsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrREFBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5jb25zdCBrZXkgPSBTeW1ib2woJ1tmaXJlZGV2LWhlbHBlcnNdIGhlbHBlciBicm93c2VyIGtleScpXG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzQnJvd2FzZXIge1xuXG4gIHByaXZhdGUgc3RhdGljIGNhbGxiYWNrcyA9IFtdO1xuICBzdGF0aWMgb25Jbml0KGNhbGxiYWNrOiAoaW5zOiBIZWxwZXJzQnJvd2FzZXIpID0+IGFueSkge1xuICAgIHRoaXMuY2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuICB9XG5cbiAgZ2V0IHdpbigpIHtcbiAgICBsZXQgd2luID0gd2luZG93O1xuICAgIHJldHVybiB3aW47XG4gIH1cblxuICBwcml2YXRlIGdldCB0YWJJZFNlc3Npb25TdG9yYWdlKCkge1xuICAgIHJldHVybiBOdW1iZXIodGhpcy53aW4uc2Vzc2lvblN0b3JhZ2U/LnRhYklkKSB8fCAwO1xuICB9XG5cbiAgcmVhZG9ubHkgdGFiSWQ6IG51bWJlcjtcblxuICBwcml2YXRlIHN0YXRpYyBpbnN0OiBIZWxwZXJzQnJvd2FzZXI7XG4gIGluaXQgPSAoKCkgPT4ge1xuICAgIGNvbnN0IHdpbiA9IHRoaXMud2luO1xuXG4gICAgaWYgKCF3aW5ba2V5XSkge1xuICAgICAgd2luW2tleV0gPSBuZXcgSGVscGVyc0Jyb3dhc2VyKHdpbik7XG4gICAgfVxuICAgIEhlbHBlcnNCcm93YXNlci5pbnN0ID0gd2luW2tleV07XG4gIH0pKCk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih3aW46IFdpbmRvdykge1xuXG4gICAgd2luLmFkZEV2ZW50TGlzdGVuZXIoXCJiZWZvcmV1bmxvYWRcIiwgKGUpID0+IHtcbiAgICAgIHdpbi5zZXNzaW9uU3RvcmFnZS50YWJJZCA9IHRoaXMudGFiSWQ7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuXG4gICAgICBpZiAod2luLnNlc3Npb25TdG9yYWdlPy50YWJJZCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMudGFiSWQgPSBOdW1iZXIod2luLnNlc3Npb25TdG9yYWdlLnRhYklkKTtcbiAgICAgICAgd2luLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oXCJ0YWJJZFwiKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMudGFiSWQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKSArIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XG4gICAgICB9XG4gICAgICBIZWxwZXJzQnJvd2FzZXIuY2FsbGJhY2tzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgYyh0aGlzKTtcbiAgICAgIH0pO1xuICAgIH0pXG5cblxuICB9XG5cblxuICBzdGF0aWMgZ2V0IGluc3RhbmNlKCkge1xuICAgIHJldHVybiBIZWxwZXJzQnJvd2FzZXIuaW5zdDtcbiAgfVxuXG59XG5cblxuXG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMtYnJvd3Nlci50cyJdfQ==
@@ -1,286 +0,0 @@
1
- import { _ } from 'tnp-core/websql';
2
- import { HelpersArrayObj } from './helpers-array-obj';
3
- import { HelpersStringsRegexes } from './helpers-strings-regexes';
4
- import { HelpersEnvironment } from './helpers-environment';
5
- import { HelpersStrings } from './helpers-strings';
6
- import { HelpersConsoleGui } from './helpers-console-gui';
7
- import { conditionWait } from './condition-wait';
8
- import { Helpers } from './index';
9
- import { CLASS } from 'typescript-class-helpers/websql';
10
- import { Morphi } from 'morphi/websql';
11
- import { CoreHelpers } from 'tnp-core/websql';
12
- import { HelpersNumber } from './helpers-numbers';
13
- import { HelpersBrowaser } from './helpers-browser';
14
- import { NgHelpers } from './angular.helper';
15
- export function applyMixins(derivedCtor, baseCtors) {
16
- baseCtors.forEach(baseCtor => {
17
- Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
18
- Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));
19
- });
20
- });
21
- }
22
- // @ts-ignore
23
- export class HelpersTnp extends CoreHelpers {
24
- static get Instance() {
25
- if (!HelpersTnp._instance) {
26
- HelpersTnp._instance = new HelpersTnp();
27
- }
28
- return HelpersTnp._instance;
29
- }
30
- constructor(
31
- /* */
32
- /* */
33
- /* */
34
- /* */
35
- /* */
36
- /* */
37
- /* */
38
- /* */
39
- /* */
40
- /* */
41
- /* */
42
- /* */
43
- /* */
44
- arrays = new HelpersArrayObj(), strings = new HelpersStrings(), numbers = new HelpersNumber(), consoleGui = new HelpersConsoleGui(), browser = HelpersBrowaser.instance, ng = NgHelpers) {
45
- super();
46
- this.arrays = arrays;
47
- this.strings = strings;
48
- this.numbers = numbers;
49
- this.consoleGui = consoleGui;
50
- this.browser = browser;
51
- this.ng = ng;
52
- this.conditionWait = conditionWait;
53
- /* */
54
- /* */
55
- /* */
56
- /* */
57
- /* */
58
- /* */
59
- /* */
60
- /* */
61
- /* */
62
- /* */
63
- /* */
64
- /* */
65
- /* */
66
- /* */
67
- /* */
68
- /* */
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
- /* */
130
- /* */
131
- this.applyMixins = applyMixins;
132
- }
133
- CLIWRAP(f, name) {
134
- CLASS.setName(f, name);
135
- return f;
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
- /* */
171
- /* */
172
- /* */
173
- /* */
174
- /* */
175
- async isElevated() {
176
- /* */
177
- /* */
178
- /* */
179
- /* */
180
- }
181
- /* */
182
- /* */
183
- /* */
184
- /* */
185
- /* */
186
- /* */
187
- /* */
188
- /* */
189
- /* */
190
- /* */
191
- /* */
192
- /* */
193
- /* */
194
- /* */
195
- /* */
196
- /* */
197
- /* */
198
- /* */
199
- /* */
200
- /* */
201
- /* */
202
- /* */
203
- /* */
204
- /* */
205
- async mesureExectionInMs(description, functionToExecute, ...functionArguments) {
206
- var start = new Date();
207
- await Helpers.runSyncOrAsync(functionToExecute, ...functionArguments);
208
- //@ts-ignore
209
- var end = new Date() - start;
210
- if (Morphi.IsBrowser) {
211
- Helpers.info(`Execution time: ${end.toString()}ms for "${description}"`);
212
- }
213
- /* */
214
- /* */
215
- return end;
216
- }
217
- mesureExectionInMsSync(description, functionToExecute) {
218
- var start = new Date();
219
- functionToExecute();
220
- //@ts-ignore
221
- var end = new Date() - start;
222
- if (Morphi.IsBrowser) {
223
- Helpers.log(`Execution time: ${end.toString()}ms for "${description}"`);
224
- }
225
- /* */
226
- /* */
227
- return end;
228
- }
229
- waitForCondition(conditionFn, howOfftenCheckInMs = 1000) {
230
- return new Promise(async (resolve, reject) => {
231
- const result = await Helpers.runSyncOrAsync(conditionFn);
232
- if (result) {
233
- resolve(void 0);
234
- }
235
- else {
236
- setTimeout(() => {
237
- Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {
238
- resolve(void 0);
239
- });
240
- }, howOfftenCheckInMs);
241
- }
242
- });
243
- }
244
- getBrowserVerPath(moduleName, websql = false) {
245
- /* */
246
- /* */
247
- /* */
248
- /* */
249
- /* */
250
- }
251
- getMethodName(obj, method) {
252
- var methodName = null;
253
- Object.getOwnPropertyNames(obj).forEach(prop => {
254
- if (obj[prop] === method) {
255
- methodName = prop;
256
- }
257
- });
258
- if (methodName !== null) {
259
- return methodName;
260
- }
261
- var proto = Object.getPrototypeOf(obj);
262
- if (proto) {
263
- return Helpers.getMethodName(proto, method);
264
- }
265
- return null;
266
- }
267
- fixWebpackEnv(env) {
268
- _.forIn(env, (v, k) => {
269
- const value = v;
270
- if (value === 'true')
271
- env[k] = true;
272
- if (value === 'false')
273
- env[k] = false;
274
- });
275
- }
276
- }
277
- applyMixins(HelpersTnp, [
278
- HelpersStringsRegexes,
279
- HelpersEnvironment,
280
- /* */
281
- /* */
282
- /* */
283
- ]);
284
- ;
285
- ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers.ts
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUF3QmpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTdDLE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBZ0IsRUFBRSxTQUFnQjtJQUM1RCxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELGFBQWE7QUFDYixNQUFNLE9BQU8sVUFBVyxTQUFRLFdBQVc7SUFHbEMsTUFBTSxLQUFLLFFBQVE7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7WUFDekIsVUFBVSxDQUFDLFNBQVMsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRDtJQUNGLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFFTSxTQUFTLElBQUksZUFBZSxFQUFFLEVBQzlCLFVBQVUsSUFBSSxjQUFjLEVBQUUsRUFDOUIsVUFBVSxJQUFJLGFBQWEsRUFBRSxFQUM3QixhQUFhLElBQUksaUJBQWlCLEVBQUUsRUFFcEMsVUFBVSxlQUFlLENBQUMsUUFBUSxFQUNsQyxLQUFLLFNBQVM7UUFHckIsS0FBSyxFQUFFLENBQUM7UUFURCxXQUFNLEdBQU4sTUFBTSxDQUF3QjtRQUM5QixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQUVwQyxZQUFPLEdBQVAsT0FBTyxDQUEyQjtRQUNsQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBNEh2QixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQXNEaEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUdMLEtBQUs7UUFDTCxLQUFLO1FBRUksZ0JBQVcsR0FBRyxXQUFXLENBQUM7SUEvUGpDLENBQUM7SUFFRCxPQUFPLENBQUMsQ0FBVyxFQUFFLElBQVk7UUFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkIs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QUssQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FvRkY7QUFhRCxXQUFXLENBQUMsVUFBVSxFQUFFO0lBQ3RCLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDcEIsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0NBRUosQ0FBQyxDQUFDO0FBRUYsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1REFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IEhlbHBlcnNBcnJheU9iaiB9IGZyb20gJy4vaGVscGVycy1hcnJheS1vYmonO1xuaW1wb3J0IHsgSGVscGVyc1N0cmluZ3NSZWdleGVzIH0gZnJvbSAnLi9oZWxwZXJzLXN0cmluZ3MtcmVnZXhlcyc7XG5pbXBvcnQgeyBIZWxwZXJzRW52aXJvbm1lbnQgfSBmcm9tICcuL2hlbHBlcnMtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgSGVscGVyc1N0cmluZ3MgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncyc7XG5pbXBvcnQgeyBIZWxwZXJzQ29uc29sZUd1aSB9IGZyb20gJy4vaGVscGVycy1jb25zb2xlLWd1aSc7XG5pbXBvcnQgeyBjb25kaXRpb25XYWl0IH0gZnJvbSAnLi9jb25kaXRpb24td2FpdCc7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IGNvbmZpZywgQ29uZmlnTW9kZWxzIH0gZnJvbSAndG5wLWNvbmZpZy93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvd2Vic3FsJztcbmltcG9ydCB7IE1vcnBoaSB9IGZyb20gJ21vcnBoaS93ZWJzcWwnO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVyc051bWJlciB9IGZyb20gJy4vaGVscGVycy1udW1iZXJzJztcblxuaW1wb3J0IHsgSGVscGVyc0Jyb3dhc2VyIH0gZnJvbSAnLi9oZWxwZXJzLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBOZ0hlbHBlcnMgfSBmcm9tICcuL2FuZ3VsYXIuaGVscGVyJztcblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseU1peGlucyhkZXJpdmVkQ3RvcjogYW55LCBiYXNlQ3RvcnM6IGFueVtdKSB7XG4gIGJhc2VDdG9ycy5mb3JFYWNoKGJhc2VDdG9yID0+IHtcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhiYXNlQ3Rvci5wcm90b3R5cGUpLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVyaXZlZEN0b3IucHJvdG90eXBlLCBuYW1lLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJhc2VDdG9yLnByb3RvdHlwZSwgbmFtZSkpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNsYXNzIEhlbHBlcnNUbnAgZXh0ZW5kcyBDb3JlSGVscGVycyB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBIZWxwZXJzVG5wICYgQ29yZUhlbHBlcnM7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0IEluc3RhbmNlKCkge1xuICAgIGlmICghSGVscGVyc1RucC5faW5zdGFuY2UpIHtcbiAgICAgIEhlbHBlcnNUbnAuX2luc3RhbmNlID0gbmV3IEhlbHBlcnNUbnAoKTtcbiAgICB9XG4gICAgcmV0dXJuIEhlbHBlcnNUbnAuX2luc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIHB1YmxpYyBhcnJheXMgPSBuZXcgSGVscGVyc0FycmF5T2JqKCksXG4gICAgcHVibGljIHN0cmluZ3MgPSBuZXcgSGVscGVyc1N0cmluZ3MoKSxcbiAgICBwdWJsaWMgbnVtYmVycyA9IG5ldyBIZWxwZXJzTnVtYmVyKCksXG4gICAgcHVibGljIGNvbnNvbGVHdWkgPSBuZXcgSGVscGVyc0NvbnNvbGVHdWkoKSxcblxuICAgIHB1YmxpYyBicm93c2VyID0gSGVscGVyc0Jyb3dhc2VyLmluc3RhbmNlLFxuICAgIHB1YmxpYyBuZyA9IE5nSGVscGVyc1xuXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBDTElXUkFQKGY6IEZ1bmN0aW9uLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBDTEFTUy5zZXROYW1lKGYsIG5hbWUpO1xuICAgIHJldHVybiBmO1xuICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuICBhc3luYyBpc0VsZXZhdGVkKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5cbiAgYXN5bmMgbWVzdXJlRXhlY3Rpb25Jbk1zKFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGU6IEZ1bmN0aW9uLFxuICAgIC4uLmZ1bmN0aW9uQXJndW1lbnRzOiBhbnlbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKVxuICAgIGF3YWl0IEhlbHBlcnMucnVuU3luY09yQXN5bmMoZnVuY3Rpb25Ub0V4ZWN1dGUsIC4uLmZ1bmN0aW9uQXJndW1lbnRzKTtcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB2YXIgZW5kID0gbmV3IERhdGUoKSAtIHN0YXJ0XG4gICAgaWYgKE1vcnBoaS5Jc0Jyb3dzZXIpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhgRXhlY3V0aW9uIHRpbWU6ICR7ZW5kLnRvU3RyaW5nKCl9bXMgZm9yIFwiJHtkZXNjcmlwdGlvbn1cImApO1xuICAgIH1cbi8qICovXG4vKiAqL1xuICBcbiAgICByZXR1cm4gZW5kO1xuICB9XG5cbiAgbWVzdXJlRXhlY3Rpb25Jbk1zU3luYyhcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIGZ1bmN0aW9uVG9FeGVjdXRlOiAoKSA9PiB2b2lkKTogbnVtYmVyIHtcbiAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGUoKTtcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB2YXIgZW5kID0gbmV3IERhdGUoKSAtIHN0YXJ0XG4gICAgaWYgKE1vcnBoaS5Jc0Jyb3dzZXIpIHtcbiAgICAgIEhlbHBlcnMubG9nKGBFeGVjdXRpb24gdGltZTogJHtlbmQudG9TdHJpbmcoKX1tcyBmb3IgXCIke2Rlc2NyaXB0aW9ufVwiYCk7XG4gICAgfVxuLyogKi9cbi8qICovXG4gIFxuICAgIHJldHVybiBlbmQ7XG4gIH1cblxuICBjb25kaXRpb25XYWl0ID0gY29uZGl0aW9uV2FpdDtcblxuICB3YWl0Rm9yQ29uZGl0aW9uKGNvbmRpdGlvbkZuOiAoYW55KSA9PiBib29sZWFuLCBob3dPZmZ0ZW5DaGVja0luTXMgPSAxMDAwKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgSGVscGVycy5ydW5TeW5jT3JBc3luYyhjb25kaXRpb25Gbik7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHJlc29sdmUodm9pZCAwKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgSGVscGVycy53YWl0Rm9yQ29uZGl0aW9uKGNvbmRpdGlvbkZuLCBob3dPZmZ0ZW5DaGVja0luTXMpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSh2b2lkIDApO1xuICAgICAgICAgIH0pXG4gICAgICAgIH0sIGhvd09mZnRlbkNoZWNrSW5Ncyk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldEJyb3dzZXJWZXJQYXRoKG1vZHVsZU5hbWU/OiBzdHJpbmcsIHdlYnNxbDogYm9vbGVhbiA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuICBnZXRNZXRob2ROYW1lKG9iaiwgbWV0aG9kKTogc3RyaW5nIHtcbiAgICB2YXIgbWV0aG9kTmFtZSA9IG51bGw7XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKS5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgaWYgKG9ialtwcm9wXSA9PT0gbWV0aG9kKSB7XG4gICAgICAgIG1ldGhvZE5hbWUgPSBwcm9wO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBtZXRob2ROYW1lO1xuICAgIH1cblxuICAgIHZhciBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopO1xuICAgIGlmIChwcm90bykge1xuICAgICAgcmV0dXJuIEhlbHBlcnMuZ2V0TWV0aG9kTmFtZShwcm90bywgbWV0aG9kKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBmaXhXZWJwYWNrRW52KGVudjogT2JqZWN0KSB7XG4gICAgXy5mb3JJbihlbnYsICh2LCBrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdiBhcyBhbnk7XG4gICAgICBpZiAodmFsdWUgPT09ICd0cnVlJykgZW52W2tdID0gdHJ1ZTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gJ2ZhbHNlJykgZW52W2tdID0gZmFsc2U7XG4gICAgfSlcbiAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4gIFxuICBwdWJsaWMgYXBwbHlNaXhpbnMgPSBhcHBseU1peGlucztcbn1cblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGludGVyZmFjZSBIZWxwZXJzVG5wIGV4dGVuZHNcbiAgSGVscGVyc1N0cmluZ3NSZWdleGVzLFxuICBIZWxwZXJzRW52aXJvbm1lbnRcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxueyB9XG5cbmFwcGx5TWl4aW5zKEhlbHBlcnNUbnAsIFtcbiAgSGVscGVyc1N0cmluZ3NSZWdleGVzLFxuICBIZWxwZXJzRW52aXJvbm1lbnQsXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXSk7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaGVscGVycy50cyJdfQ==
@@ -1,114 +0,0 @@
1
- import { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core'; /* */
2
- /* */
3
- /* */
4
- /* */
5
- /* */
6
- /* */
7
- /* */
8
- import { _ } from 'tnp-core/websql';
9
- import { Log, Level } from 'ng2-logger/websql';
10
- import * as i0 from "@angular/core";
11
- const log = Log.create(`[firedev-helpers] long-press`, Level.__NOTHING);
12
- class LongPress {
13
- constructor() {
14
- this.pressDuration = 1000;
15
- this.onLongPress = new EventEmitter();
16
- this.onLongPressing = new EventEmitter();
17
- this.onLongPressEnd = new EventEmitter();
18
- this.mouseX = 0;
19
- this.mouseY = 0;
20
- this.allowTrigger = false;
21
- this.triggerEnd = _.debounce(() => {
22
- this.endPress();
23
- }, 500);
24
- }
25
- get press() { return this.pressing; }
26
- get longPress() { return this.longPressing; }
27
- onMouseDown(event) {
28
- log.d(`MOUSE DOWN `);
29
- if (event.which !== 1)
30
- return;
31
- this.allowTrigger = true;
32
- this.mouseX = event.clientX;
33
- this.mouseY = event.clientY;
34
- this.pressing = true;
35
- this.longPressing = false;
36
- this.timeout = setTimeout(() => {
37
- if (this.allowTrigger) {
38
- this.longPressing = true;
39
- log.d(`long pressing start pressDuration:${this.pressDuration} `);
40
- this.onLongPress.emit(event);
41
- this.loop(event);
42
- }
43
- }, this.pressDuration);
44
- this.loop(event);
45
- }
46
- onMouseMove(event) {
47
- if (this.pressing && !this.longPressing) {
48
- const xThres = (event.clientX - this.mouseX) > 10;
49
- const yThres = (event.clientY - this.mouseY) > 10;
50
- if (xThres || yThres) {
51
- this.endPress();
52
- }
53
- }
54
- }
55
- loop(event) {
56
- if (this.longPressing) {
57
- this.timeout = setTimeout(() => {
58
- log.d(`emil longpressing`);
59
- this.triggerEnd();
60
- this.onLongPressing.emit(event);
61
- this.loop(event);
62
- }, 50);
63
- }
64
- }
65
- endPress(emit = true) {
66
- this.allowTrigger = false;
67
- clearTimeout(this.timeout);
68
- this.longPressing = false;
69
- this.pressing = false;
70
- if (emit) {
71
- log.d(`EMIT END`);
72
- this.onLongPressEnd.emit(true);
73
- }
74
- else {
75
- log.d(`NOT EMIT END`);
76
- }
77
- }
78
- onMouseUp() {
79
- this.endPress(false);
80
- }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: LongPress, selector: "[long-press]", inputs: { pressDuration: "pressDuration" }, outputs: { onLongPress: "onLongPress", onLongPressing: "onLongPressing", onLongPressEnd: "onLongPressEnd" }, host: { listeners: { "mousedown": "onMouseDown($event)", "mousemove": "onMouseMove($event)", "mouseup": "onMouseUp()" }, properties: { "class.press": "this.press", "class.longpress": "this.longPress" } }, ngImport: i0 }); }
83
- }
84
- export { LongPress };
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LongPress, decorators: [{
86
- type: Directive,
87
- args: [{ selector: '[long-press]' }]
88
- }], propDecorators: { pressDuration: [{
89
- type: Input
90
- }], onLongPress: [{
91
- type: Output
92
- }], onLongPressing: [{
93
- type: Output
94
- }], onLongPressEnd: [{
95
- type: Output
96
- }], press: [{
97
- type: HostBinding,
98
- args: ['class.press']
99
- }], longPress: [{
100
- type: HostBinding,
101
- args: ['class.longpress']
102
- }], onMouseDown: [{
103
- type: HostListener,
104
- args: ['mousedown', ['$event']]
105
- }], onMouseMove: [{
106
- type: HostListener,
107
- args: ['mousemove', ['$event']]
108
- }], onMouseUp: [{
109
- type: HostListener,
110
- args: ['mouseup']
111
- }] } });
112
- ;
113
- ({}); // @--end-of-file-for-module=tnp-helpers lib/long-press.directive.ts
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZy1wcmVzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2xvbmctcHJlc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBSSxTQUFTLEVBQUksS0FBSyxFQUFJLE1BQU0sRUFBSSxZQUFZLEVBQUksV0FBVyxFQUFJLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQyxDQUFBLEtBQUs7QUFDbkgsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBQy9DLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsOEJBQThCLEVBQ2pELEtBQUssQ0FBQyxTQUFTLENBQ2xCLENBQUE7QUFFRCxNQUNhLFNBQVM7SUFEdEI7UUFHVyxrQkFBYSxHQUFXLElBQUksQ0FBQztRQUU1QixnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUt6RCxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFRM0IsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7S0FvRVI7SUE3RUMs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QUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzs4R0F6RlUsU0FBUztrR0FBVCxTQUFTOztTQUFULFNBQVM7MkZBQVQsU0FBUztrQkFEckIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUU7OEJBRzVCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBU0gsS0FBSztzQkFEUixXQUFXO3VCQUFDLGFBQWE7Z0JBSXRCLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxpQkFBaUI7Z0JBUzlCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkJyQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW9DckMsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVM7O0FBT3hCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0VBQW9FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgICBEaXJlY3RpdmUsICAgSW5wdXQsICAgT3V0cHV0LCAgIEV2ZW50RW1pdHRlciwgICBIb3N0QmluZGluZywgICBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgTG9nLCBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvd2Vic3FsJztcbmNvbnN0IGxvZyA9IExvZy5jcmVhdGUoYFtmaXJlZGV2LWhlbHBlcnNdIGxvbmctcHJlc3NgXG4gICwgTGV2ZWwuX19OT1RISU5HXG4pXG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tsb25nLXByZXNzXScgfSlcbmV4cG9ydCBjbGFzcyBMb25nUHJlc3Mge1xuXG4gIEBJbnB1dCgpIHByZXNzRHVyYXRpb246IG51bWJlciA9IDEwMDA7XG5cbiAgQE91dHB1dCgpIG9uTG9uZ1ByZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uTG9uZ1ByZXNzaW5nOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uTG9uZ1ByZXNzRW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIHByZXNzaW5nOiBib29sZWFuO1xuICBwcml2YXRlIGxvbmdQcmVzc2luZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSB0aW1lb3V0OiBhbnk7XG4gIHByaXZhdGUgbW91c2VYOiBudW1iZXIgPSAwO1xuICBwcml2YXRlIG1vdXNlWTogbnVtYmVyID0gMDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnByZXNzJylcbiAgZ2V0IHByZXNzKCkgeyByZXR1cm4gdGhpcy5wcmVzc2luZzsgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubG9uZ3ByZXNzJylcbiAgZ2V0IGxvbmdQcmVzcygpIHsgcmV0dXJuIHRoaXMubG9uZ1ByZXNzaW5nOyB9XG5cbiAgYWxsb3dUcmlnZ2VyID0gZmFsc2U7XG4gIHRyaWdnZXJFbmQgPSBfLmRlYm91bmNlKCgpID0+IHtcbiAgICB0aGlzLmVuZFByZXNzKCk7XG4gIH0sIDUwMClcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBvbk1vdXNlRG93bihldmVudCkge1xuXG4gICAgbG9nLmQoYE1PVVNFIERPV04gYCk7XG5cbiAgICBpZiAoZXZlbnQud2hpY2ggIT09IDEpIHJldHVybjtcbiAgICB0aGlzLmFsbG93VHJpZ2dlciA9IHRydWU7XG5cbiAgICB0aGlzLm1vdXNlWCA9IGV2ZW50LmNsaWVudFg7XG4gICAgdGhpcy5tb3VzZVkgPSBldmVudC5jbGllbnRZO1xuXG4gICAgdGhpcy5wcmVzc2luZyA9IHRydWU7XG4gICAgdGhpcy5sb25nUHJlc3NpbmcgPSBmYWxzZTtcblxuICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYWxsb3dUcmlnZ2VyKSB7XG4gICAgICAgIHRoaXMubG9uZ1ByZXNzaW5nID0gdHJ1ZTtcbiAgICAgICAgbG9nLmQoYGxvbmcgcHJlc3Npbmcgc3RhcnQgIHByZXNzRHVyYXRpb246JHt0aGlzLnByZXNzRHVyYXRpb259IGApO1xuICAgICAgICB0aGlzLm9uTG9uZ1ByZXNzLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLmxvb3AoZXZlbnQpO1xuICAgICAgfVxuICAgIH0sIHRoaXMucHJlc3NEdXJhdGlvbik7XG5cbiAgICB0aGlzLmxvb3AoZXZlbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZU1vdmUoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5wcmVzc2luZyAmJiAhdGhpcy5sb25nUHJlc3NpbmcpIHtcbiAgICAgIGNvbnN0IHhUaHJlcyA9IChldmVudC5jbGllbnRYIC0gdGhpcy5tb3VzZVgpID4gMTA7XG4gICAgICBjb25zdCB5VGhyZXMgPSAoZXZlbnQuY2xpZW50WSAtIHRoaXMubW91c2VZKSA+IDEwO1xuICAgICAgaWYgKHhUaHJlcyB8fCB5VGhyZXMpIHtcbiAgICAgICAgdGhpcy5lbmRQcmVzcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxvb3AoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5sb25nUHJlc3NpbmcpIHtcbiAgICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBsb2cuZChgZW1pbCBsb25ncHJlc3NpbmdgKVxuICAgICAgICB0aGlzLnRyaWdnZXJFbmQoKTtcbiAgICAgICAgdGhpcy5vbkxvbmdQcmVzc2luZy5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgICAgIH0sIDUwKTtcbiAgICB9XG4gIH1cblxuICBlbmRQcmVzcyhlbWl0ID0gdHJ1ZSkge1xuICAgIHRoaXMuYWxsb3dUcmlnZ2VyID0gZmFsc2U7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gICAgdGhpcy5sb25nUHJlc3NpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnByZXNzaW5nID0gZmFsc2U7XG4gICAgaWYgKGVtaXQpIHtcbiAgICAgIGxvZy5kKGBFTUlUIEVORGApXG4gICAgICB0aGlzLm9uTG9uZ1ByZXNzRW5kLmVtaXQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZy5kKGBOT1QgRU1JVCBFTkRgKVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnKVxuICBvbk1vdXNlVXAoKSB7XG4gICAgdGhpcy5lbmRQcmVzcyhmYWxzZSk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2xvbmctcHJlc3MuZGlyZWN0aXZlLnRzIl19