@theia/process 1.48.0 → 1.48.1

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 (69) hide show
  1. package/README.md +30 -30
  2. package/lib/common/process-common-module.d.ts +3 -3
  3. package/lib/common/process-common-module.js +22 -22
  4. package/lib/common/process-manager-types.d.ts +35 -35
  5. package/lib/common/process-manager-types.js +23 -23
  6. package/lib/common/shell-command-builder.d.ts +49 -49
  7. package/lib/common/shell-command-builder.js +169 -169
  8. package/lib/common/shell-command-builder.slow-spec.d.ts +9 -9
  9. package/lib/common/shell-command-builder.slow-spec.js +404 -404
  10. package/lib/common/shell-quoting.d.ts +91 -91
  11. package/lib/common/shell-quoting.js +145 -145
  12. package/lib/common/shell-quoting.spec.d.ts +1 -1
  13. package/lib/common/shell-quoting.spec.js +170 -170
  14. package/lib/node/dev-null-stream.d.ts +17 -17
  15. package/lib/node/dev-null-stream.js +41 -41
  16. package/lib/node/index.d.ts +6 -6
  17. package/lib/node/index.js +24 -24
  18. package/lib/node/multi-ring-buffer.d.ts +68 -68
  19. package/lib/node/multi-ring-buffer.js +299 -299
  20. package/lib/node/multi-ring-buffer.spec.d.ts +1 -1
  21. package/lib/node/multi-ring-buffer.spec.js +422 -422
  22. package/lib/node/process-backend-module.d.ts +3 -3
  23. package/lib/node/process-backend-module.js +56 -56
  24. package/lib/node/process-manager.d.ts +33 -33
  25. package/lib/node/process-manager.js +102 -102
  26. package/lib/node/process.d.ts +95 -95
  27. package/lib/node/process.js +142 -142
  28. package/lib/node/pseudo-pty.d.ts +22 -22
  29. package/lib/node/pseudo-pty.js +38 -38
  30. package/lib/node/raw-process.d.ts +45 -45
  31. package/lib/node/raw-process.js +104 -104
  32. package/lib/node/raw-process.spec.d.ts +1 -1
  33. package/lib/node/raw-process.spec.js +164 -164
  34. package/lib/node/task-terminal-process.d.ts +10 -10
  35. package/lib/node/task-terminal-process.js +42 -42
  36. package/lib/node/terminal-process.d.ts +60 -60
  37. package/lib/node/terminal-process.js +248 -248
  38. package/lib/node/terminal-process.spec.d.ts +1 -1
  39. package/lib/node/terminal-process.spec.js +103 -103
  40. package/lib/node/test/process-test-container.d.ts +2 -2
  41. package/lib/node/test/process-test-container.js +28 -28
  42. package/lib/node/utils.d.ts +16 -16
  43. package/lib/node/utils.js +77 -77
  44. package/package.json +4 -4
  45. package/src/common/process-common-module.ts +22 -22
  46. package/src/common/process-manager-types.ts +58 -58
  47. package/src/common/shell-command-builder.slow-spec.ts +486 -486
  48. package/src/common/shell-command-builder.ts +187 -187
  49. package/src/common/shell-quoting.spec.ts +176 -176
  50. package/src/common/shell-quoting.ts +236 -236
  51. package/src/common/tests/$weird(),file=name.js +1 -1
  52. package/src/common/tests/white space.js +1 -1
  53. package/src/node/dev-null-stream.ts +47 -47
  54. package/src/node/index.ts +22 -22
  55. package/src/node/multi-ring-buffer.spec.ts +486 -486
  56. package/src/node/multi-ring-buffer.ts +348 -348
  57. package/src/node/process-backend-module.ts +67 -67
  58. package/src/node/process-manager.ts +107 -107
  59. package/src/node/process.ts +207 -207
  60. package/src/node/pseudo-pty.ts +54 -54
  61. package/src/node/raw-process.spec.ts +199 -199
  62. package/src/node/raw-process.ts +156 -156
  63. package/src/node/string-argv.d.ts +21 -21
  64. package/src/node/task-terminal-process.ts +41 -41
  65. package/src/node/terminal-process.spec.ts +121 -121
  66. package/src/node/terminal-process.ts +290 -290
  67. package/src/node/test/process-fork-test.js +22 -22
  68. package/src/node/test/process-test-container.ts +27 -27
  69. package/src/node/utils.ts +79 -79
@@ -1,69 +1,69 @@
1
- /// <reference types="node" />
2
- import * as stream from 'stream';
3
- import { Disposable } from '@theia/core/lib/common';
4
- /**
5
- * The MultiRingBuffer is a ring buffer implementation that allows
6
- * multiple independent readers.
7
- *
8
- * These readers are created using the getReader or getStream functions
9
- * to create a reader that can be read using deq() or one that is a readable stream.
10
- */
11
- export declare class MultiRingBufferReadableStream extends stream.Readable implements Disposable {
12
- protected readonly ringBuffer: MultiRingBuffer;
13
- protected readonly reader: number;
14
- protected readonly encoding: BufferEncoding;
15
- protected more: boolean;
16
- protected disposed: boolean;
17
- constructor(ringBuffer: MultiRingBuffer, reader: number, encoding?: BufferEncoding);
18
- _read(size: number): void;
19
- _destroy(err: Error | null, callback: (err: Error | null) => void): void;
20
- onData(): void;
21
- deq(size: number): void;
22
- dispose(): void;
23
- }
24
- export declare const MultiRingBufferOptions: unique symbol;
25
- export interface MultiRingBufferOptions {
26
- readonly size: number;
27
- readonly encoding?: BufferEncoding;
28
- }
29
- export interface WrappedPosition {
30
- newPos: number;
31
- wrap: boolean;
32
- }
33
- export declare class MultiRingBuffer implements Disposable {
34
- protected readonly options: MultiRingBufferOptions;
35
- protected readonly buffer: Buffer;
36
- protected head: number;
37
- protected tail: number;
38
- protected readonly maxSize: number;
39
- protected readonly encoding: BufferEncoding;
40
- protected readonly readers: Map<number, number>;
41
- protected readonly streams: Map<MultiRingBufferReadableStream, number>;
42
- protected readerId: number;
43
- constructor(options: MultiRingBufferOptions);
44
- enq(str: string, encoding?: string): void;
45
- getReader(): number;
46
- closeReader(id: number): void;
47
- getStream(encoding?: BufferEncoding): MultiRingBufferReadableStream;
48
- closeStream(readableStream: MultiRingBufferReadableStream): void;
49
- protected onData(start: number): void;
50
- deq(id: number, size?: number, encoding?: BufferEncoding): string | undefined;
51
- sizeForReader(id: number): number;
52
- size(): number;
53
- protected isWrapped(from: number, to: number): boolean;
54
- protected sizeFrom(from: number, to: number, wrap: boolean): number;
55
- emptyForReader(id: number): boolean;
56
- empty(): boolean;
57
- streamsSize(): number;
58
- readersSize(): number;
59
- /**
60
- * Dispose all the attached readers/streams.
61
- */
62
- dispose(): void;
63
- protected shouldIncPos(pos: number, end: number, size: number): boolean;
64
- protected incTailSize(pos: number, head: number, size: number): WrappedPosition;
65
- protected incTail(pos: number, size: number): WrappedPosition;
66
- protected incTails(size: number): void;
67
- protected inc(pos: number, size: number): WrappedPosition;
68
- }
1
+ /// <reference types="node" />
2
+ import * as stream from 'stream';
3
+ import { Disposable } from '@theia/core/lib/common';
4
+ /**
5
+ * The MultiRingBuffer is a ring buffer implementation that allows
6
+ * multiple independent readers.
7
+ *
8
+ * These readers are created using the getReader or getStream functions
9
+ * to create a reader that can be read using deq() or one that is a readable stream.
10
+ */
11
+ export declare class MultiRingBufferReadableStream extends stream.Readable implements Disposable {
12
+ protected readonly ringBuffer: MultiRingBuffer;
13
+ protected readonly reader: number;
14
+ protected readonly encoding: BufferEncoding;
15
+ protected more: boolean;
16
+ protected disposed: boolean;
17
+ constructor(ringBuffer: MultiRingBuffer, reader: number, encoding?: BufferEncoding);
18
+ _read(size: number): void;
19
+ _destroy(err: Error | null, callback: (err: Error | null) => void): void;
20
+ onData(): void;
21
+ deq(size: number): void;
22
+ dispose(): void;
23
+ }
24
+ export declare const MultiRingBufferOptions: unique symbol;
25
+ export interface MultiRingBufferOptions {
26
+ readonly size: number;
27
+ readonly encoding?: BufferEncoding;
28
+ }
29
+ export interface WrappedPosition {
30
+ newPos: number;
31
+ wrap: boolean;
32
+ }
33
+ export declare class MultiRingBuffer implements Disposable {
34
+ protected readonly options: MultiRingBufferOptions;
35
+ protected readonly buffer: Buffer;
36
+ protected head: number;
37
+ protected tail: number;
38
+ protected readonly maxSize: number;
39
+ protected readonly encoding: BufferEncoding;
40
+ protected readonly readers: Map<number, number>;
41
+ protected readonly streams: Map<MultiRingBufferReadableStream, number>;
42
+ protected readerId: number;
43
+ constructor(options: MultiRingBufferOptions);
44
+ enq(str: string, encoding?: string): void;
45
+ getReader(): number;
46
+ closeReader(id: number): void;
47
+ getStream(encoding?: BufferEncoding): MultiRingBufferReadableStream;
48
+ closeStream(readableStream: MultiRingBufferReadableStream): void;
49
+ protected onData(start: number): void;
50
+ deq(id: number, size?: number, encoding?: BufferEncoding): string | undefined;
51
+ sizeForReader(id: number): number;
52
+ size(): number;
53
+ protected isWrapped(from: number, to: number): boolean;
54
+ protected sizeFrom(from: number, to: number, wrap: boolean): number;
55
+ emptyForReader(id: number): boolean;
56
+ empty(): boolean;
57
+ streamsSize(): number;
58
+ readersSize(): number;
59
+ /**
60
+ * Dispose all the attached readers/streams.
61
+ */
62
+ dispose(): void;
63
+ protected shouldIncPos(pos: number, end: number, size: number): boolean;
64
+ protected incTailSize(pos: number, head: number, size: number): WrappedPosition;
65
+ protected incTail(pos: number, size: number): WrappedPosition;
66
+ protected incTails(size: number): void;
67
+ protected inc(pos: number, size: number): WrappedPosition;
68
+ }
69
69
  //# sourceMappingURL=multi-ring-buffer.d.ts.map