@opensumi/ide-utils 2.16.6

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 (169) hide show
  1. package/lib/ansi.d.ts +5 -0
  2. package/lib/ansi.d.ts.map +1 -0
  3. package/lib/ansi.js +14 -0
  4. package/lib/ansi.js.map +1 -0
  5. package/lib/arrays.d.ts +49 -0
  6. package/lib/arrays.d.ts.map +1 -0
  7. package/lib/arrays.js +275 -0
  8. package/lib/arrays.js.map +1 -0
  9. package/lib/async.d.ts +185 -0
  10. package/lib/async.d.ts.map +1 -0
  11. package/lib/async.js +467 -0
  12. package/lib/async.js.map +1 -0
  13. package/lib/buffer.d.ts +35 -0
  14. package/lib/buffer.d.ts.map +1 -0
  15. package/lib/buffer.js +174 -0
  16. package/lib/buffer.js.map +1 -0
  17. package/lib/cache.d.ts +12 -0
  18. package/lib/cache.d.ts.map +1 -0
  19. package/lib/cache.js +37 -0
  20. package/lib/cache.js.map +1 -0
  21. package/lib/cancellation.d.ts +23 -0
  22. package/lib/cancellation.d.ts.map +1 -0
  23. package/lib/cancellation.js +120 -0
  24. package/lib/cancellation.js.map +1 -0
  25. package/lib/charCode.d.ts +406 -0
  26. package/lib/charCode.d.ts.map +1 -0
  27. package/lib/charCode.js +8 -0
  28. package/lib/charCode.js.map +1 -0
  29. package/lib/character-classifier.d.ts +25 -0
  30. package/lib/character-classifier.d.ts.map +1 -0
  31. package/lib/character-classifier.js +59 -0
  32. package/lib/character-classifier.js.map +1 -0
  33. package/lib/const/encoding.d.ts +10 -0
  34. package/lib/const/encoding.d.ts.map +1 -0
  35. package/lib/const/encoding.js +244 -0
  36. package/lib/const/encoding.js.map +1 -0
  37. package/lib/const/index.d.ts +2 -0
  38. package/lib/const/index.d.ts.map +1 -0
  39. package/lib/const/index.js +5 -0
  40. package/lib/const/index.js.map +1 -0
  41. package/lib/date.d.ts +2 -0
  42. package/lib/date.d.ts.map +1 -0
  43. package/lib/date.js +22 -0
  44. package/lib/date.js.map +1 -0
  45. package/lib/decorators.d.ts +11 -0
  46. package/lib/decorators.d.ts.map +1 -0
  47. package/lib/decorators.js +151 -0
  48. package/lib/decorators.js.map +1 -0
  49. package/lib/disposable.d.ts +88 -0
  50. package/lib/disposable.d.ts.map +1 -0
  51. package/lib/disposable.js +316 -0
  52. package/lib/disposable.js.map +1 -0
  53. package/lib/encoding.d.ts +34 -0
  54. package/lib/encoding.d.ts.map +1 -0
  55. package/lib/encoding.js +217 -0
  56. package/lib/encoding.js.map +1 -0
  57. package/lib/errors.d.ts +56 -0
  58. package/lib/errors.d.ts.map +1 -0
  59. package/lib/errors.js +148 -0
  60. package/lib/errors.js.map +1 -0
  61. package/lib/event.d.ts +268 -0
  62. package/lib/event.d.ts.map +1 -0
  63. package/lib/event.js +816 -0
  64. package/lib/event.js.map +1 -0
  65. package/lib/file-uri.d.ts +15 -0
  66. package/lib/file-uri.d.ts.map +1 -0
  67. package/lib/file-uri.js +46 -0
  68. package/lib/file-uri.js.map +1 -0
  69. package/lib/filters.d.ts +47 -0
  70. package/lib/filters.d.ts.map +1 -0
  71. package/lib/filters.js +698 -0
  72. package/lib/filters.js.map +1 -0
  73. package/lib/functional.d.ts +4 -0
  74. package/lib/functional.d.ts.map +1 -0
  75. package/lib/functional.js +45 -0
  76. package/lib/functional.js.map +1 -0
  77. package/lib/glob.d.ts +46 -0
  78. package/lib/glob.d.ts.map +1 -0
  79. package/lib/glob.js +561 -0
  80. package/lib/glob.js.map +1 -0
  81. package/lib/hash.d.ts +38 -0
  82. package/lib/hash.d.ts.map +1 -0
  83. package/lib/hash.js +294 -0
  84. package/lib/hash.js.map +1 -0
  85. package/lib/index.d.ts +41 -0
  86. package/lib/index.d.ts.map +1 -0
  87. package/lib/index.js +45 -0
  88. package/lib/index.js.map +1 -0
  89. package/lib/iterator.d.ts +17 -0
  90. package/lib/iterator.d.ts.map +1 -0
  91. package/lib/iterator.js +24 -0
  92. package/lib/iterator.js.map +1 -0
  93. package/lib/lifecycle.d.ts +17 -0
  94. package/lib/lifecycle.d.ts.map +1 -0
  95. package/lib/lifecycle.js +39 -0
  96. package/lib/lifecycle.js.map +1 -0
  97. package/lib/linked-list.d.ts +18 -0
  98. package/lib/linked-list.d.ts.map +1 -0
  99. package/lib/linked-list.js +138 -0
  100. package/lib/linked-list.js.map +1 -0
  101. package/lib/linked-text.d.ts +13 -0
  102. package/lib/linked-text.d.ts.map +1 -0
  103. package/lib/linked-text.js +50 -0
  104. package/lib/linked-text.js.map +1 -0
  105. package/lib/lru-map.d.ts +41 -0
  106. package/lib/lru-map.d.ts.map +1 -0
  107. package/lib/lru-map.js +120 -0
  108. package/lib/lru-map.js.map +1 -0
  109. package/lib/map.d.ts +124 -0
  110. package/lib/map.d.ts.map +1 -0
  111. package/lib/map.js +819 -0
  112. package/lib/map.js.map +1 -0
  113. package/lib/marshalling.d.ts +7 -0
  114. package/lib/marshalling.d.ts.map +1 -0
  115. package/lib/marshalling.js +59 -0
  116. package/lib/marshalling.js.map +1 -0
  117. package/lib/objects.d.ts +6 -0
  118. package/lib/objects.d.ts.map +1 -0
  119. package/lib/objects.js +103 -0
  120. package/lib/objects.js.map +1 -0
  121. package/lib/os.d.ts +40 -0
  122. package/lib/os.d.ts.map +1 -0
  123. package/lib/os.js +75 -0
  124. package/lib/os.js.map +1 -0
  125. package/lib/path.d.ts +101 -0
  126. package/lib/path.d.ts.map +1 -0
  127. package/lib/path.js +1747 -0
  128. package/lib/path.js.map +1 -0
  129. package/lib/platform.d.ts +48 -0
  130. package/lib/platform.d.ts.map +1 -0
  131. package/lib/platform.js +154 -0
  132. package/lib/platform.js.map +1 -0
  133. package/lib/process.d.ts +5 -0
  134. package/lib/process.d.ts.map +1 -0
  135. package/lib/process.js +23 -0
  136. package/lib/process.js.map +1 -0
  137. package/lib/progress.d.ts +56 -0
  138. package/lib/progress.d.ts.map +1 -0
  139. package/lib/progress.js +27 -0
  140. package/lib/progress.js.map +1 -0
  141. package/lib/promise-util.d.ts +10 -0
  142. package/lib/promise-util.d.ts.map +1 -0
  143. package/lib/promise-util.js +17 -0
  144. package/lib/promise-util.js.map +1 -0
  145. package/lib/sequence.d.ts +20 -0
  146. package/lib/sequence.d.ts.map +1 -0
  147. package/lib/sequence.js +17 -0
  148. package/lib/sequence.js.map +1 -0
  149. package/lib/strings.d.ts +181 -0
  150. package/lib/strings.d.ts.map +1 -0
  151. package/lib/strings.js +858 -0
  152. package/lib/strings.js.map +1 -0
  153. package/lib/types.d.ts +69 -0
  154. package/lib/types.d.ts.map +1 -0
  155. package/lib/types.js +201 -0
  156. package/lib/types.js.map +1 -0
  157. package/lib/uint.d.ts +32 -0
  158. package/lib/uint.d.ts.map +1 -0
  159. package/lib/uint.js +28 -0
  160. package/lib/uint.js.map +1 -0
  161. package/lib/uri.d.ts +94 -0
  162. package/lib/uri.d.ts.map +1 -0
  163. package/lib/uri.js +231 -0
  164. package/lib/uri.js.map +1 -0
  165. package/lib/uuid.d.ts +2 -0
  166. package/lib/uuid.d.ts.map +1 -0
  167. package/lib/uuid.js +10 -0
  168. package/lib/uuid.js.map +1 -0
  169. package/package.json +25 -0
package/lib/async.js ADDED
@@ -0,0 +1,467 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.disposableTimeout = exports.RunOnceScheduler = exports.raceCancellation = exports.timeout = exports.first = exports.IdleValue = exports.runWhenIdle = exports.asPromise = exports.raceTimeout = exports.isThenable = exports.AutoOpenBarrier = exports.Barrier = exports.ThrottledDelayer = exports.Delayer = exports.Sequencer = exports.Throttler = exports.hookCancellationToken = exports.createCancelablePromise = void 0;
4
+ const cancellation_1 = require("./cancellation");
5
+ const disposable_1 = require("./disposable");
6
+ const errors_1 = require("./errors");
7
+ function createCancelablePromise(callback) {
8
+ const source = new cancellation_1.CancellationTokenSource();
9
+ const thenable = callback(source.token);
10
+ const promise = new Promise((resolve, reject) => {
11
+ source.token.onCancellationRequested(() => {
12
+ reject((0, errors_1.canceled)());
13
+ });
14
+ Promise.resolve(thenable).then((value) => {
15
+ source.dispose();
16
+ resolve(value);
17
+ }, (err) => {
18
+ source.dispose();
19
+ reject(err);
20
+ });
21
+ });
22
+ return new (class {
23
+ cancel() {
24
+ source.cancel();
25
+ }
26
+ then(resolve, reject) {
27
+ return promise.then(resolve, reject);
28
+ }
29
+ catch(reject) {
30
+ return this.then(undefined, reject);
31
+ }
32
+ finally(onfinally) {
33
+ return promise.finally(onfinally);
34
+ }
35
+ })();
36
+ }
37
+ exports.createCancelablePromise = createCancelablePromise;
38
+ function hookCancellationToken(token, promise) {
39
+ return new Promise((resolve, reject) => {
40
+ const sub = token.onCancellationRequested(() => reject(new Error('This promise is cancelled')));
41
+ promise
42
+ .then((value) => {
43
+ sub.dispose();
44
+ resolve(value);
45
+ })
46
+ .catch((err) => {
47
+ sub.dispose();
48
+ reject(err);
49
+ });
50
+ });
51
+ }
52
+ exports.hookCancellationToken = hookCancellationToken;
53
+ /**
54
+ * A helper to prevent accumulation of sequential async tasks.
55
+ *
56
+ * Imagine a mail man with the sole task of delivering letters. As soon as
57
+ * a letter submitted for delivery, he drives to the destination, delivers it
58
+ * and returns to his base. Imagine that during the trip, N more letters were submitted.
59
+ * When the mail man returns, he picks those N letters and delivers them all in a
60
+ * single trip. Even though N+1 submissions occurred, only 2 deliveries were made.
61
+ *
62
+ * The throttler implements this via the queue() method, by providing it a task
63
+ * factory. Following the example:
64
+ *
65
+ * const throttler = new Throttler();
66
+ * const letters = [];
67
+ *
68
+ * function deliver() {
69
+ * const lettersToDeliver = letters;
70
+ * letters = [];
71
+ * return makeTheTrip(lettersToDeliver);
72
+ * }
73
+ *
74
+ * function onLetterReceived(l) {
75
+ * letters.push(l);
76
+ * throttler.queue(deliver);
77
+ * }
78
+ */
79
+ class Throttler {
80
+ constructor() {
81
+ this.activePromise = null;
82
+ this.queuedPromise = null;
83
+ this.queuedPromiseFactory = null;
84
+ }
85
+ queue(promiseFactory) {
86
+ if (this.activePromise) {
87
+ this.queuedPromiseFactory = promiseFactory;
88
+ if (!this.queuedPromise) {
89
+ const onComplete = () => {
90
+ this.queuedPromise = null;
91
+ const result = this.queue(this.queuedPromiseFactory);
92
+ this.queuedPromiseFactory = null;
93
+ return result;
94
+ };
95
+ this.queuedPromise = new Promise((c) => {
96
+ this.activePromise && this.activePromise.then(onComplete, onComplete).then(c);
97
+ });
98
+ }
99
+ return new Promise((c, e) => {
100
+ this.queuedPromise && this.queuedPromise.then(c, e);
101
+ });
102
+ }
103
+ this.activePromise = promiseFactory();
104
+ return new Promise((c, e) => {
105
+ var _a;
106
+ (_a = this.activePromise) === null || _a === void 0 ? void 0 : _a.then((result) => {
107
+ this.activePromise = null;
108
+ c(result);
109
+ }, (err) => {
110
+ this.activePromise = null;
111
+ e(err);
112
+ });
113
+ });
114
+ }
115
+ }
116
+ exports.Throttler = Throttler;
117
+ class Sequencer {
118
+ constructor() {
119
+ this.current = Promise.resolve(null);
120
+ }
121
+ queue(promiseTask) {
122
+ return (this.current = this.current.then(() => promiseTask()));
123
+ }
124
+ }
125
+ exports.Sequencer = Sequencer;
126
+ /**
127
+ * A helper to delay execution of a task that is being requested often.
128
+ *
129
+ * Following the throttler, now imagine the mail man wants to optimize the number of
130
+ * trips proactively. The trip itself can be long, so he decides not to make the trip
131
+ * as soon as a letter is submitted. Instead he waits a while, in case more
132
+ * letters are submitted. After said waiting period, if no letters were submitted, he
133
+ * decides to make the trip. Imagine that N more letters were submitted after the first
134
+ * one, all within a short period of time between each other. Even though N+1
135
+ * submissions occurred, only 1 delivery was made.
136
+ *
137
+ * The delayer offers this behavior via the trigger() method, into which both the task
138
+ * to be executed and the waiting period (delay) must be passed in as arguments. Following
139
+ * the example:
140
+ *
141
+ * const delayer = new Delayer(WAITING_PERIOD);
142
+ * const letters = [];
143
+ *
144
+ * function letterReceived(l) {
145
+ * letters.push(l);
146
+ * delayer.trigger(() => { return makeTheTrip(); });
147
+ * }
148
+ */
149
+ class Delayer {
150
+ constructor(defaultDelay) {
151
+ this.defaultDelay = defaultDelay;
152
+ this.timeout = null;
153
+ this.completionPromise = null;
154
+ this.doResolve = null;
155
+ this.task = null;
156
+ }
157
+ trigger(task, delay = this.defaultDelay) {
158
+ this.task = task;
159
+ this.cancelTimeout();
160
+ if (!this.completionPromise) {
161
+ this.completionPromise = new Promise((c, e) => {
162
+ this.doResolve = c;
163
+ this.doReject = e;
164
+ })
165
+ .then(() => {
166
+ this.completionPromise = null;
167
+ this.doResolve = null;
168
+ const task = this.task;
169
+ this.task = null;
170
+ return task && task();
171
+ })
172
+ .catch();
173
+ }
174
+ this.timeout = setTimeout(() => {
175
+ var _a;
176
+ this.timeout = null;
177
+ (_a = this.doResolve) === null || _a === void 0 ? void 0 : _a.call(this, null);
178
+ }, delay);
179
+ return this.completionPromise;
180
+ }
181
+ isTriggered() {
182
+ return this.timeout !== null;
183
+ }
184
+ cancel() {
185
+ this.cancelTimeout();
186
+ if (this.completionPromise) {
187
+ this.doReject && this.doReject((0, errors_1.canceled)());
188
+ this.completionPromise = null;
189
+ }
190
+ }
191
+ cancelTimeout() {
192
+ if (this.timeout !== null) {
193
+ clearTimeout(this.timeout);
194
+ this.timeout = null;
195
+ }
196
+ }
197
+ dispose() {
198
+ this.cancelTimeout();
199
+ }
200
+ }
201
+ exports.Delayer = Delayer;
202
+ /**
203
+ * A helper to delay execution of a task that is being requested often, while
204
+ * preventing accumulation of consecutive executions, while the task runs.
205
+ *
206
+ * The mail man is clever and waits for a certain amount of time, before going
207
+ * out to deliver letters. While the mail man is going out, more letters arrive
208
+ * and can only be delivered once he is back. Once he is back the mail man will
209
+ * do one more trip to deliver the letters that have accumulated while he was out.
210
+ */
211
+ class ThrottledDelayer {
212
+ constructor(defaultDelay) {
213
+ this.delayer = new Delayer(defaultDelay);
214
+ this.throttler = new Throttler();
215
+ }
216
+ trigger(promiseFactory, delay) {
217
+ return this.delayer.trigger(() => this.throttler.queue(promiseFactory), delay);
218
+ }
219
+ isTriggered() {
220
+ return this.delayer.isTriggered();
221
+ }
222
+ cancel() {
223
+ this.delayer.cancel();
224
+ }
225
+ dispose() {
226
+ this.delayer.dispose();
227
+ }
228
+ }
229
+ exports.ThrottledDelayer = ThrottledDelayer;
230
+ /**
231
+ * A barrier that is initially closed and then becomes opened permanently.
232
+ */
233
+ class Barrier {
234
+ constructor() {
235
+ this._isOpen = false;
236
+ this._promise = new Promise((c) => {
237
+ this._completePromise = c;
238
+ });
239
+ }
240
+ isOpen() {
241
+ return this._isOpen;
242
+ }
243
+ open() {
244
+ this._isOpen = true;
245
+ this._completePromise(true);
246
+ }
247
+ wait() {
248
+ return this._promise;
249
+ }
250
+ }
251
+ exports.Barrier = Barrier;
252
+ /**
253
+ * A barrier that is initially closed and then becomes opened permanently after a certain period of
254
+ * time or when open is called explicitly
255
+ */
256
+ class AutoOpenBarrier extends Barrier {
257
+ constructor(autoOpenTimeMs) {
258
+ super();
259
+ this._timeout = setTimeout(() => this.open(), autoOpenTimeMs);
260
+ }
261
+ open() {
262
+ clearTimeout(this._timeout);
263
+ super.open();
264
+ }
265
+ }
266
+ exports.AutoOpenBarrier = AutoOpenBarrier;
267
+ function isThenable(obj) {
268
+ return obj && typeof obj.then === 'function';
269
+ }
270
+ exports.isThenable = isThenable;
271
+ function raceTimeout(promise, timeout, onTimeout) {
272
+ let promiseResolve;
273
+ const timer = setTimeout(() => {
274
+ promiseResolve === null || promiseResolve === void 0 ? void 0 : promiseResolve(undefined);
275
+ onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout();
276
+ }, timeout);
277
+ return Promise.race([
278
+ promise.finally(() => clearTimeout(timer)),
279
+ new Promise((resolve) => (promiseResolve = resolve)),
280
+ ]);
281
+ }
282
+ exports.raceTimeout = raceTimeout;
283
+ function asPromise(callback) {
284
+ return new Promise((resolve, reject) => {
285
+ const item = callback();
286
+ if (isThenable(item)) {
287
+ item.then(resolve, reject);
288
+ }
289
+ else {
290
+ resolve(item);
291
+ }
292
+ });
293
+ }
294
+ exports.asPromise = asPromise;
295
+ (function () {
296
+ if (typeof requestIdleCallback !== 'function' || typeof cancelIdleCallback !== 'function') {
297
+ const dummyIdle = Object.freeze({
298
+ didTimeout: true,
299
+ timeRemaining() {
300
+ return 15;
301
+ },
302
+ });
303
+ exports.runWhenIdle = (runner) => {
304
+ const handle = setTimeout(() => runner(dummyIdle));
305
+ let disposed = false;
306
+ return {
307
+ dispose() {
308
+ if (disposed) {
309
+ return;
310
+ }
311
+ disposed = true;
312
+ clearTimeout(handle);
313
+ },
314
+ };
315
+ };
316
+ }
317
+ else {
318
+ exports.runWhenIdle = (runner, timeout) => {
319
+ const handle = requestIdleCallback(runner, typeof timeout === 'number' ? { timeout } : undefined);
320
+ let disposed = false;
321
+ return {
322
+ dispose() {
323
+ if (disposed) {
324
+ return;
325
+ }
326
+ disposed = true;
327
+ cancelIdleCallback(handle);
328
+ },
329
+ };
330
+ };
331
+ }
332
+ })();
333
+ /**
334
+ * An implementation of the "idle-until-urgent"-strategy as introduced
335
+ * here: https://philipwalton.com/articles/idle-until-urgent/
336
+ */
337
+ class IdleValue {
338
+ constructor(executor) {
339
+ this._didRun = false;
340
+ this._executor = () => {
341
+ try {
342
+ this._value = executor();
343
+ }
344
+ catch (err) {
345
+ this._error = err;
346
+ }
347
+ finally {
348
+ this._didRun = true;
349
+ }
350
+ };
351
+ this._handle = (0, exports.runWhenIdle)(() => this._executor());
352
+ }
353
+ dispose() {
354
+ this._handle.dispose();
355
+ }
356
+ getValue() {
357
+ if (!this._didRun) {
358
+ this._handle.dispose();
359
+ this._executor();
360
+ }
361
+ if (this._error) {
362
+ throw this._error;
363
+ }
364
+ return this._value;
365
+ }
366
+ }
367
+ exports.IdleValue = IdleValue;
368
+ function first(promiseFactories, shouldStop = (t) => !!t, defaultValue = null) {
369
+ let index = 0;
370
+ const len = promiseFactories.length;
371
+ const loop = () => {
372
+ if (index >= len) {
373
+ return Promise.resolve(defaultValue);
374
+ }
375
+ const factory = promiseFactories[index++];
376
+ const promise = Promise.resolve(factory());
377
+ return promise.then((result) => {
378
+ if (shouldStop(result)) {
379
+ return Promise.resolve(result);
380
+ }
381
+ return loop();
382
+ });
383
+ };
384
+ return loop();
385
+ }
386
+ exports.first = first;
387
+ function timeout(millis, token) {
388
+ if (!token) {
389
+ return createCancelablePromise((token) => timeout(millis, token));
390
+ }
391
+ return new Promise((resolve, reject) => {
392
+ const handle = setTimeout(resolve, millis);
393
+ token.onCancellationRequested(() => {
394
+ clearTimeout(handle);
395
+ reject((0, errors_1.canceled)());
396
+ });
397
+ });
398
+ }
399
+ exports.timeout = timeout;
400
+ function raceCancellation(promise, token, defaultValue) {
401
+ return Promise.race([
402
+ promise,
403
+ new Promise((resolve) => token.onCancellationRequested(() => resolve(defaultValue))),
404
+ ]);
405
+ }
406
+ exports.raceCancellation = raceCancellation;
407
+ class RunOnceScheduler {
408
+ constructor(runner, delay) {
409
+ this.timeoutToken = -1;
410
+ this.runner = runner;
411
+ this.timeout = delay;
412
+ this.timeoutHandler = this.onTimeout.bind(this);
413
+ }
414
+ /**
415
+ * Dispose RunOnceScheduler
416
+ */
417
+ dispose() {
418
+ this.cancel();
419
+ this.runner = null;
420
+ }
421
+ /**
422
+ * Cancel current scheduled runner (if any).
423
+ */
424
+ cancel() {
425
+ if (this.isScheduled()) {
426
+ clearTimeout(this.timeoutToken);
427
+ this.timeoutToken = -1;
428
+ }
429
+ }
430
+ /**
431
+ * Cancel previous runner (if any) & schedule a new runner.
432
+ */
433
+ schedule(delay = this.timeout) {
434
+ this.cancel();
435
+ this.timeoutToken = setTimeout(this.timeoutHandler, delay);
436
+ }
437
+ get delay() {
438
+ return this.timeout;
439
+ }
440
+ set delay(value) {
441
+ this.timeout = value;
442
+ }
443
+ /**
444
+ * Returns true if scheduled.
445
+ */
446
+ isScheduled() {
447
+ return this.timeoutToken !== -1;
448
+ }
449
+ onTimeout() {
450
+ this.timeoutToken = -1;
451
+ if (this.runner) {
452
+ this.doRun();
453
+ }
454
+ }
455
+ doRun() {
456
+ if (this.runner) {
457
+ this.runner();
458
+ }
459
+ }
460
+ }
461
+ exports.RunOnceScheduler = RunOnceScheduler;
462
+ function disposableTimeout(handler, timeout = 0) {
463
+ const timer = setTimeout(handler, timeout);
464
+ return (0, disposable_1.toDisposable)(() => clearTimeout(timer));
465
+ }
466
+ exports.disposableTimeout = disposableTimeout;
467
+ //# sourceMappingURL=async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export declare class BinaryBuffer {
2
+ static alloc(byteLength: number): BinaryBuffer;
3
+ static wrap(actual: Uint8Array): BinaryBuffer;
4
+ /**
5
+ * fromString 产生的 BinaryBuffer 的 encoding 都是 utf8
6
+ * @param source source string
7
+ */
8
+ static fromString(source: string): BinaryBuffer;
9
+ static concat(buffers: BinaryBuffer[], totalLength?: number): BinaryBuffer;
10
+ readonly buffer: Uint8Array;
11
+ readonly byteLength: number;
12
+ private constructor();
13
+ /**
14
+ * 将 BinaryBuffer 转为字符串
15
+ * @param encoding 字节编码,不传默认为 utf8。需要传入 `SUPPORTED_ENCODINGS` 已有的键值。
16
+ */
17
+ toString(encoding?: string): string;
18
+ slice(start?: number, end?: number): BinaryBuffer;
19
+ set(array: BinaryBuffer | Uint8Array, offset?: number): void;
20
+ readUInt32BE(offset: number): number;
21
+ writeUInt32BE(value: number, offset: number): void;
22
+ readUInt32LE(offset: number): number;
23
+ writeUInt32LE(value: number, offset: number): void;
24
+ readUInt8(offset: number): number;
25
+ writeUInt8(value: number, offset: number): void;
26
+ }
27
+ export declare function readUInt16LE(source: Uint8Array, offset: number): number;
28
+ export declare function writeUInt16LE(destination: Uint8Array, value: number, offset: number): void;
29
+ export declare function readUInt32BE(source: Uint8Array, offset: number): number;
30
+ export declare function writeUInt32BE(destination: Uint8Array, value: number, offset: number): void;
31
+ export declare function readUInt32LE(source: Uint8Array, offset: number): number;
32
+ export declare function writeUInt32LE(destination: Uint8Array, value: number, offset: number): void;
33
+ export declare function readUInt8(source: Uint8Array, offset: number): number;
34
+ export declare function writeUInt8(destination: Uint8Array, value: number, offset: number): void;
35
+ //# sourceMappingURL=buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"AAcA,qBAAa,YAAY;IACvB,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY;IAQ9C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY;IAS7C;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAa/C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY;IAmB1E,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO;IAKP;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAenC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY;IAOjD,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIpC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIpC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIjC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI1F;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQ1F;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOvE;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQ1F;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEvF"}