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
@@ -1,321 +0,0 @@
1
- /* */
2
- /* */
3
- /* */
4
- import { _, crossPlatformPath } from 'tnp-core/websql';
5
- import { Helpers, LinkedProject, } from '../index'; /* */
6
- /* */
7
- /* */
8
- /* */
9
- /* */
10
- import { BaseFeatureForProject } from './base-feature-for-project';
11
- import { config } from 'tnp-config/websql';
12
- export class BaseLinkedProjects extends BaseFeatureForProject {
13
- constructor() {
14
- super(...arguments);
15
- this.cache = {};
16
- }
17
- get embeddedProject() {
18
- const cacheKey = 'embeddedProject' + _.kebabCase(this.project.location);
19
- if (!_.isUndefined(this.cache[cacheKey])) {
20
- return this.cache[cacheKey];
21
- }
22
- const nearsetProj = this.project.ins.nearestTo(crossPlatformPath([this.project.location, '..']));
23
- const linkedPorj = nearsetProj?.linkedProjects?.linkedProjects.find(l => {
24
- const copareTo = crossPlatformPath([
25
- nearsetProj.location,
26
- l.relativeClonePath,
27
- ]);
28
- if (this.project.location === copareTo) {
29
- return true;
30
- }
31
- if (l.remoteUrl() === this.project.git.originURL) {
32
- return true;
33
- }
34
- return false;
35
- });
36
- if (!linkedPorj || !linkedPorj.internalRealtiveProjectPath) {
37
- return;
38
- }
39
- const pathToEmbededProj = crossPlatformPath([
40
- nearsetProj.location,
41
- linkedPorj.relativeClonePath,
42
- linkedPorj.internalRealtiveProjectPath || '',
43
- ]);
44
- const embdedresult = this.project.ins.From(pathToEmbededProj);
45
- this.cache[cacheKey] = embdedresult;
46
- return this.cache[cacheKey];
47
- }
48
- get projectsDbLocation() {
49
- /* */
50
- /* */
51
- return (void 0);
52
- }
53
- async saveLocationToDB() {
54
- /* */
55
- /* */
56
- /* */
57
- /* */
58
- /* */
59
- /* */
60
- /* */
61
- /* */
62
- /* */
63
- /* */
64
- /* */
65
- /* */
66
- /* */
67
- /* */
68
- /* */
69
- /* */
70
- /* */
71
- /* */
72
- /* */
73
- /* */
74
- /* */
75
- /* */
76
- return (void 0);
77
- }
78
- async saveAllLinkedProjectsToDB() {
79
- const proj = this.project;
80
- await proj.linkedProjects.saveLocationToDB();
81
- for (const link of proj.linkedProjects.linkedProjects) {
82
- const linkedPorj = this.project.ins.From([
83
- proj.location,
84
- link.relativeClonePath,
85
- link.internalRealtiveProjectPath || '',
86
- ]);
87
- if (linkedPorj) {
88
- await linkedPorj.linkedProjects.saveLocationToDB();
89
- }
90
- else {
91
- Helpers.warn(`Folder ${link.relativeClonePath} is missing projects...`);
92
- }
93
- }
94
- }
95
- addLinkedProject(linkedProj) {
96
- const linkedProject = _.isString(linkedProj)
97
- ? LinkedProject.fromName(linkedProj)
98
- : linkedProj;
99
- /* */
100
- /* */
101
- /* */
102
- /* */
103
- return (void 0);
104
- }
105
- addLinkedProjects(linkedProjs) {
106
- /* */
107
- /* */
108
- /* */
109
- /* */
110
- return (void 0);
111
- }
112
- setLinkedProjectsConfig(linkedPorjectsConfig) {
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
- /* */
150
- return (void 0);
151
- }
152
- get linkedProjectsConfigPath() {
153
- return this.project.pathFor(config.file.linked_projects_json);
154
- }
155
- get linkedProjectsConfigTempPath() {
156
- return this.project.pathFor([`tmp-${config.file.linked_projects_json}`]);
157
- }
158
- recreateLinkedProjectsConfig() {
159
- /* */
160
- /* */
161
- /* */
162
- /* */
163
- /* */
164
- /* */
165
- /* */
166
- /* */
167
- /* */
168
- /* */
169
- return (void 0);
170
- }
171
- getLinkedProjectsConfig() {
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
- /* */
219
- return (void 0);
220
- }
221
- get linkedProjects() {
222
- return this.getLinkedProjectsConfig().projects || [];
223
- }
224
- get detectedLinkedProjects() {
225
- const detectedLinkedProjects = LinkedProject.detect(this.project.location, true);
226
- return detectedLinkedProjects;
227
- }
228
- get linkedProjectsPrefix() {
229
- return this.getLinkedProjectsConfig().prefix;
230
- }
231
- resetLinkedProjectsOnlyToCoreBranches() {
232
- return false;
233
- }
234
- async cloneUnexistedLinkedProjects(actionType, setOrigin, cloneChildren = false) {
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
- /* */
316
- return (void 0);
317
- }
318
- }
319
- ;
320
- ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-linked-projects.ts
321
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saW5rZWQtcHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2Jhc2UtbGlua2VkLXByb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxDQUFDLEVBQVMsaUJBQWlCLEVBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUksT0FBTyxFQUE0QixhQUFhLEdBQXNCLE1BQU0sVUFBVSxDQUFDLENBQUEsS0FBSztBQUN2RyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzNDLE1BQU0sT0FBTyxrQkFFWCxTQUFRLHFCQUFxQjtJQUYvQjs7UUFHVSxVQUFLLEdBQVEsRUFBRSxDQUFDO0lBd1cxQixDQUFDO0lBcFdDLElBQUksZUFBZTtRQUNqQixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQzVDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FB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S0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseUVBQXlFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IF8sIGNoYWxrLCBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyAgIEhlbHBlcnMsICAgTGlua2VkUG9yamVjdHNDb25maWcsICAgTGlua2VkUHJvamVjdCwgICBVdGlsc1R5cGVzY3JpcHQsIH0gZnJvbSAnLi4vaW5kZXgnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0ICogYXMganNvbjVXcml0ZSBmcm9tICdqc29uMTAtd3JpdGVyL3dlYnNxbCc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VMaW5rZWRQcm9qZWN0czxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdCB7XG4gIHByaXZhdGUgY2FjaGU6IGFueSA9IHt9O1xuICBwcm9qZWN0OiBQUk9KRUNUO1xuXG5cbiAgZ2V0IGVtYmVkZGVkUHJvamVjdCgpOiBQUk9KRUNUIHtcbiAgICBjb25zdCBjYWNoZUtleSA9ICdlbWJlZGRlZFByb2plY3QnICsgXy5rZWJhYkNhc2UodGhpcy5wcm9qZWN0LmxvY2F0aW9uKTtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5jYWNoZVtjYWNoZUtleV0pKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZVtjYWNoZUtleV07XG4gICAgfVxuXG4gICAgY29uc3QgbmVhcnNldFByb2ogPSB0aGlzLnByb2plY3QuaW5zLm5lYXJlc3RUbyhcbiAgICAgIGNyb3NzUGxhdGZvcm1QYXRoKFt0aGlzLnByb2plY3QubG9jYXRpb24sICcuLiddKSxcbiAgICApIGFzIFBST0pFQ1Q7XG4gICAgY29uc3QgbGlua2VkUG9yaiA9IG5lYXJzZXRQcm9qPy5saW5rZWRQcm9qZWN0cz8ubGlua2VkUHJvamVjdHMuZmluZChsID0+IHtcbiAgICAgIGNvbnN0IGNvcGFyZVRvID0gY3Jvc3NQbGF0Zm9ybVBhdGgoW1xuICAgICAgICBuZWFyc2V0UHJvai5sb2NhdGlvbixcbiAgICAgICAgbC5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIF0pO1xuICAgICAgaWYgKHRoaXMucHJvamVjdC5sb2NhdGlvbiA9PT0gY29wYXJlVG8pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAobC5yZW1vdGVVcmwoKSA9PT0gdGhpcy5wcm9qZWN0LmdpdC5vcmlnaW5VUkwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgaWYgKCFsaW5rZWRQb3JqIHx8ICFsaW5rZWRQb3JqLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXRoVG9FbWJlZGVkUHJvaiA9IGNyb3NzUGxhdGZvcm1QYXRoKFtcbiAgICAgIG5lYXJzZXRQcm9qLmxvY2F0aW9uLFxuICAgICAgbGlua2VkUG9yai5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIGxpbmtlZFBvcmouaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoIHx8ICcnLFxuICAgIF0pO1xuICAgIGNvbnN0IGVtYmRlZHJlc3VsdCA9IHRoaXMucHJvamVjdC5pbnMuRnJvbShwYXRoVG9FbWJlZGVkUHJvaikgYXMgUFJPSkVDVDtcblxuICAgIHRoaXMuY2FjaGVbY2FjaGVLZXldID0gZW1iZGVkcmVzdWx0O1xuICAgIHJldHVybiB0aGlzLmNhY2hlW2NhY2hlS2V5XTtcbiAgfVxuXG5cblxuICBnZXQgcHJvamVjdHNEYkxvY2F0aW9uKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHNhdmVMb2NhdGlvblRvREIoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBzYXZlQWxsTGlua2VkUHJvamVjdHNUb0RCKCkge1xuICAgIGNvbnN0IHByb2ogPSB0aGlzLnByb2plY3Q7XG4gICAgYXdhaXQgcHJvai5saW5rZWRQcm9qZWN0cy5zYXZlTG9jYXRpb25Ub0RCKCk7XG4gICAgZm9yIChjb25zdCBsaW5rIG9mIHByb2oubGlua2VkUHJvamVjdHMubGlua2VkUHJvamVjdHMpIHtcbiAgICAgIGNvbnN0IGxpbmtlZFBvcmogPSB0aGlzLnByb2plY3QuaW5zLkZyb20oW1xuICAgICAgICBwcm9qLmxvY2F0aW9uLFxuICAgICAgICBsaW5rLnJlbGF0aXZlQ2xvbmVQYXRoLFxuICAgICAgICBsaW5rLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCB8fCAnJyxcbiAgICAgIF0pIGFzIFBST0pFQ1Q7XG5cbiAgICAgIGlmIChsaW5rZWRQb3JqKSB7XG4gICAgICAgIGF3YWl0IGxpbmtlZFBvcmoubGlua2VkUHJvamVjdHMuc2F2ZUxvY2F0aW9uVG9EQigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgSGVscGVycy53YXJuKGBGb2xkZXIgJHtsaW5rLnJlbGF0aXZlQ2xvbmVQYXRofSBpcyBtaXNzaW5nIHByb2plY3RzLi4uYCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIGFkZExpbmtlZFByb2plY3QobGlua2VkUHJvajogTGlua2VkUHJvamVjdCB8IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmtlZFByb2plY3Q6IExpbmtlZFByb2plY3QgPSBfLmlzU3RyaW5nKGxpbmtlZFByb2opXG4gICAgICA/IExpbmtlZFByb2plY3QuZnJvbU5hbWUobGlua2VkUHJvailcbiAgICAgIDogbGlua2VkUHJvajtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhZGRMaW5rZWRQcm9qZWN0cyhsaW5rZWRQcm9qczogTGlua2VkUHJvamVjdFtdKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzZXRMaW5rZWRQcm9qZWN0c0NvbmZpZyhsaW5rZWRQb3JqZWN0c0NvbmZpZzogUGFydGlhbDxMaW5rZWRQb3JqZWN0c0NvbmZpZz4pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgZ2V0IGxpbmtlZFByb2plY3RzQ29uZmlnUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0LnBhdGhGb3IoY29uZmlnLmZpbGUubGlua2VkX3Byb2plY3RzX2pzb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbGlua2VkUHJvamVjdHNDb25maWdUZW1wUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0LnBhdGhGb3IoW2B0bXAtJHtjb25maWcuZmlsZS5saW5rZWRfcHJvamVjdHNfanNvbn1gXSk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIHJlY3JlYXRlTGlua2VkUHJvamVjdHNDb25maWcoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXRMaW5rZWRQcm9qZWN0c0NvbmZpZygpOiBMaW5rZWRQb3JqZWN0c0NvbmZpZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGxpbmtlZFByb2plY3RzKCk6IExpbmtlZFByb2plY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGlua2VkUHJvamVjdHNDb25maWcoKS5wcm9qZWN0cyB8fCBbXTtcbiAgfVxuXG5cblxuICBnZXQgZGV0ZWN0ZWRMaW5rZWRQcm9qZWN0cygpOiBMaW5rZWRQcm9qZWN0W10ge1xuICAgIGNvbnN0IGRldGVjdGVkTGlua2VkUHJvamVjdHMgPSBMaW5rZWRQcm9qZWN0LmRldGVjdChcbiAgICAgIHRoaXMucHJvamVjdC5sb2NhdGlvbixcbiAgICAgIHRydWUsIC8vIFRPT0QgZml4IHJlY3J1c2l2ZVxuICAgICk7XG4gICAgcmV0dXJuIGRldGVjdGVkTGlua2VkUHJvamVjdHM7XG4gIH1cblxuXG5cbiAgZ2V0IGxpbmtlZFByb2plY3RzUHJlZml4KCkge1xuICAgIHJldHVybiB0aGlzLmdldExpbmtlZFByb2plY3RzQ29uZmlnKCkucHJlZml4O1xuICB9XG5cblxuXG4gIHJlc2V0TGlua2VkUHJvamVjdHNPbmx5VG9Db3JlQnJhbmNoZXMoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuXG4gIGFzeW5jIGNsb25lVW5leGlzdGVkTGlua2VkUHJvamVjdHMoXG4gICAgYWN0aW9uVHlwZTogJ3B1bGwnIHwgJ3B1c2gnLFxuICAgIHNldE9yaWdpbjogJ3NzaCcgfCAnaHR0cCcsXG4gICAgY2xvbmVDaGlsZHJlbiA9IGZhbHNlLFxuICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvYmFzZS1saW5rZWQtcHJvamVjdHMudHMiXX0=