@theia/filesystem 1.67.0-next.56 → 1.67.0-next.86

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 (345) hide show
  1. package/lib/browser/breadcrumbs/filepath-breadcrumb.d.ts +16 -0
  2. package/lib/browser/breadcrumbs/filepath-breadcrumb.d.ts.map +1 -0
  3. package/lib/browser/breadcrumbs/filepath-breadcrumb.js +42 -0
  4. package/lib/browser/breadcrumbs/filepath-breadcrumb.js.map +1 -0
  5. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts +13 -0
  6. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts.map +1 -0
  7. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js +67 -0
  8. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js.map +1 -0
  9. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts +28 -0
  10. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts.map +1 -0
  11. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js +119 -0
  12. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js.map +1 -0
  13. package/lib/browser/download/file-download-command-contribution.d.ts +19 -0
  14. package/lib/browser/download/file-download-command-contribution.d.ts.map +1 -0
  15. package/lib/browser/download/file-download-command-contribution.js +76 -0
  16. package/lib/browser/download/file-download-command-contribution.js.map +1 -0
  17. package/lib/browser/download/file-download-frontend-module.d.ts +4 -0
  18. package/lib/browser/download/file-download-frontend-module.d.ts.map +1 -0
  19. package/lib/browser/download/file-download-frontend-module.js +27 -0
  20. package/lib/browser/download/file-download-frontend-module.js.map +1 -0
  21. package/lib/browser/download/file-download-service.d.ts +21 -0
  22. package/lib/browser/download/file-download-service.d.ts.map +1 -0
  23. package/lib/browser/download/file-download-service.js +169 -0
  24. package/lib/browser/download/file-download-service.js.map +1 -0
  25. package/lib/browser/file-dialog/file-dialog-container.d.ts +6 -0
  26. package/lib/browser/file-dialog/file-dialog-container.d.ts.map +1 -0
  27. package/lib/browser/file-dialog/file-dialog-container.js +61 -0
  28. package/lib/browser/file-dialog/file-dialog-container.js.map +1 -0
  29. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts +16 -0
  30. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts.map +1 -0
  31. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js +60 -0
  32. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js.map +1 -0
  33. package/lib/browser/file-dialog/file-dialog-model.d.ts +26 -0
  34. package/lib/browser/file-dialog/file-dialog-model.d.ts.map +1 -0
  35. package/lib/browser/file-dialog/file-dialog-model.js +101 -0
  36. package/lib/browser/file-dialog/file-dialog-model.js.map +1 -0
  37. package/lib/browser/file-dialog/file-dialog-module.d.ts +4 -0
  38. package/lib/browser/file-dialog/file-dialog-module.d.ts.map +1 -0
  39. package/lib/browser/file-dialog/file-dialog-module.js +46 -0
  40. package/lib/browser/file-dialog/file-dialog-module.js.map +1 -0
  41. package/lib/browser/file-dialog/file-dialog-service.d.ts +33 -0
  42. package/lib/browser/file-dialog/file-dialog-service.d.ts.map +1 -0
  43. package/lib/browser/file-dialog/file-dialog-service.js +102 -0
  44. package/lib/browser/file-dialog/file-dialog-service.js.map +1 -0
  45. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts +40 -0
  46. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts.map +1 -0
  47. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js +82 -0
  48. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js.map +1 -0
  49. package/lib/browser/file-dialog/file-dialog-tree.d.ts +27 -0
  50. package/lib/browser/file-dialog/file-dialog-tree.d.ts.map +1 -0
  51. package/lib/browser/file-dialog/file-dialog-tree.js +84 -0
  52. package/lib/browser/file-dialog/file-dialog-tree.js.map +1 -0
  53. package/lib/browser/file-dialog/file-dialog-widget.d.ts +18 -0
  54. package/lib/browser/file-dialog/file-dialog-widget.d.ts.map +1 -0
  55. package/lib/browser/file-dialog/file-dialog-widget.js +85 -0
  56. package/lib/browser/file-dialog/file-dialog-widget.js.map +1 -0
  57. package/lib/browser/file-dialog/file-dialog.d.ts +130 -0
  58. package/lib/browser/file-dialog/file-dialog.d.ts.map +1 -0
  59. package/lib/browser/file-dialog/file-dialog.js +352 -0
  60. package/lib/browser/file-dialog/file-dialog.js.map +1 -0
  61. package/lib/browser/file-dialog/index.d.ts +5 -0
  62. package/lib/browser/file-dialog/index.d.ts.map +1 -0
  63. package/lib/browser/file-dialog/index.js +23 -0
  64. package/lib/browser/file-dialog/index.js.map +1 -0
  65. package/lib/browser/file-resource.d.ts +72 -0
  66. package/lib/browser/file-resource.d.ts.map +1 -0
  67. package/lib/browser/file-resource.js +385 -0
  68. package/lib/browser/file-resource.js.map +1 -0
  69. package/lib/browser/file-resource.spec.d.ts +2 -0
  70. package/lib/browser/file-resource.spec.d.ts.map +1 -0
  71. package/lib/browser/file-resource.spec.js +191 -0
  72. package/lib/browser/file-resource.spec.js.map +1 -0
  73. package/lib/browser/file-selection.d.ts +15 -0
  74. package/lib/browser/file-selection.d.ts.map +1 -0
  75. package/lib/browser/file-selection.js +37 -0
  76. package/lib/browser/file-selection.js.map +1 -0
  77. package/lib/browser/file-service.d.ts +427 -0
  78. package/lib/browser/file-service.d.ts.map +1 -0
  79. package/lib/browser/file-service.js +1370 -0
  80. package/lib/browser/file-service.js.map +1 -0
  81. package/lib/browser/file-tree/file-tree-container.d.ts +4 -0
  82. package/lib/browser/file-tree/file-tree-container.d.ts.map +1 -0
  83. package/lib/browser/file-tree/file-tree-container.js +36 -0
  84. package/lib/browser/file-tree/file-tree-container.js.map +1 -0
  85. package/lib/browser/file-tree/file-tree-decorator-adapter.d.ts +31 -0
  86. package/lib/browser/file-tree/file-tree-decorator-adapter.d.ts.map +1 -0
  87. package/lib/browser/file-tree/file-tree-decorator-adapter.js +170 -0
  88. package/lib/browser/file-tree/file-tree-decorator-adapter.js.map +1 -0
  89. package/lib/browser/file-tree/file-tree-label-provider.d.ts +13 -0
  90. package/lib/browser/file-tree/file-tree-label-provider.d.ts.map +1 -0
  91. package/lib/browser/file-tree/file-tree-label-provider.js +55 -0
  92. package/lib/browser/file-tree/file-tree-label-provider.js.map +1 -0
  93. package/lib/browser/file-tree/file-tree-model.d.ts +34 -0
  94. package/lib/browser/file-tree/file-tree-model.d.ts.map +1 -0
  95. package/lib/browser/file-tree/file-tree-model.js +201 -0
  96. package/lib/browser/file-tree/file-tree-model.js.map +1 -0
  97. package/lib/browser/file-tree/file-tree-widget.d.ts +45 -0
  98. package/lib/browser/file-tree/file-tree-widget.d.ts.map +1 -0
  99. package/lib/browser/file-tree/file-tree-widget.js +318 -0
  100. package/lib/browser/file-tree/file-tree-widget.js.map +1 -0
  101. package/lib/browser/file-tree/file-tree.d.ts +47 -0
  102. package/lib/browser/file-tree/file-tree.d.ts.map +1 -0
  103. package/lib/browser/file-tree/file-tree.js +177 -0
  104. package/lib/browser/file-tree/file-tree.js.map +1 -0
  105. package/lib/browser/file-tree/index.d.ts +7 -0
  106. package/lib/browser/file-tree/index.d.ts.map +1 -0
  107. package/lib/browser/file-tree/index.js +25 -0
  108. package/lib/browser/file-tree/index.js.map +1 -0
  109. package/lib/browser/filesystem-frontend-contribution.d.ts +76 -0
  110. package/lib/browser/filesystem-frontend-contribution.d.ts.map +1 -0
  111. package/lib/browser/filesystem-frontend-contribution.js +372 -0
  112. package/lib/browser/filesystem-frontend-contribution.js.map +1 -0
  113. package/lib/browser/filesystem-frontend-module.d.ts +6 -0
  114. package/lib/browser/filesystem-frontend-module.d.ts.map +1 -0
  115. package/lib/browser/filesystem-frontend-module.js +70 -0
  116. package/lib/browser/filesystem-frontend-module.js.map +1 -0
  117. package/lib/browser/filesystem-saveable-service.d.ts +36 -0
  118. package/lib/browser/filesystem-saveable-service.d.ts.map +1 -0
  119. package/lib/browser/filesystem-saveable-service.js +164 -0
  120. package/lib/browser/filesystem-saveable-service.js.map +1 -0
  121. package/lib/browser/filesystem-watcher-error-handler.d.ts +11 -0
  122. package/lib/browser/filesystem-watcher-error-handler.d.ts.map +1 -0
  123. package/lib/browser/filesystem-watcher-error-handler.js +62 -0
  124. package/lib/browser/filesystem-watcher-error-handler.js.map +1 -0
  125. package/lib/browser/index.d.ts +5 -0
  126. package/lib/browser/index.d.ts.map +1 -0
  127. package/lib/browser/index.js +23 -0
  128. package/lib/browser/index.js.map +1 -0
  129. package/lib/browser/location/index.d.ts +3 -0
  130. package/lib/browser/location/index.d.ts.map +1 -0
  131. package/lib/browser/location/index.js +21 -0
  132. package/lib/browser/location/index.js.map +1 -0
  133. package/lib/browser/location/location-renderer.d.ts +101 -0
  134. package/lib/browser/location/location-renderer.d.ts.map +1 -0
  135. package/lib/browser/location/location-renderer.js +345 -0
  136. package/lib/browser/location/location-renderer.js.map +1 -0
  137. package/lib/browser/location/location-service.d.ts +6 -0
  138. package/lib/browser/location/location-service.d.ts.map +1 -0
  139. package/lib/browser/location/location-service.js +18 -0
  140. package/lib/browser/location/location-service.js.map +1 -0
  141. package/lib/browser/remote-file-service-contribution.d.ts +7 -0
  142. package/lib/browser/remote-file-service-contribution.d.ts.map +1 -0
  143. package/lib/browser/remote-file-service-contribution.js +40 -0
  144. package/lib/browser/remote-file-service-contribution.js.map +1 -0
  145. package/lib/browser/upload/file-upload-service-impl.d.ts +77 -0
  146. package/lib/browser/upload/file-upload-service-impl.d.ts.map +1 -0
  147. package/lib/browser/upload/file-upload-service-impl.js +449 -0
  148. package/lib/browser/upload/file-upload-service-impl.js.map +1 -0
  149. package/lib/browser/vscode-file-service-contribution.d.ts +25 -0
  150. package/lib/browser/vscode-file-service-contribution.d.ts.map +1 -0
  151. package/lib/browser/vscode-file-service-contribution.js +99 -0
  152. package/lib/browser/vscode-file-service-contribution.js.map +1 -0
  153. package/lib/browser-only/browser-only-filesystem-frontend-module.d.ts +4 -0
  154. package/lib/browser-only/browser-only-filesystem-frontend-module.d.ts.map +1 -0
  155. package/lib/browser-only/browser-only-filesystem-frontend-module.js +49 -0
  156. package/lib/browser-only/browser-only-filesystem-frontend-module.js.map +1 -0
  157. package/lib/browser-only/browser-only-filesystem-provider-server.d.ts +12 -0
  158. package/lib/browser-only/browser-only-filesystem-provider-server.d.ts.map +1 -0
  159. package/lib/browser-only/browser-only-filesystem-provider-server.js +40 -0
  160. package/lib/browser-only/browser-only-filesystem-provider-server.js.map +1 -0
  161. package/lib/browser-only/download/file-download-command-contribution.d.ts +15 -0
  162. package/lib/browser-only/download/file-download-command-contribution.d.ts.map +1 -0
  163. package/lib/browser-only/download/file-download-command-contribution.js +55 -0
  164. package/lib/browser-only/download/file-download-command-contribution.js.map +1 -0
  165. package/lib/browser-only/download/file-download-frontend-module.d.ts +4 -0
  166. package/lib/browser-only/download/file-download-frontend-module.d.ts.map +1 -0
  167. package/lib/browser-only/download/file-download-frontend-module.js +27 -0
  168. package/lib/browser-only/download/file-download-frontend-module.js.map +1 -0
  169. package/lib/browser-only/download/file-download-service.d.ts +86 -0
  170. package/lib/browser-only/download/file-download-service.d.ts.map +1 -0
  171. package/lib/browser-only/download/file-download-service.js +551 -0
  172. package/lib/browser-only/download/file-download-service.js.map +1 -0
  173. package/lib/browser-only/file-search.d.ts +38 -0
  174. package/lib/browser-only/file-search.d.ts.map +1 -0
  175. package/lib/browser-only/file-search.js +153 -0
  176. package/lib/browser-only/file-search.js.map +1 -0
  177. package/lib/browser-only/opfs-filesystem-initialization.d.ts +13 -0
  178. package/lib/browser-only/opfs-filesystem-initialization.d.ts.map +1 -0
  179. package/lib/browser-only/opfs-filesystem-initialization.js +36 -0
  180. package/lib/browser-only/opfs-filesystem-initialization.js.map +1 -0
  181. package/lib/browser-only/opfs-filesystem-provider.d.ts +108 -0
  182. package/lib/browser-only/opfs-filesystem-provider.d.ts.map +1 -0
  183. package/lib/browser-only/opfs-filesystem-provider.js +487 -0
  184. package/lib/browser-only/opfs-filesystem-provider.js.map +1 -0
  185. package/lib/browser-only/upload/file-upload-service-impl.d.ts +67 -0
  186. package/lib/browser-only/upload/file-upload-service-impl.d.ts.map +1 -0
  187. package/lib/browser-only/upload/file-upload-service-impl.js +328 -0
  188. package/lib/browser-only/upload/file-upload-service-impl.js.map +1 -0
  189. package/lib/common/delegating-file-system-provider.d.ts +77 -0
  190. package/lib/common/delegating-file-system-provider.d.ts.map +1 -0
  191. package/lib/common/delegating-file-system-provider.js +169 -0
  192. package/lib/common/delegating-file-system-provider.js.map +1 -0
  193. package/lib/common/download/file-download.d.ts +17 -0
  194. package/lib/common/download/file-download.d.ts.map +1 -0
  195. package/lib/common/download/file-download.js +28 -0
  196. package/lib/common/download/file-download.js.map +1 -0
  197. package/lib/common/file-upload.d.ts +2 -0
  198. package/lib/common/file-upload.d.ts.map +1 -0
  199. package/lib/common/file-upload.js +20 -0
  200. package/lib/common/file-upload.js.map +1 -0
  201. package/lib/common/files.d.ts +668 -0
  202. package/lib/common/files.d.ts.map +1 -0
  203. package/lib/common/files.js +390 -0
  204. package/lib/common/files.js.map +1 -0
  205. package/lib/common/files.spec.d.ts +2 -0
  206. package/lib/common/files.spec.d.ts.map +1 -0
  207. package/lib/common/files.spec.js +52 -0
  208. package/lib/common/files.spec.js.map +1 -0
  209. package/lib/common/filesystem-preferences.d.ts +33 -0
  210. package/lib/common/filesystem-preferences.d.ts.map +1 -0
  211. package/lib/common/filesystem-preferences.js +122 -0
  212. package/lib/common/filesystem-preferences.js.map +1 -0
  213. package/lib/common/filesystem-utils.d.ts +15 -0
  214. package/lib/common/filesystem-utils.d.ts.map +1 -0
  215. package/lib/common/filesystem-utils.js +64 -0
  216. package/lib/common/filesystem-utils.js.map +1 -0
  217. package/lib/common/filesystem-utils.spec.d.ts +2 -0
  218. package/lib/common/filesystem-utils.spec.d.ts.map +1 -0
  219. package/lib/common/filesystem-utils.spec.js +379 -0
  220. package/lib/common/filesystem-utils.spec.js.map +1 -0
  221. package/lib/common/filesystem-watcher-protocol.d.ts +72 -0
  222. package/lib/common/filesystem-watcher-protocol.d.ts.map +1 -0
  223. package/lib/common/filesystem-watcher-protocol.js +21 -0
  224. package/lib/common/filesystem-watcher-protocol.js.map +1 -0
  225. package/lib/common/filesystem.d.ts +23 -0
  226. package/lib/common/filesystem.d.ts.map +1 -0
  227. package/lib/common/filesystem.js +43 -0
  228. package/lib/common/filesystem.js.map +1 -0
  229. package/lib/common/index.d.ts +4 -0
  230. package/lib/common/index.d.ts.map +1 -0
  231. package/lib/common/index.js +22 -0
  232. package/lib/common/index.js.map +1 -0
  233. package/lib/common/io.d.ts +20 -0
  234. package/lib/common/io.d.ts.map +1 -0
  235. package/lib/common/io.js +117 -0
  236. package/lib/common/io.js.map +1 -0
  237. package/lib/common/remote-file-system-provider.d.ts +174 -0
  238. package/lib/common/remote-file-system-provider.d.ts.map +1 -0
  239. package/lib/common/remote-file-system-provider.js +435 -0
  240. package/lib/common/remote-file-system-provider.js.map +1 -0
  241. package/lib/common/upload/file-upload.d.ts +45 -0
  242. package/lib/common/upload/file-upload.d.ts.map +1 -0
  243. package/lib/common/upload/file-upload.js +20 -0
  244. package/lib/common/upload/file-upload.js.map +1 -0
  245. package/lib/electron-browser/file-dialog/electron-file-dialog-module.d.ts +4 -0
  246. package/lib/electron-browser/file-dialog/electron-file-dialog-module.d.ts.map +1 -0
  247. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js +25 -0
  248. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js.map +1 -0
  249. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts +20 -0
  250. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts.map +1 -0
  251. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js +149 -0
  252. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js.map +1 -0
  253. package/lib/electron-browser/preload.d.ts +2 -0
  254. package/lib/electron-browser/preload.d.ts.map +1 -0
  255. package/lib/electron-browser/preload.js +31 -0
  256. package/lib/electron-browser/preload.js.map +1 -0
  257. package/lib/electron-common/electron-api.d.ts +35 -0
  258. package/lib/electron-common/electron-api.d.ts.map +1 -0
  259. package/lib/electron-common/electron-api.js +21 -0
  260. package/lib/electron-common/electron-api.js.map +1 -0
  261. package/lib/electron-main/electron-api-main.d.ts +6 -0
  262. package/lib/electron-main/electron-api-main.d.ts.map +1 -0
  263. package/lib/electron-main/electron-api-main.js +74 -0
  264. package/lib/electron-main/electron-api-main.js.map +1 -0
  265. package/lib/electron-main/electron-main-module.d.ts +4 -0
  266. package/lib/electron-main/electron-main-module.d.ts.map +1 -0
  267. package/lib/electron-main/electron-main-module.js +25 -0
  268. package/lib/electron-main/electron-main-module.js.map +1 -0
  269. package/lib/node/disk-file-system-provider.d.ts +73 -0
  270. package/lib/node/disk-file-system-provider.d.ts.map +1 -0
  271. package/lib/node/disk-file-system-provider.js +786 -0
  272. package/lib/node/disk-file-system-provider.js.map +1 -0
  273. package/lib/node/disk-file-system-provider.spec.d.ts +2 -0
  274. package/lib/node/disk-file-system-provider.spec.d.ts.map +1 -0
  275. package/lib/node/disk-file-system-provider.spec.js +123 -0
  276. package/lib/node/disk-file-system-provider.spec.js.map +1 -0
  277. package/lib/node/download/directory-archiver.d.ts +10 -0
  278. package/lib/node/download/directory-archiver.d.ts.map +1 -0
  279. package/lib/node/download/directory-archiver.js +128 -0
  280. package/lib/node/download/directory-archiver.js.map +1 -0
  281. package/lib/node/download/directory-archiver.spec.d.ts +2 -0
  282. package/lib/node/download/directory-archiver.spec.d.ts.map +1 -0
  283. package/lib/node/download/directory-archiver.spec.js +98 -0
  284. package/lib/node/download/directory-archiver.spec.js.map +1 -0
  285. package/lib/node/download/file-download-backend-module.d.ts +4 -0
  286. package/lib/node/download/file-download-backend-module.d.ts.map +1 -0
  287. package/lib/node/download/file-download-backend-module.js +33 -0
  288. package/lib/node/download/file-download-backend-module.js.map +1 -0
  289. package/lib/node/download/file-download-cache.d.ts +22 -0
  290. package/lib/node/download/file-download-cache.d.ts.map +1 -0
  291. package/lib/node/download/file-download-cache.js +81 -0
  292. package/lib/node/download/file-download-cache.js.map +1 -0
  293. package/lib/node/download/file-download-endpoint.d.ts +12 -0
  294. package/lib/node/download/file-download-endpoint.d.ts.map +1 -0
  295. package/lib/node/download/file-download-endpoint.js +68 -0
  296. package/lib/node/download/file-download-endpoint.js.map +1 -0
  297. package/lib/node/download/file-download-handler.d.ts +51 -0
  298. package/lib/node/download/file-download-handler.d.ts.map +1 -0
  299. package/lib/node/download/file-download-handler.js +307 -0
  300. package/lib/node/download/file-download-handler.js.map +1 -0
  301. package/lib/node/download/test/mock-directory-archiver.d.ts +8 -0
  302. package/lib/node/download/test/mock-directory-archiver.d.ts.map +1 -0
  303. package/lib/node/download/test/mock-directory-archiver.js +30 -0
  304. package/lib/node/download/test/mock-directory-archiver.js.map +1 -0
  305. package/lib/node/file-change-collection.d.ts +23 -0
  306. package/lib/node/file-change-collection.d.ts.map +1 -0
  307. package/lib/node/file-change-collection.js +78 -0
  308. package/lib/node/file-change-collection.js.map +1 -0
  309. package/lib/node/file-change-collection.spec.d.ts +2 -0
  310. package/lib/node/file-change-collection.spec.d.ts.map +1 -0
  311. package/lib/node/file-change-collection.spec.js +91 -0
  312. package/lib/node/file-change-collection.spec.js.map +1 -0
  313. package/lib/node/filesystem-backend-module.d.ts +27 -0
  314. package/lib/node/filesystem-backend-module.d.ts.map +1 -0
  315. package/lib/node/filesystem-backend-module.js +123 -0
  316. package/lib/node/filesystem-backend-module.js.map +1 -0
  317. package/lib/node/filesystem-watcher-client.d.ts +23 -0
  318. package/lib/node/filesystem-watcher-client.d.ts.map +1 -0
  319. package/lib/node/filesystem-watcher-client.js +75 -0
  320. package/lib/node/filesystem-watcher-client.js.map +1 -0
  321. package/lib/node/filesystem-watcher-dispatcher.d.ts +24 -0
  322. package/lib/node/filesystem-watcher-dispatcher.d.ts.map +1 -0
  323. package/lib/node/filesystem-watcher-dispatcher.js +81 -0
  324. package/lib/node/filesystem-watcher-dispatcher.js.map +1 -0
  325. package/lib/node/parcel-watcher/index.d.ts +4 -0
  326. package/lib/node/parcel-watcher/index.d.ts.map +1 -0
  327. package/lib/node/parcel-watcher/index.js +40 -0
  328. package/lib/node/parcel-watcher/index.js.map +1 -0
  329. package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts +193 -0
  330. package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts.map +1 -0
  331. package/lib/node/parcel-watcher/parcel-filesystem-service.js +406 -0
  332. package/lib/node/parcel-watcher/parcel-filesystem-service.js.map +1 -0
  333. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts +2 -0
  334. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts.map +1 -0
  335. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js +145 -0
  336. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js.map +1 -0
  337. package/lib/node/parcel-watcher/parcel-options.d.ts +7 -0
  338. package/lib/node/parcel-watcher/parcel-options.d.ts.map +1 -0
  339. package/lib/node/parcel-watcher/parcel-options.js +23 -0
  340. package/lib/node/parcel-watcher/parcel-options.js.map +1 -0
  341. package/lib/node/upload/node-file-upload-service.d.ts +17 -0
  342. package/lib/node/upload/node-file-upload-service.d.ts.map +1 -0
  343. package/lib/node/upload/node-file-upload-service.js +87 -0
  344. package/lib/node/upload/node-file-upload-service.js.map +1 -0
  345. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disk-file-system-provider.js","sourceRoot":"","sources":["../../src/node/disk-file-system-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=disk-file-system-provider.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disk-file-system-provider.spec.d.ts","sourceRoot":"","sources":["../../src/node/disk-file-system-provider.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 Arduino SA and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const disposable_1 = require("@theia/core/lib/common/disposable");
19
+ const encoding_service_1 = require("@theia/core/lib/common/encoding-service");
20
+ const logger_1 = require("@theia/core/lib/common/logger");
21
+ const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
22
+ const file_uri_1 = require("@theia/core/lib/common/file-uri");
23
+ const ipc_connection_provider_1 = require("@theia/core/lib/node/messaging/ipc-connection-provider");
24
+ const inversify_1 = require("@theia/core/shared/inversify");
25
+ const assert_1 = require("assert");
26
+ const fs_1 = require("fs");
27
+ const path_1 = require("path");
28
+ const temp = require("temp");
29
+ const uuid_1 = require("@theia/core/lib/common/uuid");
30
+ const files_1 = require("../common/files");
31
+ const disk_file_system_provider_1 = require("./disk-file-system-provider");
32
+ const filesystem_backend_module_1 = require("./filesystem-backend-module");
33
+ const tracked = temp.track();
34
+ describe('disk-file-system-provider', () => {
35
+ let toDisposeAfter;
36
+ let fsProvider;
37
+ before(() => {
38
+ fsProvider = createContainer().get(disk_file_system_provider_1.DiskFileSystemProvider);
39
+ toDisposeAfter = new disposable_1.DisposableCollection(fsProvider, disposable_1.Disposable.create(() => tracked.cleanupSync()));
40
+ });
41
+ after(() => {
42
+ toDisposeAfter.dispose();
43
+ });
44
+ describe('stat', () => {
45
+ it("should omit the 'permissions' property of the stat if the file can be both read and write", async () => {
46
+ const tempDirPath = tracked.mkdirSync();
47
+ const tempFilePath = (0, path_1.join)(tempDirPath, `${(0, uuid_1.generateUuid)()}.txt`);
48
+ await fs_1.promises.writeFile(tempFilePath, 'some content', { encoding: 'utf8' });
49
+ let content = await fs_1.promises.readFile(tempFilePath, { encoding: 'utf8' });
50
+ (0, assert_1.equal)(content, 'some content');
51
+ await fs_1.promises.writeFile(tempFilePath, 'other content', { encoding: 'utf8' });
52
+ content = await fs_1.promises.readFile(tempFilePath, { encoding: 'utf8' });
53
+ (0, assert_1.equal)(content, 'other content');
54
+ const stat = await fsProvider.stat(file_uri_1.FileUri.create(tempFilePath));
55
+ (0, assert_1.equal)(stat.permissions, undefined);
56
+ });
57
+ it("should set the 'permissions' property to `Readonly` if the file can be read but not write", async () => {
58
+ const tempDirPath = tracked.mkdirSync();
59
+ const tempFilePath = (0, path_1.join)(tempDirPath, `${(0, uuid_1.generateUuid)()}.txt`);
60
+ await fs_1.promises.writeFile(tempFilePath, 'readonly content', {
61
+ encoding: 'utf8',
62
+ });
63
+ await fs_1.promises.chmod(tempFilePath, '444'); // read-only for owner/group/world
64
+ try {
65
+ await fsProvider.writeFile(file_uri_1.FileUri.create(tempFilePath), new Uint8Array(), { create: false, overwrite: true });
66
+ (0, assert_1.fail)('Expected an EACCES error for readonly (chmod 444) files');
67
+ }
68
+ catch (err) {
69
+ (0, assert_1.equal)(err instanceof files_1.FileSystemProviderError, true);
70
+ (0, assert_1.equal)(err.code, files_1.FileSystemProviderErrorCode.NoPermissions);
71
+ }
72
+ const content = await fs_1.promises.readFile(tempFilePath, { encoding: 'utf8' });
73
+ (0, assert_1.equal)(content, 'readonly content');
74
+ const stat = await fsProvider.stat(file_uri_1.FileUri.create(tempFilePath));
75
+ (0, assert_1.equal)(stat.permissions, files_1.FilePermission.Readonly);
76
+ });
77
+ });
78
+ describe('delete', () => {
79
+ it('delete is able to delete folder', async () => {
80
+ const tempDirPath = tracked.mkdirSync();
81
+ const testFolder = (0, path_1.join)(tempDirPath, 'test');
82
+ const folderUri = file_uri_1.FileUri.create(testFolder);
83
+ for (const recursive of [true, false]) {
84
+ // Note: useTrash = true fails on Linux
85
+ const useTrash = false;
86
+ if ((fsProvider.capabilities & 16777216 /* FileSystemProviderCapabilities.Access */) === 0 && useTrash) {
87
+ continue;
88
+ }
89
+ await fsProvider.mkdir(folderUri);
90
+ if (recursive) {
91
+ await fsProvider.writeFile(file_uri_1.FileUri.create((0, path_1.join)(testFolder, 'test.file')), Buffer.from('test'), { overwrite: false, create: true });
92
+ await fsProvider.mkdir(file_uri_1.FileUri.create((0, path_1.join)(testFolder, 'subFolder')));
93
+ }
94
+ await fsProvider.delete(folderUri, { recursive, useTrash });
95
+ }
96
+ });
97
+ it('delete is able to delete file', async () => {
98
+ const tempDirPath = tracked.mkdirSync();
99
+ const testFile = (0, path_1.join)(tempDirPath, 'test.file');
100
+ const testFileUri = file_uri_1.FileUri.create(testFile);
101
+ for (const recursive of [true, false]) {
102
+ for (const useTrash of [true, false]) {
103
+ await fsProvider.writeFile(testFileUri, Buffer.from('test'), { overwrite: false, create: true });
104
+ await fsProvider.delete(testFileUri, { recursive, useTrash });
105
+ }
106
+ }
107
+ });
108
+ });
109
+ function createContainer() {
110
+ const container = new inversify_1.Container({ defaultScope: 'Singleton' });
111
+ const module = new inversify_1.ContainerModule(bind => {
112
+ bind(disk_file_system_provider_1.DiskFileSystemProvider).toSelf().inSingletonScope();
113
+ bind(encoding_service_1.EncodingService).toSelf().inSingletonScope();
114
+ (0, filesystem_backend_module_1.bindFileSystemWatcherServer)(bind);
115
+ bind(mock_logger_1.MockLogger).toSelf().inSingletonScope();
116
+ bind(logger_1.ILogger).toService(mock_logger_1.MockLogger);
117
+ bind(ipc_connection_provider_1.IPCConnectionProvider).toSelf().inSingletonScope();
118
+ });
119
+ container.load(module);
120
+ return container;
121
+ }
122
+ });
123
+ //# sourceMappingURL=disk-file-system-provider.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disk-file-system-provider.spec.js","sourceRoot":"","sources":["../../src/node/disk-file-system-provider.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import URI from '@theia/core/lib/common/uri';
2
+ export declare class DirectoryArchiver {
3
+ archive(inputPath: string, outputPath: string, entries?: string[]): Promise<void>;
4
+ findCommonParents(uris: URI[]): Promise<Map<string, string[]>>;
5
+ protected closestCommonParentUri(left: URI, right: URI): URI | undefined;
6
+ protected isDir(uri: URI): Promise<boolean>;
7
+ protected equal(left: URI | URI[], right: URI | URI[]): boolean;
8
+ protected toUriString(uri: URI): string;
9
+ }
10
+ //# sourceMappingURL=directory-archiver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory-archiver.d.ts","sourceRoot":"","sources":["../../../src/node/download/directory-archiver.ts"],"names":[],"mappings":"AAmBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAG7C,qBACa,iBAAiB;IAEpB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjF,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAiDpE,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS;cAgBxD,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IASjD,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO;IAe/D,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;CAK1C"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.DirectoryArchiver = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const fs = require("@theia/core/shared/fs-extra");
22
+ const tar_fs_1 = require("tar-fs");
23
+ const uri_1 = require("@theia/core/lib/common/uri");
24
+ const file_uri_1 = require("@theia/core/lib/common/file-uri");
25
+ let DirectoryArchiver = class DirectoryArchiver {
26
+ async archive(inputPath, outputPath, entries) {
27
+ return new Promise(async (resolve, reject) => {
28
+ (0, tar_fs_1.pack)(inputPath, { entries }).pipe(fs.createWriteStream(outputPath)).on('finish', () => resolve()).on('error', e => reject(e));
29
+ });
30
+ }
31
+ async findCommonParents(uris) {
32
+ const map = new Map();
33
+ for (const uri of uris) {
34
+ // 1. Get the container if not the URI is not a directory.
35
+ const containerUri = (await this.isDir(uri)) ? uri : uri.parent;
36
+ let containerUriStr = this.toUriString(containerUri);
37
+ // 2. If the container already registered, just append the current URI to it.
38
+ if (map.has(containerUriStr)) {
39
+ map.set(containerUriStr, [...map.get(containerUriStr), this.toUriString(uri)]);
40
+ }
41
+ else {
42
+ // 3. Try to find the longest container URI that we can use.
43
+ // When we have `/A/B/` and `/A/C` and a file `A/B/C/D.txt` then we need to find `/A/B`. The longest URIs come first.
44
+ for (const knownContainerUri of Array.from(map.keys()).sort((left, right) => right.length - left.length)) {
45
+ if (uri.toString().startsWith(knownContainerUri)) {
46
+ containerUriStr = knownContainerUri;
47
+ break;
48
+ }
49
+ }
50
+ const entries = map.get(containerUriStr) || [];
51
+ entries.push(this.toUriString(uri));
52
+ map.set(containerUriStr, entries);
53
+ }
54
+ // 4. Collapse the hierarchy by finding the closest common parents for the entries, if any.
55
+ let collapsed = false;
56
+ collapseLoop: while (!collapsed) {
57
+ const knownContainerUris = Array.from(map.keys()).sort((left, right) => right.length - left.length);
58
+ if (knownContainerUris.length > 1) {
59
+ for (let i = 0; i < knownContainerUris.length; i++) {
60
+ for (let j = i + 1; j < knownContainerUris.length; j++) {
61
+ const left = knownContainerUris[i];
62
+ const right = knownContainerUris[j];
63
+ const commonParent = this.closestCommonParentUri(new uri_1.default(left), new uri_1.default(right));
64
+ if (commonParent && !commonParent.path.isRoot) {
65
+ const leftEntries = map.get(left) || [];
66
+ const rightEntries = map.get(right) || [];
67
+ map.delete(left);
68
+ map.delete(right);
69
+ map.set(this.toUriString(commonParent), [...leftEntries, ...rightEntries]);
70
+ break collapseLoop;
71
+ }
72
+ }
73
+ }
74
+ }
75
+ collapsed = true;
76
+ }
77
+ }
78
+ return map;
79
+ }
80
+ closestCommonParentUri(left, right) {
81
+ if (left.scheme !== right.scheme) {
82
+ return undefined;
83
+ }
84
+ const allLeft = left.allLocations;
85
+ const allRight = right.allLocations;
86
+ for (const leftUri of allLeft) {
87
+ for (const rightUri of allRight) {
88
+ if (this.equal(leftUri, rightUri)) {
89
+ return leftUri;
90
+ }
91
+ }
92
+ }
93
+ return undefined;
94
+ }
95
+ async isDir(uri) {
96
+ try {
97
+ const stat = await fs.stat(file_uri_1.FileUri.fsPath(uri));
98
+ return stat.isDirectory();
99
+ }
100
+ catch {
101
+ return false;
102
+ }
103
+ }
104
+ equal(left, right) {
105
+ if (Array.isArray(left) && Array.isArray(right)) {
106
+ if (left === right) {
107
+ return true;
108
+ }
109
+ if (left.length !== right.length) {
110
+ return false;
111
+ }
112
+ return left.map(this.toUriString).sort().toString() === right.map(this.toUriString).sort().toString();
113
+ }
114
+ else if (left instanceof uri_1.default && right instanceof uri_1.default) {
115
+ return this.toUriString(left) === this.toUriString(right);
116
+ }
117
+ return false;
118
+ }
119
+ toUriString(uri) {
120
+ const raw = uri.toString();
121
+ return raw.endsWith('/') ? raw.slice(0, -1) : raw;
122
+ }
123
+ };
124
+ exports.DirectoryArchiver = DirectoryArchiver;
125
+ exports.DirectoryArchiver = DirectoryArchiver = tslib_1.__decorate([
126
+ (0, inversify_1.injectable)()
127
+ ], DirectoryArchiver);
128
+ //# sourceMappingURL=directory-archiver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory-archiver.js","sourceRoot":"","sources":["../../../src/node/download/directory-archiver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=directory-archiver.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory-archiver.spec.d.ts","sourceRoot":"","sources":["../../../src/node/download/directory-archiver.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const fs = require("@theia/core/shared/fs-extra");
19
+ const path = require("path");
20
+ const temp = require("temp");
21
+ const tar_fs_1 = require("tar-fs");
22
+ const chai_1 = require("chai");
23
+ const uri_1 = require("@theia/core/lib/common/uri");
24
+ const mock_directory_archiver_1 = require("./test/mock-directory-archiver");
25
+ const file_uri_1 = require("@theia/core/lib/common/file-uri");
26
+ const track = temp.track();
27
+ describe('directory-archiver', () => {
28
+ after(() => {
29
+ track.cleanupSync();
30
+ });
31
+ it('should archive a directory', async function () {
32
+ this.timeout(20000);
33
+ const fromPath = track.mkdirSync('from');
34
+ fs.writeFileSync(path.join(fromPath, 'A.txt'), 'A');
35
+ fs.writeFileSync(path.join(fromPath, 'B.txt'), 'B');
36
+ (0, chai_1.expect)(fs.readFileSync(path.join(fromPath, 'A.txt'), { encoding: 'utf8' })).to.be.equal('A');
37
+ (0, chai_1.expect)(fs.readFileSync(path.join(fromPath, 'B.txt'), { encoding: 'utf8' })).to.be.equal('B');
38
+ const toPath = track.mkdirSync('to');
39
+ const archiver = new mock_directory_archiver_1.MockDirectoryArchiver();
40
+ await archiver.archive(fromPath, path.join(toPath, 'output.tar'));
41
+ (0, chai_1.expect)(fs.existsSync(path.join(toPath, 'output.tar'))).to.be.true;
42
+ const assertPath = track.mkdirSync('assertPath');
43
+ return new Promise(resolve => {
44
+ fs.createReadStream(path.join(toPath, 'output.tar')).pipe((0, tar_fs_1.extract)(assertPath)).on('finish', () => {
45
+ (0, chai_1.expect)(fs.readdirSync(assertPath).sort()).to.be.deep.equal(['A.txt', 'B.txt']);
46
+ (0, chai_1.expect)(fs.readFileSync(path.join(assertPath, 'A.txt'), { encoding: 'utf8' })).to.be.equal(fs.readFileSync(path.join(fromPath, 'A.txt'), { encoding: 'utf8' }));
47
+ (0, chai_1.expect)(fs.readFileSync(path.join(assertPath, 'B.txt'), { encoding: 'utf8' })).to.be.equal(fs.readFileSync(path.join(fromPath, 'B.txt'), { encoding: 'utf8' }));
48
+ resolve();
49
+ });
50
+ });
51
+ });
52
+ describe('findCommonParents', () => {
53
+ [
54
+ {
55
+ input: ['/A/B/C/D.txt', '/X/Y/Z.txt'],
56
+ expected: new Map([['/A/B/C', ['/A/B/C/D.txt']], ['/X/Y', ['/X/Y/Z.txt']]]),
57
+ folders: ['/A', '/A/B', '/A/B/C', '/X', '/X/Y']
58
+ },
59
+ {
60
+ input: ['/A/B/C/D.txt', '/A/B/C/E.txt'],
61
+ expected: new Map([['/A/B/C', ['/A/B/C/D.txt', '/A/B/C/E.txt']]]),
62
+ folders: ['/A', '/A/B', '/A/B/C']
63
+ },
64
+ {
65
+ input: ['/A', '/A/B/C/D.txt', '/A/B/C/E.txt'],
66
+ expected: new Map([['/A', ['/A', '/A/B/C/D.txt', '/A/B/C/E.txt']]]),
67
+ folders: ['/A', '/A/B', '/A/B/C']
68
+ },
69
+ {
70
+ input: ['/A/B/C/D.txt', '/A/B/C/E.txt', '/A'],
71
+ expected: new Map([['/A', ['/A', '/A/B/C/D.txt', '/A/B/C/E.txt']]]),
72
+ folders: ['/A', '/A/B', '/A/B/C']
73
+ },
74
+ {
75
+ input: ['/A/B/C/D.txt', '/A/B/X/E.txt'],
76
+ expected: new Map([['/A/B', ['/A/B/C/D.txt', '/A/B/X/E.txt']]]),
77
+ folders: ['/A', '/A/B', '/A/B/C', '/A/B/X']
78
+ }
79
+ ].forEach(test => {
80
+ const { input, expected, folders } = test;
81
+ it(`should find the common parent URIs among [${input.join(', ')}] => [${Array.from(expected.keys()).join(', ')}]`, async () => {
82
+ const archiver = new mock_directory_archiver_1.MockDirectoryArchiver(folders ? folders.map(file_uri_1.FileUri.create) : []);
83
+ const actual = await archiver.findCommonParents(input.map(file_uri_1.FileUri.create));
84
+ (0, chai_1.expect)(asString(actual)).to.be.equal(asString(expected));
85
+ });
86
+ });
87
+ function asString(map) {
88
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
+ const obj = {};
90
+ for (const key of Array.from(map.keys()).sort()) {
91
+ const values = (map.get(key) || []).sort();
92
+ obj[new uri_1.default(key).withScheme('file').toString()] = `[${values.map(v => new uri_1.default(v).withScheme('file').toString()).join(', ')}]`;
93
+ }
94
+ return JSON.stringify(obj);
95
+ }
96
+ });
97
+ });
98
+ //# sourceMappingURL=directory-archiver.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory-archiver.spec.js","sourceRoot":"","sources":["../../../src/node/download/directory-archiver.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ContainerModule } from '@theia/core/shared/inversify';
2
+ declare const _default: ContainerModule;
3
+ export default _default;
4
+ //# sourceMappingURL=file-download-backend-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-download-backend-module.d.ts","sourceRoot":"","sources":["../../../src/node/download/file-download-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAO/D,wBAQG"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const inversify_1 = require("@theia/core/shared/inversify");
19
+ const backend_application_1 = require("@theia/core/lib/node/backend-application");
20
+ const file_download_endpoint_1 = require("./file-download-endpoint");
21
+ const file_download_handler_1 = require("./file-download-handler");
22
+ const directory_archiver_1 = require("./directory-archiver");
23
+ const file_download_cache_1 = require("./file-download-cache");
24
+ exports.default = new inversify_1.ContainerModule(bind => {
25
+ bind(file_download_endpoint_1.FileDownloadEndpoint).toSelf().inSingletonScope();
26
+ bind(backend_application_1.BackendApplicationContribution).toService(file_download_endpoint_1.FileDownloadEndpoint);
27
+ bind(file_download_cache_1.FileDownloadCache).toSelf().inSingletonScope();
28
+ bind(file_download_handler_1.FileDownloadHandler).to(file_download_handler_1.SingleFileDownloadHandler).inSingletonScope().whenTargetNamed(file_download_handler_1.FileDownloadHandler.SINGLE);
29
+ bind(file_download_handler_1.FileDownloadHandler).to(file_download_handler_1.MultiFileDownloadHandler).inSingletonScope().whenTargetNamed(file_download_handler_1.FileDownloadHandler.MULTI);
30
+ bind(file_download_handler_1.FileDownloadHandler).to(file_download_handler_1.DownloadLinkHandler).inSingletonScope().whenTargetNamed(file_download_handler_1.FileDownloadHandler.DOWNLOAD_LINK);
31
+ bind(directory_archiver_1.DirectoryArchiver).toSelf().inSingletonScope();
32
+ });
33
+ //# sourceMappingURL=file-download-backend-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-download-backend-module.js","sourceRoot":"","sources":["../../../src/node/download/file-download-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,4DAA+D;AAC/D,kFAA0F;AAC1F,qEAAgE;AAChE,mEAAwI;AACxI,6DAAyD;AACzD,+DAA0D;AAE1D,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,oDAA8B,CAAC,CAAC,SAAS,CAAC,6CAAoB,CAAC,CAAC;IACrE,IAAI,CAAC,uCAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,2CAAmB,CAAC,CAAC,EAAE,CAAC,iDAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,2CAAmB,CAAC,MAAM,CAAC,CAAC;IACvH,IAAI,CAAC,2CAAmB,CAAC,CAAC,EAAE,CAAC,gDAAwB,CAAC,CAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,2CAAmB,CAAC,KAAK,CAAC,CAAC;IACrH,IAAI,CAAC,2CAAmB,CAAC,CAAC,EAAE,CAAC,2CAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,2CAAmB,CAAC,aAAa,CAAC,CAAC;IACxH,IAAI,CAAC,sCAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { ILogger } from '@theia/core/lib/common/logger';
2
+ export interface DownloadStorageItem {
3
+ file: string;
4
+ root?: string;
5
+ size: number;
6
+ remove: boolean;
7
+ expire?: number;
8
+ }
9
+ export declare class FileDownloadCache {
10
+ protected readonly logger: ILogger;
11
+ protected readonly downloads: Map<string, DownloadStorageItem>;
12
+ protected readonly expireTimeInMinutes: number;
13
+ addDownload(id: string, downloadInfo: DownloadStorageItem): void;
14
+ getDownload(id: string): DownloadStorageItem | undefined;
15
+ deleteDownload(id: string): void;
16
+ values(): {
17
+ [key: string]: DownloadStorageItem;
18
+ };
19
+ protected deleteRecursively(pathToDelete: string): void;
20
+ protected expireDownloads(): void;
21
+ }
22
+ //# sourceMappingURL=file-download-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-download-cache.d.ts","sourceRoot":"","sources":["../../../src/node/download/file-download-cache.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBACa,iBAAiB;IAG1B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,SAAS,mCAA0C;IACtE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAK;IAEnD,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,GAAG,IAAI;IAUhE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAaxD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQhC,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAA;KAAE;IAKhD,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMvD,SAAS,CAAC,eAAe,IAAI,IAAI;CAQpC"}