tnp-helpers 0.0.73 → 13.0.5

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 (304) hide show
  1. package/app.js +2 -1
  2. package/browser/README.md +24 -0
  3. package/browser/esm2020/lib/base-component.mjs +48 -0
  4. package/browser/esm2020/lib/base-formly-component.mjs +124 -0
  5. package/browser/esm2020/lib/condition-wait.mjs +54 -0
  6. package/browser/esm2020/lib/constants.mjs +2 -0
  7. package/browser/esm2020/lib/dual-component-ctrl.mjs +117 -0
  8. package/browser/esm2020/lib/helpers-array-obj.mjs +81 -0
  9. package/browser/esm2020/lib/helpers-environment.mjs +21 -0
  10. package/browser/esm2020/lib/helpers-strings-regexes.mjs +49 -0
  11. package/browser/esm2020/lib/helpers-strings.mjs +61 -0
  12. package/browser/esm2020/lib/helpers.mjs +106 -0
  13. package/browser/esm2020/lib/index.mjs +11 -0
  14. package/browser/esm2020/lib/long-press.directive.mjs +106 -0
  15. package/browser/esm2020/lib/project.mjs +90 -0
  16. package/browser/esm2020/lib/resize-service.mjs +20 -0
  17. package/browser/esm2020/public-api.mjs +2 -0
  18. package/browser/esm2020/tnp-helpers.mjs +5 -0
  19. package/browser/fesm2015/tnp-helpers.mjs +870 -0
  20. package/browser/fesm2015/tnp-helpers.mjs.map +1 -0
  21. package/browser/fesm2020/tnp-helpers.mjs +861 -0
  22. package/browser/fesm2020/tnp-helpers.mjs.map +1 -0
  23. package/browser/{base-component.d.ts → lib/base-component.d.ts} +3 -0
  24. package/browser/{base-formly-component.d.ts → lib/base-formly-component.d.ts} +4 -3
  25. package/browser/{condition-wait.d.ts → lib/condition-wait.d.ts} +0 -0
  26. package/browser/{constants.d.ts → lib/constants.d.ts} +0 -0
  27. package/browser/{dual-component-ctrl.d.ts → lib/dual-component-ctrl.d.ts} +1 -2
  28. package/{helpers-array-obj.d.ts → browser/lib/helpers-array-obj.d.ts} +1 -0
  29. package/browser/{helpers-environment.d.ts → lib/helpers-environment.d.ts} +0 -0
  30. package/browser/{helpers-strings-regexes.d.ts → lib/helpers-strings-regexes.d.ts} +0 -0
  31. package/browser/{helpers-strings.d.ts → lib/helpers-strings.d.ts} +0 -0
  32. package/browser/{helpers.d.ts → lib/helpers.d.ts} +2 -4
  33. package/{client → browser/lib}/index.d.ts +1 -1
  34. package/{client → browser/lib}/long-press.directive.d.ts +3 -0
  35. package/browser/{project.d.ts → lib/project.d.ts} +0 -0
  36. package/{client → browser/lib}/resize-service.d.ts +3 -0
  37. package/browser/package.json +31 -0
  38. package/browser/public-api.d.ts +1 -0
  39. package/browser/tnp-helpers.d.ts +5 -0
  40. package/client/README.md +24 -0
  41. package/client/esm2020/lib/base-component.mjs +48 -0
  42. package/client/esm2020/lib/base-formly-component.mjs +124 -0
  43. package/client/esm2020/lib/condition-wait.mjs +54 -0
  44. package/client/esm2020/lib/constants.mjs +2 -0
  45. package/client/esm2020/lib/dual-component-ctrl.mjs +117 -0
  46. package/client/esm2020/lib/helpers-array-obj.mjs +81 -0
  47. package/client/esm2020/lib/helpers-environment.mjs +21 -0
  48. package/client/esm2020/lib/helpers-strings-regexes.mjs +49 -0
  49. package/client/esm2020/lib/helpers-strings.mjs +61 -0
  50. package/client/esm2020/lib/helpers.mjs +106 -0
  51. package/client/esm2020/lib/index.mjs +11 -0
  52. package/client/esm2020/lib/long-press.directive.mjs +106 -0
  53. package/client/esm2020/lib/project.mjs +90 -0
  54. package/client/esm2020/lib/resize-service.mjs +20 -0
  55. package/client/esm2020/public-api.mjs +2 -0
  56. package/client/esm2020/tnp-helpers.mjs +5 -0
  57. package/client/fesm2015/tnp-helpers.mjs +870 -0
  58. package/client/fesm2015/tnp-helpers.mjs.map +1 -0
  59. package/client/fesm2020/tnp-helpers.mjs +861 -0
  60. package/client/fesm2020/tnp-helpers.mjs.map +1 -0
  61. package/client/{base-component.d.ts → lib/base-component.d.ts} +3 -0
  62. package/{base-formly-component.d.ts → client/lib/base-formly-component.d.ts} +4 -3
  63. package/client/{condition-wait.d.ts → lib/condition-wait.d.ts} +0 -0
  64. package/client/{constants.d.ts → lib/constants.d.ts} +0 -0
  65. package/client/{dual-component-ctrl.d.ts → lib/dual-component-ctrl.d.ts} +1 -2
  66. package/client/{helpers-array-obj.d.ts → lib/helpers-array-obj.d.ts} +1 -0
  67. package/client/{helpers-environment.d.ts → lib/helpers-environment.d.ts} +0 -0
  68. package/client/{helpers-strings-regexes.d.ts → lib/helpers-strings-regexes.d.ts} +0 -0
  69. package/client/{helpers-strings.d.ts → lib/helpers-strings.d.ts} +0 -0
  70. package/client/{helpers.d.ts → lib/helpers.d.ts} +2 -4
  71. package/{browser → client/lib}/index.d.ts +1 -1
  72. package/{browser → client/lib}/long-press.directive.d.ts +3 -0
  73. package/client/{project.d.ts → lib/project.d.ts} +0 -0
  74. package/{resize-service.d.ts → client/lib/resize-service.d.ts} +3 -0
  75. package/client/package.json +25 -19
  76. package/client/public-api.d.ts +1 -0
  77. package/client/tnp-helpers.d.ts +5 -0
  78. package/index.d.ts +1 -11
  79. package/index.js +3 -21
  80. package/index.js.map +1 -1
  81. package/{base-component.d.ts → lib/base-component.d.ts} +0 -0
  82. package/{base-component.js → lib/base-component.js} +8 -7
  83. package/lib/base-component.js.map +1 -0
  84. package/{client → lib}/base-formly-component.d.ts +1 -3
  85. package/{base-formly-component.js → lib/base-formly-component.js} +46 -47
  86. package/lib/base-formly-component.js.map +1 -0
  87. package/{condition-wait.d.ts → lib/condition-wait.d.ts} +0 -0
  88. package/{condition-wait.js → lib/condition-wait.js} +10 -9
  89. package/lib/condition-wait.js.map +1 -0
  90. package/{constants.d.ts → lib/constants.d.ts} +0 -0
  91. package/{constants.js → lib/constants.js} +2 -1
  92. package/lib/constants.js.map +1 -0
  93. package/{dual-component-ctrl.d.ts → lib/dual-component-ctrl.d.ts} +1 -2
  94. package/{dual-component-ctrl.js → lib/dual-component-ctrl.js} +3 -1
  95. package/lib/dual-component-ctrl.js.map +1 -0
  96. package/{git-project.d.ts → lib/git-project.d.ts} +4 -3
  97. package/{git-project.js → lib/git-project.js} +20 -11
  98. package/lib/git-project.js.map +1 -0
  99. package/{browser → lib}/helpers-array-obj.d.ts +1 -0
  100. package/{helpers-array-obj.js → lib/helpers-array-obj.js} +8 -1
  101. package/lib/helpers-array-obj.js.map +1 -0
  102. package/{helpers-cli-tool.backend.d.ts → lib/helpers-cli-tool.backend.d.ts} +0 -0
  103. package/{helpers-cli-tool.backend.js → lib/helpers-cli-tool.backend.js} +5 -4
  104. package/lib/helpers-cli-tool.backend.js.map +1 -0
  105. package/{helpers-dependencies.backend.d.ts → lib/helpers-dependencies.backend.d.ts} +0 -0
  106. package/{helpers-dependencies.backend.js → lib/helpers-dependencies.backend.js} +6 -5
  107. package/lib/helpers-dependencies.backend.js.map +1 -0
  108. package/{helpers-environment.d.ts → lib/helpers-environment.d.ts} +0 -0
  109. package/{helpers-environment.js → lib/helpers-environment.js} +2 -1
  110. package/lib/helpers-environment.js.map +1 -0
  111. package/{helpers-file-folders.backend.d.ts → lib/helpers-file-folders.backend.d.ts} +1 -0
  112. package/{helpers-file-folders.backend.js → lib/helpers-file-folders.backend.js} +66 -47
  113. package/lib/helpers-file-folders.backend.js.map +1 -0
  114. package/{helpers-git.backend.d.ts → lib/helpers-git.backend.d.ts} +3 -1
  115. package/{helpers-git.backend.js → lib/helpers-git.backend.js} +83 -55
  116. package/lib/helpers-git.backend.js.map +1 -0
  117. package/{helpers-json5.backend.d.ts → lib/helpers-json5.backend.d.ts} +0 -0
  118. package/{helpers-json5.backend.js → lib/helpers-json5.backend.js} +3 -2
  119. package/lib/helpers-json5.backend.js.map +1 -0
  120. package/{helpers-morphi-framework.backend.d.ts → lib/helpers-morphi-framework.backend.d.ts} +0 -0
  121. package/{helpers-morphi-framework.backend.js → lib/helpers-morphi-framework.backend.js} +4 -3
  122. package/lib/helpers-morphi-framework.backend.js.map +1 -0
  123. package/{helpers-network.backend.d.ts → lib/helpers-network.backend.d.ts} +0 -0
  124. package/{helpers-network.backend.js → lib/helpers-network.backend.js} +2 -1
  125. package/lib/helpers-network.backend.js.map +1 -0
  126. package/{helpers-npm.backend.d.ts → lib/helpers-npm.backend.d.ts} +0 -0
  127. package/{helpers-npm.backend.js → lib/helpers-npm.backend.js} +2 -1
  128. package/lib/helpers-npm.backend.js.map +1 -0
  129. package/{helpers-path.backend.d.ts → lib/helpers-path.backend.d.ts} +0 -0
  130. package/{helpers-path.backend.js → lib/helpers-path.backend.js} +4 -3
  131. package/lib/helpers-path.backend.js.map +1 -0
  132. package/{helpers-process.backend.d.ts → lib/helpers-process.backend.d.ts} +2 -2
  133. package/{helpers-process.backend.js → lib/helpers-process.backend.js} +54 -53
  134. package/lib/helpers-process.backend.js.map +1 -0
  135. package/{helpers-strings-regexes.d.ts → lib/helpers-strings-regexes.d.ts} +0 -0
  136. package/{helpers-strings-regexes.js → lib/helpers-strings-regexes.js} +2 -1
  137. package/lib/helpers-strings-regexes.js.map +1 -0
  138. package/{helpers-strings.d.ts → lib/helpers-strings.d.ts} +0 -0
  139. package/{helpers-strings.js → lib/helpers-strings.js} +2 -1
  140. package/lib/helpers-strings.js.map +1 -0
  141. package/{helpers-system-terminal.backend.d.ts → lib/helpers-system-terminal.backend.d.ts} +1 -1
  142. package/{helpers-system-terminal.backend.js → lib/helpers-system-terminal.backend.js} +9 -8
  143. package/lib/helpers-system-terminal.backend.js.map +1 -0
  144. package/{helpers.d.ts → lib/helpers.d.ts} +6 -6
  145. package/{helpers.js → lib/helpers.js} +34 -30
  146. package/lib/helpers.js.map +1 -0
  147. package/{client/index.js → lib/index.d.ts} +3 -3
  148. package/lib/index.js +25 -0
  149. package/lib/index.js.map +1 -0
  150. package/{long-press.directive.d.ts → lib/long-press.directive.d.ts} +0 -0
  151. package/{long-press.directive.js → lib/long-press.directive.js} +40 -39
  152. package/lib/long-press.directive.js.map +1 -0
  153. package/{merge-helpers.backend.d.ts → lib/merge-helpers.backend.d.ts} +0 -0
  154. package/{merge-helpers.backend.js → lib/merge-helpers.backend.js} +7 -6
  155. package/lib/merge-helpers.backend.js.map +1 -0
  156. package/{project.d.ts → lib/project.d.ts} +0 -0
  157. package/{project.js → lib/project.js} +23 -21
  158. package/lib/project.js.map +1 -0
  159. package/{browser → lib}/resize-service.d.ts +0 -0
  160. package/{resize-service.js → lib/resize-service.js} +5 -4
  161. package/lib/resize-service.js.map +1 -0
  162. package/{ts-code-modifier → lib/ts-code}/index.d.ts +0 -0
  163. package/{ts-code-modifier → lib/ts-code}/index.js +3 -2
  164. package/lib/ts-code/index.js.map +1 -0
  165. package/lib/ts-code/ts-code-extractor.d.ts +14 -0
  166. package/lib/ts-code/ts-code-extractor.js +47 -0
  167. package/lib/ts-code/ts-code-extractor.js.map +1 -0
  168. package/{ts-code-modifier → lib/ts-code}/ts-code-modifier.backend.d.ts +0 -0
  169. package/{ts-code-modifier → lib/ts-code}/ts-code-modifier.backend.js +3 -2
  170. package/lib/ts-code/ts-code-modifier.backend.js.map +1 -0
  171. package/package.json +10 -18
  172. package/package.json_devDependencies.json +40 -40
  173. package/{package.json_tnp.json → package.json_tnp.json5} +12 -8
  174. package/tmp-environment.json +85 -122
  175. package/base-component.js.map +0 -1
  176. package/base-formly-component.js.map +0 -1
  177. package/browser/base-component.js +0 -48
  178. package/browser/base-component.js.map +0 -1
  179. package/browser/base-formly-component.js +0 -149
  180. package/browser/base-formly-component.js.map +0 -1
  181. package/browser/condition-wait.js +0 -57
  182. package/browser/condition-wait.js.map +0 -1
  183. package/browser/constants.js +0 -2
  184. package/browser/constants.js.map +0 -1
  185. package/browser/dual-component-ctrl.js +0 -118
  186. package/browser/dual-component-ctrl.js.map +0 -1
  187. package/browser/es5/base-component.js +0 -89
  188. package/browser/es5/base-formly-component.js +0 -158
  189. package/browser/es5/condition-wait.js +0 -135
  190. package/browser/es5/constants.js +0 -7
  191. package/browser/es5/dual-component-ctrl.js +0 -164
  192. package/browser/es5/git-project.js +0 -18
  193. package/browser/es5/helpers-array-obj.js +0 -129
  194. package/browser/es5/helpers-environment.js +0 -46
  195. package/browser/es5/helpers-messages.js +0 -105
  196. package/browser/es5/helpers-strings-regexes.js +0 -74
  197. package/browser/es5/helpers-strings.js +0 -96
  198. package/browser/es5/helpers.js +0 -217
  199. package/browser/es5/index.js +0 -86
  200. package/browser/es5/long-press.directive.js +0 -133
  201. package/browser/es5/project.js +0 -146
  202. package/browser/es5/resize-service.js +0 -45
  203. package/browser/git-project.d.ts +0 -2
  204. package/browser/git-project.js +0 -6
  205. package/browser/git-project.js.map +0 -1
  206. package/browser/helpers-array-obj.js +0 -75
  207. package/browser/helpers-array-obj.js.map +0 -1
  208. package/browser/helpers-environment.js +0 -21
  209. package/browser/helpers-environment.js.map +0 -1
  210. package/browser/helpers-messages.d.ts +0 -7
  211. package/browser/helpers-messages.js +0 -68
  212. package/browser/helpers-messages.js.map +0 -1
  213. package/browser/helpers-strings-regexes.js +0 -49
  214. package/browser/helpers-strings-regexes.js.map +0 -1
  215. package/browser/helpers-strings.js +0 -61
  216. package/browser/helpers-strings.js.map +0 -1
  217. package/browser/helpers.js +0 -113
  218. package/browser/helpers.js.map +0 -1
  219. package/browser/index.js +0 -11
  220. package/browser/index.js.map +0 -1
  221. package/browser/long-press.directive.js +0 -125
  222. package/browser/long-press.directive.js.map +0 -1
  223. package/browser/project.js +0 -90
  224. package/browser/project.js.map +0 -1
  225. package/browser/resize-service.js +0 -20
  226. package/browser/resize-service.js.map +0 -1
  227. package/client/base-component.js +0 -48
  228. package/client/base-component.js.map +0 -1
  229. package/client/base-formly-component.js +0 -149
  230. package/client/base-formly-component.js.map +0 -1
  231. package/client/condition-wait.js +0 -57
  232. package/client/condition-wait.js.map +0 -1
  233. package/client/constants.js +0 -2
  234. package/client/constants.js.map +0 -1
  235. package/client/dual-component-ctrl.js +0 -118
  236. package/client/dual-component-ctrl.js.map +0 -1
  237. package/client/es5/base-component.js +0 -89
  238. package/client/es5/base-formly-component.js +0 -158
  239. package/client/es5/condition-wait.js +0 -135
  240. package/client/es5/constants.js +0 -7
  241. package/client/es5/dual-component-ctrl.js +0 -164
  242. package/client/es5/git-project.js +0 -18
  243. package/client/es5/helpers-array-obj.js +0 -129
  244. package/client/es5/helpers-environment.js +0 -46
  245. package/client/es5/helpers-messages.js +0 -105
  246. package/client/es5/helpers-strings-regexes.js +0 -74
  247. package/client/es5/helpers-strings.js +0 -96
  248. package/client/es5/helpers.js +0 -217
  249. package/client/es5/index.js +0 -86
  250. package/client/es5/long-press.directive.js +0 -133
  251. package/client/es5/project.js +0 -146
  252. package/client/es5/resize-service.js +0 -45
  253. package/client/git-project.d.ts +0 -2
  254. package/client/git-project.js +0 -6
  255. package/client/git-project.js.map +0 -1
  256. package/client/helpers-array-obj.js +0 -75
  257. package/client/helpers-array-obj.js.map +0 -1
  258. package/client/helpers-environment.js +0 -21
  259. package/client/helpers-environment.js.map +0 -1
  260. package/client/helpers-messages.d.ts +0 -7
  261. package/client/helpers-messages.js +0 -68
  262. package/client/helpers-messages.js.map +0 -1
  263. package/client/helpers-strings-regexes.js +0 -49
  264. package/client/helpers-strings-regexes.js.map +0 -1
  265. package/client/helpers-strings.js +0 -61
  266. package/client/helpers-strings.js.map +0 -1
  267. package/client/helpers.js +0 -113
  268. package/client/helpers.js.map +0 -1
  269. package/client/index.js.map +0 -1
  270. package/client/long-press.directive.js +0 -125
  271. package/client/long-press.directive.js.map +0 -1
  272. package/client/project.js +0 -90
  273. package/client/project.js.map +0 -1
  274. package/client/resize-service.js +0 -20
  275. package/client/resize-service.js.map +0 -1
  276. package/condition-wait.js.map +0 -1
  277. package/constants.js.map +0 -1
  278. package/dual-component-ctrl.js.map +0 -1
  279. package/git-project.js.map +0 -1
  280. package/helpers-array-obj.js.map +0 -1
  281. package/helpers-cli-tool.backend.js.map +0 -1
  282. package/helpers-dependencies.backend.js.map +0 -1
  283. package/helpers-environment.js.map +0 -1
  284. package/helpers-file-folders.backend.js.map +0 -1
  285. package/helpers-git.backend.js.map +0 -1
  286. package/helpers-json5.backend.js.map +0 -1
  287. package/helpers-messages.d.ts +0 -7
  288. package/helpers-messages.js +0 -237
  289. package/helpers-messages.js.map +0 -1
  290. package/helpers-morphi-framework.backend.js.map +0 -1
  291. package/helpers-network.backend.js.map +0 -1
  292. package/helpers-npm.backend.js.map +0 -1
  293. package/helpers-path.backend.js.map +0 -1
  294. package/helpers-process.backend.js.map +0 -1
  295. package/helpers-strings-regexes.js.map +0 -1
  296. package/helpers-strings.js.map +0 -1
  297. package/helpers-system-terminal.backend.js.map +0 -1
  298. package/helpers.js.map +0 -1
  299. package/long-press.directive.js.map +0 -1
  300. package/merge-helpers.backend.js.map +0 -1
  301. package/project.js.map +0 -1
  302. package/resize-service.js.map +0 -1
  303. package/ts-code-modifier/index.js.map +0 -1
  304. package/ts-code-modifier/ts-code-modifier.backend.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tnp-helpers.mjs","sources":["../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-array-obj.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-strings-regexes.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-environment.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers-strings.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/condition-wait.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/helpers.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/constants.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/project.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/base-component.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/dual-component-ctrl.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/base-formly-component.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/resize-service.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/long-press.directive.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/lib/index.ts","../../../tmp-libs-for-bundle/tnp-helpers/projects/tnp-helpers/src/tnp-helpers.ts"],"sourcesContent":["\n\nimport { _ } from 'tnp-core/browser';\nimport * as fuzzy from 'fuzzy';\nimport { Helpers } from './index';\n\nexport class HelpersArrayObj {\n\n from(s: string | string[]): string[] {\n if (_.isArray(s)) {\n return s;\n }\n if (_.isString(s)) {\n return s.split(' ')\n }\n }\n\n second(arr) {\n if (!Array.isArray(arr) || arr.length < 2) {\n return void 0;\n }\n return arr[1];\n }\n\n arrayMoveElementBefore<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === 0) {\n arr.unshift(a);\n } else {\n arr.splice(indexB - 1, 0, a);\n }\n return arr;\n }\n arrayMoveElementAfterB<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === arr.length - 1) {\n arr.push(a);\n } else {\n arr.splice(indexB + 1, 0, a);\n }\n return arr;\n }\n\n uniqArray<T = any>(array: any[], uniqueProperty?: (keyof T)) {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item) ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n });\n }\n\n sortKeys(obj) {\n if (_.isArray(obj)) {\n return obj.map(Helpers.arrays.sortKeys);\n }\n if (_.isObject(obj)) {\n return _.fromPairs(_.keys(obj).sort().map(key => [key, Helpers.arrays.sortKeys(obj[key])]));\n }\n return obj;\n };\n\n /**\n * Fuzzy search\n */\n fuzzy<T = any>(query: string, list: T[], valueFn?: (modelFromList: T) => string) {\n const resultsFuzzy = fuzzy.filter(\n query,\n list.map(k => valueFn ? valueFn(k) : k),\n )\n const resultsFuzzyKebab = fuzzy.filter(\n _.kebabCase(query),\n list.map(k => _.kebabCase((valueFn ? valueFn(k) : k) as any)),\n )\n const matches = resultsFuzzy.map((el) => el.string);\n const matchesKebab = resultsFuzzyKebab.map((el) => el.string);\n\n const results = (resultsFuzzy.length === 0) ? [] : list.filter(k => {\n return matches.includes((valueFn ? valueFn(k) : k) as any);\n })\n\n if (matches.length === 0 && matchesKebab.length > 0) {\n const m = list.find(k => _.kebabCase((valueFn ? valueFn(k) : k) as any) === _.first(matchesKebab));\n results.push(m);\n matches.push((valueFn ? valueFn(m) : m) as any);\n }\n\n return { matches, results };\n }\n\n}\n","\n\nimport { _ } from 'tnp-core/browser';\nexport class HelpersStringsRegexes {\n\n\n\n escapeStringForRegEx(s: string) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n matchExactOnce(s: string, regex: RegExp): string {\n if (!_.isString(s) || !_.isRegExp(regex)) {\n return void 0;\n }\n const result = s.match(regex);\n if (_.isNil(result)) {\n return void 0;\n }\n return result.length >= 1 ? _.first(result) : void 0;\n }\n\n get regex() {\n return {\n /**\n * mathes\n * xxx.xxx.xxx.xxx\n * xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx\n * https://xxx.xxx.xxx.xxx:port\n * https://xxx.xxx.xxx.xxx *\n */\n get forStringWithIpHost() {\n 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]+)?/;\n return regex;\n },\n /**\n * mathes\n * http://domain.com:port\n * http://domain.com\n * http://domain:port\n * http://domain\n * https://domain.com:port\n * https://domain.com\n * https://domain:port\n * https://domain\n */\n get forStringWithDomainHost() {\n 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}))/;\n return regex;\n }\n }\n }\n}\n","\n\nimport { _, } from 'tnp-core/browser';\n\n\nexport class HelpersEnvironment {\n\n environmentName(filename, local_env_name) {\n\n }\n\n isValidGitRepuUrl(url: string) {\n const regex = /^([A-Za-z0-9]+@|http(|s)\\:\\/\\/)([A-Za-z0-9.]+(:\\d+)?)(?::|\\/)([\\d\\/\\w.-]+?)(\\.git)?$/;\n const res = regex.test(url);\n return res;\n }\n\n isValidIp(ip: string) {\n if (!_.isString(ip)) {\n return false;\n }\n ip = ip.trim();\n if (ip === 'localhost') {\n return true;\n }\n return /^(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]?)$/.test(ip)\n }\n\n}\n","\n\nimport { _ } from 'tnp-core/browser';\n\nexport class HelpersStrings {\n\n /**\n * Example:\n *\n * const result = interpolateString(\"I'm {age} years old!\")\n * .withParameters({ age: 29 });\n *\n * const result = interpolateString(\"The {a} says {n}, {n}, {n}!\")\n * .withParameters({ a: 'cow', n: 'moo' });\n *\n *\n * @param value string to interpolate\n * @param parameters object with parametes\n */\n interpolateString<T = any>(value: string) {\n if (typeof value !== 'string') {\n console.warn('[ss-logic][helper] Value for interpolation is not string: ', value);\n return value;\n }\n\n return {\n withParameters(parameters: T) {\n if (typeof parameters !== 'object') {\n console.warn('[ss-logic][helper] Parameters are not a object: ', parameters);\n return value;\n }\n return value.replace(/{([^{}]*)}/g, function (a, b) {\n var r = parameters[b];\n return typeof r === 'string' || typeof r === 'number' ? r : a;\n } as any);\n }\n }\n\n }\n\n numValue(pixelsCss: string) {\n // tslint:disable-next-line:radix\n return parseInt(pixelsCss.replace('px', ''));\n }\n\n /**\n * examples:\n * 'aa bb bb' => ['aa','bb','cc'],\n * 'aa' => ['aa']\n * ['aa'] => ['aa']\n */\n splitIfNeed(stringOrArr: string | string[]): string[] {\n let res = [];\n if (_.isArray(stringOrArr)) {\n res = stringOrArr.map(s => {\n return s.trim();\n })\n }\n if (_.isString(stringOrArr)) {\n res = stringOrArr.split(/\\s*[\\s,]\\s*/);\n }\n return res.filter(f => !!f && (f.trim() !== ''));\n }\n\n removeDoubleOrMoreEmptyLines(s: string) {\n s = s?.split('\\n').map(f => f.trimRight()).join('\\n');\n return s?.replace(/(\\r\\n|\\r|\\n){2,}/g, '$1\\n');\n }\n\n}\n\n","\n\nimport { _ } from 'tnp-core/browser';\nimport { Helpers } from './index';\n\nexport type Condition = {\n name?: string;\n timeoutCheck?: number;\n timeoutNext?: number;\n callback: (c: Condition) => boolean | Promise<boolean>;\n errorMessage: string;\n}\n\nexport async function conditionWait(conditionAndTimeout: Condition[]) {\n await waitFor(conditionAndTimeout);\n}\n\nfunction waitFor(arr: Condition[], messageToShow: string = void 0) {\n return new Promise(async (resolve, reject) => {\n if (arr.length === 0) {\n resolve(void 0)\n } else {\n // console.log(arr.length)\n const check = arr.shift();\n if (_.isUndefined(check.timeoutCheck)) {\n check.timeoutCheck = 2000;\n }\n if (_.isUndefined(check.timeoutNext)) {\n check.timeoutNext = 4000;\n }\n const { timeoutCheck, timeoutNext, name } = check;\n // console.log(`timeoutCheck: ${timeoutCheck}`);\n // console.log(`timeoutNext: ${timeoutNext}`);\n // console.log(`Checking: ${name}`)\n const resultTrue = await Helpers.runSyncOrAsync(check.callback, check);\n // console.log(`after: ${name}`)\n if (resultTrue) {\n // console.log(`timeout 1 is set to ${timeoutNext}`)\n setTimeout(async () => {\n // console.log(`timeout 1 is over`)\n await waitFor(arr).then(() => {\n resolve(void 0);\n });\n }, timeoutNext);\n } else {\n\n arr.unshift(check);\n if (!messageToShow || check.errorMessage !== messageToShow) {\n Helpers.info(check.errorMessage);\n } else {\n // console.log(`dont show error message ${check.errorMessage}`)\n }\n // console.log(`timeout 2 is set to ${timeoutCheck}, arr.length is ${arr.length}`)\n setTimeout(async () => {\n // console.log(`timeout 2 ${timeoutCheck} ovef`)\n await waitFor(arr, check.errorMessage).then(() => {\n resolve(void 0);\n });\n }, timeoutCheck);\n }\n }\n })\n}\n","\n\nimport { _ } from 'tnp-core/browser';\nimport { HelpersArrayObj } from './helpers-array-obj';\nimport { HelpersStringsRegexes } from './helpers-strings-regexes';\nimport { HelpersEnvironment } from './helpers-environment';\nimport { HelpersStrings } from './helpers-strings';\nimport { conditionWait } from './condition-wait';\n\nimport { config, ConfigModels } from 'tnp-config/browser';\nimport { Helpers } from './index';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Morphi } from 'morphi/browser';\nimport { CoreHelpers } from 'tnp-core/browser';\n\nexport function applyMixins(derivedCtor: any, baseCtors: any[]) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n });\n });\n}\n\n// @ts-ignore\nexport class HelpersTnp extends CoreHelpers {\n\n private static _instance: HelpersTnp & CoreHelpers;\n public static get Instance() {\n if (!HelpersTnp._instance) {\n HelpersTnp._instance = new HelpersTnp();\n }\n return HelpersTnp._instance;\n }\n\n private constructor(\n\n public arrays = new HelpersArrayObj(),\n public strings = new HelpersStrings(),\n\n ) {\n super();\n }\n\n CLIWRAP(f: Function, name: string) {\n CLASS.setName(f, name);\n return f;\n }\n\n\n\n\n\n async isElevated() {\n\n }\n\n\n\n\n\n\n\n async mesureExectionInMs(\n description: string,\n functionToExecute: Function,\n ...functionArguments: any[]): Promise<number> {\n var start = new Date()\n await Helpers.runSyncOrAsync(functionToExecute, ...functionArguments);\n //@ts-ignore\n var end = new Date() - start\n if (Morphi.IsBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n\n return end;\n }\n\n mesureExectionInMsSync(\n description: string,\n functionToExecute: () => void): number {\n var start = new Date()\n functionToExecute();\n //@ts-ignore\n var end = new Date() - start\n if (Morphi.IsBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n\n return end;\n }\n\n conditionWait = conditionWait;\n\n waitForCondition(conditionFn: (any) => boolean, howOfftenCheckInMs = 1000) {\n return new Promise(async (resolve, reject) => {\n\n const result = await Helpers.runSyncOrAsync(conditionFn);\n if (result) {\n resolve(void 0)\n } else {\n setTimeout(() => {\n Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {\n resolve(void 0);\n })\n }, howOfftenCheckInMs);\n }\n })\n }\n\n getBrowserVerPath(moduleName?: string) {\n\n }\n\n getMethodName(obj, method): string {\n var methodName = null;\n Object.getOwnPropertyNames(obj).forEach(prop => {\n if (obj[prop] === method) {\n methodName = prop;\n }\n });\n\n if (methodName !== null) {\n return methodName;\n }\n\n var proto = Object.getPrototypeOf(obj);\n if (proto) {\n return Helpers.getMethodName(proto, method);\n }\n return null;\n }\n\n fixWebpackEnv(env: Object) {\n _.forIn(env, (v, k) => {\n const value: string = v as any;\n if (value === 'true') env[k] = true;\n if (value === 'false') env[k] = false;\n })\n }\n\n\n\n\n public applyMixins = applyMixins;\n}\n\n// @ts-ignore\nexport interface HelpersTnp extends\n HelpersStringsRegexes,\n HelpersEnvironment\n\n{ }\n\napplyMixins(HelpersTnp, [\n HelpersStringsRegexes,\n HelpersEnvironment,\n\n]);\n","\n\nexport const BaselineSiteJoinprefix = '__';\n","\n\ndeclare const global: any;\nimport { config, LibTypeArr, ConfigModels } from 'tnp-config/browser';\nimport { _, CoreConfig } from 'tnp-core/browser';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Models } from 'tnp-models/browser';\nimport { Morphi } from 'morphi/browser';\nimport { HelpersTnp } from './helpers';\nconst Helpers = HelpersTnp.Instance;\n\nexport type EmptyProjectStructure = {\n includeContent?: boolean;\n relativePath: string;\n relativeLinkFrom?: string;\n};\n\nexport class Project<T extends Project<any> = any>\n\n{\n\n\n protected cache = {};\n\n /**\n * Do use this variable for comparatios\n * ONLY FOR VIEWING\n */\n public readonly _type: ConfigModels.LibType;\n public browser: Pick<Project<any>, 'location' | 'name'> = {} as any;\n public location: string;\n public name: string;\n public genericName: string;\n public isWorkspace: boolean;\n public isVscodeExtension: boolean;\n public isDocker: boolean;\n public isSite: boolean;\n public isSiteInStrictMode?: boolean;\n public isSiteInDependencyMode?: boolean;\n public isCoreProject: boolean;\n public isCommandLineToolOnly: boolean;\n public isGenerated: boolean;\n public isGeneratedForRelease: boolean;\n public isWorkspaceChildProject: boolean;\n public isBasedOnOtherProject: boolean;\n public isForRecreation: boolean;\n public isContainer: boolean;\n public isContainerWithLinkedProjects: boolean;\n public isContainerChild: boolean;\n public isContainerCoreProject: boolean;\n public isStandaloneProject: boolean;\n public isUnknowNpmProject: boolean;\n public isNaviCli: boolean;\n public useFramework: boolean;\n public defaultPort?: number;\n public version: string;\n public lastNpmVersion?: string;\n public _routerTargetHttp?: string;\n public customizableFilesAndFolders: string[];\n public type: ConfigModels.LibType;\n public backupName: string;\n public resources: string[];\n public env: Models.env.EnvConfig;\n public allowedEnvironments: ConfigModels.EnvironmentName[];\n\n public children: T[];\n public grandpa: T;\n\n public distribution: T;\n\n public childrenThatAreLibs?: T[];\n\n public childrenThatAreClients?: T[];\n\n public childrenThatAreThirdPartyInNodeModules?: T[];\n\n public parent: T;\n\n public preview: T;\n\n public baseline: T;\n\n public static projects: Project<any>[] = [];\n /**\n * To speed up checking folder I am keeping pathes for alterdy checked folder\n * This may break things that are creating new projects\n */\n public static emptyLocations: string[] = [];\n\n static typeFrom(location: string): ConfigModels.LibType {\n return (void 0);\n }\n\n public static unload(project: Project) {\n Project.projects = Project.projects.filter(f => f !== project);\n }\n\n public static From<T = Project<any>>(location: string): T {\n return (void 0);\n }\n\n public static nearestTo<T = Project>(\n absoluteLocation: string,\n options?: { type?: ConfigModels.LibType; findGitRoot?: boolean; onlyOutSideNodeModules?: boolean }): T {\n return (void 0);\n }\n\n public static allProjectFrom<T = Project>(absoluteLocation: string, stopOnCwd: string = '/') {\n return (void 0);\n }\n\n public static DefaultPortByType(type: ConfigModels.LibType): number {\n if (type === 'workspace') { return 5000; }\n if (type === 'angular-client') { return 4300; }\n if (type === 'angular-lib') { return 4250; }\n if (type === 'electron-client') { return 4350; }\n if (type === 'ionic-client') { return 8080; }\n if (type === 'docker') { return 5000; }\n if (type === 'isomorphic-lib') { return 4000; }\n if (type === 'container' || type === 'unknow-npm-project') {\n return;\n }\n }\n\n public static get isBundleMode() {\n if (Helpers.isBrowser) {\n return true;\n }\n\n }\n\n static get Current(): Project<any> {\n return (void 0);\n }\n\n\n\n static get Tnp(): Project<any> {\n return (void 0);\n }\n\n public static by<T = Project>(\n libraryType: ConfigModels.NewFactoryType,\n version: ConfigModels.FrameworkVersion\n\n ): T {\n return (void 0);\n }\n\n defineProperty<T>(variableName: keyof T, classFn: Function) {\n return (void 0);\n }\n\n public setType(this: Project, type: ConfigModels.LibType) {\n // @ts-ignore\n this._type = type;\n }\n public typeIs(this: Project, ...types: ConfigModels.LibType[]) {\n return this._type && types.includes(this._type);\n }\n\n public typeIsNot(this: Project, ...types: ConfigModels.LibType[]) {\n return !this.typeIs(...types);\n }\n\n forEmptyStructure(): EmptyProjectStructure[] {\n return [\n { relativePath: config.file.package_json, includeContent: true },\n { relativePath: config.folder.src },\n ];\n }\n\n}\n\n\nexport type ProjectBuild = { project: Project; appBuild: boolean; };\n\n\n\n","\n\nimport { Subscription } from 'rxjs';\nimport { OnDestroy, OnInit, Component, Input } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-base-component-meta',\n template: '<div></div>'\n})\nexport abstract class BaseComponent implements OnDestroy {\n\n // @ts-ignore\n @Input() model: any = {};\n\n handlers: Subscription[] = [];\n\n ngOnDestroy(): void {\n this.handlers.forEach(h => h.unsubscribe());\n this.handlers.length = 0;\n }\n\n\n}\n\nconst isCalledNgInitAfterInternalRefresh = Symbol()\n\nexport abstract class BaseComponentForRouter extends BaseComponent {\n\n constructor(\n private __router: Router\n ) {\n super();\n this[isCalledNgInitAfterInternalRefresh] = false;\n }\n\n\n protected isCalledNgInitAfterInternalRefresh() {\n return !!this[isCalledNgInitAfterInternalRefresh];\n }\n protected reloadNgOninitOnUrlChange() {\n this.handlers.push(this.__router.events.subscribe(event => {\n if (event instanceof NavigationEnd && this['ngOnInit']) {\n this[isCalledNgInitAfterInternalRefresh] = true;\n this['ngOnInit']();\n if (this[isCalledNgInitAfterInternalRefresh]) {\n this[isCalledNgInitAfterInternalRefresh] = false;\n }\n }\n }) as any);\n }\n\n}\n","\n\nimport { _ } from 'tnp-core/browser';\nimport { BaseFormlyComponent } from './base-formly-component';\nimport { CLASS } from 'typescript-class-helpers/browser';\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';\n\nimport { FormControl, FormGroup } from '@angular/forms'\n\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create(`DualComponentController`);\n\nexport abstract class DualComponentController<T = any> {\n\n constructor(protected cmp: BaseFormlyComponent, public isFormlyMode = false) {\n\n }\n\n protected getValTemplateOptions(propertyName: string) {\n if (this.isFormlyMode) {\n const res = this.cmp.field?.templateOptions[propertyName]\n if (res === void 0 && this.cmp[propertyName]) {\n return this.cmp[propertyName];\n }\n return res;\n }\n return this.cmp[propertyName]\n }\n\n protected getValContext(propertyName: string) {\n if (this.isFormlyMode) {\n const res = this.cmp?.field[propertyName]\n if (res === void 0 && this.cmp[propertyName]) {\n return this.cmp[propertyName];\n }\n return res;\n }\n return this.cmp[propertyName]\n }\n\n get disabled() {\n return this.getValTemplateOptions('disabled') as boolean;\n }\n\n get required() {\n return this.getValTemplateOptions('required') as boolean;\n }\n\n get type() {\n if (!this.isFormlyMode) {\n return CLASS.getNameFromObject(this.cmp)\n }\n return this.getValContext('type') as boolean;\n }\n\n get label() {\n return this.getValTemplateOptions('label') as string;\n }\n\n get placeholder() {\n return this.getValTemplateOptions('placeholder') as string;\n }\n\n get defaultValue(): T {\n return this.getValContext('defaultValue') as any;\n }\n\n get formControl(): any {// FormControl { // TODO QUICK_FIX\n return this.getValContext('formControl') as any;\n }\n\n get key() {\n return this.getValContext('key') as string;\n }\n\n get path() {\n return this.getValContext('path') as string;\n }\n\n __model: any;\n get model(): any {\n if (this.isFormlyMode) {\n return this.getValContext('model') as string;\n } else {\n return this.__model;\n }\n }\n\n set model(v) {\n if (this.isFormlyMode) {\n log.w(`[DualComponentController] You can't set model in formly component mode`);\n } else {\n this.__model = v;\n }\n }\n\n __mode: any;\n get mode(): any {\n if (this.isFormlyMode) {\n return this.getValContext('mode') as string;\n } else {\n return this.__mode;\n }\n }\n\n set mode(v) {\n if (this.isFormlyMode) {\n // this.cmp.field.mode =\n // log.w(`[DualComponentController] You can't set mode in formly component mode`);\n } else {\n this.__mode = v;\n }\n }\n\n\n get value(): T {\n if (this.isFormlyMode) {\n return this.cmp.field.formControl.value;\n }\n if (_.isString(this.path)) {\n return _.get(this.cmp.model, this.path);\n }\n return this.cmp.model;\n }\n\n set value(v) {\n if (this.isFormlyMode) {\n this.cmp.field.formControl.setValue(v);\n // @ts-ignore\n this.cmp.change.next(v);\n return;\n }\n if (_.isString(this.path)) {\n _.set(this.cmp.model, this.path, v);\n } else {\n this.cmp.model = v;\n }\n }\n\n\n}\n","\n\nimport { Subscription } from 'rxjs';\nimport { FieldType, FormlyFieldConfig } from '@ngx-formly/core';\n\nimport { Component, OnInit, Input, Output, AfterViewInit, } from '@angular/core';\n\nimport { FormControl, FormGroup } from '@angular/forms';\n\nimport { Log, Level } from 'ng2-logger/browser';\nimport { DualComponentController } from './dual-component-ctrl';\nimport { EventEmitter } from '@angular/core';\n\nconst log = Log.create('base formly component', Level.__NOTHING)\n\n\n@Component({\n selector: 'app-base-formly-component-meta',\n template: `<div></div>`\n}) // @ts-ignore\nexport abstract class BaseFormlyComponent<T extends DualComponentController = DualComponentController>\n extends FieldType\n implements OnInit, Partial<DualComponentController<T>>, AfterViewInit {\n\n protected DualComponentController = DualComponentController;\n public ctrl: T = {} as any;\n @Input() pizda: any;\n\n // @ts-ignore\n get mode() {\n return this.ctrl.mode;\n }\n\n // @ts-ignore\n @Input() set mode(v) {\n this.ctrl.mode = v;\n }\n @Input() disabled: boolean;\n @Input() required: boolean;\n @Input() label: string;\n @Input() placeholder: string;\n @Input() defaultValue: T;\n\n // @ts-ignore\n @Input() set model(v) {\n this.ctrl.model = v;\n }\n get model() {\n return this.ctrl.model;\n }\n @Input() path: string;\n @Output() change = new EventEmitter();\n\n\n // @ts-ignore\n @Input() set key(value: string) {\n if (this.ctrl && this.ctrl.isFormlyMode) {\n return;\n }\n this.path = value;\n }\n get key(): string {\n if (this.ctrl && this.ctrl.isFormlyMode) {\n return this.field.key as any;\n }\n return this.path;\n }\n\n // @ts-ignore\n // @Input() formControl: FormControl; // TODO QUICK_FIX\n protected handlers: Subscription[] = [];\n\n ngOnDestroy(): void {\n this.handlers.forEach(h => h.unsubscribe());\n this.handlers.length = 0;\n\n }\n\n ngAfterViewInit() {\n\n }\n\n private __field = {\n templateOptions: {\n\n }\n } as FormlyFieldConfig;\n // _model: any;\n ngOnInit() {\n // console.log('model', this.model)\n // console.log('ket', this.key)\n const isFormlyMode = !!this.field;\n log.i(`isFormlyMode: ${isFormlyMode}`);\n if (!isFormlyMode) {\n const that = this;\n Object.defineProperty(this, 'field', {\n get: function () {\n return that.__field;\n },\n set: function (v) {\n that.__field = v;\n }\n })\n }\n\n const existed = this.ctrl;\n this.ctrl = new (this.DualComponentController as any)(this, isFormlyMode);\n // @ts-ignore\n Object.keys(existed).forEach(key => {\n this.ctrl[key] = existed[key];\n });\n\n // if (!this.formControl) {\n // this.formControl = new FormControl({})\n // Object.defineProperty(this, 'field', {\n // get: () => {\n // return {\n // formControl: this.formControl\n // } as FormlyFieldConfig\n // }\n // })\n // // this.formControl = new FormControl({})\n // }\n // @ts-ignore\n this.change.next(this.ctrl.value);\n }\n\n}\n","\n\nimport { Injectable } from '@angular/core';\nimport * as elementResizeDetectorMaker from 'element-resize-detector';\n\n@Injectable()\nexport class ResizeService {\n private resizeDetector: any;\n\n constructor() {\n this.resizeDetector = elementResizeDetectorMaker({ strategy: 'scroll' });\n }\n\n addResizeEventListener(element: HTMLElement, handler: Function) {\n this.resizeDetector.listenTo(element, handler);\n }\n\n removeResizeEventListener(element: HTMLElement) {\n this.resizeDetector.uninstall(element);\n }\n}\n","\n\nimport { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';\n\n\nimport { _ } from 'tnp-core/browser';\nimport { Log, Level } from 'ng2-logger/browser';\nconst log = Log.create(`[tnp-helpers] long-press`\n , Level.__NOTHING\n)\n\n@Directive({ selector: '[long-press]' })\nexport class LongPress {\n\n @Input() pressDuration: number = 1000;\n\n @Output() onLongPress: EventEmitter<any> = new EventEmitter();\n @Output() onLongPressing: EventEmitter<any> = new EventEmitter();\n @Output() onLongPressEnd: EventEmitter<any> = new EventEmitter();\n\n private pressing: boolean;\n private longPressing: boolean;\n private timeout: any;\n private mouseX: number = 0;\n private mouseY: number = 0;\n\n @HostBinding('class.press')\n get press() { return this.pressing; }\n\n @HostBinding('class.longpress')\n get longPress() { return this.longPressing; }\n\n allowTrigger = false;\n triggerEnd = _.debounce(() => {\n this.endPress();\n }, 500)\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event) {\n // don't do right/middle clicks\n log.d(`MOUSE DOWN `);\n\n if (event.which !== 1) return;\n this.allowTrigger = true;\n\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n\n this.pressing = true;\n this.longPressing = false;\n\n this.timeout = setTimeout(() => {\n if (this.allowTrigger) {\n this.longPressing = true;\n log.d(`long pressing start pressDuration:${this.pressDuration} `);\n this.onLongPress.emit(event);\n this.loop(event);\n }\n }, this.pressDuration);\n\n this.loop(event);\n }\n\n @HostListener('mousemove', ['$event'])\n onMouseMove(event) {\n if (this.pressing && !this.longPressing) {\n const xThres = (event.clientX - this.mouseX) > 10;\n const yThres = (event.clientY - this.mouseY) > 10;\n if (xThres || yThres) {\n this.endPress();\n }\n }\n }\n\n loop(event) {\n if (this.longPressing) {\n this.timeout = setTimeout(() => {\n log.d(`emil longpressing`)\n this.triggerEnd();\n this.onLongPressing.emit(event);\n this.loop(event);\n }, 50);\n }\n }\n\n endPress(emit = true) {\n this.allowTrigger = false;\n clearTimeout(this.timeout);\n this.longPressing = false;\n this.pressing = false;\n if (emit) {\n log.d(`EMIT END`)\n this.onLongPressEnd.emit(true);\n } else {\n log.d(`NOT EMIT END`)\n }\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.endPress(false);\n }\n\n}\n","\n\nimport { HelpersTnp as Base } from './helpers';\nexport * from './constants';\nexport { Condition } from './condition-wait';\n\n// export * from './git-project';\nexport const Helpers = Base.Instance;\nexport * from './project';\n\nexport { BaseComponent, BaseComponentForRouter } from './base-component';\nexport { BaseFormlyComponent } from './base-formly-component';\nexport { DualComponentController } from './dual-component-ctrl';\nexport { ResizeService } from './resize-service';\nexport { LongPress } from './long-press.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Helpers","log","Base"],"mappings":"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"}