tnp-helpers 16.100.4 → 16.100.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 (203) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base/base-project.mjs +21 -4
  4. package/browser/esm2022/lib/base/core-project.mjs +54 -0
  5. package/browser/esm2022/lib/base/index.mjs +3 -1
  6. package/browser/esm2022/lib/base/linked-project.mjs +77 -0
  7. package/browser/esm2022/lib/helpers/for-browser/angular.helper.mjs +89 -0
  8. package/browser/esm2022/lib/helpers/for-browser/helpers-browser.mjs +48 -0
  9. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +117 -0
  10. package/browser/esm2022/lib/helpers/helpers-numbers.mjs +12 -0
  11. package/browser/esm2022/lib/helpers/helpers-strings-regexes.mjs +51 -0
  12. package/browser/esm2022/lib/helpers/helpers-strings.mjs +258 -0
  13. package/browser/esm2022/lib/helpers/helpers.mjs +358 -0
  14. package/browser/esm2022/lib/index.mjs +3 -4
  15. package/browser/fesm2022/tnp-helpers.mjs +156 -96
  16. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  17. package/browser/lib/base/base-project.d.ts +4 -1
  18. package/browser/lib/base/core-project.d.ts +54 -0
  19. package/browser/lib/base/index.d.ts +3 -1
  20. package/{websql/lib/models.d.ts → browser/lib/base/linked-project.d.ts} +6 -21
  21. package/{client/lib → browser/lib/helpers}/helpers.d.ts +1 -1
  22. package/browser/lib/index.d.ts +2 -3
  23. package/client/README.md +24 -24
  24. package/client/esm2022/lib/base/base-project.mjs +21 -4
  25. package/client/esm2022/lib/base/core-project.mjs +54 -0
  26. package/client/esm2022/lib/base/index.mjs +3 -1
  27. package/client/esm2022/lib/base/linked-project.mjs +77 -0
  28. package/client/esm2022/lib/helpers/for-browser/angular.helper.mjs +89 -0
  29. package/client/esm2022/lib/helpers/for-browser/helpers-browser.mjs +48 -0
  30. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +117 -0
  31. package/client/esm2022/lib/helpers/helpers-numbers.mjs +12 -0
  32. package/client/esm2022/lib/helpers/helpers-strings-regexes.mjs +51 -0
  33. package/client/esm2022/lib/helpers/helpers-strings.mjs +258 -0
  34. package/client/esm2022/lib/helpers/helpers.mjs +358 -0
  35. package/client/esm2022/lib/index.mjs +3 -4
  36. package/client/fesm2022/tnp-helpers.mjs +156 -96
  37. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  38. package/client/lib/base/base-project.d.ts +4 -1
  39. package/client/lib/base/core-project.d.ts +54 -0
  40. package/client/lib/base/index.d.ts +3 -1
  41. package/{browser/lib/models.d.ts → client/lib/base/linked-project.d.ts} +6 -21
  42. package/{browser/lib → client/lib/helpers}/helpers.d.ts +1 -1
  43. package/client/lib/index.d.ts +2 -3
  44. package/client/package.json +35 -34
  45. package/{package.json_tnp.json5 → firedev.jsonc} +59 -59
  46. package/lib/base/base-command-line.backend.js +5 -3
  47. package/lib/base/base-command-line.backend.js.map +1 -1
  48. package/lib/base/base-project.d.ts +16 -1
  49. package/lib/base/base-project.js +29 -10
  50. package/lib/base/base-project.js.map +1 -1
  51. package/lib/base/core-project.d.ts +53 -0
  52. package/lib/base/core-project.js +78 -0
  53. package/lib/base/core-project.js.map +1 -0
  54. package/lib/base/index.d.ts +2 -0
  55. package/lib/base/index.js +2 -0
  56. package/lib/base/index.js.map +1 -1
  57. package/lib/base/linked-project.d.ts +35 -0
  58. package/lib/base/linked-project.js +96 -0
  59. package/lib/base/linked-project.js.map +1 -0
  60. package/lib/{for-backend → helpers/for-backend}/helpers-cli-tool.backend.d.ts +1 -1
  61. package/lib/{for-backend → helpers/for-backend}/helpers-cli-tool.backend.js +1 -1
  62. package/lib/{for-backend → helpers/for-backend}/helpers-cli-tool.backend.js.map +1 -1
  63. package/lib/{for-backend → helpers/for-backend}/helpers-console-gui.js +1 -1
  64. package/lib/{for-backend → helpers/for-backend}/helpers-console-gui.js.map +1 -1
  65. package/lib/{for-backend → helpers/for-backend}/helpers-dependencies.backend.js +1 -1
  66. package/lib/{for-backend → helpers/for-backend}/helpers-dependencies.backend.js.map +1 -1
  67. package/lib/{for-backend → helpers/for-backend}/helpers-file-folders.backend.d.ts +2 -7
  68. package/lib/{for-backend → helpers/for-backend}/helpers-file-folders.backend.js +13 -69
  69. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -0
  70. package/lib/{for-backend → helpers/for-backend}/helpers-git.backend.d.ts +7 -1
  71. package/lib/{for-backend → helpers/for-backend}/helpers-git.backend.js +70 -7
  72. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -0
  73. package/lib/{for-backend → helpers/for-backend}/helpers-path.backend.js +1 -1
  74. package/lib/{for-backend → helpers/for-backend}/helpers-path.backend.js.map +1 -1
  75. package/lib/{for-backend → helpers/for-backend}/helpers-process.backend.d.ts +0 -1
  76. package/lib/{for-backend → helpers/for-backend}/helpers-process.backend.js +1 -5
  77. package/lib/{for-backend → helpers/for-backend}/helpers-process.backend.js.map +1 -1
  78. package/lib/{for-backend → helpers/for-backend}/helpers-system-terminal.backend.js +1 -1
  79. package/lib/{for-backend → helpers/for-backend}/helpers-system-terminal.backend.js.map +1 -1
  80. package/lib/{for-backend → helpers/for-backend}/helpers-vscode.backend.d.ts +1 -1
  81. package/lib/{for-backend → helpers/for-backend}/helpers-vscode.backend.js +1 -1
  82. package/lib/{for-backend → helpers/for-backend}/helpers-vscode.backend.js.map +1 -1
  83. package/lib/{for-backend → helpers/for-backend}/ts-code/ts-code-extractor.js +1 -1
  84. package/lib/{for-backend → helpers/for-backend}/ts-code/ts-code-extractor.js.map +1 -1
  85. package/lib/{for-backend → helpers/for-backend}/ts-code/ts-code-modifier.backend.js +1 -1
  86. package/lib/{for-backend → helpers/for-backend}/ts-code/ts-code-modifier.backend.js.map +1 -1
  87. package/lib/helpers/for-browser/angular.helper.js +6 -0
  88. package/lib/{helpers-strings.js → helpers/helpers-strings.js} +1 -1
  89. package/lib/{helpers-strings.js.map → helpers/helpers-strings.js.map} +1 -1
  90. package/lib/{helpers.d.ts → helpers/helpers.d.ts} +1 -1
  91. package/lib/{helpers.js → helpers/helpers.js} +1 -1
  92. package/lib/{helpers.js.map → helpers/helpers.js.map} +1 -1
  93. package/lib/index.d.ts +2 -3
  94. package/lib/index.js +1 -2
  95. package/lib/index.js.map +1 -1
  96. package/lib/models.d.ts +0 -50
  97. package/lib/models.js +3 -107
  98. package/lib/models.js.map +1 -1
  99. package/lib/old/base-component.js +3 -3
  100. package/lib/old/base-formly-component.js +3 -3
  101. package/lib/old/dual-component-ctrl.js +3 -3
  102. package/package.json +4 -4
  103. package/tmp-environment.json +39 -38
  104. package/websql/README.md +24 -24
  105. package/websql/esm2022/lib/base/base-project.mjs +21 -4
  106. package/websql/esm2022/lib/base/core-project.mjs +54 -0
  107. package/websql/esm2022/lib/base/index.mjs +3 -1
  108. package/websql/esm2022/lib/base/linked-project.mjs +77 -0
  109. package/websql/esm2022/lib/helpers/for-browser/angular.helper.mjs +89 -0
  110. package/websql/esm2022/lib/helpers/for-browser/helpers-browser.mjs +48 -0
  111. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +117 -0
  112. package/websql/esm2022/lib/helpers/helpers-numbers.mjs +12 -0
  113. package/websql/esm2022/lib/helpers/helpers-strings-regexes.mjs +51 -0
  114. package/websql/esm2022/lib/helpers/helpers-strings.mjs +258 -0
  115. package/websql/esm2022/lib/helpers/helpers.mjs +358 -0
  116. package/websql/esm2022/lib/index.mjs +3 -4
  117. package/websql/fesm2022/tnp-helpers.mjs +157 -97
  118. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  119. package/websql/lib/base/base-project.d.ts +4 -1
  120. package/websql/lib/base/core-project.d.ts +54 -0
  121. package/websql/lib/base/index.d.ts +3 -1
  122. package/{client/lib/models.d.ts → websql/lib/base/linked-project.d.ts} +6 -21
  123. package/websql/lib/{helpers.d.ts → helpers/helpers.d.ts} +1 -1
  124. package/websql/lib/index.d.ts +2 -3
  125. package/browser/esm2022/lib/for-browser/angular.helper.mjs +0 -89
  126. package/browser/esm2022/lib/for-browser/helpers-browser.mjs +0 -48
  127. package/browser/esm2022/lib/helpers-array-obj.mjs +0 -117
  128. package/browser/esm2022/lib/helpers-numbers.mjs +0 -12
  129. package/browser/esm2022/lib/helpers-strings-regexes.mjs +0 -51
  130. package/browser/esm2022/lib/helpers-strings.mjs +0 -258
  131. package/browser/esm2022/lib/helpers.mjs +0 -358
  132. package/browser/esm2022/lib/models.mjs +0 -87
  133. package/client/esm2022/lib/for-browser/angular.helper.mjs +0 -89
  134. package/client/esm2022/lib/for-browser/helpers-browser.mjs +0 -48
  135. package/client/esm2022/lib/helpers-array-obj.mjs +0 -117
  136. package/client/esm2022/lib/helpers-numbers.mjs +0 -12
  137. package/client/esm2022/lib/helpers-strings-regexes.mjs +0 -51
  138. package/client/esm2022/lib/helpers-strings.mjs +0 -258
  139. package/client/esm2022/lib/helpers.mjs +0 -358
  140. package/client/esm2022/lib/models.mjs +0 -87
  141. package/lib/for-backend/helpers-file-folders.backend.js.map +0 -1
  142. package/lib/for-backend/helpers-git.backend.js.map +0 -1
  143. package/lib/for-browser/angular.helper.js +0 -6
  144. package/package.json_devDependencies.json +0 -222
  145. package/websql/esm2022/lib/for-browser/angular.helper.mjs +0 -89
  146. package/websql/esm2022/lib/for-browser/helpers-browser.mjs +0 -48
  147. package/websql/esm2022/lib/helpers-array-obj.mjs +0 -117
  148. package/websql/esm2022/lib/helpers-numbers.mjs +0 -12
  149. package/websql/esm2022/lib/helpers-strings-regexes.mjs +0 -51
  150. package/websql/esm2022/lib/helpers-strings.mjs +0 -258
  151. package/websql/esm2022/lib/helpers.mjs +0 -358
  152. package/websql/esm2022/lib/models.mjs +0 -87
  153. /package/browser/lib/{for-browser → helpers/for-browser}/angular.helper.d.ts +0 -0
  154. /package/browser/lib/{for-browser → helpers/for-browser}/helpers-browser.d.ts +0 -0
  155. /package/browser/lib/{helpers-array-obj.d.ts → helpers/helpers-array-obj.d.ts} +0 -0
  156. /package/browser/lib/{helpers-numbers.d.ts → helpers/helpers-numbers.d.ts} +0 -0
  157. /package/browser/lib/{helpers-strings-regexes.d.ts → helpers/helpers-strings-regexes.d.ts} +0 -0
  158. /package/browser/lib/{helpers-strings.d.ts → helpers/helpers-strings.d.ts} +0 -0
  159. /package/client/lib/{for-browser → helpers/for-browser}/angular.helper.d.ts +0 -0
  160. /package/client/lib/{for-browser → helpers/for-browser}/helpers-browser.d.ts +0 -0
  161. /package/client/lib/{helpers-array-obj.d.ts → helpers/helpers-array-obj.d.ts} +0 -0
  162. /package/client/lib/{helpers-numbers.d.ts → helpers/helpers-numbers.d.ts} +0 -0
  163. /package/client/lib/{helpers-strings-regexes.d.ts → helpers/helpers-strings-regexes.d.ts} +0 -0
  164. /package/client/lib/{helpers-strings.d.ts → helpers/helpers-strings.d.ts} +0 -0
  165. /package/lib/{for-backend → helpers/for-backend}/helpers-console-gui.d.ts +0 -0
  166. /package/lib/{for-backend → helpers/for-backend}/helpers-dependencies.backend.d.ts +0 -0
  167. /package/lib/{for-backend → helpers/for-backend}/helpers-network.backend.d.ts +0 -0
  168. /package/lib/{for-backend → helpers/for-backend}/helpers-network.backend.js +0 -0
  169. /package/lib/{for-backend → helpers/for-backend}/helpers-network.backend.js.map +0 -0
  170. /package/lib/{for-backend → helpers/for-backend}/helpers-npm.backend.d.ts +0 -0
  171. /package/lib/{for-backend → helpers/for-backend}/helpers-npm.backend.js +0 -0
  172. /package/lib/{for-backend → helpers/for-backend}/helpers-npm.backend.js.map +0 -0
  173. /package/lib/{for-backend → helpers/for-backend}/helpers-path.backend.d.ts +0 -0
  174. /package/lib/{for-backend → helpers/for-backend}/helpers-system-terminal.backend.d.ts +0 -0
  175. /package/lib/{for-backend → helpers/for-backend}/ts-code/index.d.ts +0 -0
  176. /package/lib/{for-backend → helpers/for-backend}/ts-code/index.js +0 -0
  177. /package/lib/{for-backend → helpers/for-backend}/ts-code/index.js.map +0 -0
  178. /package/lib/{for-backend → helpers/for-backend}/ts-code/ts-code-extractor.d.ts +0 -0
  179. /package/lib/{for-backend → helpers/for-backend}/ts-code/ts-code-modifier.backend.d.ts +0 -0
  180. /package/lib/{for-browser → helpers/for-browser}/angular.helper.d.ts +0 -0
  181. /package/lib/{for-browser → helpers/for-browser}/angular.helper.js.map +0 -0
  182. /package/lib/{for-browser → helpers/for-browser}/helpers-browser.d.ts +0 -0
  183. /package/lib/{for-browser → helpers/for-browser}/helpers-browser.js +0 -0
  184. /package/lib/{for-browser → helpers/for-browser}/helpers-browser.js.map +0 -0
  185. /package/lib/{helpers-array-obj.d.ts → helpers/helpers-array-obj.d.ts} +0 -0
  186. /package/lib/{helpers-array-obj.js → helpers/helpers-array-obj.js} +0 -0
  187. /package/lib/{helpers-array-obj.js.map → helpers/helpers-array-obj.js.map} +0 -0
  188. /package/lib/{helpers-json5.backend.d.ts → helpers/helpers-json5.backend.d.ts} +0 -0
  189. /package/lib/{helpers-json5.backend.js → helpers/helpers-json5.backend.js} +0 -0
  190. /package/lib/{helpers-json5.backend.js.map → helpers/helpers-json5.backend.js.map} +0 -0
  191. /package/lib/{helpers-numbers.d.ts → helpers/helpers-numbers.d.ts} +0 -0
  192. /package/lib/{helpers-numbers.js → helpers/helpers-numbers.js} +0 -0
  193. /package/lib/{helpers-numbers.js.map → helpers/helpers-numbers.js.map} +0 -0
  194. /package/lib/{helpers-strings-regexes.d.ts → helpers/helpers-strings-regexes.d.ts} +0 -0
  195. /package/lib/{helpers-strings-regexes.js → helpers/helpers-strings-regexes.js} +0 -0
  196. /package/lib/{helpers-strings-regexes.js.map → helpers/helpers-strings-regexes.js.map} +0 -0
  197. /package/lib/{helpers-strings.d.ts → helpers/helpers-strings.d.ts} +0 -0
  198. /package/websql/lib/{for-browser → helpers/for-browser}/angular.helper.d.ts +0 -0
  199. /package/websql/lib/{for-browser → helpers/for-browser}/helpers-browser.d.ts +0 -0
  200. /package/websql/lib/{helpers-array-obj.d.ts → helpers/helpers-array-obj.d.ts} +0 -0
  201. /package/websql/lib/{helpers-numbers.d.ts → helpers/helpers-numbers.d.ts} +0 -0
  202. /package/websql/lib/{helpers-strings-regexes.d.ts → helpers/helpers-strings-regexes.d.ts} +0 -0
  203. /package/websql/lib/{helpers-strings.d.ts → helpers/helpers-strings.d.ts} +0 -0
@@ -0,0 +1,54 @@
1
+ import { _, path } from 'tnp-core/websql';
2
+ const defaultDb = {
3
+ projects: [],
4
+ };
5
+ export class CoreProject {
6
+ constructor() {
7
+ this.provider = 'firedev';
8
+ }
9
+ static get isUnsingDB() {
10
+ return !!this.db;
11
+ }
12
+ static async useDB(appName) {
13
+ /* */
14
+ /* */
15
+ /* */
16
+ /* */
17
+ /* */
18
+ /* */
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ return (void 0);
25
+ return void 0;
26
+ }
27
+ db() {
28
+ return CoreProject.useDB(_.kebabCase(this.url));
29
+ }
30
+ static from(options) {
31
+ return _.merge(new CoreProject(), _.cloneDeep(options));
32
+ }
33
+ /**
34
+ * core porject name
35
+ */
36
+ get name() {
37
+ return path.basename(this.url).replace(/\.git$/, '');
38
+ }
39
+ /**
40
+ * main (default for reset) branch
41
+ */
42
+ get branch() {
43
+ return _.first(this.branches);
44
+ }
45
+ /**
46
+ * url for git repo
47
+ */
48
+ get url() {
49
+ return (this.urlHttp ? this.urlHttp : this.urlSSH) || '';
50
+ }
51
+ }
52
+ ;
53
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/core-project.ts
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9jb3JlLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQThCLE1BQU0saUJBQWlCLENBQUM7QUFnQnRFLE1BQU0sU0FBUyxHQUFHO0lBQ2hCLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQTtBQUdELE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBNkJFLGFBQVEsR0FBVyxTQUFTLENBQUM7SUF3Qy9CLENBQUM7SUFuRVEsTUFBTSxLQUFLLFVBQVU7UUFDMUIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBZTtRQUNwQyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEVBQUU7UUFDQSxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFxRDtRQUMvRCxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSyxXQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFzQkQ7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlFQUFpRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfLCBwYXRoLCBjcm9zc1BsYXRmb3JtUGF0aCwgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgTG93IH0gZnJvbSBcImxvd2RiXCJcblxuZXhwb3J0IHR5cGUgQ29yZVByb2plY3RFbnZpcm9ubWVudCA9IHtcbiAgW2Vudk5hbWU6IHN0cmluZ106IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgb25saW5lTGluaz86IHN0cmluZztcbiAgICBhY3Rpb25Pck5wbVRhc2tOYW1lPzogc3RyaW5nIHwgKCgpID0+IHZvaWQpLFxuICB9O1xufTtcblxuY29uc3QgZGVmYXVsdERiID0ge1xuICBwcm9qZWN0czogW10sXG59XG5cblxuZXhwb3J0IGNsYXNzIENvcmVQcm9qZWN0IHtcbiAgcHJpdmF0ZSBzdGF0aWMgZGI6IExvdzx0eXBlb2YgZGVmYXVsdERiPjtcbiAgcHVibGljIHN0YXRpYyBnZXQgaXNVbnNpbmdEQigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRiO1xuICB9XG4gIHN0YXRpYyBhc3luYyB1c2VEQihhcHBOYW1lOiBzdHJpbmcpOiBQcm9taXNlPExvdzx0eXBlb2YgZGVmYXVsdERiPj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBkYigpIHtcbiAgICByZXR1cm4gQ29yZVByb2plY3QudXNlREIoXy5rZWJhYkNhc2UodGhpcy51cmwpKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tKG9wdGlvbnM6IE9taXQ8Q29yZVByb2plY3QsICduYW1lJyB8ICd1cmwnIHwgJ2JyYW5jaCc+KSB7XG4gICAgcmV0dXJuIF8ubWVyZ2UobmV3IChDb3JlUHJvamVjdCBhcyBhbnkpKCksIF8uY2xvbmVEZWVwKG9wdGlvbnMpKTtcbiAgfVxuXG4gIHByb3ZpZGVyOiBzdHJpbmcgPSAnZmlyZWRldic7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIHNzaCB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICB1cmxTU0g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBodHRwcyB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICB1cmxIdHRwPzogc3RyaW5nO1xuICAvKipcbiAgICogbWFpbiBicmFuY2hlcyAtIGZpcnN0IGlzIGRlZmF1bHRcbiAgICovXG4gIGJyYW5jaGVzOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIHByb2plY3QgZW52aXJvbm1lbnRzXG4gICAqL1xuICBlbnZpcm9ubWVudHM6IENvcmVQcm9qZWN0RW52aXJvbm1lbnQ7XG5cbiAgLyoqXG4gICAqIGNvcmUgcG9yamVjdCBuYW1lXG4gICAqL1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gcGF0aC5iYXNlbmFtZSh0aGlzLnVybCkucmVwbGFjZSgvXFwuZ2l0JC8sICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBtYWluIChkZWZhdWx0IGZvciByZXNldCkgYnJhbmNoXG4gICAqL1xuICBnZXQgYnJhbmNoKCkge1xuICAgIHJldHVybiBfLmZpcnN0KHRoaXMuYnJhbmNoZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMudXJsSHR0cCA/IHRoaXMudXJsSHR0cCA6IHRoaXMudXJsU1NIKSB8fCAnJztcbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY29yZS1wcm9qZWN0LnRzIl19
@@ -2,10 +2,12 @@ export * from './base-project';
2
2
  export * from './base-project-resolver';
3
3
  export * from './base-feature-for-project';
4
4
  export * from './commit-data';
5
+ export * from './core-project';
6
+ export * from './linked-project';
5
7
  /* */
6
8
  /* */
7
9
  /* */
8
10
  /* */
9
11
  ;
10
12
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/index.ts
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDBEQUEwRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtcHJvamVjdC1yZXNvbHZlcic7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1pdC1kYXRhJztcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvaW5kZXgudHMiXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0osQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwREFBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0ICogZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLXByb2plY3QtcmVzb2x2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWZlYXR1cmUtZm9yLXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21taXQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmtlZC1wcm9qZWN0Jztcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvaW5kZXgudHMiXX0=
@@ -0,0 +1,77 @@
1
+ import { _, path } from 'tnp-core/websql';
2
+ export class LinkedProject {
3
+ static from(options) {
4
+ const linkedProj = _.merge(new LinkedProject(), _.cloneDeep(options));
5
+ if (!linkedProj.relativeClonePath) {
6
+ linkedProj.relativeClonePath = path.basename(linkedProj.remoteUrl().replace('.git', ''));
7
+ }
8
+ if (!linkedProj.deafultBranch) {
9
+ linkedProj.deafultBranch = 'master';
10
+ }
11
+ return linkedProj;
12
+ }
13
+ static fromName(projectName, currentRemoteUrl, currentBranch) {
14
+ return LinkedProject.from({
15
+ repoUrl: currentRemoteUrl?.replace(path.basename(currentRemoteUrl), `${projectName}.git`),
16
+ deafultBranch: currentBranch,
17
+ relativeClonePath: projectName,
18
+ });
19
+ }
20
+ static detect(insideLocation, recursive = false) {
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ return (void 0);
45
+ }
46
+ /**
47
+ * url for git repo
48
+ */
49
+ remoteUrl() {
50
+ if (this.repoUrl) {
51
+ return this.repoUrl;
52
+ }
53
+ if (this.repoUrlHttp) {
54
+ return this.repoUrlHttp;
55
+ }
56
+ return this.repoUrlSsh;
57
+ }
58
+ }
59
+ export class LinkedPorjectsConfig {
60
+ static from(options) {
61
+ options = options || {};
62
+ options.projects = (options.projects || [])
63
+ .map(linkedProjOrname => {
64
+ if (_.isString(linkedProjOrname)) {
65
+ return LinkedProject.fromName(linkedProjOrname);
66
+ }
67
+ return LinkedProject.from(linkedProjOrname);
68
+ })
69
+ .sort((a, b) => {
70
+ return (a.relativeClonePath || '').localeCompare((b.relativeClonePath || ''));
71
+ });
72
+ return _.merge(new LinkedPorjectsConfig(), _.cloneDeep(options));
73
+ }
74
+ }
75
+ ;
76
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/linked-project.ts
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2xpbmtlZC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQXFCLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSTdELE1BQU0sT0FBTyxhQUFhO0lBSXhCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBK0I7UUFDekMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFLLGFBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFrQixDQUFDO1FBQ2hHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUU7WUFDakMsVUFBVSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFO1lBQzdCLFVBQVUsQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUlELE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBbUIsRUFBRSxnQkFBeUIsRUFBRSxhQUFzQjtRQUNwRixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxXQUFXLE1BQU0sQ0FBQztZQUN6RixhQUFhLEVBQUUsYUFBYTtZQUM1QixpQkFBaUIsRUFBRSxXQUFXO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRCxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQXNCLEVBQUUsU0FBUyxHQUFHLEtBQUs7UUFDekQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBc0JEOztPQUVHO0lBQ0ksU0FBUztRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDckI7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FJRjtBQUVELE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFzQztRQUNoRCxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7YUFDeEMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7Z0JBQ2hDLE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ2pEO1lBQ0QsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2IsT0FBTyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztRQUNMLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFLLG9CQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FPRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUVBQW1FIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8sIGNyb3NzUGxhdGZvcm1QYXRoLCBwYXRoIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5cblxuZXhwb3J0IGNsYXNzIExpbmtlZFByb2plY3Qge1xuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFByb2plY3Q+KSB7XG4gICAgY29uc3QgbGlua2VkUHJvaiA9IF8ubWVyZ2UobmV3IChMaW5rZWRQcm9qZWN0IGFzIGFueSkoKSwgXy5jbG9uZURlZXAob3B0aW9ucykpIGFzIExpbmtlZFByb2plY3Q7XG4gICAgaWYgKCFsaW5rZWRQcm9qLnJlbGF0aXZlQ2xvbmVQYXRoKSB7XG4gICAgICBsaW5rZWRQcm9qLnJlbGF0aXZlQ2xvbmVQYXRoID0gcGF0aC5iYXNlbmFtZShsaW5rZWRQcm9qLnJlbW90ZVVybCgpLnJlcGxhY2UoJy5naXQnLCAnJykpO1xuICAgIH1cbiAgICBpZiAoIWxpbmtlZFByb2ouZGVhZnVsdEJyYW5jaCkge1xuICAgICAgbGlua2VkUHJvai5kZWFmdWx0QnJhbmNoID0gJ21hc3Rlcic7XG4gICAgfVxuICAgIHJldHVybiBsaW5rZWRQcm9qO1xuICB9XG5cblxuXG4gIHN0YXRpYyBmcm9tTmFtZShwcm9qZWN0TmFtZTogc3RyaW5nLCBjdXJyZW50UmVtb3RlVXJsPzogc3RyaW5nLCBjdXJyZW50QnJhbmNoPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbSh7XG4gICAgICByZXBvVXJsOiBjdXJyZW50UmVtb3RlVXJsPy5yZXBsYWNlKHBhdGguYmFzZW5hbWUoY3VycmVudFJlbW90ZVVybCksIGAke3Byb2plY3ROYW1lfS5naXRgKSxcbiAgICAgIGRlYWZ1bHRCcmFuY2g6IGN1cnJlbnRCcmFuY2gsXG4gICAgICByZWxhdGl2ZUNsb25lUGF0aDogcHJvamVjdE5hbWUsXG4gICAgfSk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGRldGVjdChpbnNpZGVMb2NhdGlvbjogc3RyaW5nLCByZWN1cnNpdmUgPSBmYWxzZSk6IExpbmtlZFByb2plY3RbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuICAvKipcbiAgICogc29tZXRpbWUgdGhlcmUgaXMgcHJvamVjdCB0aGF0IGhhcyBvbmUgcHJvamVjdFxuICAgKiBlbWJlZGUgaW5zaWRlIGFub3RoZXIgcHJvamVjdFxuICAgKi9cbiAgaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybFNzaD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9VcmxIdHRwPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHB1YmxpYyByZW1vdGVVcmwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5yZXBvVXJsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvVXJsO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXBvVXJsSHR0cCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb1VybEh0dHA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlcG9VcmxTc2g7XG4gIH1cbiAgZGVhZnVsdEJyYW5jaD86IHN0cmluZztcbiAgcHVycG9zZT86IHN0cmluZztcbiAgcmVsYXRpdmVDbG9uZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRQb3JqZWN0c0NvbmZpZyB7XG5cblxuXG5cbiAgc3RhdGljIGZyb20ob3B0aW9uczogUGFydGlhbDxMaW5rZWRQb3JqZWN0c0NvbmZpZz4pIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBvcHRpb25zLnByb2plY3RzID0gKG9wdGlvbnMucHJvamVjdHMgfHwgW10pXG4gICAgICAubWFwKGxpbmtlZFByb2pPcm5hbWUgPT4ge1xuICAgICAgICBpZiAoXy5pc1N0cmluZyhsaW5rZWRQcm9qT3JuYW1lKSkge1xuICAgICAgICAgIHJldHVybiBMaW5rZWRQcm9qZWN0LmZyb21OYW1lKGxpbmtlZFByb2pPcm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBMaW5rZWRQcm9qZWN0LmZyb20obGlua2VkUHJvak9ybmFtZSk7XG4gICAgICB9KVxuICAgICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgcmV0dXJuIChhLnJlbGF0aXZlQ2xvbmVQYXRoIHx8ICcnKS5sb2NhbGVDb21wYXJlKChiLnJlbGF0aXZlQ2xvbmVQYXRoIHx8ICcnKSk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gXy5tZXJnZShuZXcgKExpbmtlZFBvcmplY3RzQ29uZmlnIGFzIGFueSkoKSwgXy5jbG9uZURlZXAob3B0aW9ucykpO1xuICB9XG5cblxuXG4gIHByZWZpeD86IHN0cmluZztcbiAgc2tpcFJlY3J1c2l2ZVB1c2g/OiBib29sZWFuO1xuICBwcm9qZWN0czogTGlua2VkUHJvamVjdFtdO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXX0=
@@ -0,0 +1,89 @@
1
+ import { Subject } from "rxjs";
2
+ const componentContextSymbol = Symbol();
3
+ const componentsDestroy$Subjects = {};
4
+ export var HelpersAngular;
5
+ (function (HelpersAngular) {
6
+ class SerializedSubject {
7
+ constructor(id) {
8
+ this.id = id;
9
+ }
10
+ }
11
+ HelpersAngular.SerializedSubject = SerializedSubject;
12
+ function subjectId(destroySubject) {
13
+ const id = Math.random().toString(36).substring(2);
14
+ if (!destroySubject[componentContextSymbol]) {
15
+ destroySubject[componentContextSymbol] = new SerializedSubject(id);
16
+ componentsDestroy$Subjects[id] = destroySubject;
17
+ }
18
+ return destroySubject[componentContextSymbol];
19
+ }
20
+ /**
21
+ * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();
22
+ */
23
+ function serialize(destroy$) {
24
+ return subjectId(destroy$);
25
+ }
26
+ HelpersAngular.serialize = serialize;
27
+ /**
28
+ * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();
29
+ */
30
+ function deserialize(destroy$) {
31
+ if (destroy$?.id) {
32
+ const realDestroySubject = componentsDestroy$Subjects[destroy$.id];
33
+ return realDestroySubject;
34
+ }
35
+ return new Subject();
36
+ }
37
+ HelpersAngular.deserialize = deserialize;
38
+ function unsubscribe(destroy$) {
39
+ const destroySubject = subjectId(destroy$);
40
+ if (destroySubject?.id) {
41
+ delete componentsDestroy$Subjects[destroySubject.id];
42
+ delete destroySubject[componentContextSymbol];
43
+ }
44
+ }
45
+ HelpersAngular.unsubscribe = unsubscribe;
46
+ /**
47
+ get properties from scss file
48
+
49
+
50
+ import styles from './tasks-ngrx-data.component.scss';
51
+
52
+ export class ExampleComponent {
53
+ sassFile = sassFile(styles);
54
+
55
+ async ngOnInit() {
56
+ this.tasksService.getAll();
57
+ console.log(this.sassFile.stringValue('--max-container-size'))
58
+ console.log(this.sassFile.numberValue('--max-container-size'))
59
+ }
60
+ }
61
+ */
62
+ function sassFile(styles) {
63
+ const lines = (styles.split('\n'));
64
+ return {
65
+ stringValue: (name) => {
66
+ for (let index = 0; index < lines.length; index++) {
67
+ const l = lines[index];
68
+ const [varName, value] = l.trim().split(':');
69
+ if (varName === name) {
70
+ return value.replace(';', '');
71
+ }
72
+ }
73
+ },
74
+ numberValue: (name) => {
75
+ for (let index = 0; index < lines.length; index++) {
76
+ const l = lines[index];
77
+ const [varName, value] = l.trim().split(':');
78
+ if (varName === name) {
79
+ return Number(value.replace('px', '').replace(';', ''));
80
+ }
81
+ }
82
+ }
83
+ };
84
+ }
85
+ HelpersAngular.sassFile = sassFile;
86
+ })(HelpersAngular || (HelpersAngular = {}));
87
+ ;
88
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/angular.helper.ts
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUN4QyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztBQUd0QyxNQUFNLEtBQVcsY0FBYyxDQXFGOUI7QUFyRkQsV0FBaUIsY0FBYztJQUU3QixNQUFhLGlCQUFpQjtRQUM1QixZQUNTLEVBQVU7WUFBVixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsQ0FBQztLQUNOO0lBSlksZ0NBQWlCLG9CQUk3QixDQUFBO0lBR0QsU0FBUyxTQUFTLENBQUMsY0FBNEI7UUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzNDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLElBQUksaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsMEJBQTBCLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFnQixTQUFTLENBQUMsUUFBc0I7UUFDOUMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUZlLHdCQUFTLFlBRXhCLENBQUE7SUFFRDs7T0FFRztJQUNILFNBQWdCLFdBQVcsQ0FBQyxRQUFnQztRQUMxRCxJQUFJLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDaEIsTUFBTSxrQkFBa0IsR0FBRywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsT0FBTyxrQkFBa0IsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBTmUsMEJBQVcsY0FNMUIsQ0FBQTtJQUVELFNBQWdCLFdBQVcsQ0FBQyxRQUFzQjtRQUNoRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsSUFBSSxjQUFjLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sMEJBQTBCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBTmUsMEJBQVcsY0FNMUIsQ0FBQTtJQUlEOzs7Ozs7Ozs7Ozs7Ozs7U0FlSztJQUNMLFNBQWdCLFFBQVEsQ0FBQyxNQUFjO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE9BQU87WUFDTCxXQUFXLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDNUIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQ2pELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDdkIsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7d0JBQ3BCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7cUJBQy9CO2lCQUNGO1lBQ0gsQ0FBQztZQUNELFdBQVcsRUFBRSxDQUFDLElBQVksRUFBVSxFQUFFO2dCQUNwQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDakQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTt3QkFDcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUN6RDtpQkFDRjtZQUNILENBQUM7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQXRCZSx1QkFBUSxXQXNCdkIsQ0FBQTtBQUNILENBQUMsRUFyRmdCLGNBQWMsS0FBZCxjQUFjLFFBcUY5QjtBQUlBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0ZBQWtGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5cbmNvbnN0IGNvbXBvbmVudENvbnRleHRTeW1ib2wgPSBTeW1ib2woKTtcbmNvbnN0IGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzID0ge307XG5cblxuZXhwb3J0IG5hbWVzcGFjZSBIZWxwZXJzQW5ndWxhciB7XG5cbiAgZXhwb3J0IGNsYXNzIFNlcmlhbGl6ZWRTdWJqZWN0PFQ+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBpZDogc3RyaW5nXG4gICAgKSB7IH1cbiAgfVxuXG5cbiAgZnVuY3Rpb24gc3ViamVjdElkKGRlc3Ryb3lTdWJqZWN0OiBTdWJqZWN0PGFueT4pOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+IHtcbiAgICBjb25zdCBpZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICBpZiAoIWRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdKSB7XG4gICAgICBkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXSA9IG5ldyBTZXJpYWxpemVkU3ViamVjdChpZCk7XG4gICAgICBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tpZF0gPSBkZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pik6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4ge1xuICAgIHJldHVybiBzdWJqZWN0SWQoZGVzdHJveSQpO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZShkZXN0cm95JDogU2VyaWFsaXplZFN1YmplY3Q8YW55Pik6IFN1YmplY3Q8YW55PiB7XG4gICAgaWYgKGRlc3Ryb3kkPy5pZCkge1xuICAgICAgY29uc3QgcmVhbERlc3Ryb3lTdWJqZWN0ID0gY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveSQuaWRdO1xuICAgICAgcmV0dXJuIHJlYWxEZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTdWJqZWN0KCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gdW5zdWJzY3JpYmUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pikge1xuICAgIGNvbnN0IGRlc3Ryb3lTdWJqZWN0ID0gc3ViamVjdElkKGRlc3Ryb3kkKTtcbiAgICBpZiAoZGVzdHJveVN1YmplY3Q/LmlkKSB7XG4gICAgICBkZWxldGUgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveVN1YmplY3QuaWRdO1xuICAgICAgZGVsZXRlIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICAgIH1cbiAgfVxuXG5cblxuICAvKipcbiAgZ2V0IHByb3BlcnRpZXMgZnJvbSBzY3NzIGZpbGVcblxuXG4gIGltcG9ydCBzdHlsZXMgZnJvbSAnLi90YXNrcy1uZ3J4LWRhdGEuY29tcG9uZW50LnNjc3MnO1xuXG4gIGV4cG9ydCBjbGFzcyBFeGFtcGxlQ29tcG9uZW50IHtcbiAgICBzYXNzRmlsZSA9IHNhc3NGaWxlKHN0eWxlcyk7XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMudGFza3NTZXJ2aWNlLmdldEFsbCgpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5zYXNzRmlsZS5zdHJpbmdWYWx1ZSgnLS1tYXgtY29udGFpbmVyLXNpemUnKSlcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2Fzc0ZpbGUubnVtYmVyVmFsdWUoJy0tbWF4LWNvbnRhaW5lci1zaXplJykpXG4gICAgfVxuICB9XG4gICAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzYXNzRmlsZShzdHlsZXM6IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmVzID0gKHN0eWxlcy5zcGxpdCgnXFxuJykpO1xuICAgIHJldHVybiB7XG4gICAgICBzdHJpbmdWYWx1ZTogKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoJzsnLCAnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbnVtYmVyVmFsdWU6IChuYW1lOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZS5yZXBsYWNlKCdweCcsICcnKS5yZXBsYWNlKCc7JywgJycpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaGVscGVycy9mb3ItYnJvd3Nlci9hbmd1bGFyLmhlbHBlci50cyJdfQ==
@@ -0,0 +1,48 @@
1
+ const key = Symbol('[firedev-helpers] helper browser key');
2
+ class HelpersBrowser {
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 HelpersBrowser(win);
19
+ }
20
+ HelpersBrowser.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
+ HelpersBrowser.callbacks.forEach((c) => {
37
+ c(this);
38
+ });
39
+ });
40
+ }
41
+ static get instance() {
42
+ return HelpersBrowser.inst;
43
+ }
44
+ }
45
+ export { HelpersBrowser };
46
+ ;
47
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/helpers-browser.ts
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy9mb3ItYnJvd3Nlci9oZWxwZXJzLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFFMUQsTUFBYSxjQUFjO2FBRVYsY0FBUyxHQUFHLEVBQUUsQUFBTCxDQUFNO0lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBc0M7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNqQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFZLG1CQUFtQjtRQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQWNELFlBQW9CLEdBQVc7UUFUL0IsU0FBSSxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUVyQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNwQztZQUNELGNBQWMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFJSCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUVkLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUU7Z0JBQzdCLGFBQWE7Z0JBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEM7aUJBQ0k7Z0JBQ0gsYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzNFO1lBQ0QsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUdKLENBQUM7SUFHRCxNQUFNLEtBQUssUUFBUTtRQUNqQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7U0F6RFUsY0FBYztBQWtFMUIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRkFBbUYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5cblxuY29uc3Qga2V5ID0gU3ltYm9sKCdbZmlyZWRldi1oZWxwZXJzXSBoZWxwZXIgYnJvd3NlciBrZXknKVxuXG5leHBvcnQgY2xhc3MgSGVscGVyc0Jyb3dzZXIge1xuXG4gIHByaXZhdGUgc3RhdGljIGNhbGxiYWNrcyA9IFtdO1xuICBzdGF0aWMgb25Jbml0KGNhbGxiYWNrOiAoaW5zOiBIZWxwZXJzQnJvd3NlcikgPT4gYW55KSB7XG4gICAgdGhpcy5jYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG4gIH1cblxuICBnZXQgd2luKCkge1xuICAgIGxldCB3aW4gPSB3aW5kb3c7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRhYklkU2Vzc2lvblN0b3JhZ2UoKSB7XG4gICAgcmV0dXJuIE51bWJlcih0aGlzLndpbi5zZXNzaW9uU3RvcmFnZT8udGFiSWQpIHx8IDA7XG4gIH1cblxuICByZWFkb25seSB0YWJJZDogbnVtYmVyO1xuXG4gIHByaXZhdGUgc3RhdGljIGluc3Q6IEhlbHBlcnNCcm93c2VyO1xuICBpbml0ID0gKCgpID0+IHtcbiAgICBjb25zdCB3aW4gPSB0aGlzLndpbjtcblxuICAgIGlmICghd2luW2tleV0pIHtcbiAgICAgIHdpbltrZXldID0gbmV3IEhlbHBlcnNCcm93c2VyKHdpbik7XG4gICAgfVxuICAgIEhlbHBlcnNCcm93c2VyLmluc3QgPSB3aW5ba2V5XTtcbiAgfSkoKTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHdpbjogV2luZG93KSB7XG5cbiAgICB3aW4uYWRkRXZlbnRMaXN0ZW5lcihcImJlZm9yZXVubG9hZFwiLCAoZSkgPT4ge1xuICAgICAgd2luLnNlc3Npb25TdG9yYWdlLnRhYklkID0gdGhpcy50YWJJZDtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG5cbiAgICAgIGlmICh3aW4uc2Vzc2lvblN0b3JhZ2U/LnRhYklkKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy50YWJJZCA9IE51bWJlcih3aW4uc2Vzc2lvblN0b3JhZ2UudGFiSWQpO1xuICAgICAgICB3aW4uc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcInRhYklkXCIpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy50YWJJZCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApICsgKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcbiAgICAgIH1cbiAgICAgIEhlbHBlcnNCcm93c2VyLmNhbGxiYWNrcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgIGModGhpcyk7XG4gICAgICB9KTtcbiAgICB9KVxuXG5cbiAgfVxuXG5cbiAgc3RhdGljIGdldCBpbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gSGVscGVyc0Jyb3dzZXIuaW5zdDtcbiAgfVxuXG59XG5cblxuXG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMvZm9yLWJyb3dzZXIvaGVscGVycy1icm93c2VyLnRzIl19
@@ -0,0 +1,117 @@
1
+ import { _ } from 'tnp-core/websql';
2
+ import * as fuzzy from 'fuzzy';
3
+ export class HelpersArrayObj {
4
+ from(s) {
5
+ if (_.isArray(s)) {
6
+ return s;
7
+ }
8
+ if (_.isString(s)) {
9
+ return s.split(' ');
10
+ }
11
+ }
12
+ second(arr) {
13
+ if (!Array.isArray(arr) || arr.length < 2) {
14
+ return void 0;
15
+ }
16
+ return arr[1];
17
+ }
18
+ /**
19
+ * @deprecated
20
+ * use moveObjectBefore
21
+ */
22
+ arrayMoveElementBefore(arr, a, b, prop) {
23
+ let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);
24
+ _.pullAt(arr, indexA);
25
+ let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);
26
+ if (indexB === 0) {
27
+ arr.unshift(a);
28
+ }
29
+ else {
30
+ arr.splice(indexB - 1, 0, a);
31
+ }
32
+ return arr;
33
+ }
34
+ /**
35
+ * @deprecated
36
+ * use moveObjectAfter
37
+ */
38
+ arrayMoveElementAfterB(arr, a, b, prop) {
39
+ let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);
40
+ _.pullAt(arr, indexA);
41
+ let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);
42
+ if (indexB === arr.length - 1) {
43
+ arr.push(a);
44
+ }
45
+ else {
46
+ arr.splice(indexB + 1, 0, a);
47
+ }
48
+ return arr;
49
+ }
50
+ moveObjectBefore(array, target, before) {
51
+ const newArray = [...array];
52
+ const targetIndex = newArray.findIndex(item => item === target);
53
+ const beforeIndex = newArray.findIndex(item => item === before);
54
+ if (targetIndex === -1 || beforeIndex === -1) {
55
+ console.error("Target or Before object not found in the array");
56
+ return newArray;
57
+ }
58
+ newArray.splice(targetIndex, 1);
59
+ newArray.splice(beforeIndex, 0, target);
60
+ return newArray;
61
+ }
62
+ moveObjectAfter(array, target, after) {
63
+ const newArray = [...array];
64
+ const targetIndex = newArray.findIndex(item => item === target);
65
+ const afterIndex = newArray.findIndex(item => item === after);
66
+ if (targetIndex === -1 || afterIndex === -1) {
67
+ console.error("Target or After object not found in the array");
68
+ return newArray;
69
+ }
70
+ newArray.splice(targetIndex, 1);
71
+ newArray.splice(afterIndex + 1, 0, target);
72
+ return newArray;
73
+ }
74
+ /**
75
+ * @deprecated
76
+ */
77
+ uniqArray(array, uniqueProperty) {
78
+ var seen = {};
79
+ return array
80
+ .filter(f => !!f)
81
+ .filter(function (item) {
82
+ return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item) ? false
83
+ : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);
84
+ });
85
+ }
86
+ sortKeys(obj) {
87
+ if (_.isArray(obj)) {
88
+ return obj.map(this.sortKeys);
89
+ }
90
+ if (_.isObject(obj)) {
91
+ return _.fromPairs(_.keys(obj).sort().map(key => [key, this.sortKeys(obj[key])]));
92
+ }
93
+ return obj;
94
+ }
95
+ ;
96
+ /**
97
+ * Fuzzy search
98
+ */
99
+ fuzzy(query, list, valueFn) {
100
+ const resultsFuzzy = fuzzy.filter(query, list.map(k => valueFn ? valueFn(k) : k));
101
+ const resultsFuzzyKebab = fuzzy.filter(_.kebabCase(query), list.map(k => _.kebabCase((valueFn ? valueFn(k) : k))));
102
+ const matches = resultsFuzzy.map((el) => el.string);
103
+ const matchesKebab = resultsFuzzyKebab.map((el) => el.string);
104
+ const results = (resultsFuzzy.length === 0) ? [] : list.filter(k => {
105
+ return matches.includes((valueFn ? valueFn(k) : k));
106
+ });
107
+ if (matches.length === 0 && matchesKebab.length > 0) {
108
+ const m = list.find(k => _.kebabCase((valueFn ? valueFn(k) : k)) === _.first(matchesKebab));
109
+ results.push(m);
110
+ matches.push((valueFn ? valueFn(m) : m));
111
+ }
112
+ return { matches, results };
113
+ }
114
+ }
115
+ ;
116
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-array-obj.ts
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1hcnJheS1vYmouanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzL2hlbHBlcnMtYXJyYXktb2JqLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUcvQixNQUFNLE9BQU8sZUFBZTtJQUUxQixJQUFJLENBQUMsQ0FBb0I7UUFDdkIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDekMsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBQ0QsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILHNCQUFzQixDQUFVLEdBQVUsRUFBRSxDQUFNLEVBQUUsQ0FBTSxFQUFFLElBQWM7UUFDeEUsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENB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IHsgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgKiBhcyBmdXp6eSBmcm9tICdmdXp6eSc7XG5cblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNBcnJheU9iaiB7XG5cbiAgZnJvbShzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoXy5pc0FycmF5KHMpKSB7XG4gICAgICByZXR1cm4gcztcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcocykpIHtcbiAgICAgIHJldHVybiBzLnNwbGl0KCcgJylcbiAgICB9XG4gIH1cblxuICBzZWNvbmQoYXJyKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFycikgfHwgYXJyLmxlbmd0aCA8IDIpIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIHJldHVybiBhcnJbMV07XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogdXNlIG1vdmVPYmplY3RCZWZvcmVcbiAgICovXG4gIGFycmF5TW92ZUVsZW1lbnRCZWZvcmU8VCA9IGFueT4oYXJyOiBhbnlbXSwgYTogYW55LCBiOiBhbnksIHByb3A/OiBrZXlvZiBUKSB7XG4gICAgbGV0IGluZGV4QSA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYVtwcm9wXSkgOiBhcnIuaW5kZXhPZihhKTtcbiAgICBfLnB1bGxBdChhcnIsIGluZGV4QSk7XG4gICAgbGV0IGluZGV4QiA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYltwcm9wXSkgOiBhcnIuaW5kZXhPZihiKTtcbiAgICBpZiAoaW5kZXhCID09PSAwKSB7XG4gICAgICBhcnIudW5zaGlmdChhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJyLnNwbGljZShpbmRleEIgLSAxLCAwLCBhKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgbW92ZU9iamVjdEFmdGVyXG4gICAqL1xuICBhcnJheU1vdmVFbGVtZW50QWZ0ZXJCPFQgPSBhbnk+KGFycjogYW55W10sIGE6IGFueSwgYjogYW55LCBwcm9wPzoga2V5b2YgVCkge1xuICAgIGxldCBpbmRleEEgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGFbcHJvcF0pIDogYXJyLmluZGV4T2YoYSk7XG4gICAgXy5wdWxsQXQoYXJyLCBpbmRleEEpO1xuICAgIGxldCBpbmRleEIgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGJbcHJvcF0pIDogYXJyLmluZGV4T2YoYik7XG4gICAgaWYgKGluZGV4QiA9PT0gYXJyLmxlbmd0aCAtIDEpIHtcbiAgICAgIGFyci5wdXNoKGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnIuc3BsaWNlKGluZGV4QiArIDEsIDAsIGEpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyO1xuICB9XG5cbiAgbW92ZU9iamVjdEJlZm9yZTxUID0gYW55PihhcnJheTogVFtdLCB0YXJnZXQ6IFQsIGJlZm9yZTogVCk6IFRbXSB7XG4gICAgY29uc3QgbmV3QXJyYXkgPSBbLi4uYXJyYXldO1xuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gbmV3QXJyYXkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbSA9PT0gdGFyZ2V0KTtcbiAgICBjb25zdCBiZWZvcmVJbmRleCA9IG5ld0FycmF5LmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09IGJlZm9yZSk7XG5cbiAgICBpZiAodGFyZ2V0SW5kZXggPT09IC0xIHx8IGJlZm9yZUluZGV4ID09PSAtMSkge1xuXG4gICAgICBjb25zb2xlLmVycm9yKFwiVGFyZ2V0IG9yIEJlZm9yZSBvYmplY3Qgbm90IGZvdW5kIGluIHRoZSBhcnJheVwiKTtcbiAgICAgIHJldHVybiBuZXdBcnJheTtcbiAgICB9XG5cblxuICAgIG5ld0FycmF5LnNwbGljZSh0YXJnZXRJbmRleCwgMSk7XG5cblxuICAgIG5ld0FycmF5LnNwbGljZShiZWZvcmVJbmRleCwgMCwgdGFyZ2V0KTtcblxuICAgIHJldHVybiBuZXdBcnJheTtcbiAgfVxuXG4gIG1vdmVPYmplY3RBZnRlcjxUID0gYW55PihhcnJheTogVFtdLCB0YXJnZXQ6IFQsIGFmdGVyOiBUKTogVFtdIHtcbiAgICBjb25zdCBuZXdBcnJheSA9IFsuLi5hcnJheV07XG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBuZXdBcnJheS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSB0YXJnZXQpO1xuICAgIGNvbnN0IGFmdGVySW5kZXggPSBuZXdBcnJheS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBhZnRlcik7XG5cbiAgICBpZiAodGFyZ2V0SW5kZXggPT09IC0xIHx8IGFmdGVySW5kZXggPT09IC0xKSB7XG5cbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJUYXJnZXQgb3IgQWZ0ZXIgb2JqZWN0IG5vdCBmb3VuZCBpbiB0aGUgYXJyYXlcIik7XG4gICAgICByZXR1cm4gbmV3QXJyYXk7XG4gICAgfVxuXG5cbiAgICBuZXdBcnJheS5zcGxpY2UodGFyZ2V0SW5kZXgsIDEpO1xuXG5cbiAgICBuZXdBcnJheS5zcGxpY2UoYWZ0ZXJJbmRleCArIDEsIDAsIHRhcmdldCk7XG5cbiAgICByZXR1cm4gbmV3QXJyYXk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHVuaXFBcnJheTxUID0gYW55PihhcnJheTogYW55W10sIHVuaXF1ZVByb3BlcnR5PzogKGtleW9mIFQpKSB7XG4gICAgdmFyIHNlZW4gPSB7fTtcbiAgICByZXR1cm4gYXJyYXlcbiAgICAgIC5maWx0ZXIoZiA9PiAhIWYpXG4gICAgICAuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgIHJldHVybiBzZWVuLmhhc093blByb3BlcnR5KHVuaXF1ZVByb3BlcnR5ID8gaXRlbVt1bmlxdWVQcm9wZXJ0eV0gOiBpdGVtKSA/IGZhbHNlXG4gICAgICAgICAgOiAoc2Vlblt1bmlxdWVQcm9wZXJ0eSA/IGl0ZW1bdW5pcXVlUHJvcGVydHldIDogaXRlbV0gPSB0cnVlKTtcbiAgICAgIH0pIGFzIFRbXTtcbiAgfVxuXG4gIHNvcnRLZXlzKG9iaikge1xuICAgIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgICAgcmV0dXJuIG9iai5tYXAodGhpcy5zb3J0S2V5cyk7XG4gICAgfVxuICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgIHJldHVybiBfLmZyb21QYWlycyhfLmtleXMob2JqKS5zb3J0KCkubWFwKGtleSA9PiBba2V5LCB0aGlzLnNvcnRLZXlzKG9ialtrZXldKV0pKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfTtcblxuICAvKipcbiAgICogRnV6enkgc2VhcmNoXG4gICAqL1xuICBmdXp6eTxUID0gYW55PihxdWVyeTogc3RyaW5nLCBsaXN0OiBUW10sIHZhbHVlRm4/OiAobW9kZWxGcm9tTGlzdDogVCkgPT4gc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0c0Z1enp5ID0gZnV6enkuZmlsdGVyKFxuICAgICAgcXVlcnksXG4gICAgICBsaXN0Lm1hcChrID0+IHZhbHVlRm4gPyB2YWx1ZUZuKGspIDogayksXG4gICAgKVxuICAgIGNvbnN0IHJlc3VsdHNGdXp6eUtlYmFiID0gZnV6enkuZmlsdGVyKFxuICAgICAgXy5rZWJhYkNhc2UocXVlcnkpLFxuICAgICAgbGlzdC5tYXAoayA9PiBfLmtlYmFiQ2FzZSgodmFsdWVGbiA/IHZhbHVlRm4oaykgOiBrKSBhcyBhbnkpKSxcbiAgICApXG4gICAgY29uc3QgbWF0Y2hlcyA9IHJlc3VsdHNGdXp6eS5tYXAoKGVsKSA9PiBlbC5zdHJpbmcpO1xuICAgIGNvbnN0IG1hdGNoZXNLZWJhYiA9IHJlc3VsdHNGdXp6eUtlYmFiLm1hcCgoZWwpID0+IGVsLnN0cmluZyk7XG5cbiAgICBjb25zdCByZXN1bHRzID0gKHJlc3VsdHNGdXp6eS5sZW5ndGggPT09IDApID8gW10gOiBsaXN0LmZpbHRlcihrID0+IHtcbiAgICAgIHJldHVybiBtYXRjaGVzLmluY2x1ZGVzKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSk7XG4gICAgfSlcblxuICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMCAmJiBtYXRjaGVzS2ViYWIubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbSA9IGxpc3QuZmluZChrID0+IF8ua2ViYWJDYXNlKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSkgPT09IF8uZmlyc3QobWF0Y2hlc0tlYmFiKSk7XG4gICAgICByZXN1bHRzLnB1c2gobSk7XG4gICAgICBtYXRjaGVzLnB1c2goKHZhbHVlRm4gPyB2YWx1ZUZuKG0pIDogbSkgYXMgYW55KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBtYXRjaGVzLCByZXN1bHRzIH07XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMvaGVscGVycy1hcnJheS1vYmoudHMiXX0=
@@ -0,0 +1,12 @@
1
+ export class HelpersNumber {
2
+ constructor() {
3
+ /**
4
+ * @deprecated
5
+ * use _.random()
6
+ */
7
+ this.randomInteger = (max, min) => Math.round(Math.random() * (max - min)) + min;
8
+ }
9
+ }
10
+ ;
11
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-numbers.ts
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1udW1iZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy9oZWxwZXJzLW51bWJlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUFDRTs7O1dBR0c7UUFDSCxrQkFBYSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7SUFHOUUsQ0FBQztDQUFBO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1RUFBdUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5leHBvcnQgY2xhc3MgSGVscGVyc051bWJlciB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgXy5yYW5kb20oKVxuICAgKi9cbiAgcmFuZG9tSW50ZWdlciA9IChtYXgsIG1pbikgPT4gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbikpICsgbWluO1xuXG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9oZWxwZXJzL2hlbHBlcnMtbnVtYmVycy50cyJdfQ==
@@ -0,0 +1,51 @@
1
+ import { _ } from 'tnp-core/websql';
2
+ export class HelpersStringsRegexes {
3
+ escapeStringForRegEx(s) {
4
+ return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
5
+ }
6
+ matchExactOnce(s, regex) {
7
+ if (!_.isString(s) || !_.isRegExp(regex)) {
8
+ return void 0;
9
+ }
10
+ const result = s.match(regex);
11
+ if (_.isNil(result)) {
12
+ return void 0;
13
+ }
14
+ return result.length >= 1 ? _.first(result) : void 0;
15
+ }
16
+ get regex() {
17
+ return {
18
+ /**
19
+ * mathes
20
+ * xxx.xxx.xxx.xxx
21
+ * xxx.xxx.xxx.xxx:port
22
+ * http://xxx.xxx.xxx.xxx:port
23
+ * http://xxx.xxx.xxx.xxx
24
+ * https://xxx.xxx.xxx.xxx:port
25
+ * https://xxx.xxx.xxx.xxx *
26
+ */
27
+ get forStringWithIpHost() {
28
+ const regex = /(http(s)?\:\/\/)?(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\:[0-9]+)?/;
29
+ return regex;
30
+ },
31
+ /**
32
+ * mathes
33
+ * http://domain.com:port
34
+ * http://domain.com
35
+ * http://domain:port
36
+ * http://domain
37
+ * https://domain.com:port
38
+ * https://domain.com
39
+ * https://domain:port
40
+ * https://domain
41
+ */
42
+ get forStringWithDomainHost() {
43
+ const regex = /(((http(s)?\:\/\/)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+(\:[0-9]+)?)|((http(s)?\:\/\/)[a-zA-Z0-9-]{1,61}))/;
44
+ return regex;
45
+ }
46
+ };
47
+ }
48
+ }
49
+ ;
50
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-strings-regexes.ts
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzL2hlbHBlcnMtc3RyaW5ncy1yZWdleGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxNQUFNLE9BQU8scUJBQXFCO0lBSWhDLG9CQUFvQixDQUFDLENBQVM7UUFDNUIsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxjQUFjLENBQUMsQ0FBUyxFQUFFLEtBQWE7UUFDckMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDZjtRQUNELE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25CLE9BQU8sS0FBSyxDQUFDLENBQUM7U0FDZjtRQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPO1lBQ0w7Ozs7Ozs7O2FBUUM7WUFDRCxJQUFJLG1CQUFtQjtnQkFDckIsTUFBTSxLQUFLLEdBQUcsNExBQTRMLENBQUM7Z0JBQzNNLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNEOzs7Ozs7Ozs7O1lBVUE7WUFDQSxJQUFJLHVCQUF1QjtnQkFDekIsTUFBTSxLQUFLLEdBQUcsa0lBQWtJLENBQUM7Z0JBQ2pKLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtFQUErRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmV4cG9ydCBjbGFzcyBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMge1xuXG5cblxuICBlc2NhcGVTdHJpbmdGb3JSZWdFeChzOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcy5yZXBsYWNlKC9bLVxcL1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcbiAgfVxuXG4gIG1hdGNoRXhhY3RPbmNlKHM6IHN0cmluZywgcmVnZXg6IFJlZ0V4cCk6IHN0cmluZyB7XG4gICAgaWYgKCFfLmlzU3RyaW5nKHMpIHx8ICFfLmlzUmVnRXhwKHJlZ2V4KSkge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gcy5tYXRjaChyZWdleCk7XG4gICAgaWYgKF8uaXNOaWwocmVzdWx0KSkge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdC5sZW5ndGggPj0gMSA/IF8uZmlyc3QocmVzdWx0KSA6IHZvaWQgMDtcbiAgfVxuXG4gIGdldCByZWdleCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLyoqXG4gICAgICogbWF0aGVzXG4gICAgICogeHh4Lnh4eC54eHgueHh4XG4gICAgICogeHh4Lnh4eC54eHgueHh4OnBvcnRcbiAgICAgKiBodHRwOi8veHh4Lnh4eC54eHgueHh4OnBvcnRcbiAgICAgKiBodHRwOi8veHh4Lnh4eC54eHgueHh4XG4gICAgICogaHR0cHM6Ly94eHgueHh4Lnh4eC54eHg6cG9ydFxuICAgICAqIGh0dHBzOi8veHh4Lnh4eC54eHgueHh4ICAgKlxuICAgICAqL1xuICAgICAgZ2V0IGZvclN0cmluZ1dpdGhJcEhvc3QoKSB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyhodHRwKHMpP1xcOlxcL1xcLyk/KDI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPylcXC4oMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KVxcLigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKDI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPykoXFw6WzAtOV0rKT8vO1xuICAgICAgICByZXR1cm4gcmVnZXg7XG4gICAgICB9LFxuICAgICAgLyoqXG4gICAgKiBtYXRoZXNcbiAgICAqIGh0dHA6Ly9kb21haW4uY29tOnBvcnRcbiAgICAqIGh0dHA6Ly9kb21haW4uY29tXG4gICAgKiBodHRwOi8vZG9tYWluOnBvcnRcbiAgICAqIGh0dHA6Ly9kb21haW5cbiAgICAqIGh0dHBzOi8vZG9tYWluLmNvbTpwb3J0XG4gICAgKiBodHRwczovL2RvbWFpbi5jb21cbiAgICAqIGh0dHBzOi8vZG9tYWluOnBvcnRcbiAgICAqIGh0dHBzOi8vZG9tYWluXG4gICAgKi9cbiAgICAgIGdldCBmb3JTdHJpbmdXaXRoRG9tYWluSG9zdCgpIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSAvKCgoaHR0cChzKT9cXDpcXC9cXC8pP1thLXpBLVowLTldW2EtekEtWjAtOS1dezEsNjF9W2EtekEtWjAtOV0oPzpcXC5bYS16QS1aXXsyLH0pKyhcXDpbMC05XSspPyl8KChodHRwKHMpP1xcOlxcL1xcLylbYS16QS1aMC05LV17MSw2MX0pKS87XG4gICAgICAgIHJldHVybiByZWdleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9oZWxwZXJzL2hlbHBlcnMtc3RyaW5ncy1yZWdleGVzLnRzIl19