tnp-helpers 18.0.17 → 18.0.18

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