@opensumi/ide-core-common 2.17.7-next-1653536455.0 → 2.17.8

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 (297) hide show
  1. package/lib/application-error.d.ts.map +1 -1
  2. package/lib/application-error.js +0 -6
  3. package/lib/application-error.js.map +1 -1
  4. package/lib/arrays.d.ts +134 -0
  5. package/lib/arrays.d.ts.map +1 -0
  6. package/lib/arrays.js +545 -0
  7. package/lib/arrays.js.map +1 -0
  8. package/lib/async.d.ts +185 -0
  9. package/lib/async.d.ts.map +1 -0
  10. package/lib/async.js +469 -0
  11. package/lib/async.js.map +1 -0
  12. package/lib/cache.d.ts +12 -0
  13. package/lib/cache.d.ts.map +1 -0
  14. package/lib/cache.js +37 -0
  15. package/lib/cache.js.map +1 -0
  16. package/lib/cancellation.d.ts +23 -0
  17. package/lib/cancellation.d.ts.map +1 -0
  18. package/lib/cancellation.js +120 -0
  19. package/lib/cancellation.js.map +1 -0
  20. package/lib/charCode.d.ts +406 -0
  21. package/lib/charCode.d.ts.map +1 -0
  22. package/lib/charCode.js +8 -0
  23. package/lib/charCode.js.map +1 -0
  24. package/lib/character-classifier.d.ts +25 -0
  25. package/lib/character-classifier.d.ts.map +1 -0
  26. package/lib/character-classifier.js +59 -0
  27. package/lib/character-classifier.js.map +1 -0
  28. package/lib/command.d.ts +2 -1
  29. package/lib/command.d.ts.map +1 -1
  30. package/lib/command.js +4 -4
  31. package/lib/command.js.map +1 -1
  32. package/lib/const/application.d.ts +0 -1
  33. package/lib/const/application.d.ts.map +1 -1
  34. package/lib/const/application.js +1 -3
  35. package/lib/const/application.js.map +1 -1
  36. package/lib/const/encodings.d.ts +10 -0
  37. package/lib/const/encodings.d.ts.map +1 -0
  38. package/lib/const/encodings.js +244 -0
  39. package/lib/const/encodings.js.map +1 -0
  40. package/lib/const/index.d.ts +1 -1
  41. package/lib/const/index.d.ts.map +1 -1
  42. package/lib/const/index.js +1 -1
  43. package/lib/const/index.js.map +1 -1
  44. package/lib/cryptr.d.ts +7 -0
  45. package/lib/{crypto.d.ts.map → cryptr.d.ts.map} +1 -1
  46. package/lib/cryptr.js +6 -0
  47. package/lib/cryptr.js.map +1 -0
  48. package/lib/date.d.ts +2 -0
  49. package/lib/date.d.ts.map +1 -0
  50. package/lib/date.js +22 -0
  51. package/lib/date.js.map +1 -0
  52. package/lib/disposable.d.ts +88 -0
  53. package/lib/disposable.d.ts.map +1 -0
  54. package/lib/disposable.js +316 -0
  55. package/lib/disposable.js.map +1 -0
  56. package/lib/electron.d.ts +2 -2
  57. package/lib/electron.d.ts.map +1 -1
  58. package/lib/electron.js.map +1 -1
  59. package/lib/encoding/index.d.ts +34 -0
  60. package/lib/encoding/index.d.ts.map +1 -0
  61. package/lib/encoding/index.js +219 -0
  62. package/lib/encoding/index.js.map +1 -0
  63. package/lib/errors.d.ts +56 -0
  64. package/lib/errors.d.ts.map +1 -0
  65. package/lib/errors.js +148 -0
  66. package/lib/errors.js.map +1 -0
  67. package/lib/event-bus/event-bus-types.d.ts +4 -3
  68. package/lib/event-bus/event-bus-types.d.ts.map +1 -1
  69. package/lib/event-bus/event-bus.d.ts +3 -3
  70. package/lib/event-bus/event-bus.d.ts.map +1 -1
  71. package/lib/event-bus/event-bus.js +3 -3
  72. package/lib/event-bus/event-bus.js.map +1 -1
  73. package/lib/event-bus/event-decorator.d.ts +1 -1
  74. package/lib/event-bus/event-decorator.d.ts.map +1 -1
  75. package/lib/event-bus/event-decorator.js +2 -2
  76. package/lib/event-bus/event-decorator.js.map +1 -1
  77. package/lib/event.d.ts +268 -0
  78. package/lib/event.d.ts.map +1 -0
  79. package/lib/event.js +816 -0
  80. package/lib/event.js.map +1 -0
  81. package/lib/filters.d.ts +47 -0
  82. package/lib/filters.d.ts.map +1 -0
  83. package/lib/filters.js +699 -0
  84. package/lib/filters.js.map +1 -0
  85. package/lib/functional.d.ts +4 -0
  86. package/lib/functional.d.ts.map +1 -0
  87. package/lib/functional.js +45 -0
  88. package/lib/functional.js.map +1 -0
  89. package/lib/hash-calculate/hash-calculate.d.ts.map +1 -1
  90. package/lib/hash-calculate/hash-calculate.js +2 -2
  91. package/lib/hash-calculate/hash-calculate.js.map +1 -1
  92. package/lib/index.d.ts +18 -4
  93. package/lib/index.d.ts.map +1 -1
  94. package/lib/index.js +18 -4
  95. package/lib/index.js.map +1 -1
  96. package/lib/iterator.d.ts +17 -0
  97. package/lib/iterator.d.ts.map +1 -0
  98. package/lib/iterator.js +24 -0
  99. package/lib/iterator.js.map +1 -0
  100. package/lib/keyboard/keyboard-layout-provider.d.ts +1 -1
  101. package/lib/keyboard/keyboard-layout-provider.d.ts.map +1 -1
  102. package/lib/keyboard/keymap.js +4 -4
  103. package/lib/keyboard/keymap.js.map +1 -1
  104. package/lib/lifecycle.d.ts +17 -0
  105. package/lib/lifecycle.d.ts.map +1 -0
  106. package/lib/lifecycle.js +39 -0
  107. package/lib/lifecycle.js.map +1 -0
  108. package/lib/linked-list.d.ts +18 -0
  109. package/lib/linked-list.d.ts.map +1 -0
  110. package/lib/linked-list.js +138 -0
  111. package/lib/linked-list.js.map +1 -0
  112. package/lib/linkedText.d.ts +13 -0
  113. package/lib/linkedText.d.ts.map +1 -0
  114. package/lib/linkedText.js +50 -0
  115. package/lib/linkedText.js.map +1 -0
  116. package/lib/localize.d.ts.map +1 -1
  117. package/lib/localize.js +7 -7
  118. package/lib/localize.js.map +1 -1
  119. package/lib/log.d.ts +1 -1
  120. package/lib/log.d.ts.map +1 -1
  121. package/lib/map.d.ts +124 -0
  122. package/lib/map.d.ts.map +1 -0
  123. package/lib/map.js +819 -0
  124. package/lib/map.js.map +1 -0
  125. package/lib/menu.d.ts +1 -1
  126. package/lib/menu.d.ts.map +1 -1
  127. package/lib/menu.js.map +1 -1
  128. package/lib/network.d.ts +1 -2
  129. package/lib/network.d.ts.map +1 -1
  130. package/lib/network.js +18 -19
  131. package/lib/network.js.map +1 -1
  132. package/lib/path.d.ts +92 -0
  133. package/lib/path.d.ts.map +1 -0
  134. package/lib/path.js +1695 -0
  135. package/lib/path.js.map +1 -0
  136. package/lib/platform.d.ts +48 -0
  137. package/lib/platform.d.ts.map +1 -0
  138. package/lib/platform.js +153 -0
  139. package/lib/platform.js.map +1 -0
  140. package/lib/problem-matcher.d.ts +3 -1
  141. package/lib/problem-matcher.d.ts.map +1 -1
  142. package/lib/problem-matcher.js +6 -5
  143. package/lib/problem-matcher.js.map +1 -1
  144. package/lib/problem-pattern.d.ts +2 -1
  145. package/lib/problem-pattern.d.ts.map +1 -1
  146. package/lib/problem-pattern.js +10 -9
  147. package/lib/problem-pattern.js.map +1 -1
  148. package/lib/process.d.ts +5 -0
  149. package/lib/process.d.ts.map +1 -0
  150. package/lib/process.js +23 -0
  151. package/lib/process.js.map +1 -0
  152. package/lib/progress.d.ts +56 -0
  153. package/lib/progress.d.ts.map +1 -0
  154. package/lib/progress.js +27 -0
  155. package/lib/progress.js.map +1 -0
  156. package/lib/reference.d.ts +3 -1
  157. package/lib/reference.d.ts.map +1 -1
  158. package/lib/reference.js +5 -4
  159. package/lib/reference.js.map +1 -1
  160. package/lib/reporter.d.ts +1 -1
  161. package/lib/reporter.d.ts.map +1 -1
  162. package/lib/sequence.d.ts +20 -0
  163. package/lib/sequence.d.ts.map +1 -0
  164. package/lib/sequence.js +17 -0
  165. package/lib/sequence.js.map +1 -0
  166. package/lib/storage.d.ts +4 -1
  167. package/lib/storage.d.ts.map +1 -1
  168. package/lib/storage.js +11 -11
  169. package/lib/storage.js.map +1 -1
  170. package/lib/task-definition.d.ts +1 -1
  171. package/lib/task-definition.d.ts.map +1 -1
  172. package/lib/task-definition.js +6 -6
  173. package/lib/task-definition.js.map +1 -1
  174. package/lib/types/application.d.ts +4 -4
  175. package/lib/types/application.d.ts.map +1 -1
  176. package/lib/types/authentication.d.ts +2 -1
  177. package/lib/types/authentication.d.ts.map +1 -1
  178. package/lib/types/authentication.js.map +1 -1
  179. package/lib/types/common.d.ts +2 -2
  180. package/lib/types/common.d.ts.map +1 -1
  181. package/lib/types/extension.d.ts +1 -14
  182. package/lib/types/extension.d.ts.map +1 -1
  183. package/lib/types/extension.js +1 -26
  184. package/lib/types/extension.js.map +1 -1
  185. package/lib/types/file-watch.d.ts +1 -1
  186. package/lib/types/file-watch.d.ts.map +1 -1
  187. package/lib/types/file-watch.js +2 -2
  188. package/lib/types/file-watch.js.map +1 -1
  189. package/lib/types/file.d.ts +1 -1
  190. package/lib/types/file.d.ts.map +1 -1
  191. package/lib/types/index.d.ts +0 -1
  192. package/lib/types/index.d.ts.map +1 -1
  193. package/lib/types/index.js +0 -1
  194. package/lib/types/index.js.map +1 -1
  195. package/lib/types/markdown.d.ts +1 -2
  196. package/lib/types/markdown.d.ts.map +1 -1
  197. package/lib/types/markers/markers-manager.d.ts +2 -2
  198. package/lib/types/markers/markers-manager.d.ts.map +1 -1
  199. package/lib/types/markers/markers-manager.js +23 -25
  200. package/lib/types/markers/markers-manager.js.map +1 -1
  201. package/lib/types/markers/markers.js +2 -2
  202. package/lib/types/markers/markers.js.map +1 -1
  203. package/lib/uint.d.ts +32 -0
  204. package/lib/uint.d.ts.map +1 -0
  205. package/lib/uint.js +28 -0
  206. package/lib/uint.js.map +1 -0
  207. package/lib/uri.d.ts +94 -0
  208. package/lib/uri.d.ts.map +1 -0
  209. package/lib/uri.js +231 -0
  210. package/lib/uri.js.map +1 -0
  211. package/lib/utils/ansi.d.ts +5 -0
  212. package/lib/utils/ansi.d.ts.map +1 -0
  213. package/lib/utils/ansi.js +14 -0
  214. package/lib/utils/ansi.js.map +1 -0
  215. package/lib/utils/arrays.d.ts +66 -0
  216. package/lib/utils/arrays.d.ts.map +1 -0
  217. package/lib/utils/arrays.js +260 -0
  218. package/lib/utils/arrays.js.map +1 -0
  219. package/lib/utils/buffer.d.ts +35 -0
  220. package/lib/utils/buffer.d.ts.map +1 -0
  221. package/lib/utils/buffer.js +174 -0
  222. package/lib/utils/buffer.js.map +1 -0
  223. package/lib/{comparers.d.ts → utils/comparers.d.ts} +1 -1
  224. package/lib/utils/comparers.d.ts.map +1 -0
  225. package/lib/{comparers.js → utils/comparers.js} +5 -5
  226. package/lib/utils/comparers.js.map +1 -0
  227. package/lib/utils/decorators.d.ts +11 -0
  228. package/lib/utils/decorators.d.ts.map +1 -0
  229. package/lib/utils/decorators.js +151 -0
  230. package/lib/utils/decorators.js.map +1 -0
  231. package/lib/utils/file-uri.d.ts +15 -0
  232. package/lib/utils/file-uri.d.ts.map +1 -0
  233. package/lib/utils/file-uri.js +46 -0
  234. package/lib/utils/file-uri.js.map +1 -0
  235. package/lib/utils/glob.d.ts +46 -0
  236. package/lib/utils/glob.d.ts.map +1 -0
  237. package/lib/utils/glob.js +556 -0
  238. package/lib/utils/glob.js.map +1 -0
  239. package/lib/utils/hash.d.ts +38 -0
  240. package/lib/utils/hash.d.ts.map +1 -0
  241. package/lib/utils/hash.js +294 -0
  242. package/lib/utils/hash.js.map +1 -0
  243. package/lib/utils/index.d.ts +15 -0
  244. package/lib/utils/index.d.ts.map +1 -0
  245. package/lib/utils/index.js +18 -0
  246. package/lib/utils/index.js.map +1 -0
  247. package/lib/utils/ipc.d.ts.map +1 -1
  248. package/lib/utils/ipc.js +8 -7
  249. package/lib/utils/ipc.js.map +1 -1
  250. package/lib/utils/json.d.ts +76 -0
  251. package/lib/utils/json.d.ts.map +1 -0
  252. package/lib/utils/json.js +188 -0
  253. package/lib/utils/json.js.map +1 -0
  254. package/lib/{markdown.d.ts → utils/markdown.d.ts} +1 -1
  255. package/lib/utils/markdown.d.ts.map +1 -0
  256. package/lib/{markdown.js → utils/markdown.js} +0 -0
  257. package/lib/utils/markdown.js.map +1 -0
  258. package/lib/utils/marshalling.d.ts +7 -0
  259. package/lib/utils/marshalling.d.ts.map +1 -0
  260. package/lib/utils/marshalling.js +59 -0
  261. package/lib/utils/marshalling.js.map +1 -0
  262. package/lib/utils/objects.d.ts +6 -0
  263. package/lib/utils/objects.d.ts.map +1 -0
  264. package/lib/utils/objects.js +103 -0
  265. package/lib/utils/objects.js.map +1 -0
  266. package/lib/utils/os.d.ts +49 -0
  267. package/lib/utils/os.d.ts.map +1 -0
  268. package/lib/utils/os.js +98 -0
  269. package/lib/utils/os.js.map +1 -0
  270. package/lib/utils/paths.d.ts +35 -0
  271. package/lib/utils/paths.d.ts.map +1 -0
  272. package/lib/utils/paths.js +313 -0
  273. package/lib/utils/paths.js.map +1 -0
  274. package/lib/utils/promise-util.d.ts +10 -0
  275. package/lib/utils/promise-util.d.ts.map +1 -0
  276. package/lib/utils/promise-util.js +17 -0
  277. package/lib/utils/promise-util.js.map +1 -0
  278. package/lib/utils/strings.d.ts +181 -0
  279. package/lib/utils/strings.d.ts.map +1 -0
  280. package/lib/utils/strings.js +858 -0
  281. package/lib/utils/strings.js.map +1 -0
  282. package/lib/utils/types.d.ts +69 -0
  283. package/lib/utils/types.d.ts.map +1 -0
  284. package/lib/utils/types.js +201 -0
  285. package/lib/utils/types.js.map +1 -0
  286. package/lib/uuid.d.ts +2 -0
  287. package/lib/uuid.d.ts.map +1 -0
  288. package/lib/uuid.js +10 -0
  289. package/lib/uuid.js.map +1 -0
  290. package/package.json +7 -4
  291. package/lib/comparers.d.ts.map +0 -1
  292. package/lib/comparers.js.map +0 -1
  293. package/lib/crypto.d.ts +0 -7
  294. package/lib/crypto.js +0 -6
  295. package/lib/crypto.js.map +0 -1
  296. package/lib/markdown.d.ts.map +0 -1
  297. package/lib/markdown.js.map +0 -1
@@ -0,0 +1,88 @@
1
+ /** ******************************************************************************
2
+ * Copyright (C) 2017 TypeFox and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Event, Emitter } from './event';
17
+ export declare class DisposableStore implements IDisposable {
18
+ private toDispose;
19
+ private _isDisposed;
20
+ /**
21
+ * Dispose of all registered disposables and mark this object as disposed.
22
+ *
23
+ * Any future disposables added to this object will be disposed of on `add`.
24
+ */
25
+ dispose(): void;
26
+ /**
27
+ * Dispose of all registered disposables but do not mark this object as disposed.
28
+ */
29
+ clear(): void;
30
+ add<T extends IDisposable>(t: T): T;
31
+ }
32
+ export interface IDisposable {
33
+ /**
34
+ * Dispose this object.
35
+ */
36
+ dispose(): void;
37
+ }
38
+ export declare function isDisposable<E extends object>(thing: E): thing is E & IDisposable;
39
+ export declare function dispose<T extends IDisposable>(disposable: T): T;
40
+ export declare function dispose<T extends IDisposable>(...disposables: Array<T | undefined>): T[];
41
+ export declare function dispose<T extends IDisposable>(disposables: T[]): T[];
42
+ export declare function combinedDisposable(disposables: IDisposable[]): IDisposable;
43
+ export declare function toDisposable(fn: () => void): IDisposable;
44
+ export declare class Disposable implements IDisposable {
45
+ protected readonly disposables: IDisposable[];
46
+ protected readonly onDisposeEmitter: Emitter<void>;
47
+ constructor(...toDispose: IDisposable[]);
48
+ static create(func: () => void): IDisposable;
49
+ static NULL: IDisposable;
50
+ static None: Readonly<IDisposable>;
51
+ get onDispose(): Event<void>;
52
+ protected checkDisposed(): void;
53
+ get disposed(): boolean;
54
+ private disposingElements;
55
+ dispose(): void;
56
+ addDispose(disposable: IDisposable): IDisposable;
57
+ addDispose(disposable: IDisposable[]): IDisposable[];
58
+ protected registerDispose<T extends IDisposable>(disposable: T): T;
59
+ private add;
60
+ }
61
+ export declare class DisposableCollection implements IDisposable {
62
+ protected readonly disposables: IDisposable[];
63
+ protected readonly onDisposeEmitter: Emitter<void>;
64
+ constructor(...toDispose: IDisposable[]);
65
+ get onDispose(): Event<void>;
66
+ protected checkDisposed(): void;
67
+ get disposed(): boolean;
68
+ private disposingElements;
69
+ dispose(): void;
70
+ push(disposable: IDisposable): IDisposable;
71
+ pushAll(disposables: IDisposable[]): IDisposable[];
72
+ }
73
+ /**
74
+ * Manages the lifecycle of a disposable value that may be changed.
75
+ *
76
+ * This ensures that when the the disposable value is changed, the previously held disposable is disposed of. You can
77
+ * also register a `MutableDisposable` on a `Disposable` to ensure it is automatically cleaned up.
78
+ */
79
+ export declare class MutableDisposable<T extends IDisposable> implements IDisposable {
80
+ private _value?;
81
+ private _isDisposed;
82
+ constructor();
83
+ get value(): T | undefined;
84
+ set value(value: T | undefined);
85
+ clear(): void;
86
+ dispose(): void;
87
+ }
88
+ //# sourceMappingURL=disposable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../src/disposable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,316 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MutableDisposable = exports.DisposableCollection = exports.Disposable = exports.toDisposable = exports.combinedDisposable = exports.dispose = exports.isDisposable = exports.DisposableStore = void 0;
4
+ /** ******************************************************************************
5
+ * Copyright (C) 2017 TypeFox and others.
6
+ *
7
+ * This program and the accompanying materials are made available under the
8
+ * terms of the Eclipse Public License v. 2.0 which is available at
9
+ * http://www.eclipse.org/legal/epl-2.0.
10
+ *
11
+ * This Source Code may also be made available under the following Secondary
12
+ * Licenses when the conditions for such availability set forth in the Eclipse
13
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
14
+ * with the GNU Classpath Exception which is available at
15
+ * https://www.gnu.org/software/classpath/license.html.
16
+ *
17
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
18
+ ********************************************************************************/
19
+ const event_1 = require("./event");
20
+ // DisposableStore 是从 vscode lifecycle 中复制而来
21
+ class DisposableStore {
22
+ constructor() {
23
+ this.toDispose = new Set();
24
+ this._isDisposed = false;
25
+ }
26
+ /**
27
+ * Dispose of all registered disposables and mark this object as disposed.
28
+ *
29
+ * Any future disposables added to this object will be disposed of on `add`.
30
+ */
31
+ dispose() {
32
+ if (this._isDisposed) {
33
+ return;
34
+ }
35
+ markTracked(this);
36
+ this._isDisposed = true;
37
+ this.clear();
38
+ }
39
+ /**
40
+ * Dispose of all registered disposables but do not mark this object as disposed.
41
+ */
42
+ clear() {
43
+ this.toDispose.forEach((item) => item.dispose());
44
+ this.toDispose.clear();
45
+ }
46
+ add(t) {
47
+ if (!t) {
48
+ return t;
49
+ }
50
+ if (t === this) {
51
+ throw new Error('Cannot register a disposable on itself!');
52
+ }
53
+ markTracked(t);
54
+ if (this._isDisposed) {
55
+ // eslint-disable-next-line no-console
56
+ console.warn(new Error('Registering disposable on object that has already been disposed of').stack);
57
+ t.dispose();
58
+ }
59
+ else {
60
+ this.toDispose.add(t);
61
+ }
62
+ return t;
63
+ }
64
+ }
65
+ exports.DisposableStore = DisposableStore;
66
+ function isDisposable(thing) {
67
+ return typeof thing.dispose === 'function' && thing.dispose.length === 0;
68
+ }
69
+ exports.isDisposable = isDisposable;
70
+ function dispose(first, ...rest) {
71
+ if (Array.isArray(first)) {
72
+ first.forEach((d) => {
73
+ if (d) {
74
+ markTracked(d);
75
+ d.dispose();
76
+ }
77
+ });
78
+ return [];
79
+ }
80
+ else if (rest.length === 0) {
81
+ if (first) {
82
+ markTracked(first);
83
+ first.dispose();
84
+ return first;
85
+ }
86
+ return undefined;
87
+ }
88
+ else {
89
+ dispose(first);
90
+ dispose(rest);
91
+ return [];
92
+ }
93
+ }
94
+ exports.dispose = dispose;
95
+ function combinedDisposable(disposables) {
96
+ disposables.forEach(markTracked);
97
+ return trackDisposable({ dispose: () => dispose(disposables) });
98
+ }
99
+ exports.combinedDisposable = combinedDisposable;
100
+ function toDisposable(fn) {
101
+ return {
102
+ dispose() {
103
+ fn();
104
+ },
105
+ };
106
+ }
107
+ exports.toDisposable = toDisposable;
108
+ class Disposable {
109
+ constructor(...toDispose) {
110
+ this.disposables = [];
111
+ this.onDisposeEmitter = new event_1.Emitter();
112
+ this.disposingElements = false;
113
+ toDispose.forEach((d) => this.addDispose(d));
114
+ }
115
+ static create(func) {
116
+ return {
117
+ dispose: func,
118
+ };
119
+ }
120
+ get onDispose() {
121
+ return this.onDisposeEmitter.event;
122
+ }
123
+ checkDisposed() {
124
+ if (this.disposed && !this.disposingElements) {
125
+ this.onDisposeEmitter.fire(undefined);
126
+ }
127
+ }
128
+ get disposed() {
129
+ return this.disposables.length === 0;
130
+ }
131
+ dispose() {
132
+ if (this.disposed || this.disposingElements) {
133
+ return;
134
+ }
135
+ this.disposingElements = true;
136
+ while (!this.disposed) {
137
+ try {
138
+ this.disposables.pop().dispose();
139
+ }
140
+ catch (e) {
141
+ // eslint-disable-next-line no-console
142
+ console.error(e);
143
+ }
144
+ }
145
+ this.disposingElements = false;
146
+ this.checkDisposed();
147
+ }
148
+ addDispose(disposable) {
149
+ if (Array.isArray(disposable)) {
150
+ const disposables = disposable;
151
+ return disposables.map((disposable) => this.addDispose(disposable));
152
+ }
153
+ else {
154
+ return this.add(disposable);
155
+ }
156
+ }
157
+ registerDispose(disposable) {
158
+ if (disposable === this) {
159
+ throw new Error('Cannot register a disposable on itself!');
160
+ }
161
+ this.add(disposable);
162
+ return disposable;
163
+ }
164
+ add(disposable) {
165
+ const disposables = this.disposables;
166
+ disposables.push(disposable);
167
+ const originalDispose = disposable.dispose.bind(disposable);
168
+ const toRemove = Disposable.create(() => {
169
+ const index = disposables.indexOf(disposable);
170
+ if (index !== -1) {
171
+ disposables.splice(index, 1);
172
+ }
173
+ this.checkDisposed();
174
+ });
175
+ disposable.dispose = () => {
176
+ toRemove.dispose();
177
+ originalDispose();
178
+ };
179
+ return toRemove;
180
+ }
181
+ }
182
+ exports.Disposable = Disposable;
183
+ Disposable.NULL = Disposable.create(() => { });
184
+ Disposable.None = Object.freeze({ dispose() { } });
185
+ class DisposableCollection {
186
+ constructor(...toDispose) {
187
+ this.disposables = [];
188
+ this.onDisposeEmitter = new event_1.Emitter();
189
+ this.disposingElements = false;
190
+ toDispose.forEach((d) => this.push(d));
191
+ }
192
+ get onDispose() {
193
+ return this.onDisposeEmitter.event;
194
+ }
195
+ checkDisposed() {
196
+ if (this.disposed && !this.disposingElements) {
197
+ this.onDisposeEmitter.fire(undefined);
198
+ }
199
+ }
200
+ get disposed() {
201
+ return this.disposables.length === 0;
202
+ }
203
+ dispose() {
204
+ if (this.disposed || this.disposingElements) {
205
+ return;
206
+ }
207
+ this.disposingElements = true;
208
+ while (!this.disposed) {
209
+ try {
210
+ this.disposables.pop().dispose();
211
+ }
212
+ catch (e) {
213
+ // eslint-disable-next-line no-console
214
+ console.error(e);
215
+ }
216
+ }
217
+ this.disposingElements = false;
218
+ this.checkDisposed();
219
+ }
220
+ push(disposable) {
221
+ const disposables = this.disposables;
222
+ disposables.push(disposable);
223
+ const originalDispose = disposable.dispose.bind(disposable);
224
+ const toRemove = Disposable.create(() => {
225
+ const index = disposables.indexOf(disposable);
226
+ if (index !== -1) {
227
+ disposables.splice(index, 1);
228
+ }
229
+ this.checkDisposed();
230
+ });
231
+ disposable.dispose = () => {
232
+ toRemove.dispose();
233
+ originalDispose();
234
+ };
235
+ return toRemove;
236
+ }
237
+ pushAll(disposables) {
238
+ return disposables.map((disposable) => this.push(disposable));
239
+ }
240
+ }
241
+ exports.DisposableCollection = DisposableCollection;
242
+ /**
243
+ * Enables logging of potentially leaked disposables.
244
+ *
245
+ * A disposable is considered leaked if it is not disposed or not registered as the child of
246
+ * another disposable. This tracking is very simple an only works for classes that either
247
+ * extend Disposable or use a DisposableStore. This means there are a lot of false positives.
248
+ */
249
+ const TRACK_DISPOSABLES = false;
250
+ const __is_disposable_tracked__ = '__is_disposable_tracked__';
251
+ function markTracked(x) {
252
+ if (!TRACK_DISPOSABLES) {
253
+ return;
254
+ }
255
+ if (x && x !== Disposable.None) {
256
+ try {
257
+ x[__is_disposable_tracked__] = true;
258
+ }
259
+ catch (_a) {
260
+ // noop
261
+ }
262
+ }
263
+ }
264
+ function trackDisposable(x) {
265
+ if (!TRACK_DISPOSABLES) {
266
+ return x;
267
+ }
268
+ const stack = new Error('Potentially leaked disposable').stack;
269
+ setTimeout(() => {
270
+ if (!x[__is_disposable_tracked__]) {
271
+ // eslint-disable-next-line no-console
272
+ console.log(stack);
273
+ }
274
+ }, 3000);
275
+ return x;
276
+ }
277
+ /**
278
+ * Manages the lifecycle of a disposable value that may be changed.
279
+ *
280
+ * This ensures that when the the disposable value is changed, the previously held disposable is disposed of. You can
281
+ * also register a `MutableDisposable` on a `Disposable` to ensure it is automatically cleaned up.
282
+ */
283
+ class MutableDisposable {
284
+ constructor() {
285
+ this._isDisposed = false;
286
+ trackDisposable(this);
287
+ }
288
+ get value() {
289
+ return this._isDisposed ? undefined : this._value;
290
+ }
291
+ set value(value) {
292
+ if (this._isDisposed || value === this._value) {
293
+ return;
294
+ }
295
+ if (this._value) {
296
+ this._value.dispose();
297
+ }
298
+ if (value) {
299
+ markTracked(value);
300
+ }
301
+ this._value = value;
302
+ }
303
+ clear() {
304
+ this.value = undefined;
305
+ }
306
+ dispose() {
307
+ this._isDisposed = true;
308
+ markTracked(this);
309
+ if (this._value) {
310
+ this._value.dispose();
311
+ }
312
+ this._value = undefined;
313
+ }
314
+ }
315
+ exports.MutableDisposable = MutableDisposable;
316
+ //# sourceMappingURL=disposable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.js","sourceRoot":"","sources":["../src/disposable.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mCAAyC;AAEzC,4CAA4C;AAC5C,MAAa,eAAe;IAA5B;QACU,cAAS,GAAG,IAAI,GAAG,EAAe,CAAC;QACnC,gBAAW,GAAG,KAAK,CAAC;IA4C9B,CAAC;IA1CC;;;;OAIG;IACI,OAAO;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO;SACR;QAED,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEM,GAAG,CAAwB,CAAI;QACpC,IAAI,CAAC,CAAC,EAAE;YACN,OAAO,CAAC,CAAC;SACV;QACD,IAAK,CAA4B,KAAK,IAAI,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;QAED,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC,KAAK,CAAC,CAAC;YACpG,CAAC,CAAC,OAAO,EAAE,CAAC;SACb;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACvB;QAED,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AA9CD,0CA8CC;AASD,SAAgB,YAAY,CAAmB,KAAQ;IACrD,OAAO,OAAQ,KAAqB,CAAC,OAAO,KAAK,UAAU,IAAK,KAAqB,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7G,CAAC;AAFD,oCAEC;AAKD,SAAgB,OAAO,CAAwB,KAAc,EAAE,GAAG,IAAS;IACzE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,IAAI,CAAC,EAAE;gBACL,WAAW,CAAC,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC,OAAO,EAAE,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,IAAI,KAAK,EAAE;YACT,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,SAAS,CAAC;KAClB;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AArBD,0BAqBC;AAED,SAAgB,kBAAkB,CAAC,WAA0B;IAC3D,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAHD,gDAGC;AAED,SAAgB,YAAY,CAAC,EAAc;IACzC,OAAO;QACL,OAAO;YACL,EAAE,EAAE,CAAC;QACP,CAAC;KACF,CAAC;AACJ,CAAC;AAND,oCAMC;AAED,MAAa,UAAU;IAIrB,YAAY,GAAG,SAAwB;QAHpB,gBAAW,GAAkB,EAAE,CAAC;QAChC,qBAAgB,GAAG,IAAI,eAAO,EAAQ,CAAC;QA8BlD,sBAAiB,GAAG,KAAK,CAAC;QA3BhC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAgB;QAC5B,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAMD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IACrC,CAAC;IAES,aAAa;QACrB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAGD,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3C,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrB,IAAI;gBACF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAG,CAAC,OAAO,EAAE,CAAC;aACnC;YAAC,OAAO,CAAC,EAAE;gBACV,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAClB;SACF;QACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAID,UAAU,CAAC,UAAuC;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,MAAM,WAAW,GAAG,UAAU,CAAC;YAC/B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;SACrE;aAAM;YACL,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC7B;IACH,CAAC;IAES,eAAe,CAAwB,UAAa;QAC5D,IAAK,UAAgC,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;QAED,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,GAAG,CAAC,UAAuB;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACtC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC9B;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,GAAG,GAAG,EAAE;YACxB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAtFH,gCAuFC;AAzEQ,eAAI,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAEnC,eAAI,GAAG,MAAM,CAAC,MAAM,CAAc,EAAE,OAAO,KAAI,CAAC,EAAE,CAAC,CAAC;AAyE7D,MAAa,oBAAoB;IAI/B,YAAY,GAAG,SAAwB;QAHpB,gBAAW,GAAkB,EAAE,CAAC;QAChC,qBAAgB,GAAG,IAAI,eAAO,EAAQ,CAAC;QAoBlD,sBAAiB,GAAG,KAAK,CAAC;QAjBhC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IACrC,CAAC;IAES,aAAa;QACrB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAGD,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3C,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrB,IAAI;gBACF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAG,CAAC,OAAO,EAAE,CAAC;aACnC;YAAC,OAAO,CAAC,EAAE;gBACV,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAClB;SACF;QACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,UAAuB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACtC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC9B;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,GAAG,GAAG,EAAE;YACxB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,WAA0B;QAChC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;CACF;AA7DD,oDA6DC;AAED;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,MAAM,yBAAyB,GAAG,2BAA2B,CAAC;AAE9D,SAAS,WAAW,CAAwB,CAAI;IAC9C,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO;KACR;IAED,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,EAAE;QAC9B,IAAI;YACD,CAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;SAC9C;QAAC,WAAM;YACN,OAAO;SACR;KACF;AACH,CAAC;AAED,SAAS,eAAe,CAAwB,CAAI;IAClD,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,CAAC,CAAC;KACV;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,KAAM,CAAC;IAChE,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAE,CAAS,CAAC,yBAAyB,CAAC,EAAE;YAC1C,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpB;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAa,iBAAiB;IAI5B;QAFQ,gBAAW,GAAG,KAAK,CAAC;QAG1B,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,KAAoB;QAC5B,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;YAC7C,OAAO;SACR;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACvB;QACD,IAAI,KAAK,EAAE;YACT,WAAW,CAAC,KAAK,CAAC,CAAC;SACpB;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACvB;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;CACF;AAtCD,8CAsCC"}
package/lib/electron.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type Electron from 'electron';
2
- import { IDisposable } from '@opensumi/ide-utils';
1
+ import Electron from 'electron';
2
+ import { IDisposable } from './disposable';
3
3
  import { ExtensionCandidate } from './types';
4
4
  export interface IElectronMainApi<Events> {
5
5
  on(event: Events, listener: (...args: any[]) => void): IDisposable;
@@ -1 +1 @@
1
- {"version":3,"file":"electron.d.ts","sourceRoot":"","sources":["../src/electron.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron.d.ts","sourceRoot":"","sources":["../src/electron.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,gBAAgB,CAAC,MAAM;IACtC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,IAAI,GAAG,WAAW,CAAC;CAC7D;AAED,oBAAY,kCAAkC,GAAG,QAAQ,CAAC,+BAA+B,CAAC;AAE1F,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAErG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEnG,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAExF;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;OAGG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,CAAC,EAAE,kCAAkC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnF;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;;;OAIG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;;OAIG;IACH,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3F;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,sBACf,SAAQ,2BAA2B,EACjC,gBAAgB,CAAC,wBAAwB,GAAG,cAAc,GAAG,sBAAsB,CAAC;CAAG;AAE3F,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB,CAAC,IAAI,CAAC;IAC3E,cAAc,CAAC,QAAQ,EAAE,MAAM,OAAE;IACjC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,OAAE;IACnC,cAAc,CAAC,QAAQ,EAAE,MAAM,OAAE;IACjC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,OAAE;IACnC,WAAW,CAAC,QAAQ,EAAE,MAAM,OAAE;IAC9B,YAAY,CAAC,QAAQ,EAAE,MAAM,OAAE;IAE/B;;;;OAIG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAE;IAEhD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAE;IAChD,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAChF;AAED,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAE7E,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAE5C,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAEnD,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB,CAAC,MAAM,CAAC,EAAE,mBAAmB;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"electron.js","sourceRoot":"","sources":["../src/electron.ts"],"names":[],"mappings":";;;AA0Ga,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAqBlD,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAMhE,QAAA,mBAAmB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"electron.js","sourceRoot":"","sources":["../src/electron.ts"],"names":[],"mappings":";;;AAyGa,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAqBlD,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAMhE,QAAA,mBAAmB,GAAG,qBAAqB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /// <reference types="node" />
2
+ import { BinaryBuffer } from '../utils/buffer';
3
+ export declare const UTF8 = "utf8";
4
+ export declare const UTF8_with_bom = "utf8bom";
5
+ export declare const UTF16be = "utf16be";
6
+ export declare const UTF16le = "utf16le";
7
+ export declare const UTF16be_BOM: number[];
8
+ export declare const UTF16le_BOM: number[];
9
+ export declare const UTF8_BOM: number[];
10
+ export declare function isUTF8(encoding: string | null): boolean;
11
+ export declare function toIconvLiteEncoding(encodingName: string): string;
12
+ /**
13
+ * The encodings that are allowed in a settings file don't match the canonical encoding labels specified by WHATWG.
14
+ * See https://encoding.spec.whatwg.org/#names-and-labels
15
+ * Iconv-lite strips all non-alphanumeric characters, but ripgrep doesn't. For backcompat, allow these labels.
16
+ */
17
+ export declare function toCanonicalName(enc: string): string;
18
+ export declare function encodingExists(encoding: string): Promise<boolean>;
19
+ export declare function toNodeEncoding(enc: string | null): string;
20
+ /**
21
+ * nodejs 内置的 Buffer 转换编码不支持 GBK,使用第三方的 iconv-lite
22
+ * @param buffer Uint8Array | Buffer
23
+ * @param encoding 传入的是 SUPPORTED_ENCODINGS 已有的键值(已通过 tests case 的)
24
+ */
25
+ export declare function iconvDecode(buffer: Uint8Array | Buffer, encoding: string): string;
26
+ export declare function iconvEncode(content: string, encoding: string): Uint8Array | Buffer;
27
+ export declare function detectEncodingByBOMFromBuffer(buffer: BinaryBuffer | null, bytesRead: number): typeof UTF8_with_bom | typeof UTF16le | typeof UTF16be | null;
28
+ export interface IDetectedEncodingResult {
29
+ encoding: string | null;
30
+ seemsBinary: boolean;
31
+ }
32
+ export declare function detectEncodingFromBuffer(buffer: BinaryBuffer, autoGuessEncoding?: false): IDetectedEncodingResult;
33
+ export declare function detectEncodingFromBuffer(buffer: BinaryBuffer, autoGuessEncoding?: boolean): Promise<IDetectedEncodingResult>;
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/encoding/index.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC,eAAO,MAAM,WAAW,UAAe,CAAC;AACxC,eAAO,MAAM,WAAW,UAAe,CAAC;AACxC,eAAO,MAAM,QAAQ,UAAqB,CAAC;AAO3C,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,WAK7C;AAQD,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA+BnD;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAKzD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,UAGxE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAGlF;AAWD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,aAAa,GAAG,OAAO,OAAO,GAAG,OAAO,OAAO,GAAG,IAAI,CA8B/D;AAkCD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAE,KAAK,GAAG,uBAAuB,CAAC;AACnH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,iBAAiB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CAAC"}