tnp-helpers 18.0.17 → 18.0.19

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 (401) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  3. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  4. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +513 -0
  5. package/browser/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  6. package/browser/esm2022/lib/base/classes/base-db.mjs +31 -0
  7. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  8. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  9. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-git.mjs +2 -2
  10. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-github-pages.mjs +2 -2
  11. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-library-build.mjs +3 -3
  12. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  13. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  14. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +291 -0
  15. package/browser/esm2022/lib/base/classes/base-project.mjs +926 -0
  16. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  17. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-release-process.mjs +4 -4
  18. package/browser/esm2022/lib/base/classes/base-vscode.mjs +513 -0
  19. package/browser/esm2022/lib/base/classes/index.mjs +22 -0
  20. package/browser/esm2022/lib/base/commit-data.mjs +1 -1
  21. package/browser/esm2022/lib/base/config-database.mjs +5 -2
  22. package/browser/esm2022/lib/base/core-project.mjs +1 -1
  23. package/browser/esm2022/lib/base/index.mjs +3 -19
  24. package/browser/esm2022/lib/base/project-database.mjs +2 -2
  25. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +6 -0
  26. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +260 -0
  27. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +33 -0
  28. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +34 -0
  29. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +298 -0
  30. package/browser/esm2022/lib/utils.mjs +33 -144
  31. package/browser/esm2022/migrations/1736198527297_init.mjs +41 -0
  32. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +63 -0
  33. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +50 -0
  34. package/browser/esm2022/migrations/index.mjs +5 -0
  35. package/browser/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  36. package/browser/fesm2022/tnp-helpers.mjs +2635 -1685
  37. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  38. package/{client/lib/base → browser/lib/base/classes}/base-cli-worker-controller.d.ts +2 -2
  39. package/browser/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +33 -4
  40. package/browser/lib/base/{base-git.d.ts → classes/base-git.d.ts} +1 -1
  41. package/{client/lib/base → browser/lib/base/classes}/base-library-build.d.ts +1 -1
  42. package/{websql/lib/base → browser/lib/base/classes}/base-linked-projects.d.ts +1 -1
  43. package/{client/lib/base → browser/lib/base/classes}/base-project-resolver.d.ts +4 -4
  44. package/browser/lib/base/{base-project.d.ts → classes/base-project.d.ts} +7 -4
  45. package/browser/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  46. package/browser/lib/base/classes/base-vscode.d.ts +24 -0
  47. package/browser/lib/base/classes/index.d.ts +16 -0
  48. package/browser/lib/base/config-database.d.ts +2 -2
  49. package/browser/lib/base/core-project.d.ts +1 -1
  50. package/browser/lib/base/index.d.ts +3 -16
  51. package/browser/lib/base/project-database.d.ts +2 -2
  52. package/browser/lib/base/tcp-udp-ports/index.d.ts +4 -0
  53. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +29 -0
  54. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +19 -0
  55. package/browser/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  56. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +25 -0
  57. package/browser/lib/utils.d.ts +2 -38
  58. package/browser/migrations/1736198527297_init.d.ts +19 -0
  59. package/browser/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  60. package/browser/migrations/1736454437350_addFreePorts.d.ts +10 -0
  61. package/browser/migrations/index.d.ts +2 -0
  62. package/browser/migrations/migrations_index._auto-generated_.d.ts +12 -0
  63. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  64. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  65. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +513 -0
  66. package/client/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  67. package/client/esm2022/lib/base/classes/base-db.mjs +31 -0
  68. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  69. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  70. package/client/esm2022/lib/base/classes/base-git.mjs +932 -0
  71. package/client/esm2022/lib/base/classes/base-github-pages.mjs +110 -0
  72. package/{browser/esm2022/lib/base → client/esm2022/lib/base/classes}/base-library-build.mjs +2 -2
  73. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  74. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  75. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +291 -0
  76. package/client/esm2022/lib/base/classes/base-project.mjs +926 -0
  77. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  78. package/{browser/esm2022/lib/base → client/esm2022/lib/base/classes}/base-release-process.mjs +3 -3
  79. package/client/esm2022/lib/base/classes/base-vscode.mjs +513 -0
  80. package/client/esm2022/lib/base/classes/index.mjs +22 -0
  81. package/client/esm2022/lib/base/commit-data.mjs +1 -1
  82. package/client/esm2022/lib/base/config-database.mjs +5 -2
  83. package/client/esm2022/lib/base/core-project.mjs +1 -1
  84. package/client/esm2022/lib/base/index.mjs +3 -19
  85. package/client/esm2022/lib/base/project-database.mjs +2 -2
  86. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +6 -0
  87. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +260 -0
  88. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +33 -0
  89. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +34 -0
  90. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +298 -0
  91. package/client/esm2022/lib/utils.mjs +33 -144
  92. package/client/esm2022/migrations/1736198527297_init.mjs +41 -0
  93. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +63 -0
  94. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +50 -0
  95. package/client/esm2022/migrations/index.mjs +5 -0
  96. package/client/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  97. package/client/fesm2022/tnp-helpers.mjs +2635 -1685
  98. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  99. package/{browser/lib/base → client/lib/base/classes}/base-cli-worker-controller.d.ts +2 -2
  100. package/client/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +33 -4
  101. package/{websql/lib/base → client/lib/base/classes}/base-git.d.ts +1 -1
  102. package/{browser/lib/base → client/lib/base/classes}/base-library-build.d.ts +1 -1
  103. package/{browser/lib/base → client/lib/base/classes}/base-linked-projects.d.ts +1 -1
  104. package/{websql/lib/base → client/lib/base/classes}/base-project-resolver.d.ts +4 -4
  105. package/client/lib/base/{base-project.d.ts → classes/base-project.d.ts} +7 -4
  106. package/client/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  107. package/client/lib/base/classes/base-vscode.d.ts +24 -0
  108. package/client/lib/base/classes/index.d.ts +16 -0
  109. package/client/lib/base/config-database.d.ts +2 -2
  110. package/client/lib/base/core-project.d.ts +1 -1
  111. package/client/lib/base/index.d.ts +3 -16
  112. package/client/lib/base/project-database.d.ts +2 -2
  113. package/client/lib/base/tcp-udp-ports/index.d.ts +4 -0
  114. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +29 -0
  115. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +19 -0
  116. package/client/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  117. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +25 -0
  118. package/client/lib/utils.d.ts +2 -38
  119. package/client/migrations/1736198527297_init.d.ts +19 -0
  120. package/client/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  121. package/client/migrations/1736454437350_addFreePorts.d.ts +10 -0
  122. package/client/migrations/index.d.ts +2 -0
  123. package/client/migrations/migrations_index._auto-generated_.d.ts +12 -0
  124. package/lib/base/{base-cli-worker-controller.d.ts → classes/base-cli-worker-controller.d.ts} +4 -4
  125. package/lib/base/{base-cli-worker-controller.js → classes/base-cli-worker-controller.js} +3 -3
  126. package/lib/base/classes/base-cli-worker-controller.js.map +1 -0
  127. package/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +33 -4
  128. package/lib/base/{base-cli-worker.js → classes/base-cli-worker.js} +125 -40
  129. package/lib/base/classes/base-cli-worker.js.map +1 -0
  130. package/lib/base/{command-line-feature.backend.d.ts → classes/base-command-line-feature.backend.d.ts} +1 -1
  131. package/lib/base/{command-line-feature.backend.js → classes/base-command-line-feature.backend.js} +15 -15
  132. package/lib/base/classes/base-command-line-feature.backend.js.map +1 -0
  133. package/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +2 -2
  134. package/lib/base/{base-compiler-for-project.js → classes/base-compiler-for-project.js} +1 -1
  135. package/lib/base/{base-compiler-for-project.js.map → classes/base-compiler-for-project.js.map} +1 -1
  136. package/lib/base/{base-db.d.ts → classes/base-db.d.ts} +1 -1
  137. package/lib/base/{base-db.js → classes/base-db.js} +1 -1
  138. package/lib/base/{base-db.js.map → classes/base-db.js.map} +1 -1
  139. package/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +2 -2
  140. package/lib/base/{base-debounce-compiler-for-project.js.map → classes/base-debounce-compiler-for-project.js.map} +1 -1
  141. package/lib/base/{base-git.d.ts → classes/base-git.d.ts} +1 -1
  142. package/lib/base/{base-git.js → classes/base-git.js} +3 -3
  143. package/lib/base/{base-git.js.map → classes/base-git.js.map} +1 -1
  144. package/lib/base/{base-github-pages.js → classes/base-github-pages.js} +1 -1
  145. package/lib/base/{base-github-pages.js.map → classes/base-github-pages.js.map} +1 -1
  146. package/lib/base/{base-command-line.backend.d.ts → classes/base-global-command-line.backend.d.ts} +18 -4
  147. package/lib/base/{base-command-line.backend.js → classes/base-global-command-line.backend.js} +248 -161
  148. package/lib/base/classes/base-global-command-line.backend.js.map +1 -0
  149. package/lib/base/{base-ignore-hide.js → classes/base-ignore-hide.js} +1 -1
  150. package/lib/base/{base-ignore-hide.js.map → classes/base-ignore-hide.js.map} +1 -1
  151. package/lib/base/{base-library-build.d.ts → classes/base-library-build.d.ts} +3 -3
  152. package/lib/base/{base-library-build.js → classes/base-library-build.js} +2 -2
  153. package/lib/base/{base-library-build.js.map → classes/base-library-build.js.map} +1 -1
  154. package/lib/base/{base-linked-projects.d.ts → classes/base-linked-projects.d.ts} +1 -1
  155. package/lib/base/{base-linked-projects.js → classes/base-linked-projects.js} +1 -1
  156. package/lib/base/{base-linked-projects.js.map → classes/base-linked-projects.js.map} +1 -1
  157. package/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +3 -3
  158. package/lib/base/{base-npm-helpers.js → classes/base-npm-helpers.js} +1 -1
  159. package/lib/base/{base-npm-helpers.js.map → classes/base-npm-helpers.js.map} +1 -1
  160. package/lib/base/{base-project-resolver.d.ts → classes/base-project-resolver.d.ts} +4 -4
  161. package/lib/base/{base-project-resolver.js → classes/base-project-resolver.js} +6 -6
  162. package/lib/base/{base-project-resolver.js.map → classes/base-project-resolver.js.map} +1 -1
  163. package/lib/base/{base-project.d.ts → classes/base-project.d.ts} +10 -7
  164. package/lib/base/{base-project.js → classes/base-project.js} +20 -5
  165. package/lib/base/{base-project.js.map → classes/base-project.js.map} +1 -1
  166. package/lib/base/{base-quick-fixes.js → classes/base-quick-fixes.js} +1 -1
  167. package/lib/base/{base-quick-fixes.js.map → classes/base-quick-fixes.js.map} +1 -1
  168. package/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +3 -3
  169. package/lib/base/{base-release-process.js → classes/base-release-process.js} +2 -2
  170. package/lib/base/{base-release-process.js.map → classes/base-release-process.js.map} +1 -1
  171. package/lib/base/{base-start-config.backend.js → classes/base-start-config.backend.js} +2 -2
  172. package/lib/base/{base-start-config.backend.js.map → classes/base-start-config.backend.js.map} +1 -1
  173. package/lib/base/classes/base-vscode.d.ts +23 -0
  174. package/lib/base/classes/base-vscode.js +469 -0
  175. package/lib/base/classes/base-vscode.js.map +1 -0
  176. package/lib/base/classes/index.d.ts +18 -0
  177. package/lib/base/classes/index.js +24 -0
  178. package/lib/base/classes/index.js.map +1 -0
  179. package/lib/base/commit-data.js.map +1 -1
  180. package/lib/base/config-database.d.ts +2 -2
  181. package/lib/base/config-database.js +5 -8
  182. package/lib/base/config-database.js.map +1 -1
  183. package/lib/base/core-project.d.ts +3 -3
  184. package/lib/base/gh-temp-code.d.ts +1 -1
  185. package/lib/base/index.d.ts +2 -18
  186. package/lib/base/index.js +2 -18
  187. package/lib/base/index.js.map +1 -1
  188. package/lib/base/project-database.d.ts +2 -2
  189. package/lib/base/project-database.js +1 -1
  190. package/lib/base/project-database.js.map +1 -1
  191. package/lib/base/tcp-udp-ports/index.d.ts +3 -0
  192. package/lib/base/tcp-udp-ports/index.js +7 -0
  193. package/lib/base/tcp-udp-ports/index.js.map +1 -0
  194. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -0
  195. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +5 -0
  196. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -0
  197. package/lib/base/tcp-udp-ports/ports.controller.d.ts +28 -0
  198. package/lib/base/tcp-udp-ports/ports.controller.js +343 -0
  199. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -0
  200. package/lib/base/tcp-udp-ports/ports.entity.d.ts +18 -0
  201. package/lib/base/tcp-udp-ports/ports.entity.js +75 -0
  202. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -0
  203. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +58 -0
  204. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +40 -0
  205. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -0
  206. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +37 -0
  207. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +478 -0
  208. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -0
  209. package/lib/helpers/for-backend/helpers-cli-tool.backend.d.ts +1 -1
  210. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  211. package/lib/helpers/for-backend/helpers-console-gui.js +2 -1
  212. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  213. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +2 -2
  214. package/lib/helpers/for-backend/helpers-git.backend.js +2 -2
  215. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  216. package/lib/helpers/for-backend/helpers-process.backend.d.ts +3 -3
  217. package/lib/helpers/for-backend/helpers-process.backend.js +4 -26
  218. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  219. package/lib/helpers/for-backend/helpers-vscode.backend.d.ts +2 -2
  220. package/lib/helpers/for-browser/angular.helper.js +2 -2
  221. package/lib/helpers/helpers.d.ts +1 -1
  222. package/lib/models.d.ts +2 -2
  223. package/lib/old/base-component.js +2 -2
  224. package/lib/old/base-formly-component.js +2 -2
  225. package/lib/old/dual-component-ctrl.js +2 -2
  226. package/lib/utils.d.ts +2 -38
  227. package/lib/utils.js +51 -158
  228. package/lib/utils.js.map +1 -1
  229. package/migrations/1736198527297_init.d.ts +18 -0
  230. package/migrations/1736198527297_init.js +72 -0
  231. package/migrations/1736198527297_init.js.map +1 -0
  232. package/migrations/1736199486472_addingNotAssignablePorts.d.ts +10 -0
  233. package/migrations/1736199486472_addingNotAssignablePorts.js +117 -0
  234. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -0
  235. package/migrations/1736454437350_addFreePorts.d.ts +9 -0
  236. package/migrations/1736454437350_addFreePorts.js +106 -0
  237. package/migrations/1736454437350_addFreePorts.js.map +1 -0
  238. package/migrations/migrations_index._auto-generated_.d.ts +11 -0
  239. package/migrations/migrations_index._auto-generated_.js +14 -0
  240. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  241. package/package.json +5 -5
  242. package/tmp-environment.json +30 -29
  243. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  244. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  245. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +513 -0
  246. package/websql/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  247. package/websql/esm2022/lib/base/classes/base-db.mjs +31 -0
  248. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  249. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  250. package/{browser/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-git.mjs +2 -2
  251. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-github-pages.mjs +2 -2
  252. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-library-build.mjs +3 -3
  253. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  254. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  255. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +280 -0
  256. package/websql/esm2022/lib/base/classes/base-project.mjs +896 -0
  257. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  258. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-release-process.mjs +4 -4
  259. package/websql/esm2022/lib/base/classes/base-vscode.mjs +513 -0
  260. package/websql/esm2022/lib/base/classes/index.mjs +22 -0
  261. package/websql/esm2022/lib/base/commit-data.mjs +1 -1
  262. package/websql/esm2022/lib/base/config-database.mjs +5 -2
  263. package/websql/esm2022/lib/base/core-project.mjs +1 -1
  264. package/websql/esm2022/lib/base/index.mjs +3 -19
  265. package/websql/esm2022/lib/base/project-database.mjs +2 -2
  266. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +6 -0
  267. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +260 -0
  268. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +56 -0
  269. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +34 -0
  270. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +298 -0
  271. package/websql/esm2022/lib/utils.mjs +33 -144
  272. package/websql/esm2022/migrations/1736198527297_init.mjs +41 -0
  273. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +63 -0
  274. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +50 -0
  275. package/websql/esm2022/migrations/index.mjs +5 -0
  276. package/websql/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  277. package/websql/fesm2022/tnp-helpers.mjs +2719 -1749
  278. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  279. package/websql/lib/base/{base-cli-worker-controller.d.ts → classes/base-cli-worker-controller.d.ts} +2 -2
  280. package/websql/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +33 -4
  281. package/{client/lib/base → websql/lib/base/classes}/base-git.d.ts +1 -1
  282. package/websql/lib/base/{base-library-build.d.ts → classes/base-library-build.d.ts} +1 -1
  283. package/{client/lib/base → websql/lib/base/classes}/base-linked-projects.d.ts +1 -1
  284. package/{browser/lib/base → websql/lib/base/classes}/base-project-resolver.d.ts +4 -4
  285. package/websql/lib/base/{base-project.d.ts → classes/base-project.d.ts} +7 -4
  286. package/websql/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  287. package/websql/lib/base/classes/base-vscode.d.ts +24 -0
  288. package/websql/lib/base/classes/index.d.ts +16 -0
  289. package/websql/lib/base/config-database.d.ts +2 -2
  290. package/websql/lib/base/core-project.d.ts +1 -1
  291. package/websql/lib/base/index.d.ts +3 -16
  292. package/websql/lib/base/project-database.d.ts +2 -2
  293. package/websql/lib/base/tcp-udp-ports/index.d.ts +4 -0
  294. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +29 -0
  295. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +19 -0
  296. package/websql/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  297. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +25 -0
  298. package/websql/lib/utils.d.ts +2 -38
  299. package/websql/migrations/1736198527297_init.d.ts +19 -0
  300. package/websql/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  301. package/websql/migrations/1736454437350_addFreePorts.d.ts +10 -0
  302. package/websql/migrations/index.d.ts +2 -0
  303. package/websql/migrations/migrations_index._auto-generated_.d.ts +12 -0
  304. package/browser/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  305. package/browser/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  306. package/browser/esm2022/lib/base/base-cli-worker.mjs +0 -451
  307. package/browser/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  308. package/browser/esm2022/lib/base/base-db.mjs +0 -31
  309. package/browser/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  310. package/browser/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  311. package/browser/esm2022/lib/base/base-github-pages.mjs +0 -110
  312. package/browser/esm2022/lib/base/base-linked-projects.mjs +0 -321
  313. package/browser/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  314. package/browser/esm2022/lib/base/base-project-resolver.mjs +0 -291
  315. package/browser/esm2022/lib/base/base-project.mjs +0 -919
  316. package/browser/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  317. package/browser/esm2022/lib/base/base-vscode.mjs +0 -145
  318. package/browser/esm2022/lib/base/ports-worker.mjs +0 -162
  319. package/browser/lib/base/base-vscode.d.ts +0 -13
  320. package/browser/lib/base/ports-worker.d.ts +0 -33
  321. package/client/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  322. package/client/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  323. package/client/esm2022/lib/base/base-cli-worker.mjs +0 -451
  324. package/client/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  325. package/client/esm2022/lib/base/base-db.mjs +0 -31
  326. package/client/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  327. package/client/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  328. package/client/esm2022/lib/base/base-git.mjs +0 -932
  329. package/client/esm2022/lib/base/base-linked-projects.mjs +0 -321
  330. package/client/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  331. package/client/esm2022/lib/base/base-project-resolver.mjs +0 -291
  332. package/client/esm2022/lib/base/base-project.mjs +0 -919
  333. package/client/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  334. package/client/esm2022/lib/base/base-vscode.mjs +0 -145
  335. package/client/esm2022/lib/base/ports-worker.mjs +0 -162
  336. package/client/lib/base/base-vscode.d.ts +0 -13
  337. package/client/lib/base/ports-worker.d.ts +0 -33
  338. package/lib/base/base-cli-worker-controller.js.map +0 -1
  339. package/lib/base/base-cli-worker.js.map +0 -1
  340. package/lib/base/base-command-line.backend.js.map +0 -1
  341. package/lib/base/base-vscode.d.ts +0 -12
  342. package/lib/base/base-vscode.js +0 -139
  343. package/lib/base/base-vscode.js.map +0 -1
  344. package/lib/base/command-line-feature.backend.js.map +0 -1
  345. package/lib/base/ports-worker.d.ts +0 -32
  346. package/lib/base/ports-worker.js +0 -244
  347. package/lib/base/ports-worker.js.map +0 -1
  348. package/websql/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  349. package/websql/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  350. package/websql/esm2022/lib/base/base-cli-worker.mjs +0 -451
  351. package/websql/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  352. package/websql/esm2022/lib/base/base-db.mjs +0 -31
  353. package/websql/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  354. package/websql/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  355. package/websql/esm2022/lib/base/base-linked-projects.mjs +0 -321
  356. package/websql/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  357. package/websql/esm2022/lib/base/base-project-resolver.mjs +0 -280
  358. package/websql/esm2022/lib/base/base-project.mjs +0 -889
  359. package/websql/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  360. package/websql/esm2022/lib/base/base-vscode.mjs +0 -145
  361. package/websql/esm2022/lib/base/ports-worker.mjs +0 -165
  362. package/websql/lib/base/base-vscode.d.ts +0 -13
  363. package/websql/lib/base/ports-worker.d.ts +0 -33
  364. /package/browser/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  365. /package/browser/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  366. /package/browser/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  367. /package/browser/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  368. /package/browser/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  369. /package/browser/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  370. /package/browser/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  371. /package/browser/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  372. /package/client/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  373. /package/client/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  374. /package/client/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  375. /package/client/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  376. /package/client/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  377. /package/client/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  378. /package/client/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  379. /package/client/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  380. /package/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  381. /package/lib/base/{base-cli-worker-config.js → classes/base-cli-worker-config.js} +0 -0
  382. /package/lib/base/{base-cli-worker-config.js.map → classes/base-cli-worker-config.js.map} +0 -0
  383. /package/lib/base/{base-debounce-compiler-for-project.js → classes/base-debounce-compiler-for-project.js} +0 -0
  384. /package/lib/base/{base-detached-service.d.ts → classes/base-detached-service.d.ts} +0 -0
  385. /package/lib/base/{base-detached-service.js → classes/base-detached-service.js} +0 -0
  386. /package/lib/base/{base-detached-service.js.map → classes/base-detached-service.js.map} +0 -0
  387. /package/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  388. /package/lib/base/{base-feature-for-project.js → classes/base-feature-for-project.js} +0 -0
  389. /package/lib/base/{base-feature-for-project.js.map → classes/base-feature-for-project.js.map} +0 -0
  390. /package/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  391. /package/lib/base/{base-ignore-hide.d.ts → classes/base-ignore-hide.d.ts} +0 -0
  392. /package/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  393. /package/lib/base/{base-start-config.backend.d.ts → classes/base-start-config.backend.d.ts} +0 -0
  394. /package/websql/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  395. /package/websql/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  396. /package/websql/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  397. /package/websql/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  398. /package/websql/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  399. /package/websql/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  400. /package/websql/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  401. /package/websql/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
@@ -0,0 +1,320 @@
1
+ /* */
2
+ /* */
3
+ import { _, crossPlatformPath } from 'tnp-core/websql';
4
+ import { Helpers, LinkedProject, } from '../../index'; /* */
5
+ /* */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ import { BaseFeatureForProject } from './base-feature-for-project';
10
+ import { config } from 'tnp-config/websql';
11
+ export class BaseLinkedProjects extends BaseFeatureForProject {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.cache = {};
15
+ }
16
+ get embeddedProject() {
17
+ const cacheKey = 'embeddedProject' + _.kebabCase(this.project.location);
18
+ if (!_.isUndefined(this.cache[cacheKey])) {
19
+ return this.cache[cacheKey];
20
+ }
21
+ const nearsetProj = this.project.ins.nearestTo(crossPlatformPath([this.project.location, '..']));
22
+ const linkedPorj = nearsetProj?.linkedProjects?.linkedProjects.find(l => {
23
+ const copareTo = crossPlatformPath([
24
+ nearsetProj.location,
25
+ l.relativeClonePath,
26
+ ]);
27
+ if (this.project.location === copareTo) {
28
+ return true;
29
+ }
30
+ if (l.remoteUrl() === this.project.git.originURL) {
31
+ return true;
32
+ }
33
+ return false;
34
+ });
35
+ if (!linkedPorj || !linkedPorj.internalRealtiveProjectPath) {
36
+ return;
37
+ }
38
+ const pathToEmbededProj = crossPlatformPath([
39
+ nearsetProj.location,
40
+ linkedPorj.relativeClonePath,
41
+ linkedPorj.internalRealtiveProjectPath || '',
42
+ ]);
43
+ const embdedresult = this.project.ins.From(pathToEmbededProj);
44
+ this.cache[cacheKey] = embdedresult;
45
+ return this.cache[cacheKey];
46
+ }
47
+ get projectsDbLocation() {
48
+ /* */
49
+ /* */
50
+ return (void 0);
51
+ }
52
+ async saveLocationToDB() {
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ return (void 0);
76
+ }
77
+ async saveAllLinkedProjectsToDB() {
78
+ const proj = this.project;
79
+ await proj.linkedProjects.saveLocationToDB();
80
+ for (const link of proj.linkedProjects.linkedProjects) {
81
+ const linkedPorj = this.project.ins.From([
82
+ proj.location,
83
+ link.relativeClonePath,
84
+ link.internalRealtiveProjectPath || '',
85
+ ]);
86
+ if (linkedPorj) {
87
+ await linkedPorj.linkedProjects.saveLocationToDB();
88
+ }
89
+ else {
90
+ Helpers.warn(`Folder ${link.relativeClonePath} is missing projects...`);
91
+ }
92
+ }
93
+ }
94
+ addLinkedProject(linkedProj) {
95
+ const linkedProject = _.isString(linkedProj)
96
+ ? LinkedProject.fromName(linkedProj)
97
+ : linkedProj;
98
+ /* */
99
+ /* */
100
+ /* */
101
+ /* */
102
+ return (void 0);
103
+ }
104
+ addLinkedProjects(linkedProjs) {
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ return (void 0);
110
+ }
111
+ setLinkedProjectsConfig(linkedPorjectsConfig) {
112
+ /* */
113
+ /* */
114
+ /* */
115
+ /* */
116
+ /* */
117
+ /* */
118
+ /* */
119
+ /* */
120
+ /* */
121
+ /* */
122
+ /* */
123
+ /* */
124
+ /* */
125
+ /* */
126
+ /* */
127
+ /* */
128
+ /* */
129
+ /* */
130
+ /* */
131
+ /* */
132
+ /* */
133
+ /* */
134
+ /* */
135
+ /* */
136
+ /* */
137
+ /* */
138
+ /* */
139
+ /* */
140
+ /* */
141
+ /* */
142
+ /* */
143
+ /* */
144
+ /* */
145
+ /* */
146
+ /* */
147
+ /* */
148
+ /* */
149
+ return (void 0);
150
+ }
151
+ get linkedProjectsConfigPath() {
152
+ return this.project.pathFor(config.file.linked_projects_json);
153
+ }
154
+ get linkedProjectsConfigTempPath() {
155
+ return this.project.pathFor([`tmp-${config.file.linked_projects_json}`]);
156
+ }
157
+ recreateLinkedProjectsConfig() {
158
+ /* */
159
+ /* */
160
+ /* */
161
+ /* */
162
+ /* */
163
+ /* */
164
+ /* */
165
+ /* */
166
+ /* */
167
+ /* */
168
+ return (void 0);
169
+ }
170
+ getLinkedProjectsConfig() {
171
+ /* */
172
+ /* */
173
+ /* */
174
+ /* */
175
+ /* */
176
+ /* */
177
+ /* */
178
+ /* */
179
+ /* */
180
+ /* */
181
+ /* */
182
+ /* */
183
+ /* */
184
+ /* */
185
+ /* */
186
+ /* */
187
+ /* */
188
+ /* */
189
+ /* */
190
+ /* */
191
+ /* */
192
+ /* */
193
+ /* */
194
+ /* */
195
+ /* */
196
+ /* */
197
+ /* */
198
+ /* */
199
+ /* */
200
+ /* */
201
+ /* */
202
+ /* */
203
+ /* */
204
+ /* */
205
+ /* */
206
+ /* */
207
+ /* */
208
+ /* */
209
+ /* */
210
+ /* */
211
+ /* */
212
+ /* */
213
+ /* */
214
+ /* */
215
+ /* */
216
+ /* */
217
+ /* */
218
+ return (void 0);
219
+ }
220
+ get linkedProjects() {
221
+ return this.getLinkedProjectsConfig().projects || [];
222
+ }
223
+ get detectedLinkedProjects() {
224
+ const detectedLinkedProjects = LinkedProject.detect(this.project.location, true);
225
+ return detectedLinkedProjects;
226
+ }
227
+ get linkedProjectsPrefix() {
228
+ return this.getLinkedProjectsConfig().prefix;
229
+ }
230
+ resetLinkedProjectsOnlyToCoreBranches() {
231
+ return false;
232
+ }
233
+ async cloneUnexistedLinkedProjects(actionType, setOrigin, cloneChildren = false) {
234
+ /* */
235
+ /* */
236
+ /* */
237
+ /* */
238
+ /* */
239
+ /* */
240
+ /* */
241
+ /* */
242
+ /* */
243
+ /* */
244
+ /* */
245
+ /* */
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ /* */
251
+ /* */
252
+ /* */
253
+ /* */
254
+ /* */
255
+ /* */
256
+ /* */
257
+ /* */
258
+ /* */
259
+ /* */
260
+ /* */
261
+ /* */
262
+ /* */
263
+ /* */
264
+ /* */
265
+ /* */
266
+ /* */
267
+ /* */
268
+ /* */
269
+ /* */
270
+ /* */
271
+ /* */
272
+ /* */
273
+ /* */
274
+ /* */
275
+ /* */
276
+ /* */
277
+ /* */
278
+ /* */
279
+ /* */
280
+ /* */
281
+ /* */
282
+ /* */
283
+ /* */
284
+ /* */
285
+ /* */
286
+ /* */
287
+ /* */
288
+ /* */
289
+ /* */
290
+ /* */
291
+ /* */
292
+ /* */
293
+ /* */
294
+ /* */
295
+ /* */
296
+ /* */
297
+ /* */
298
+ /* */
299
+ /* */
300
+ /* */
301
+ /* */
302
+ /* */
303
+ /* */
304
+ /* */
305
+ /* */
306
+ /* */
307
+ /* */
308
+ /* */
309
+ /* */
310
+ /* */
311
+ /* */
312
+ /* */
313
+ /* */
314
+ /* */
315
+ return (void 0);
316
+ }
317
+ }
318
+ ;
319
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-linked-projects.ts
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saW5rZWQtcHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NsYXNzZXMvYmFzZS1saW5rZWQtcHJvamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsQ0FBQyxFQUFTLGlCQUFpQixFQUFRLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFJLE9BQU8sRUFBNEIsYUFBYSxHQUFzQixNQUFNLGFBQWEsQ0FBQyxDQUFBLEtBQUs7QUFDMUcsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUczQyxNQUFNLE9BQU8sa0JBRVgsU0FBUSxxQkFBcUI7SUFGL0I7O1FBR1UsVUFBSyxHQUFRLEVBQUUsQ0FBQztJQXdXMUIsQ0FBQztJQXBXQyxJQUFJLGVBQWU7UUFDakIsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUM1QyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENB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LEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlGQUFpRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IF8sIGNoYWxrLCBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyAgIEhlbHBlcnMsICAgTGlua2VkUG9yamVjdHNDb25maWcsICAgTGlua2VkUHJvamVjdCwgICBVdGlsc1R5cGVzY3JpcHQsIH0gZnJvbSAnLi4vLi4vaW5kZXgnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0ICogYXMganNvbjVXcml0ZSBmcm9tICdqc29uMTAtd3JpdGVyL3dlYnNxbCc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VMaW5rZWRQcm9qZWN0czxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdCB7XG4gIHByaXZhdGUgY2FjaGU6IGFueSA9IHt9O1xuICBwcm9qZWN0OiBQUk9KRUNUO1xuXG5cbiAgZ2V0IGVtYmVkZGVkUHJvamVjdCgpOiBQUk9KRUNUIHtcbiAgICBjb25zdCBjYWNoZUtleSA9ICdlbWJlZGRlZFByb2plY3QnICsgXy5rZWJhYkNhc2UodGhpcy5wcm9qZWN0LmxvY2F0aW9uKTtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5jYWNoZVtjYWNoZUtleV0pKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZVtjYWNoZUtleV07XG4gICAgfVxuXG4gICAgY29uc3QgbmVhcnNldFByb2ogPSB0aGlzLnByb2plY3QuaW5zLm5lYXJlc3RUbyhcbiAgICAgIGNyb3NzUGxhdGZvcm1QYXRoKFt0aGlzLnByb2plY3QubG9jYXRpb24sICcuLiddKSxcbiAgICApIGFzIFBST0pFQ1Q7XG4gICAgY29uc3QgbGlua2VkUG9yaiA9IG5lYXJzZXRQcm9qPy5saW5rZWRQcm9qZWN0cz8ubGlua2VkUHJvamVjdHMuZmluZChsID0+IHtcbiAgICAgIGNvbnN0IGNvcGFyZVRvID0gY3Jvc3NQbGF0Zm9ybVBhdGgoW1xuICAgICAgICBuZWFyc2V0UHJvai5sb2NhdGlvbixcbiAgICAgICAgbC5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIF0pO1xuICAgICAgaWYgKHRoaXMucHJvamVjdC5sb2NhdGlvbiA9PT0gY29wYXJlVG8pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAobC5yZW1vdGVVcmwoKSA9PT0gdGhpcy5wcm9qZWN0LmdpdC5vcmlnaW5VUkwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgaWYgKCFsaW5rZWRQb3JqIHx8ICFsaW5rZWRQb3JqLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXRoVG9FbWJlZGVkUHJvaiA9IGNyb3NzUGxhdGZvcm1QYXRoKFtcbiAgICAgIG5lYXJzZXRQcm9qLmxvY2F0aW9uLFxuICAgICAgbGlua2VkUG9yai5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIGxpbmtlZFBvcmouaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoIHx8ICcnLFxuICAgIF0pO1xuICAgIGNvbnN0IGVtYmRlZHJlc3VsdCA9IHRoaXMucHJvamVjdC5pbnMuRnJvbShwYXRoVG9FbWJlZGVkUHJvaikgYXMgUFJPSkVDVDtcblxuICAgIHRoaXMuY2FjaGVbY2FjaGVLZXldID0gZW1iZGVkcmVzdWx0O1xuICAgIHJldHVybiB0aGlzLmNhY2hlW2NhY2hlS2V5XTtcbiAgfVxuXG5cblxuICBnZXQgcHJvamVjdHNEYkxvY2F0aW9uKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHNhdmVMb2NhdGlvblRvREIoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBzYXZlQWxsTGlua2VkUHJvamVjdHNUb0RCKCkge1xuICAgIGNvbnN0IHByb2ogPSB0aGlzLnByb2plY3Q7XG4gICAgYXdhaXQgcHJvai5saW5rZWRQcm9qZWN0cy5zYXZlTG9jYXRpb25Ub0RCKCk7XG4gICAgZm9yIChjb25zdCBsaW5rIG9mIHByb2oubGlua2VkUHJvamVjdHMubGlua2VkUHJvamVjdHMpIHtcbiAgICAgIGNvbnN0IGxpbmtlZFBvcmogPSB0aGlzLnByb2plY3QuaW5zLkZyb20oW1xuICAgICAgICBwcm9qLmxvY2F0aW9uLFxuICAgICAgICBsaW5rLnJlbGF0aXZlQ2xvbmVQYXRoLFxuICAgICAgICBsaW5rLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCB8fCAnJyxcbiAgICAgIF0pIGFzIFBST0pFQ1Q7XG5cbiAgICAgIGlmIChsaW5rZWRQb3JqKSB7XG4gICAgICAgIGF3YWl0IGxpbmtlZFBvcmoubGlua2VkUHJvamVjdHMuc2F2ZUxvY2F0aW9uVG9EQigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgSGVscGVycy53YXJuKGBGb2xkZXIgJHtsaW5rLnJlbGF0aXZlQ2xvbmVQYXRofSBpcyBtaXNzaW5nIHByb2plY3RzLi4uYCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIGFkZExpbmtlZFByb2plY3QobGlua2VkUHJvajogTGlua2VkUHJvamVjdCB8IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmtlZFByb2plY3Q6IExpbmtlZFByb2plY3QgPSBfLmlzU3RyaW5nKGxpbmtlZFByb2opXG4gICAgICA/IExpbmtlZFByb2plY3QuZnJvbU5hbWUobGlua2VkUHJvailcbiAgICAgIDogbGlua2VkUHJvajtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhZGRMaW5rZWRQcm9qZWN0cyhsaW5rZWRQcm9qczogTGlua2VkUHJvamVjdFtdKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzZXRMaW5rZWRQcm9qZWN0c0NvbmZpZyhsaW5rZWRQb3JqZWN0c0NvbmZpZzogUGFydGlhbDxMaW5rZWRQb3JqZWN0c0NvbmZpZz4pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgZ2V0IGxpbmtlZFByb2plY3RzQ29uZmlnUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0LnBhdGhGb3IoY29uZmlnLmZpbGUubGlua2VkX3Byb2plY3RzX2pzb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbGlua2VkUHJvamVjdHNDb25maWdUZW1wUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0LnBhdGhGb3IoW2B0bXAtJHtjb25maWcuZmlsZS5saW5rZWRfcHJvamVjdHNfanNvbn1gXSk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIHJlY3JlYXRlTGlua2VkUHJvamVjdHNDb25maWcoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXRMaW5rZWRQcm9qZWN0c0NvbmZpZygpOiBMaW5rZWRQb3JqZWN0c0NvbmZpZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGxpbmtlZFByb2plY3RzKCk6IExpbmtlZFByb2plY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGlua2VkUHJvamVjdHNDb25maWcoKS5wcm9qZWN0cyB8fCBbXTtcbiAgfVxuXG5cblxuICBnZXQgZGV0ZWN0ZWRMaW5rZWRQcm9qZWN0cygpOiBMaW5rZWRQcm9qZWN0W10ge1xuICAgIGNvbnN0IGRldGVjdGVkTGlua2VkUHJvamVjdHMgPSBMaW5rZWRQcm9qZWN0LmRldGVjdChcbiAgICAgIHRoaXMucHJvamVjdC5sb2NhdGlvbixcbiAgICAgIHRydWUsIC8vIFRPT0QgZml4IHJlY3J1c2l2ZVxuICAgICk7XG4gICAgcmV0dXJuIGRldGVjdGVkTGlua2VkUHJvamVjdHM7XG4gIH1cblxuXG5cbiAgZ2V0IGxpbmtlZFByb2plY3RzUHJlZml4KCkge1xuICAgIHJldHVybiB0aGlzLmdldExpbmtlZFByb2plY3RzQ29uZmlnKCkucHJlZml4O1xuICB9XG5cblxuXG4gIHJlc2V0TGlua2VkUHJvamVjdHNPbmx5VG9Db3JlQnJhbmNoZXMoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuXG4gIGFzeW5jIGNsb25lVW5leGlzdGVkTGlua2VkUHJvamVjdHMoXG4gICAgYWN0aW9uVHlwZTogJ3B1bGwnIHwgJ3B1c2gnLFxuICAgIHNldE9yaWdpbjogJ3NzaCcgfCAnaHR0cCcsXG4gICAgY2xvbmVDaGlsZHJlbiA9IGZhbHNlLFxuICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLWxpbmtlZC1wcm9qZWN0cy50cyJdfQ==