@theia/process 1.47.1 → 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.
- package/README.md +30 -30
- package/lib/common/process-common-module.d.ts +3 -3
- package/lib/common/process-common-module.js +22 -22
- package/lib/common/process-manager-types.d.ts +35 -35
- package/lib/common/process-manager-types.js +23 -23
- package/lib/common/shell-command-builder.d.ts +49 -49
- package/lib/common/shell-command-builder.js +169 -169
- package/lib/common/shell-command-builder.slow-spec.d.ts +9 -9
- package/lib/common/shell-command-builder.slow-spec.js +404 -404
- package/lib/common/shell-quoting.d.ts +91 -91
- package/lib/common/shell-quoting.js +145 -145
- package/lib/common/shell-quoting.spec.d.ts +1 -1
- package/lib/common/shell-quoting.spec.js +170 -170
- package/lib/node/dev-null-stream.d.ts +17 -17
- package/lib/node/dev-null-stream.js +41 -41
- package/lib/node/index.d.ts +6 -6
- package/lib/node/index.js +24 -24
- package/lib/node/multi-ring-buffer.d.ts +68 -68
- package/lib/node/multi-ring-buffer.js +299 -299
- package/lib/node/multi-ring-buffer.spec.d.ts +1 -1
- package/lib/node/multi-ring-buffer.spec.js +422 -422
- package/lib/node/process-backend-module.d.ts +3 -3
- package/lib/node/process-backend-module.js +56 -56
- package/lib/node/process-manager.d.ts +33 -33
- package/lib/node/process-manager.js +102 -102
- package/lib/node/process.d.ts +95 -95
- package/lib/node/process.js +142 -142
- package/lib/node/pseudo-pty.d.ts +22 -22
- package/lib/node/pseudo-pty.js +38 -38
- package/lib/node/raw-process.d.ts +45 -45
- package/lib/node/raw-process.js +104 -104
- package/lib/node/raw-process.spec.d.ts +1 -1
- package/lib/node/raw-process.spec.js +164 -164
- package/lib/node/task-terminal-process.d.ts +10 -10
- package/lib/node/task-terminal-process.js +42 -42
- package/lib/node/terminal-process.d.ts +60 -60
- package/lib/node/terminal-process.js +248 -248
- package/lib/node/terminal-process.spec.d.ts +1 -1
- package/lib/node/terminal-process.spec.js +103 -103
- package/lib/node/test/process-test-container.d.ts +2 -2
- package/lib/node/test/process-test-container.js +28 -28
- package/lib/node/utils.d.ts +16 -16
- package/lib/node/utils.js +77 -77
- package/package.json +4 -4
- package/src/common/process-common-module.ts +22 -22
- package/src/common/process-manager-types.ts +58 -58
- package/src/common/shell-command-builder.slow-spec.ts +486 -486
- package/src/common/shell-command-builder.ts +187 -187
- package/src/common/shell-quoting.spec.ts +176 -176
- package/src/common/shell-quoting.ts +236 -236
- package/src/common/tests/$weird(),file=name.js +1 -1
- package/src/common/tests/white space.js +1 -1
- package/src/node/dev-null-stream.ts +47 -47
- package/src/node/index.ts +22 -22
- package/src/node/multi-ring-buffer.spec.ts +486 -486
- package/src/node/multi-ring-buffer.ts +348 -348
- package/src/node/process-backend-module.ts +67 -67
- package/src/node/process-manager.ts +107 -107
- package/src/node/process.ts +207 -207
- package/src/node/pseudo-pty.ts +54 -54
- package/src/node/raw-process.spec.ts +199 -199
- package/src/node/raw-process.ts +156 -156
- package/src/node/string-argv.d.ts +21 -21
- package/src/node/task-terminal-process.ts +41 -41
- package/src/node/terminal-process.spec.ts +121 -121
- package/src/node/terminal-process.ts +290 -290
- package/src/node/test/process-fork-test.js +22 -22
- package/src/node/test/process-test-container.ts +27 -27
- 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
|