@opensumi/ide-core-common 2.12.1-next-079c1930

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 (450) hide show
  1. package/lib/application-error.d.ts +36 -0
  2. package/lib/application-error.d.ts.map +1 -0
  3. package/lib/application-error.js +64 -0
  4. package/lib/application-error.js.map +1 -0
  5. package/lib/application-props.d.ts +26 -0
  6. package/lib/application-props.d.ts.map +1 -0
  7. package/lib/application-props.js +3 -0
  8. package/lib/application-props.js.map +1 -0
  9. package/lib/arrays.d.ts +131 -0
  10. package/lib/arrays.d.ts.map +1 -0
  11. package/lib/arrays.js +533 -0
  12. package/lib/arrays.js.map +1 -0
  13. package/lib/async.d.ts +165 -0
  14. package/lib/async.d.ts.map +1 -0
  15. package/lib/async.js +417 -0
  16. package/lib/async.js.map +1 -0
  17. package/lib/browser-fs/ensure-dir.d.ts +7 -0
  18. package/lib/browser-fs/ensure-dir.d.ts.map +1 -0
  19. package/lib/browser-fs/ensure-dir.js +40 -0
  20. package/lib/browser-fs/ensure-dir.js.map +1 -0
  21. package/lib/browser-fs/util.d.ts +18 -0
  22. package/lib/browser-fs/util.d.ts.map +1 -0
  23. package/lib/browser-fs/util.js +21 -0
  24. package/lib/browser-fs/util.js.map +1 -0
  25. package/lib/cache.d.ts +12 -0
  26. package/lib/cache.d.ts.map +1 -0
  27. package/lib/cache.js +36 -0
  28. package/lib/cache.js.map +1 -0
  29. package/lib/cancellation.d.ts +23 -0
  30. package/lib/cancellation.d.ts.map +1 -0
  31. package/lib/cancellation.js +116 -0
  32. package/lib/cancellation.js.map +1 -0
  33. package/lib/charCode.d.ts +406 -0
  34. package/lib/charCode.d.ts.map +1 -0
  35. package/lib/charCode.js +8 -0
  36. package/lib/charCode.js.map +1 -0
  37. package/lib/character-classifier.d.ts +25 -0
  38. package/lib/character-classifier.d.ts.map +1 -0
  39. package/lib/character-classifier.js +58 -0
  40. package/lib/character-classifier.js.map +1 -0
  41. package/lib/command.d.ts +350 -0
  42. package/lib/command.d.ts.map +1 -0
  43. package/lib/command.js +408 -0
  44. package/lib/command.js.map +1 -0
  45. package/lib/connection.d.ts +8 -0
  46. package/lib/connection.d.ts.map +1 -0
  47. package/lib/connection.js +17 -0
  48. package/lib/connection.js.map +1 -0
  49. package/lib/const/application.d.ts +3 -0
  50. package/lib/const/application.d.ts.map +1 -0
  51. package/lib/const/application.js +6 -0
  52. package/lib/const/application.js.map +1 -0
  53. package/lib/const/encodings.d.ts +10 -0
  54. package/lib/const/encodings.d.ts.map +1 -0
  55. package/lib/const/encodings.js +244 -0
  56. package/lib/const/encodings.js.map +1 -0
  57. package/lib/const/index.d.ts +2 -0
  58. package/lib/const/index.d.ts.map +1 -0
  59. package/lib/const/index.js +5 -0
  60. package/lib/const/index.js.map +1 -0
  61. package/lib/contribution-provider.d.ts +38 -0
  62. package/lib/contribution-provider.d.ts.map +1 -0
  63. package/lib/contribution-provider.js +60 -0
  64. package/lib/contribution-provider.js.map +1 -0
  65. package/lib/credential.d.ts +21 -0
  66. package/lib/credential.d.ts.map +1 -0
  67. package/lib/credential.js +6 -0
  68. package/lib/credential.js.map +1 -0
  69. package/lib/cryptr.d.ts +7 -0
  70. package/lib/cryptr.d.ts.map +1 -0
  71. package/lib/cryptr.js +6 -0
  72. package/lib/cryptr.js.map +1 -0
  73. package/lib/date.d.ts +2 -0
  74. package/lib/date.d.ts.map +1 -0
  75. package/lib/date.js +16 -0
  76. package/lib/date.js.map +1 -0
  77. package/lib/declare.d.ts +3 -0
  78. package/lib/declare.d.ts.map +1 -0
  79. package/lib/declare.js +3 -0
  80. package/lib/declare.js.map +1 -0
  81. package/lib/di-helper/domain-helper.d.ts +14 -0
  82. package/lib/di-helper/domain-helper.d.ts.map +1 -0
  83. package/lib/di-helper/domain-helper.js +48 -0
  84. package/lib/di-helper/domain-helper.js.map +1 -0
  85. package/lib/di-helper/index.d.ts +2 -0
  86. package/lib/di-helper/index.d.ts.map +1 -0
  87. package/lib/di-helper/index.js +5 -0
  88. package/lib/di-helper/index.js.map +1 -0
  89. package/lib/disposable.d.ts +88 -0
  90. package/lib/disposable.d.ts.map +1 -0
  91. package/lib/disposable.js +309 -0
  92. package/lib/disposable.js.map +1 -0
  93. package/lib/electron.d.ts +118 -0
  94. package/lib/electron.d.ts.map +1 -0
  95. package/lib/electron.js +7 -0
  96. package/lib/electron.js.map +1 -0
  97. package/lib/encoding/index.d.ts +34 -0
  98. package/lib/encoding/index.d.ts.map +1 -0
  99. package/lib/encoding/index.js +219 -0
  100. package/lib/encoding/index.js.map +1 -0
  101. package/lib/env.d.ts +2 -0
  102. package/lib/env.d.ts.map +1 -0
  103. package/lib/env.js +5 -0
  104. package/lib/env.js.map +1 -0
  105. package/lib/errors.d.ts +60 -0
  106. package/lib/errors.d.ts.map +1 -0
  107. package/lib/errors.js +148 -0
  108. package/lib/errors.js.map +1 -0
  109. package/lib/event-bus/basic-event.d.ts +5 -0
  110. package/lib/event-bus/basic-event.d.ts.map +1 -0
  111. package/lib/event-bus/basic-event.js +10 -0
  112. package/lib/event-bus/basic-event.js.map +1 -0
  113. package/lib/event-bus/event-bus-types.d.ts +66 -0
  114. package/lib/event-bus/event-bus-types.d.ts.map +1 -0
  115. package/lib/event-bus/event-bus-types.js +5 -0
  116. package/lib/event-bus/event-bus-types.js.map +1 -0
  117. package/lib/event-bus/event-bus.d.ts +13 -0
  118. package/lib/event-bus/event-bus.d.ts.map +1 -0
  119. package/lib/event-bus/event-bus.js +55 -0
  120. package/lib/event-bus/event-bus.js.map +1 -0
  121. package/lib/event-bus/event-decorator.d.ts +10 -0
  122. package/lib/event-bus/event-decorator.d.ts.map +1 -0
  123. package/lib/event-bus/event-decorator.js +34 -0
  124. package/lib/event-bus/event-decorator.js.map +1 -0
  125. package/lib/event-bus/index.d.ts +5 -0
  126. package/lib/event-bus/index.d.ts.map +1 -0
  127. package/lib/event-bus/index.js +8 -0
  128. package/lib/event-bus/index.js.map +1 -0
  129. package/lib/event.d.ts +270 -0
  130. package/lib/event.d.ts.map +1 -0
  131. package/lib/event.js +810 -0
  132. package/lib/event.js.map +1 -0
  133. package/lib/filters.d.ts +51 -0
  134. package/lib/filters.d.ts.map +1 -0
  135. package/lib/filters.js +688 -0
  136. package/lib/filters.js.map +1 -0
  137. package/lib/functional.d.ts +4 -0
  138. package/lib/functional.d.ts.map +1 -0
  139. package/lib/functional.js +45 -0
  140. package/lib/functional.js.map +1 -0
  141. package/lib/hash-calculate/WASMInterface.d.ts +61 -0
  142. package/lib/hash-calculate/WASMInterface.d.ts.map +1 -0
  143. package/lib/hash-calculate/WASMInterface.js +180 -0
  144. package/lib/hash-calculate/WASMInterface.js.map +1 -0
  145. package/lib/hash-calculate/hash-calculate.d.ts +13 -0
  146. package/lib/hash-calculate/hash-calculate.d.ts.map +1 -0
  147. package/lib/hash-calculate/hash-calculate.js +41 -0
  148. package/lib/hash-calculate/hash-calculate.js.map +1 -0
  149. package/lib/hash-calculate/lockedCreate.d.ts +4 -0
  150. package/lib/hash-calculate/lockedCreate.d.ts.map +1 -0
  151. package/lib/hash-calculate/lockedCreate.js +17 -0
  152. package/lib/hash-calculate/lockedCreate.js.map +1 -0
  153. package/lib/hash-calculate/md5.wasm.json +1 -0
  154. package/lib/hash-calculate/mutex.d.ts +6 -0
  155. package/lib/hash-calculate/mutex.d.ts.map +1 -0
  156. package/lib/hash-calculate/mutex.js +32 -0
  157. package/lib/hash-calculate/mutex.js.map +1 -0
  158. package/lib/hash-calculate/util.d.ts +12 -0
  159. package/lib/hash-calculate/util.d.ts.map +1 -0
  160. package/lib/hash-calculate/util.js +166 -0
  161. package/lib/hash-calculate/util.js.map +1 -0
  162. package/lib/id-generator.d.ts +8 -0
  163. package/lib/id-generator.d.ts.map +1 -0
  164. package/lib/id-generator.js +15 -0
  165. package/lib/id-generator.js.map +1 -0
  166. package/lib/index.d.ts +47 -0
  167. package/lib/index.d.ts.map +1 -0
  168. package/lib/index.js +50 -0
  169. package/lib/index.js.map +1 -0
  170. package/lib/iterator.d.ts +14 -0
  171. package/lib/iterator.d.ts.map +1 -0
  172. package/lib/iterator.js +9 -0
  173. package/lib/iterator.js.map +1 -0
  174. package/lib/json-schema.d.ts +65 -0
  175. package/lib/json-schema.d.ts.map +1 -0
  176. package/lib/json-schema.js +3 -0
  177. package/lib/json-schema.js.map +1 -0
  178. package/lib/keyboard/index.d.ts +3 -0
  179. package/lib/keyboard/index.d.ts.map +1 -0
  180. package/lib/keyboard/index.js +6 -0
  181. package/lib/keyboard/index.js.map +1 -0
  182. package/lib/keyboard/keyboard-layout-provider.d.ts +38 -0
  183. package/lib/keyboard/keyboard-layout-provider.d.ts.map +1 -0
  184. package/lib/keyboard/keyboard-layout-provider.js +23 -0
  185. package/lib/keyboard/keyboard-layout-provider.js.map +1 -0
  186. package/lib/keyboard/keymap.d.ts +71 -0
  187. package/lib/keyboard/keymap.d.ts.map +1 -0
  188. package/lib/keyboard/keymap.js +128 -0
  189. package/lib/keyboard/keymap.js.map +1 -0
  190. package/lib/lifecycle.d.ts +17 -0
  191. package/lib/lifecycle.d.ts.map +1 -0
  192. package/lib/lifecycle.js +37 -0
  193. package/lib/lifecycle.js.map +1 -0
  194. package/lib/line-text.d.ts +17 -0
  195. package/lib/line-text.d.ts.map +1 -0
  196. package/lib/line-text.js +72 -0
  197. package/lib/line-text.js.map +1 -0
  198. package/lib/linked-list.d.ts +18 -0
  199. package/lib/linked-list.d.ts.map +1 -0
  200. package/lib/linked-list.js +138 -0
  201. package/lib/linked-list.js.map +1 -0
  202. package/lib/linkedText.d.ts +13 -0
  203. package/lib/linkedText.d.ts.map +1 -0
  204. package/lib/linkedText.js +50 -0
  205. package/lib/linkedText.js.map +1 -0
  206. package/lib/localize.d.ts +52 -0
  207. package/lib/localize.d.ts.map +1 -0
  208. package/lib/localize.js +128 -0
  209. package/lib/localize.js.map +1 -0
  210. package/lib/log.d.ts +181 -0
  211. package/lib/log.d.ts.map +1 -0
  212. package/lib/log.js +163 -0
  213. package/lib/log.js.map +1 -0
  214. package/lib/map.d.ts +124 -0
  215. package/lib/map.d.ts.map +1 -0
  216. package/lib/map.js +819 -0
  217. package/lib/map.js.map +1 -0
  218. package/lib/menu.d.ts +27 -0
  219. package/lib/menu.d.ts.map +1 -0
  220. package/lib/menu.js +5 -0
  221. package/lib/menu.js.map +1 -0
  222. package/lib/mocks/electron/browserMock.d.ts +2 -0
  223. package/lib/mocks/electron/browserMock.d.ts.map +1 -0
  224. package/lib/mocks/electron/browserMock.js +15 -0
  225. package/lib/mocks/electron/browserMock.js.map +1 -0
  226. package/lib/mocks/electron/ipcRenderer.d.ts +13 -0
  227. package/lib/mocks/electron/ipcRenderer.d.ts.map +1 -0
  228. package/lib/mocks/electron/ipcRenderer.js +32 -0
  229. package/lib/mocks/electron/ipcRenderer.js.map +1 -0
  230. package/lib/module.d.ts +23 -0
  231. package/lib/module.d.ts.map +1 -0
  232. package/lib/module.js +22 -0
  233. package/lib/module.js.map +1 -0
  234. package/lib/network.d.ts +33 -0
  235. package/lib/network.d.ts.map +1 -0
  236. package/lib/network.js +37 -0
  237. package/lib/network.js.map +1 -0
  238. package/lib/node/port.d.ts +14 -0
  239. package/lib/node/port.d.ts.map +1 -0
  240. package/lib/node/port.js +124 -0
  241. package/lib/node/port.js.map +1 -0
  242. package/lib/path.d.ts +92 -0
  243. package/lib/path.d.ts.map +1 -0
  244. package/lib/path.js +1711 -0
  245. package/lib/path.js.map +1 -0
  246. package/lib/platform.d.ts +48 -0
  247. package/lib/platform.d.ts.map +1 -0
  248. package/lib/platform.js +143 -0
  249. package/lib/platform.js.map +1 -0
  250. package/lib/preferences/index.d.ts +3 -0
  251. package/lib/preferences/index.d.ts.map +1 -0
  252. package/lib/preferences/index.js +6 -0
  253. package/lib/preferences/index.js.map +1 -0
  254. package/lib/preferences/preference-schema.d.ts +76 -0
  255. package/lib/preferences/preference-schema.d.ts.map +1 -0
  256. package/lib/preferences/preference-schema.js +59 -0
  257. package/lib/preferences/preference-schema.js.map +1 -0
  258. package/lib/preferences/preference-scope.d.ts +15 -0
  259. package/lib/preferences/preference-scope.d.ts.map +1 -0
  260. package/lib/preferences/preference-scope.js +54 -0
  261. package/lib/preferences/preference-scope.js.map +1 -0
  262. package/lib/problem-matcher.d.ts +111 -0
  263. package/lib/problem-matcher.d.ts.map +1 -0
  264. package/lib/problem-matcher.js +294 -0
  265. package/lib/problem-matcher.js.map +1 -0
  266. package/lib/problem-pattern.d.ts +193 -0
  267. package/lib/problem-pattern.d.ts.map +1 -0
  268. package/lib/problem-pattern.js +416 -0
  269. package/lib/problem-pattern.js.map +1 -0
  270. package/lib/process.d.ts +5 -0
  271. package/lib/process.d.ts.map +1 -0
  272. package/lib/process.js +15 -0
  273. package/lib/process.js.map +1 -0
  274. package/lib/progress.d.ts +56 -0
  275. package/lib/progress.d.ts.map +1 -0
  276. package/lib/progress.js +25 -0
  277. package/lib/progress.js.map +1 -0
  278. package/lib/range.d.ts +7 -0
  279. package/lib/range.d.ts.map +1 -0
  280. package/lib/range.js +28 -0
  281. package/lib/range.js.map +1 -0
  282. package/lib/reference.d.ts +35 -0
  283. package/lib/reference.d.ts.map +1 -0
  284. package/lib/reference.js +122 -0
  285. package/lib/reference.js.map +1 -0
  286. package/lib/reporter.d.ts +16 -0
  287. package/lib/reporter.d.ts.map +1 -0
  288. package/lib/reporter.js +66 -0
  289. package/lib/reporter.js.map +1 -0
  290. package/lib/sequence.d.ts +20 -0
  291. package/lib/sequence.d.ts.map +1 -0
  292. package/lib/sequence.js +17 -0
  293. package/lib/sequence.js.map +1 -0
  294. package/lib/storage.d.ts +64 -0
  295. package/lib/storage.d.ts.map +1 -0
  296. package/lib/storage.js +70 -0
  297. package/lib/storage.js.map +1 -0
  298. package/lib/task-definition.d.ts +45 -0
  299. package/lib/task-definition.d.ts.map +1 -0
  300. package/lib/task-definition.js +130 -0
  301. package/lib/task-definition.js.map +1 -0
  302. package/lib/theme.d.ts +5 -0
  303. package/lib/theme.d.ts.map +1 -0
  304. package/lib/theme.js +8 -0
  305. package/lib/theme.js.map +1 -0
  306. package/lib/types/accessibility.d.ts +5 -0
  307. package/lib/types/accessibility.d.ts.map +1 -0
  308. package/lib/types/accessibility.js +3 -0
  309. package/lib/types/accessibility.js.map +1 -0
  310. package/lib/types/application.d.ts +13 -0
  311. package/lib/types/application.d.ts.map +1 -0
  312. package/lib/types/application.js +5 -0
  313. package/lib/types/application.js.map +1 -0
  314. package/lib/types/authentication.d.ts +90 -0
  315. package/lib/types/authentication.d.ts.map +1 -0
  316. package/lib/types/authentication.js +8 -0
  317. package/lib/types/authentication.js.map +1 -0
  318. package/lib/types/common.d.ts +10 -0
  319. package/lib/types/common.d.ts.map +1 -0
  320. package/lib/types/common.js +6 -0
  321. package/lib/types/common.js.map +1 -0
  322. package/lib/types/dnd.d.ts +8 -0
  323. package/lib/types/dnd.d.ts.map +1 -0
  324. package/lib/types/dnd.js +9 -0
  325. package/lib/types/dnd.js.map +1 -0
  326. package/lib/types/editor.d.ts +157 -0
  327. package/lib/types/editor.d.ts.map +1 -0
  328. package/lib/types/editor.js +148 -0
  329. package/lib/types/editor.js.map +1 -0
  330. package/lib/types/extension.d.ts +73 -0
  331. package/lib/types/extension.d.ts.map +1 -0
  332. package/lib/types/extension.js +28 -0
  333. package/lib/types/extension.js.map +1 -0
  334. package/lib/types/file-watch.d.ts +70 -0
  335. package/lib/types/file-watch.d.ts.map +1 -0
  336. package/lib/types/file-watch.js +72 -0
  337. package/lib/types/file-watch.js.map +1 -0
  338. package/lib/types/file.d.ts +219 -0
  339. package/lib/types/file.d.ts.map +1 -0
  340. package/lib/types/file.js +51 -0
  341. package/lib/types/file.js.map +1 -0
  342. package/lib/types/index.d.ts +13 -0
  343. package/lib/types/index.d.ts.map +1 -0
  344. package/lib/types/index.js +16 -0
  345. package/lib/types/index.js.map +1 -0
  346. package/lib/types/markers/index.d.ts +3 -0
  347. package/lib/types/markers/index.d.ts.map +1 -0
  348. package/lib/types/markers/index.js +6 -0
  349. package/lib/types/markers/index.js.map +1 -0
  350. package/lib/types/markers/markers-manager.d.ts +120 -0
  351. package/lib/types/markers/markers-manager.d.ts.map +1 -0
  352. package/lib/types/markers/markers-manager.js +307 -0
  353. package/lib/types/markers/markers-manager.js.map +1 -0
  354. package/lib/types/markers/markers.d.ts +76 -0
  355. package/lib/types/markers/markers.d.ts.map +1 -0
  356. package/lib/types/markers/markers.js +76 -0
  357. package/lib/types/markers/markers.js.map +1 -0
  358. package/lib/types/message.d.ts +7 -0
  359. package/lib/types/message.d.ts.map +1 -0
  360. package/lib/types/message.js +11 -0
  361. package/lib/types/message.js.map +1 -0
  362. package/lib/types/reporter.d.ts +83 -0
  363. package/lib/types/reporter.d.ts.map +1 -0
  364. package/lib/types/reporter.js +63 -0
  365. package/lib/types/reporter.js.map +1 -0
  366. package/lib/types/string.d.ts +4 -0
  367. package/lib/types/string.d.ts.map +1 -0
  368. package/lib/types/string.js +3 -0
  369. package/lib/types/string.js.map +1 -0
  370. package/lib/uint.d.ts +32 -0
  371. package/lib/uint.d.ts.map +1 -0
  372. package/lib/uint.js +28 -0
  373. package/lib/uint.js.map +1 -0
  374. package/lib/uri.d.ts +94 -0
  375. package/lib/uri.d.ts.map +1 -0
  376. package/lib/uri.js +226 -0
  377. package/lib/uri.js.map +1 -0
  378. package/lib/utils/ansi.d.ts +5 -0
  379. package/lib/utils/ansi.d.ts.map +1 -0
  380. package/lib/utils/ansi.js +16 -0
  381. package/lib/utils/ansi.js.map +1 -0
  382. package/lib/utils/arrays.d.ts +62 -0
  383. package/lib/utils/arrays.d.ts.map +1 -0
  384. package/lib/utils/arrays.js +254 -0
  385. package/lib/utils/arrays.js.map +1 -0
  386. package/lib/utils/buffer.d.ts +36 -0
  387. package/lib/utils/buffer.d.ts.map +1 -0
  388. package/lib/utils/buffer.js +178 -0
  389. package/lib/utils/buffer.js.map +1 -0
  390. package/lib/utils/comparers.d.ts +7 -0
  391. package/lib/utils/comparers.d.ts.map +1 -0
  392. package/lib/utils/comparers.js +135 -0
  393. package/lib/utils/comparers.js.map +1 -0
  394. package/lib/utils/decorators.d.ts +13 -0
  395. package/lib/utils/decorators.d.ts.map +1 -0
  396. package/lib/utils/decorators.js +150 -0
  397. package/lib/utils/decorators.js.map +1 -0
  398. package/lib/utils/file-uri.d.ts +30 -0
  399. package/lib/utils/file-uri.d.ts.map +1 -0
  400. package/lib/utils/file-uri.js +62 -0
  401. package/lib/utils/file-uri.js.map +1 -0
  402. package/lib/utils/glob.d.ts +46 -0
  403. package/lib/utils/glob.d.ts.map +1 -0
  404. package/lib/utils/glob.js +546 -0
  405. package/lib/utils/glob.js.map +1 -0
  406. package/lib/utils/index.d.ts +14 -0
  407. package/lib/utils/index.d.ts.map +1 -0
  408. package/lib/utils/index.js +17 -0
  409. package/lib/utils/index.js.map +1 -0
  410. package/lib/utils/ipc.d.ts +2 -0
  411. package/lib/utils/ipc.d.ts.map +1 -0
  412. package/lib/utils/ipc.js +21 -0
  413. package/lib/utils/ipc.js.map +1 -0
  414. package/lib/utils/json.d.ts +78 -0
  415. package/lib/utils/json.d.ts.map +1 -0
  416. package/lib/utils/json.js +190 -0
  417. package/lib/utils/json.js.map +1 -0
  418. package/lib/utils/marshalling.d.ts +7 -0
  419. package/lib/utils/marshalling.d.ts.map +1 -0
  420. package/lib/utils/marshalling.js +57 -0
  421. package/lib/utils/marshalling.js.map +1 -0
  422. package/lib/utils/objects.d.ts +6 -0
  423. package/lib/utils/objects.d.ts.map +1 -0
  424. package/lib/utils/objects.js +103 -0
  425. package/lib/utils/objects.js.map +1 -0
  426. package/lib/utils/os.d.ts +42 -0
  427. package/lib/utils/os.d.ts.map +1 -0
  428. package/lib/utils/os.js +94 -0
  429. package/lib/utils/os.js.map +1 -0
  430. package/lib/utils/paths.d.ts +35 -0
  431. package/lib/utils/paths.d.ts.map +1 -0
  432. package/lib/utils/paths.js +318 -0
  433. package/lib/utils/paths.js.map +1 -0
  434. package/lib/utils/promise-util.d.ts +10 -0
  435. package/lib/utils/promise-util.d.ts.map +1 -0
  436. package/lib/utils/promise-util.js +17 -0
  437. package/lib/utils/promise-util.js.map +1 -0
  438. package/lib/utils/strings.d.ts +177 -0
  439. package/lib/utils/strings.d.ts.map +1 -0
  440. package/lib/utils/strings.js +837 -0
  441. package/lib/utils/strings.js.map +1 -0
  442. package/lib/utils/types.d.ts +65 -0
  443. package/lib/utils/types.d.ts.map +1 -0
  444. package/lib/utils/types.js +194 -0
  445. package/lib/utils/types.js.map +1 -0
  446. package/lib/uuid.d.ts +2 -0
  447. package/lib/uuid.d.ts.map +1 -0
  448. package/lib/uuid.js +10 -0
  449. package/lib/uuid.js.map +1 -0
  450. package/package.json +30 -0
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.detectEncodingFromBuffer = exports.detectEncodingByBOMFromBuffer = exports.iconvEncode = exports.iconvDecode = exports.toNodeEncoding = exports.encodingExists = exports.toCanonicalName = exports.toIconvLiteEncoding = exports.isUTF8 = exports.UTF8_BOM = exports.UTF16le_BOM = exports.UTF16be_BOM = exports.UTF16le = exports.UTF16be = exports.UTF8_with_bom = exports.UTF8 = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /*---------------------------------------------------------------------------------------------
6
+ * Copyright (c) Microsoft Corporation. All rights reserved.
7
+ * Licensed under the MIT License. See License.txt in the project root for license information.
8
+ *--------------------------------------------------------------------------------------------*/
9
+ const iconv_lite_1 = (0, tslib_1.__importDefault)(require("iconv-lite"));
10
+ exports.UTF8 = 'utf8';
11
+ exports.UTF8_with_bom = 'utf8bom';
12
+ exports.UTF16be = 'utf16be';
13
+ exports.UTF16le = 'utf16le';
14
+ exports.UTF16be_BOM = [0xFE, 0xFF];
15
+ exports.UTF16le_BOM = [0xFF, 0xFE];
16
+ exports.UTF8_BOM = [0xEF, 0xBB, 0xBF];
17
+ const ZERO_BYTE_DETECTION_BUFFER_MAX_LEN = 512; // number of bytes to look at to decide about a file being binary or not
18
+ const NO_ENCODING_GUESS_MIN_BYTES = 512; // when not auto guessing the encoding, small number of bytes are enough
19
+ const AUTO_ENCODING_GUESS_MIN_BYTES = 512 * 8; // with auto guessing we want a lot more content to be read for guessing
20
+ const AUTO_ENCODING_GUESS_MAX_BYTES = 512 * 128; // set an upper limit for the number of bytes we pass on to jschardet
21
+ function isUTF8(encoding) {
22
+ if (encoding) {
23
+ return toIconvLiteEncoding(encoding) === exports.UTF8;
24
+ }
25
+ return false;
26
+ }
27
+ exports.isUTF8 = isUTF8;
28
+ const SUPPORT_ENCODINGS_TO_ICONV_ENCODINGS = {
29
+ 'ibm866': 'cp866',
30
+ 'big5': 'cp950',
31
+ 'utf8bom': 'utf8'
32
+ };
33
+ function toIconvLiteEncoding(encodingName) {
34
+ const normalizedEncodingName = encodingName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
35
+ const mapped = SUPPORT_ENCODINGS_TO_ICONV_ENCODINGS[normalizedEncodingName];
36
+ return mapped || normalizedEncodingName;
37
+ }
38
+ exports.toIconvLiteEncoding = toIconvLiteEncoding;
39
+ /**
40
+ * The encodings that are allowed in a settings file don't match the canonical encoding labels specified by WHATWG.
41
+ * See https://encoding.spec.whatwg.org/#names-and-labels
42
+ * Iconv-lite strips all non-alphanumeric characters, but ripgrep doesn't. For backcompat, allow these labels.
43
+ */
44
+ function toCanonicalName(enc) {
45
+ switch (enc) {
46
+ case 'shiftjis':
47
+ return 'shift-jis';
48
+ case 'utf16le':
49
+ return 'utf-16le';
50
+ case 'utf16be':
51
+ return 'utf-16be';
52
+ case 'big5hkscs':
53
+ return 'big5-hkscs';
54
+ case 'eucjp':
55
+ return 'euc-jp';
56
+ case 'euckr':
57
+ return 'euc-kr';
58
+ case 'koi8r':
59
+ return 'koi8-r';
60
+ case 'koi8u':
61
+ return 'koi8-u';
62
+ case 'macroman':
63
+ return 'x-mac-roman';
64
+ case 'utf8bom':
65
+ return 'utf8';
66
+ default:
67
+ const m = enc.match(/windows(\d+)/);
68
+ if (m) {
69
+ return 'windows-' + m[1];
70
+ }
71
+ return enc;
72
+ }
73
+ }
74
+ exports.toCanonicalName = toCanonicalName;
75
+ async function encodingExists(encoding) {
76
+ return iconv_lite_1.default.encodingExists(toNodeEncoding(encoding));
77
+ }
78
+ exports.encodingExists = encodingExists;
79
+ function toNodeEncoding(enc) {
80
+ if (enc === exports.UTF8_with_bom || enc === null) {
81
+ return exports.UTF8; // iconv does not distinguish UTF 8 with or without BOM, so we need to help it
82
+ }
83
+ return enc;
84
+ }
85
+ exports.toNodeEncoding = toNodeEncoding;
86
+ /**
87
+ * nodejs 内置的 Buffer 转换编码不支持 GBK,使用第三方的 iconv-lite
88
+ * @param buffer Uint8Array | Buffer
89
+ * @param encoding 传入的是 SUPPORTED_ENCODINGS 已有的键值(已通过 tests case 的)
90
+ */
91
+ function iconvDecode(buffer, encoding) {
92
+ encoding = toIconvLiteEncoding(encoding);
93
+ return iconv_lite_1.default.decode(buffer, encoding);
94
+ }
95
+ exports.iconvDecode = iconvDecode;
96
+ function iconvEncode(content, encoding) {
97
+ encoding = toIconvLiteEncoding(encoding);
98
+ return iconv_lite_1.default.encode(content, encoding);
99
+ }
100
+ exports.iconvEncode = iconvEncode;
101
+ function encodeLatin1(buffer) {
102
+ let result = '';
103
+ for (let i = 0; i < buffer.length; i++) {
104
+ result += String.fromCharCode(buffer[i]);
105
+ }
106
+ return result;
107
+ }
108
+ function detectEncodingByBOMFromBuffer(buffer, bytesRead) {
109
+ if (!buffer || bytesRead < exports.UTF16be_BOM.length) {
110
+ return null;
111
+ }
112
+ const b0 = buffer.readUInt8(0);
113
+ const b1 = buffer.readUInt8(1);
114
+ // UTF-16 BE
115
+ if (b0 === exports.UTF16be_BOM[0] && b1 === exports.UTF16be_BOM[1]) {
116
+ return exports.UTF16be;
117
+ }
118
+ // UTF-16 LE
119
+ if (b0 === exports.UTF16le_BOM[0] && b1 === exports.UTF16le_BOM[1]) {
120
+ return exports.UTF16le;
121
+ }
122
+ if (bytesRead < exports.UTF8_BOM.length) {
123
+ return null;
124
+ }
125
+ const b2 = buffer.readUInt8(2);
126
+ // UTF-8
127
+ if (b0 === exports.UTF8_BOM[0] && b1 === exports.UTF8_BOM[1] && b2 === exports.UTF8_BOM[2]) {
128
+ return exports.UTF8_with_bom;
129
+ }
130
+ return null;
131
+ }
132
+ exports.detectEncodingByBOMFromBuffer = detectEncodingByBOMFromBuffer;
133
+ // we explicitly ignore a specific set of encodings from auto guessing
134
+ // - ASCII: we never want this encoding (most UTF-8 files would happily detect as
135
+ // ASCII files and then you could not type non-ASCII characters anymore)
136
+ // - UTF-16: we have our own detection logic for UTF-16
137
+ // - UTF-32: we do not support this encoding in VSCode
138
+ const IGNORE_ENCODINGS = ['ascii', 'utf-16', 'utf-32'];
139
+ async function guessEncodingByBuffer(buffer) {
140
+ // lazy load
141
+ const jschardet = require('jschardet');
142
+ // ensure to limit buffer for guessing due to https://github.com/aadsm/jschardet/issues/53
143
+ const limitedBuffer = buffer.slice(0, AUTO_ENCODING_GUESS_MAX_BYTES);
144
+ // before guessing jschardet calls toString('binary') on input if it is a Buffer,
145
+ // since we are using it inside browser environment as well we do conversion ourselves
146
+ // https://github.com/aadsm/jschardet/blob/v2.1.1/src/index.js#L36-L40
147
+ const binaryString = encodeLatin1(limitedBuffer.buffer);
148
+ const guessed = jschardet.detect(binaryString);
149
+ if (!guessed || !guessed.encoding) {
150
+ return null;
151
+ }
152
+ const enc = guessed.encoding.toLowerCase();
153
+ if (0 <= IGNORE_ENCODINGS.indexOf(enc)) {
154
+ return null; // see comment above why we ignore some encodings
155
+ }
156
+ return toIconvLiteEncoding(guessed.encoding);
157
+ }
158
+ function detectEncodingFromBuffer(buffer, autoGuessEncoding) {
159
+ const bytesRead = buffer.byteLength;
160
+ // Always first check for BOM to find out about encoding
161
+ let encoding = detectEncodingByBOMFromBuffer(buffer, bytesRead);
162
+ // Detect 0 bytes to see if file is binary or UTF-16 LE/BE
163
+ // unless we already know that this file has a UTF-16 encoding
164
+ let seemsBinary = false;
165
+ if (encoding !== exports.UTF16be && encoding !== exports.UTF16le && buffer) {
166
+ let couldBeUTF16LE = true; // e.g. 0xAA 0x00
167
+ let couldBeUTF16BE = true; // e.g. 0x00 0xAA
168
+ let containsZeroByte = false;
169
+ // This is a simplified guess to detect UTF-16 BE or LE by just checking if
170
+ // the first 512 bytes have the 0-byte at a specific location. For UTF-16 LE
171
+ // this would be the odd byte index and for UTF-16 BE the even one.
172
+ // Note: this can produce false positives (a binary file that uses a 2-byte
173
+ // encoding of the same format as UTF-16) and false negatives (a UTF-16 file
174
+ // that is using 4 bytes to encode a character).
175
+ for (let i = 0; i < bytesRead && i < ZERO_BYTE_DETECTION_BUFFER_MAX_LEN; i++) {
176
+ const isEndian = (i % 2 === 1); // assume 2-byte sequences typical for UTF-16
177
+ const isZeroByte = (buffer.readUInt8(i) === 0);
178
+ if (isZeroByte) {
179
+ containsZeroByte = true;
180
+ }
181
+ // UTF-16 LE: expect e.g. 0xAA 0x00
182
+ if (couldBeUTF16LE && (isEndian && !isZeroByte || !isEndian && isZeroByte)) {
183
+ couldBeUTF16LE = false;
184
+ }
185
+ // UTF-16 BE: expect e.g. 0x00 0xAA
186
+ if (couldBeUTF16BE && (isEndian && isZeroByte || !isEndian && !isZeroByte)) {
187
+ couldBeUTF16BE = false;
188
+ }
189
+ // Return if this is neither UTF16-LE nor UTF16-BE and thus treat as binary
190
+ if (isZeroByte && !couldBeUTF16LE && !couldBeUTF16BE) {
191
+ break;
192
+ }
193
+ }
194
+ // Handle case of 0-byte included
195
+ if (containsZeroByte) {
196
+ if (couldBeUTF16LE) {
197
+ encoding = exports.UTF16le;
198
+ }
199
+ else if (couldBeUTF16BE) {
200
+ encoding = exports.UTF16be;
201
+ }
202
+ else {
203
+ seemsBinary = true;
204
+ }
205
+ }
206
+ }
207
+ // Auto guess encoding if configured
208
+ if (autoGuessEncoding && !seemsBinary && !encoding && buffer) {
209
+ return guessEncodingByBuffer(buffer.slice(0, bytesRead)).then(guessedEncoding => {
210
+ return {
211
+ seemsBinary: false,
212
+ encoding: guessedEncoding
213
+ };
214
+ });
215
+ }
216
+ return { seemsBinary, encoding };
217
+ }
218
+ exports.detectEncodingFromBuffer = detectEncodingFromBuffer;
219
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/encoding/index.ts"],"names":[],"mappings":"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"}
package/lib/env.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const firstSessionDateStorageKey = "sumi.env.firstSessionDate";
2
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,8BAA8B,CAAC"}
package/lib/env.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firstSessionDateStorageKey = void 0;
4
+ exports.firstSessionDateStorageKey = 'sumi.env.firstSessionDate';
5
+ //# sourceMappingURL=env.js.map
package/lib/env.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG,2BAA2B,CAAC"}
@@ -0,0 +1,60 @@
1
+ export interface ErrorListenerCallback {
2
+ (error: any): void;
3
+ }
4
+ export interface ErrorListenerUnbind {
5
+ (): void;
6
+ }
7
+ export declare class ErrorHandler {
8
+ private unexpectedErrorHandler;
9
+ private listeners;
10
+ constructor();
11
+ addListener(listener: ErrorListenerCallback): ErrorListenerUnbind;
12
+ private emit;
13
+ private _removeListener;
14
+ setUnexpectedErrorHandler(newUnexpectedErrorHandler: (e: any) => void): void;
15
+ getUnexpectedErrorHandler(): (e: any) => void;
16
+ onUnexpectedError(e: any): void;
17
+ onUnexpectedExternalError(e: any): void;
18
+ }
19
+ export declare const errorHandler: ErrorHandler;
20
+ export declare function setUnexpectedErrorHandler(newUnexpectedErrorHandler: (e: any) => void): void;
21
+ export declare function onUnexpectedError(e: any): undefined;
22
+ export declare function onUnexpectedExternalError(e: any): undefined;
23
+ export interface SerializedError {
24
+ readonly $isError: true;
25
+ readonly name: string;
26
+ readonly message: string;
27
+ readonly stack: string;
28
+ }
29
+ export declare function transformErrorForSerialization(error: Error): SerializedError;
30
+ export declare function transformErrorForSerialization(error: any): any;
31
+ export interface V8CallSite {
32
+ getThis(): any;
33
+ getTypeName(): string;
34
+ getFunction(): string;
35
+ getFunctionName(): string;
36
+ getMethodName(): string;
37
+ getFileName(): string;
38
+ getLineNumber(): number;
39
+ getColumnNumber(): number;
40
+ getEvalOrigin(): string;
41
+ isToplevel(): boolean;
42
+ isEval(): boolean;
43
+ isNative(): boolean;
44
+ isConstructor(): boolean;
45
+ toString(): string;
46
+ }
47
+ /**
48
+ * Checks if the given error is a promise in canceled state
49
+ */
50
+ export declare function isPromiseCanceledError(error: any): boolean;
51
+ /**
52
+ * Returns an error that signals cancellation.
53
+ */
54
+ export declare function canceled(): Error;
55
+ export declare function illegalArgument(name?: string): Error;
56
+ export declare function illegalState(name?: string): Error;
57
+ export declare function readonly(name?: string): Error;
58
+ export declare function disposed(what: string): Error;
59
+ export declare function getErrorMessage(err: any): string;
60
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,qBAAqB;IACpC,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,IAAI,CAAC;CACV;AAGD,qBAAa,YAAY;IACvB,OAAO,CAAC,sBAAsB,CAAmB;IACjD,OAAO,CAAC,SAAS,CAA0B;;IAiBpC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,mBAAmB;IAQxE,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,eAAe;IAIhB,yBAAyB,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAI5E,yBAAyB,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI;IAI7C,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI;IAM/B,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI;CAG/C;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C,wBAAgB,yBAAyB,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAMnD;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAM3D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAAC;AAC9E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;AAkBhE,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,GAAG,CAAC;IACf,WAAW,IAAI,MAAM,CAAC;IACtB,WAAW,IAAI,MAAM,CAAC;IACtB,eAAe,IAAI,MAAM,CAAC;IAC1B,aAAa,IAAI,MAAM,CAAC;IACxB,WAAW,IAAI,MAAM,CAAC;IACtB,aAAa,IAAI,MAAM,CAAC;IACxB,eAAe,IAAI,MAAM,CAAC;IAC1B,aAAa,IAAI,MAAM,CAAC;IACxB,UAAU,IAAI,OAAO,CAAC;IACtB,MAAM,IAAI,OAAO,CAAC;IAClB,QAAQ,IAAI,OAAO,CAAC;IACpB,aAAa,IAAI,OAAO,CAAC;IACzB,QAAQ,IAAI,MAAM,CAAC;CACpB;AAID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,KAAK,CAIhC;AAED,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAMpD;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAMjD;AAED,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAI7C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAI5C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAchD"}
package/lib/errors.js ADDED
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ // Some code copued and modified from https://github.com/microsoft/vscode/blob/1.44.0/src/vs/base/common/errors.ts
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.getErrorMessage = exports.disposed = exports.readonly = exports.illegalState = exports.illegalArgument = exports.canceled = exports.isPromiseCanceledError = exports.transformErrorForSerialization = exports.onUnexpectedExternalError = exports.onUnexpectedError = exports.setUnexpectedErrorHandler = exports.errorHandler = exports.ErrorHandler = void 0;
9
+ // Avoid circular dependency on EventEmitter by implementing a subset of the interface.
10
+ class ErrorHandler {
11
+ constructor() {
12
+ this.listeners = [];
13
+ this.unexpectedErrorHandler = function (e) {
14
+ setTimeout(() => {
15
+ if (e.stack) {
16
+ throw new Error(e.message + '\n\n' + e.stack);
17
+ }
18
+ throw e;
19
+ }, 0);
20
+ };
21
+ }
22
+ addListener(listener) {
23
+ this.listeners.push(listener);
24
+ return () => {
25
+ this._removeListener(listener);
26
+ };
27
+ }
28
+ emit(e) {
29
+ this.listeners.forEach((listener) => {
30
+ listener(e);
31
+ });
32
+ }
33
+ _removeListener(listener) {
34
+ this.listeners.splice(this.listeners.indexOf(listener), 1);
35
+ }
36
+ setUnexpectedErrorHandler(newUnexpectedErrorHandler) {
37
+ this.unexpectedErrorHandler = newUnexpectedErrorHandler;
38
+ }
39
+ getUnexpectedErrorHandler() {
40
+ return this.unexpectedErrorHandler;
41
+ }
42
+ onUnexpectedError(e) {
43
+ this.unexpectedErrorHandler(e);
44
+ this.emit(e);
45
+ }
46
+ // For external errors, we don't want the listeners to be called
47
+ onUnexpectedExternalError(e) {
48
+ this.unexpectedErrorHandler(e);
49
+ }
50
+ }
51
+ exports.ErrorHandler = ErrorHandler;
52
+ exports.errorHandler = new ErrorHandler();
53
+ function setUnexpectedErrorHandler(newUnexpectedErrorHandler) {
54
+ exports.errorHandler.setUnexpectedErrorHandler(newUnexpectedErrorHandler);
55
+ }
56
+ exports.setUnexpectedErrorHandler = setUnexpectedErrorHandler;
57
+ function onUnexpectedError(e) {
58
+ // ignore errors from cancelled promises
59
+ if (!isPromiseCanceledError(e)) {
60
+ exports.errorHandler.onUnexpectedError(e);
61
+ }
62
+ return undefined;
63
+ }
64
+ exports.onUnexpectedError = onUnexpectedError;
65
+ function onUnexpectedExternalError(e) {
66
+ // ignore errors from cancelled promises
67
+ if (!isPromiseCanceledError(e)) {
68
+ exports.errorHandler.onUnexpectedExternalError(e);
69
+ }
70
+ return undefined;
71
+ }
72
+ exports.onUnexpectedExternalError = onUnexpectedExternalError;
73
+ function transformErrorForSerialization(error) {
74
+ if (error instanceof Error) {
75
+ let { name, message } = error;
76
+ const stack = error.stacktrace || error.stack;
77
+ return {
78
+ $isError: true,
79
+ name,
80
+ message,
81
+ stack
82
+ };
83
+ }
84
+ // return as is
85
+ return error;
86
+ }
87
+ exports.transformErrorForSerialization = transformErrorForSerialization;
88
+ const canceledName = 'Canceled';
89
+ /**
90
+ * Checks if the given error is a promise in canceled state
91
+ */
92
+ function isPromiseCanceledError(error) {
93
+ return error instanceof Error && error.name === canceledName && error.message === canceledName;
94
+ }
95
+ exports.isPromiseCanceledError = isPromiseCanceledError;
96
+ /**
97
+ * Returns an error that signals cancellation.
98
+ */
99
+ function canceled() {
100
+ const error = new Error(canceledName);
101
+ error.name = error.message;
102
+ return error;
103
+ }
104
+ exports.canceled = canceled;
105
+ function illegalArgument(name) {
106
+ if (name) {
107
+ return new Error(`Illegal argument: ${name}`);
108
+ }
109
+ else {
110
+ return new Error('Illegal argument');
111
+ }
112
+ }
113
+ exports.illegalArgument = illegalArgument;
114
+ function illegalState(name) {
115
+ if (name) {
116
+ return new Error(`Illegal state: ${name}`);
117
+ }
118
+ else {
119
+ return new Error('Illegal state');
120
+ }
121
+ }
122
+ exports.illegalState = illegalState;
123
+ function readonly(name) {
124
+ return name
125
+ ? new Error(`readonly property '${name} cannot be changed'`)
126
+ : new Error('readonly property cannot be changed');
127
+ }
128
+ exports.readonly = readonly;
129
+ function disposed(what) {
130
+ const result = new Error(`${what} has been disposed`);
131
+ result.name = 'DISPOSED';
132
+ return result;
133
+ }
134
+ exports.disposed = disposed;
135
+ function getErrorMessage(err) {
136
+ if (!err) {
137
+ return 'Error';
138
+ }
139
+ if (err.message) {
140
+ return err.message;
141
+ }
142
+ if (err.stack) {
143
+ return err.stack.split('\n')[0];
144
+ }
145
+ return String(err);
146
+ }
147
+ exports.getErrorMessage = getErrorMessage;
148
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare class BasicEvent<T> {
2
+ payload: T;
3
+ constructor(payload: T);
4
+ }
5
+ //# sourceMappingURL=basic-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-event.d.ts","sourceRoot":"","sources":["../../src/event-bus/basic-event.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU,CAAC,CAAC;IAEd,OAAO,EAAE,CAAC;gBAAV,OAAO,EAAE,CAAC;CAEpB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BasicEvent = void 0;
4
+ class BasicEvent {
5
+ constructor(payload) {
6
+ this.payload = payload;
7
+ }
8
+ }
9
+ exports.BasicEvent = BasicEvent;
10
+ //# sourceMappingURL=basic-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-event.js","sourceRoot":"","sources":["../../src/event-bus/basic-event.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IACrB,YACS,OAAU;QAAV,YAAO,GAAP,OAAO,CAAG;IAChB,CAAC;CACL;AAJD,gCAIC"}
@@ -0,0 +1,66 @@
1
+ import { IDisposable } from '../disposable';
2
+ import { ConstructorOf } from '../declare';
3
+ import { IAsyncResult } from '../event';
4
+ export interface IEventFireOpts {
5
+ nextTick?: boolean;
6
+ }
7
+ export interface IAsyncEventFireOpts {
8
+ /**
9
+ * 异步事件发送时,listener的最大执行时长(listener并发执行)
10
+ */
11
+ timeout?: number;
12
+ }
13
+ export interface IEventListener<T> {
14
+ (target: T): void;
15
+ }
16
+ export declare const IEventBus: unique symbol;
17
+ export interface IEventBus {
18
+ /**
19
+ * 发出一个事件
20
+ * Sample:
21
+ class ResizeEvent extends BasicEvent<number> {}
22
+
23
+ class LayoutStore {
24
+ @Autowired(IEventBus)
25
+ private eventBus: IEventBus;
26
+
27
+ public fireResizeEvent() {
28
+ const size = this.getSize();
29
+ const resizeEvent = new ResizeEvent(size);
30
+ this.eventBus.fire(resizeEvent);
31
+ }
32
+
33
+ // 不推荐,但是兼容 vscode 的 Event 设计
34
+ public onDidResize(lisener: (t: ResizeEvent) => void) {
35
+ return this.eventBus.on(ResizeEvent, lisener)
36
+ }
37
+ }
38
+ */
39
+ fire(target: any, opts?: IEventFireOpts): void;
40
+ /**
41
+ * 发送一个异步事件,等待并收集结果
42
+ * @param e
43
+ * @param opts
44
+ */
45
+ fireAndAwait<R>(e: any, opts?: IAsyncEventFireOpts): Promise<IAsyncResult<R>[]>;
46
+ /**
47
+ * 监听 EventBus 中的事件
48
+ * Sample:
49
+ @Injectable()
50
+ class FileTreeStore extends WitEventBus {
51
+ @Autowired(IEventBus)
52
+ private eventBus: IEventBus;
53
+
54
+ @OnEvent(LayoutResize)
55
+ public onLayoutResize(event: LayoutResize) {
56
+ console.log(event.payload); // size number
57
+ }
58
+ }
59
+ */
60
+ on<T>(constructor: ConstructorOf<T>, listener: IEventListener<T>): IDisposable;
61
+ /**
62
+ * 监听 EventBus 中的事件,只会触发一次
63
+ */
64
+ once<T>(constructor: ConstructorOf<T>, listener: IEventListener<T>): IDisposable;
65
+ }
66
+ //# sourceMappingURL=event-bus-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus-types.d.ts","sourceRoot":"","sources":["../../src/event-bus/event-bus-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AACD,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,eAAsB,CAAC;AAC7C,MAAM,WAAW,SAAS;IACxB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAE/C;;;;OAIG;IACH,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhF;;;;;;;;;;;;;MAaE;IACF,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IAC/E;;MAEE;IACF,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;CAClF"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IEventBus = void 0;
4
+ exports.IEventBus = Symbol('IEventBus');
5
+ //# sourceMappingURL=event-bus-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus-types.js","sourceRoot":"","sources":["../../src/event-bus/event-bus-types.ts"],"names":[],"mappings":";;;AAkBa,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { IEventBus, IEventListener, IEventFireOpts, IAsyncEventFireOpts } from './event-bus-types';
2
+ import { IAsyncResult } from '../event';
3
+ import { BasicEvent } from './basic-event';
4
+ import { ConstructorOf } from '../declare';
5
+ export declare class EventBusImpl implements IEventBus {
6
+ private emitterMap;
7
+ fire<T extends BasicEvent<any>>(e: T, opts?: IEventFireOpts): void;
8
+ fireAndAwait<T extends BasicEvent<any>, R>(e: T, opts?: IAsyncEventFireOpts): Promise<IAsyncResult<R>[]>;
9
+ on<T>(Constructor: ConstructorOf<T>, listener: IEventListener<T>): import("..").IDisposable;
10
+ once<T>(Constructor: ConstructorOf<T>, listener: IEventListener<T>): import("..").IDisposable;
11
+ private getOrCreateEmitter;
12
+ }
13
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/event-bus/event-bus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAW,YAAY,EAAS,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,qBACa,YAAa,YAAW,SAAS;IAE5C,OAAO,CAAC,UAAU,CAAgC;IAElD,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,GAAE,cAAmB;IAazD,YAAY,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,GAAE,mBAAuC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAcjI,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAKhE,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAKlE,OAAO,CAAC,kBAAkB;CAU3B"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventBusImpl = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const event_1 = require("../event");
7
+ const basic_event_1 = require("./basic-event");
8
+ let EventBusImpl = class EventBusImpl {
9
+ constructor() {
10
+ this.emitterMap = new Map();
11
+ }
12
+ fire(e, opts = {}) {
13
+ const Constructor = e && e.constructor;
14
+ if (typeof Constructor === 'function' &&
15
+ basic_event_1.BasicEvent.isPrototypeOf(Constructor)) {
16
+ const emitter = this.emitterMap.get(Constructor);
17
+ if (emitter) {
18
+ emitter.fire(e);
19
+ }
20
+ }
21
+ }
22
+ async fireAndAwait(e, opts = { timeout: 2000 }) {
23
+ const Constructor = e && e.constructor;
24
+ if (typeof Constructor === 'function' &&
25
+ basic_event_1.BasicEvent.isPrototypeOf(Constructor)) {
26
+ const emitter = this.emitterMap.get(Constructor);
27
+ if (emitter) {
28
+ return emitter.fireAndAwait(e, opts.timeout);
29
+ }
30
+ }
31
+ return [];
32
+ }
33
+ on(Constructor, listener) {
34
+ const emitter = this.getOrCreateEmitter(Constructor);
35
+ return emitter.event(listener);
36
+ }
37
+ once(Constructor, listener) {
38
+ const emitter = this.getOrCreateEmitter(Constructor);
39
+ return event_1.Event.once(emitter.event)(listener);
40
+ }
41
+ getOrCreateEmitter(key) {
42
+ const current = this.emitterMap.get(key);
43
+ if (current) {
44
+ return current;
45
+ }
46
+ const emitter = new event_1.Emitter();
47
+ this.emitterMap.set(key, emitter);
48
+ return emitter;
49
+ }
50
+ };
51
+ EventBusImpl = (0, tslib_1.__decorate)([
52
+ (0, di_1.Injectable)()
53
+ ], EventBusImpl);
54
+ exports.EventBusImpl = EventBusImpl;
55
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/event-bus/event-bus.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAE1C,oCAAwD;AACxD,+CAA2C;AAI3C,IAAa,YAAY,GAAzB,MAAa,YAAY;IAAzB;QAEU,eAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAiDpD,CAAC;IA/CC,IAAI,CAA4B,CAAI,EAAE,OAAuB,EAAE;QAC7D,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;QACvC,IACE,OAAO,WAAW,KAAK,UAAU;YACjC,wBAAU,CAAC,aAAa,CAAC,WAAW,CAAC,EACrC;YACA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;SACF;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAA+B,CAAI,EAAE,OAA4B,EAAE,OAAO,EAAE,IAAI,EAAE;QAClG,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;QACvC,IACE,OAAO,WAAW,KAAK,UAAU;YACjC,wBAAU,CAAC,aAAa,CAAC,WAAW,CAAC,EACrC;YACA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE;gBACX,OAAO,OAAO,CAAC,YAAY,CAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aACjD;SACF;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,EAAE,CAAI,WAA6B,EAAE,QAA2B;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAI,WAA6B,EAAE,QAA2B;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,aAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAEO,kBAAkB,CAAC,GAAQ;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,CAAC;SAChB;QAED,MAAM,OAAO,GAAG,IAAI,eAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAnDY,YAAY;IADxB,IAAA,eAAU,GAAE;GACA,YAAY,CAmDxB;AAnDY,oCAAY"}