@theia/process 1.17.0-next.ff9e0507 → 1.18.0-next.04e2816d
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/lib/common/process-common-module.js +3 -3
- package/lib/common/process-common-module.js.map +1 -1
- package/lib/common/shell-command-builder.js +54 -129
- package/lib/common/shell-command-builder.js.map +1 -1
- package/lib/common/shell-command-builder.slow-spec.js +162 -291
- package/lib/common/shell-command-builder.slow-spec.js.map +1 -1
- package/lib/common/shell-quoting.js +22 -22
- package/lib/common/shell-quoting.js.map +1 -1
- package/lib/common/shell-quoting.spec.js +34 -84
- package/lib/common/shell-quoting.spec.js.map +1 -1
- package/lib/node/dev-null-stream.js +10 -27
- package/lib/node/dev-null-stream.js.map +1 -1
- package/lib/node/multi-ring-buffer.js +104 -195
- package/lib/node/multi-ring-buffer.js.map +1 -1
- package/lib/node/multi-ring-buffer.spec.js +220 -468
- package/lib/node/multi-ring-buffer.spec.js.map +1 -1
- package/lib/node/process-backend-module.js +25 -31
- package/lib/node/process-backend-module.js.map +1 -1
- package/lib/node/process-manager.js +37 -65
- package/lib/node/process-manager.js.map +1 -1
- package/lib/node/process.js +68 -131
- package/lib/node/process.js.map +1 -1
- package/lib/node/pseudo-pty.js +8 -9
- package/lib/node/pseudo-pty.js.map +1 -1
- package/lib/node/raw-process.js +60 -92
- package/lib/node/raw-process.js.map +1 -1
- package/lib/node/raw-process.spec.js +114 -238
- package/lib/node/raw-process.spec.js.map +1 -1
- package/lib/node/task-terminal-process.js +13 -29
- package/lib/node/task-terminal-process.js.map +1 -1
- package/lib/node/terminal-process.js +75 -103
- package/lib/node/terminal-process.js.map +1 -1
- package/lib/node/terminal-process.spec.js +55 -132
- package/lib/node/terminal-process.spec.js.map +1 -1
- package/lib/node/test/process-test-container.js +4 -4
- package/lib/node/test/process-test-container.js.map +1 -1
- package/lib/node/utils.js +12 -45
- package/lib/node/utils.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-command-builder.slow-spec.js","sourceRoot":"","sources":["../../src/common/shell-command-builder.slow-spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-command-builder.slow-spec.js","sourceRoot":"","sources":["../../src/common/shell-command-builder.slow-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ exports.PowershellQuotingFunctions = exports.CmdQuotingFunctions = exports.BashQ
|
|
|
29
29
|
* @param quotingFunctions Collection of functions to process arguments.
|
|
30
30
|
*/
|
|
31
31
|
function createShellCommandLine(args, quotingFunctions) {
|
|
32
|
-
return args.map(
|
|
32
|
+
return args.map(arg => escapeForShell(arg, quotingFunctions)).join(' ');
|
|
33
33
|
}
|
|
34
34
|
exports.createShellCommandLine = createShellCommandLine;
|
|
35
35
|
/**
|
|
@@ -40,8 +40,8 @@ exports.createShellCommandLine = createShellCommandLine;
|
|
|
40
40
|
* @param quotingType Override the quoting type specified by the given `arg`.
|
|
41
41
|
*/
|
|
42
42
|
function escapeForShell(arg, quotingFunctions, quotingType) {
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
let value;
|
|
44
|
+
let quoting = quotingType;
|
|
45
45
|
if (typeof arg === 'string') {
|
|
46
46
|
if (!quoting) {
|
|
47
47
|
return arg;
|
|
@@ -67,30 +67,30 @@ exports.BashQuotingFunctions = {
|
|
|
67
67
|
strong: '\'',
|
|
68
68
|
weak: '"',
|
|
69
69
|
},
|
|
70
|
-
escape
|
|
70
|
+
escape(arg) {
|
|
71
71
|
return arg
|
|
72
72
|
.replace(/[\s\\|(){}<>$&;"']/g, '\\$&');
|
|
73
73
|
},
|
|
74
|
-
strong
|
|
74
|
+
strong(arg) {
|
|
75
75
|
// ('+) becomes ('"'+"')
|
|
76
|
-
return
|
|
77
|
-
.replace(/'+/g, '\'"$&"\'')
|
|
76
|
+
return `'${arg
|
|
77
|
+
.replace(/'+/g, '\'"$&"\'')}'`;
|
|
78
78
|
},
|
|
79
|
-
weak
|
|
80
|
-
return "
|
|
79
|
+
weak(arg) {
|
|
80
|
+
return `"${arg
|
|
81
81
|
// Escape escape-characters.
|
|
82
82
|
.replace(/\\"/g, '\\\\"')
|
|
83
83
|
// Escape user-specified double-quotes.
|
|
84
84
|
.replace(/"/g, '\\"')
|
|
85
85
|
// Escape trailing (\), we don't want the user to escape our last quote.
|
|
86
|
-
.replace(/\\$/g, '\\\\')
|
|
86
|
+
.replace(/\\$/g, '\\\\')}"`;
|
|
87
87
|
},
|
|
88
88
|
};
|
|
89
89
|
exports.CmdQuotingFunctions = {
|
|
90
90
|
characters: {
|
|
91
91
|
weak: '"',
|
|
92
92
|
},
|
|
93
|
-
escape
|
|
93
|
+
escape(arg) {
|
|
94
94
|
return arg
|
|
95
95
|
// Escape forbidden characters (see: cmd /?).
|
|
96
96
|
.replace(/[%&<>()@^|]/g, '^$&')
|
|
@@ -99,13 +99,13 @@ exports.CmdQuotingFunctions = {
|
|
|
99
99
|
// Double-quote whitespaces, else we cannot escape it.
|
|
100
100
|
.replace(/\s+/g, '"$&"');
|
|
101
101
|
},
|
|
102
|
-
strong
|
|
102
|
+
strong(arg) {
|
|
103
103
|
return this.weak(arg)
|
|
104
104
|
// Try to prevent variable expansion.
|
|
105
105
|
.replace(/%/g, '"%"');
|
|
106
106
|
},
|
|
107
|
-
weak
|
|
108
|
-
return "
|
|
107
|
+
weak(arg) {
|
|
108
|
+
return `"${arg
|
|
109
109
|
// Escape double quotes.
|
|
110
110
|
.replace(/\\"/g, '\\\\"')
|
|
111
111
|
.replace(/"/g, '\\"')
|
|
@@ -114,7 +114,7 @@ exports.CmdQuotingFunctions = {
|
|
|
114
114
|
// Escape trailing backslash, we don't want the user to escape our last quote.
|
|
115
115
|
.replace(/\\$/g, '\\\\')
|
|
116
116
|
// Escape line returns
|
|
117
|
-
.replace(/\r?\n/g, '^$&')
|
|
117
|
+
.replace(/\r?\n/g, '^$&')}"`;
|
|
118
118
|
},
|
|
119
119
|
};
|
|
120
120
|
exports.PowershellQuotingFunctions = {
|
|
@@ -124,23 +124,23 @@ exports.PowershellQuotingFunctions = {
|
|
|
124
124
|
strong: '\'',
|
|
125
125
|
weak: '"',
|
|
126
126
|
},
|
|
127
|
-
escape
|
|
127
|
+
escape(arg) {
|
|
128
128
|
return arg.replace(/[`|{}()<>;"' ]/g, '`$&');
|
|
129
129
|
},
|
|
130
|
-
strong
|
|
130
|
+
strong(arg) {
|
|
131
131
|
// In powershell, one must write ('') for a single quote to be displayed
|
|
132
132
|
// within a single quoted string.
|
|
133
|
-
return
|
|
134
|
-
.replace(/'/g, '\'\'')
|
|
133
|
+
return `'${arg
|
|
134
|
+
.replace(/'/g, '\'\'')}'`;
|
|
135
135
|
},
|
|
136
|
-
weak
|
|
137
|
-
return "
|
|
136
|
+
weak(arg) {
|
|
137
|
+
return `"${arg
|
|
138
138
|
// Escape escape-characters.
|
|
139
139
|
.replace(/`"/g, '``"')
|
|
140
140
|
// Escape user-specified backticks.
|
|
141
141
|
.replace(/"/g, '`"')
|
|
142
142
|
// Escape trailing (`), we don't want the user to escape our last quote.
|
|
143
|
-
.replace(/`$/g, '``')
|
|
143
|
+
.replace(/`$/g, '``')}"`;
|
|
144
144
|
},
|
|
145
145
|
};
|
|
146
146
|
//# sourceMappingURL=shell-quoting.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-quoting.js","sourceRoot":"","sources":["../../src/common/shell-quoting.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AA8FlF;;;;;;;;;;;GAWG;AACH,SAAgB,sBAAsB,CAAC,IAAuC,EAAE,gBAAwC;IACpH,OAAO,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"shell-quoting.js","sourceRoot":"","sources":["../../src/common/shell-quoting.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,29 +14,17 @@
|
|
|
14
14
|
*
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
********************************************************************************/
|
|
17
|
-
var __values = (this && this.__values) || function(o) {
|
|
18
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
19
|
-
if (m) return m.call(o);
|
|
20
|
-
if (o && typeof o.length === "number") return {
|
|
21
|
-
next: function () {
|
|
22
|
-
if (o && i >= o.length) o = void 0;
|
|
23
|
-
return { value: o && o[i++], done: !o };
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
27
|
-
};
|
|
28
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
describe('Shell arguments escaping:',
|
|
32
|
-
var _a, _b, _c, e_1, _d;
|
|
18
|
+
const chai_1 = require("chai");
|
|
19
|
+
const shell_quoting_1 = require("./shell-quoting");
|
|
20
|
+
describe('Shell arguments escaping:', () => {
|
|
33
21
|
// Procedurally execute tests from this list of data.
|
|
34
|
-
|
|
22
|
+
const testData = {
|
|
35
23
|
bash: {
|
|
36
24
|
// https://www.gnu.org/software/bash/manual/html_node/Quoting.html
|
|
37
25
|
quotingFunctions: shell_quoting_1.BashQuotingFunctions,
|
|
38
|
-
data:
|
|
39
|
-
|
|
26
|
+
data: {
|
|
27
|
+
["escape" /* Escape */]: [
|
|
40
28
|
{ input: 'abc', expected: 'abc' },
|
|
41
29
|
{ input: 'ab c', expected: 'ab\\ c' },
|
|
42
30
|
{ input: 'ab"c', expected: 'ab\\"c' },
|
|
@@ -47,7 +35,7 @@ describe('Shell arguments escaping:', function () {
|
|
|
47
35
|
expected: 'setTimeout\\(\\(\\)\\ =\\>\\ \\{\\ console.log\\(1,\\ \\"2\\\'3\\"\\)\\;\\ \\},\\ 100\\)',
|
|
48
36
|
},
|
|
49
37
|
],
|
|
50
|
-
|
|
38
|
+
["strong" /* Strong */]: [
|
|
51
39
|
{ input: 'abc', expected: '\'abc\'' },
|
|
52
40
|
{ input: 'ab c', expected: '\'ab c\'' },
|
|
53
41
|
{ input: 'ab"c', expected: '\'ab"c\'' },
|
|
@@ -58,7 +46,7 @@ describe('Shell arguments escaping:', function () {
|
|
|
58
46
|
expected: '\'setTimeout(() => { console.log(1, "2\'"\'"\'3"); }, 100)\'',
|
|
59
47
|
},
|
|
60
48
|
],
|
|
61
|
-
|
|
49
|
+
["weak" /* Weak */]: [
|
|
62
50
|
{ input: 'abc', expected: '"abc"' },
|
|
63
51
|
{ input: 'ab c', expected: '"ab c"' },
|
|
64
52
|
{ input: 'ab"c', expected: '"ab\\"c"' },
|
|
@@ -68,14 +56,14 @@ describe('Shell arguments escaping:', function () {
|
|
|
68
56
|
input: 'setTimeout(() => { console.log(1, "2\'3"); }, 100)',
|
|
69
57
|
expected: '"setTimeout(() => { console.log(1, \\"2\'3\\"); }, 100)"',
|
|
70
58
|
},
|
|
71
|
-
]
|
|
72
|
-
|
|
59
|
+
]
|
|
60
|
+
},
|
|
73
61
|
},
|
|
74
62
|
cmd: {
|
|
75
63
|
// https://ss64.com/nt/syntax-esc.html
|
|
76
64
|
quotingFunctions: shell_quoting_1.CmdQuotingFunctions,
|
|
77
|
-
data:
|
|
78
|
-
|
|
65
|
+
data: {
|
|
66
|
+
["escape" /* Escape */]: [
|
|
79
67
|
{ input: 'abc', expected: 'abc' },
|
|
80
68
|
{ input: 'ab c', expected: 'ab" "c' },
|
|
81
69
|
{ input: 'ab"c', expected: 'ab\\"c' },
|
|
@@ -90,7 +78,7 @@ describe('Shell arguments escaping:', function () {
|
|
|
90
78
|
expected: 'console.log^(\\"^%PATH^%\\"^)',
|
|
91
79
|
},
|
|
92
80
|
],
|
|
93
|
-
|
|
81
|
+
["strong" /* Strong */]: [
|
|
94
82
|
{ input: 'abc', expected: '"abc"' },
|
|
95
83
|
{ input: 'ab c', expected: '"ab c"' },
|
|
96
84
|
{ input: 'ab"c', expected: '"ab\\"c"' },
|
|
@@ -105,7 +93,7 @@ describe('Shell arguments escaping:', function () {
|
|
|
105
93
|
expected: '"console.log^(\\""%"PATH"%"\\"^)"',
|
|
106
94
|
},
|
|
107
95
|
],
|
|
108
|
-
|
|
96
|
+
["weak" /* Weak */]: [
|
|
109
97
|
{ input: 'abc', expected: '"abc"' },
|
|
110
98
|
{ input: 'ab c', expected: '"ab c"' },
|
|
111
99
|
{ input: 'ab"c', expected: '"ab\\"c"' },
|
|
@@ -119,14 +107,14 @@ describe('Shell arguments escaping:', function () {
|
|
|
119
107
|
input: 'console.log("%PATH%")',
|
|
120
108
|
expected: '"console.log^(\\"%PATH%\\"^)"',
|
|
121
109
|
},
|
|
122
|
-
]
|
|
123
|
-
|
|
110
|
+
]
|
|
111
|
+
},
|
|
124
112
|
},
|
|
125
113
|
powershell: {
|
|
126
114
|
// https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-6
|
|
127
115
|
quotingFunctions: shell_quoting_1.PowershellQuotingFunctions,
|
|
128
|
-
data:
|
|
129
|
-
|
|
116
|
+
data: {
|
|
117
|
+
["escape" /* Escape */]: [
|
|
130
118
|
{ input: 'abc', expected: 'abc' },
|
|
131
119
|
{ input: 'ab c', expected: 'ab` c' },
|
|
132
120
|
{ input: 'ab"c', expected: 'ab`"c' },
|
|
@@ -137,7 +125,7 @@ describe('Shell arguments escaping:', function () {
|
|
|
137
125
|
expected: 'setTimeout`(`(`)` =`>` `{` console.log`(1,` `"2`\'3`"`)`;` `},` 100`)',
|
|
138
126
|
},
|
|
139
127
|
],
|
|
140
|
-
|
|
128
|
+
["strong" /* Strong */]: [
|
|
141
129
|
{ input: 'abc', expected: '\'abc\'' },
|
|
142
130
|
{ input: 'ab c', expected: '\'ab c\'' },
|
|
143
131
|
{ input: 'ab"c', expected: '\'ab"c\'' },
|
|
@@ -148,7 +136,7 @@ describe('Shell arguments escaping:', function () {
|
|
|
148
136
|
expected: '\'setTimeout(() => { console.log(1, "2\'\'3"); }, 100)\'',
|
|
149
137
|
},
|
|
150
138
|
],
|
|
151
|
-
|
|
139
|
+
["weak" /* Weak */]: [
|
|
152
140
|
{ input: 'abc', expected: '"abc"' },
|
|
153
141
|
{ input: 'ab c', expected: '"ab c"' },
|
|
154
142
|
{ input: 'ab"c', expected: '"ab`"c"' },
|
|
@@ -158,64 +146,26 @@ describe('Shell arguments escaping:', function () {
|
|
|
158
146
|
input: 'setTimeout(() => { console.log(1, "2\'3"); }, 100)',
|
|
159
147
|
expected: '"setTimeout(() => { console.log(1, `"2\'3`"); }, 100)"',
|
|
160
148
|
},
|
|
161
|
-
]
|
|
162
|
-
|
|
149
|
+
]
|
|
150
|
+
},
|
|
163
151
|
}
|
|
164
152
|
};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
153
|
+
// Iter through each runtime (bash/cmd/powershell):
|
|
154
|
+
for (const runtime of Object.keys(testData)) {
|
|
155
|
+
const testInfo = testData[runtime];
|
|
156
|
+
// Get all quoting types (escape/strong/weak):
|
|
157
|
+
for (const quotingType of Object.keys(testInfo.data)) {
|
|
158
|
+
const testInput = testInfo.data[quotingType];
|
|
170
159
|
// Run the test for each input:
|
|
171
|
-
it(runtime
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
quoting: quotingType,
|
|
178
|
-
value: test_1.input,
|
|
179
|
-
}, testInfo.quotingFunctions)).equal(test_1.expected);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
183
|
-
finally {
|
|
184
|
-
try {
|
|
185
|
-
if (testInput_1_1 && !testInput_1_1.done && (_a = testInput_1.return)) _a.call(testInput_1);
|
|
186
|
-
}
|
|
187
|
-
finally { if (e_3) throw e_3.error; }
|
|
160
|
+
it(`${runtime}/${quotingType}`, () => {
|
|
161
|
+
for (const test of testInput) {
|
|
162
|
+
chai_1.expect(shell_quoting_1.escapeForShell({
|
|
163
|
+
quoting: quotingType,
|
|
164
|
+
value: test.input,
|
|
165
|
+
}, testInfo.quotingFunctions)).equal(test.expected);
|
|
188
166
|
}
|
|
189
167
|
});
|
|
190
|
-
};
|
|
191
|
-
try {
|
|
192
|
-
// Get all quoting types (escape/strong/weak):
|
|
193
|
-
for (var _b = (e_2 = void 0, __values(Object.keys(testInfo.data))), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
194
|
-
var quotingType = _c.value;
|
|
195
|
-
_loop_2(quotingType);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
199
|
-
finally {
|
|
200
|
-
try {
|
|
201
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
202
|
-
}
|
|
203
|
-
finally { if (e_2) throw e_2.error; }
|
|
204
|
-
}
|
|
205
|
-
};
|
|
206
|
-
try {
|
|
207
|
-
// Iter through each runtime (bash/cmd/powershell):
|
|
208
|
-
for (var _e = __values(Object.keys(testData)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
209
|
-
var runtime = _f.value;
|
|
210
|
-
_loop_1(runtime);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
214
|
-
finally {
|
|
215
|
-
try {
|
|
216
|
-
if (_f && !_f.done && (_d = _e.return)) _d.call(_e);
|
|
217
168
|
}
|
|
218
|
-
finally { if (e_1) throw e_1.error; }
|
|
219
169
|
}
|
|
220
170
|
});
|
|
221
171
|
//# sourceMappingURL=shell-quoting.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-quoting.spec.js","sourceRoot":"","sources":["../../src/common/shell-quoting.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF
|
|
1
|
+
{"version":3,"file":"shell-quoting.spec.js","sourceRoot":"","sources":["../../src/common/shell-quoting.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,46 +14,29 @@
|
|
|
14
14
|
*
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
********************************************************************************/
|
|
17
|
-
var __extends = (this && this.__extends) || (function () {
|
|
18
|
-
var extendStatics = function (d, b) {
|
|
19
|
-
extendStatics = Object.setPrototypeOf ||
|
|
20
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
21
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
22
|
-
return extendStatics(d, b);
|
|
23
|
-
};
|
|
24
|
-
return function (d, b) {
|
|
25
|
-
extendStatics(d, b);
|
|
26
|
-
function __() { this.constructor = d; }
|
|
27
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
28
|
-
};
|
|
29
|
-
})();
|
|
30
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
18
|
exports.DevNullStream = void 0;
|
|
32
|
-
|
|
19
|
+
const stream = require("stream");
|
|
33
20
|
/**
|
|
34
21
|
* A Node stream like `/dev/null`.
|
|
35
22
|
*
|
|
36
23
|
* Writing goes to a black hole, reading returns `EOF`.
|
|
37
24
|
*/
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (options === void 0) { options = {}; }
|
|
42
|
-
var _this = _super.call(this) || this;
|
|
25
|
+
class DevNullStream extends stream.Duplex {
|
|
26
|
+
constructor(options = {}) {
|
|
27
|
+
super();
|
|
43
28
|
if (options.autoDestroy) {
|
|
44
|
-
|
|
29
|
+
this.destroy();
|
|
45
30
|
}
|
|
46
|
-
return _this;
|
|
47
31
|
}
|
|
48
32
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
|
-
|
|
33
|
+
_write(chunk, encoding, callback) {
|
|
50
34
|
callback();
|
|
51
|
-
}
|
|
52
|
-
|
|
35
|
+
}
|
|
36
|
+
_read(size) {
|
|
53
37
|
// eslint-disable-next-line no-null/no-null
|
|
54
38
|
this.push(null);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
}(stream.Duplex));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
58
41
|
exports.DevNullStream = DevNullStream;
|
|
59
42
|
//# sourceMappingURL=dev-null-stream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-null-stream.js","sourceRoot":"","sources":["../../src/node/dev-null-stream.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF
|
|
1
|
+
{"version":3,"file":"dev-null-stream.js","sourceRoot":"","sources":["../../src/node/dev-null-stream.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,iCAAkC;AAElC;;;;GAIG;AACH,MAAa,aAAc,SAAQ,MAAM,CAAC,MAAM;IAE5C,YAAY,UAKR,EAAE;QACF,KAAK,EAAE,CAAC;QACR,IAAI,OAAO,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;IACL,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,KAAU,EAAE,QAAgB,EAAE,QAA+B;QAChE,QAAQ,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAY;QACd,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;CACJ;AAvBD,sCAuBC"}
|
|
@@ -14,19 +14,6 @@
|
|
|
14
14
|
*
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
********************************************************************************/
|
|
17
|
-
var __extends = (this && this.__extends) || (function () {
|
|
18
|
-
var extendStatics = function (d, b) {
|
|
19
|
-
extendStatics = Object.setPrototypeOf ||
|
|
20
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
21
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
22
|
-
return extendStatics(d, b);
|
|
23
|
-
};
|
|
24
|
-
return function (d, b) {
|
|
25
|
-
extendStatics(d, b);
|
|
26
|
-
function __() { this.constructor = d; }
|
|
27
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
28
|
-
};
|
|
29
|
-
})();
|
|
30
17
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
31
18
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
32
19
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -39,37 +26,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
39
26
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
40
27
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
41
28
|
};
|
|
42
|
-
var __values = (this && this.__values) || function(o) {
|
|
43
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
44
|
-
if (m) return m.call(o);
|
|
45
|
-
if (o && typeof o.length === "number") return {
|
|
46
|
-
next: function () {
|
|
47
|
-
if (o && i >= o.length) o = void 0;
|
|
48
|
-
return { value: o && o[i++], done: !o };
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
52
|
-
};
|
|
53
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
54
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
55
|
-
if (!m) return o;
|
|
56
|
-
var i = m.call(o), r, ar = [], e;
|
|
57
|
-
try {
|
|
58
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
59
|
-
}
|
|
60
|
-
catch (error) { e = { error: error }; }
|
|
61
|
-
finally {
|
|
62
|
-
try {
|
|
63
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
64
|
-
}
|
|
65
|
-
finally { if (e) throw e.error; }
|
|
66
|
-
}
|
|
67
|
-
return ar;
|
|
68
|
-
};
|
|
69
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
70
30
|
exports.MultiRingBuffer = exports.MultiRingBufferOptions = exports.MultiRingBufferReadableStream = void 0;
|
|
71
|
-
|
|
72
|
-
|
|
31
|
+
const stream = require("stream");
|
|
32
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
73
33
|
/**
|
|
74
34
|
* The MultiRingBuffer is a ring buffer implementation that allows
|
|
75
35
|
* multiple independent readers.
|
|
@@ -77,56 +37,52 @@ var inversify_1 = require("@theia/core/shared/inversify");
|
|
|
77
37
|
* These readers are created using the getReader or getStream functions
|
|
78
38
|
* to create a reader that can be read using deq() or one that is a readable stream.
|
|
79
39
|
*/
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
_this.disposed = false;
|
|
90
|
-
_this.setEncoding(encoding);
|
|
91
|
-
return _this;
|
|
40
|
+
class MultiRingBufferReadableStream extends stream.Readable {
|
|
41
|
+
constructor(ringBuffer, reader, encoding = 'utf8') {
|
|
42
|
+
super();
|
|
43
|
+
this.ringBuffer = ringBuffer;
|
|
44
|
+
this.reader = reader;
|
|
45
|
+
this.encoding = encoding;
|
|
46
|
+
this.more = false;
|
|
47
|
+
this.disposed = false;
|
|
48
|
+
this.setEncoding(encoding);
|
|
92
49
|
}
|
|
93
|
-
|
|
50
|
+
_read(size) {
|
|
94
51
|
this.more = true;
|
|
95
52
|
this.deq(size);
|
|
96
|
-
}
|
|
97
|
-
|
|
53
|
+
}
|
|
54
|
+
_destroy(err, callback) {
|
|
98
55
|
this.ringBuffer.closeStream(this);
|
|
99
56
|
this.ringBuffer.closeReader(this.reader);
|
|
100
57
|
this.disposed = true;
|
|
101
58
|
this.removeAllListeners();
|
|
102
59
|
callback(err);
|
|
103
|
-
}
|
|
104
|
-
|
|
60
|
+
}
|
|
61
|
+
onData() {
|
|
105
62
|
if (this.more === true) {
|
|
106
63
|
this.deq(-1);
|
|
107
64
|
}
|
|
108
|
-
}
|
|
109
|
-
|
|
65
|
+
}
|
|
66
|
+
deq(size) {
|
|
110
67
|
if (this.disposed === true) {
|
|
111
68
|
return;
|
|
112
69
|
}
|
|
113
|
-
|
|
70
|
+
let buffer = undefined;
|
|
114
71
|
do {
|
|
115
72
|
buffer = this.ringBuffer.deq(this.reader, size, this.encoding);
|
|
116
73
|
if (buffer !== undefined) {
|
|
117
74
|
this.more = this.push(buffer, this.encoding);
|
|
118
75
|
}
|
|
119
76
|
} while (buffer !== undefined && this.more === true && this.disposed === false);
|
|
120
|
-
}
|
|
121
|
-
|
|
77
|
+
}
|
|
78
|
+
dispose() {
|
|
122
79
|
this.destroy();
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
}(stream.Readable));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
126
82
|
exports.MultiRingBufferReadableStream = MultiRingBufferReadableStream;
|
|
127
83
|
exports.MultiRingBufferOptions = Symbol('MultiRingBufferOptions');
|
|
128
|
-
|
|
129
|
-
|
|
84
|
+
let MultiRingBuffer = class MultiRingBuffer {
|
|
85
|
+
constructor(options) {
|
|
130
86
|
this.options = options;
|
|
131
87
|
this.head = -1;
|
|
132
88
|
this.tail = -1;
|
|
@@ -142,9 +98,8 @@ var MultiRingBuffer = /** @class */ (function () {
|
|
|
142
98
|
this.readers = new Map();
|
|
143
99
|
this.streams = new Map();
|
|
144
100
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
var buffer = Buffer.from(str, encoding);
|
|
101
|
+
enq(str, encoding = 'utf8') {
|
|
102
|
+
let buffer = Buffer.from(str, encoding);
|
|
148
103
|
// Take the last elements of string if it's too big, drop the rest
|
|
149
104
|
if (buffer.length > this.maxSize) {
|
|
150
105
|
buffer = buffer.slice(buffer.length - this.maxSize);
|
|
@@ -161,7 +116,7 @@ var MultiRingBuffer = /** @class */ (function () {
|
|
|
161
116
|
this.onData(0);
|
|
162
117
|
return;
|
|
163
118
|
}
|
|
164
|
-
|
|
119
|
+
const startHead = this.inc(this.head, 1).newPos;
|
|
165
120
|
if (this.inc(startHead, buffer.length).wrap === true) {
|
|
166
121
|
buffer.copy(this.buffer, startHead, 0, this.maxSize - startHead);
|
|
167
122
|
buffer.copy(this.buffer, 0, this.maxSize - startHead);
|
|
@@ -172,71 +127,48 @@ var MultiRingBuffer = /** @class */ (function () {
|
|
|
172
127
|
this.incTails(buffer.length);
|
|
173
128
|
this.head = this.inc(this.head, buffer.length).newPos;
|
|
174
129
|
this.onData(startHead);
|
|
175
|
-
}
|
|
176
|
-
|
|
130
|
+
}
|
|
131
|
+
getReader() {
|
|
177
132
|
this.readers.set(this.readerId, this.tail);
|
|
178
133
|
return this.readerId++;
|
|
179
|
-
}
|
|
180
|
-
|
|
134
|
+
}
|
|
135
|
+
closeReader(id) {
|
|
181
136
|
this.readers.delete(id);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
137
|
+
}
|
|
138
|
+
getStream(encoding) {
|
|
139
|
+
const reader = this.getReader();
|
|
140
|
+
const readableStream = new MultiRingBufferReadableStream(this, reader, encoding);
|
|
186
141
|
this.streams.set(readableStream, reader);
|
|
187
142
|
return readableStream;
|
|
188
|
-
}
|
|
189
|
-
|
|
143
|
+
}
|
|
144
|
+
closeStream(readableStream) {
|
|
190
145
|
this.streams.delete(readableStream);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
var _e = __read(_d.value, 2), id = _e[0], pos = _e[1];
|
|
199
|
-
if (pos === -1) {
|
|
200
|
-
this.readers.set(id, start);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
205
|
-
finally {
|
|
206
|
-
try {
|
|
207
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
146
|
+
}
|
|
147
|
+
onData(start) {
|
|
148
|
+
/* Any stream that has read everything already
|
|
149
|
+
* Should go back to the last buffer in start offset */
|
|
150
|
+
for (const [id, pos] of this.readers) {
|
|
151
|
+
if (pos === -1) {
|
|
152
|
+
this.readers.set(id, start);
|
|
208
153
|
}
|
|
209
|
-
finally { if (e_1) throw e_1.error; }
|
|
210
154
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
var _h = __read(_g.value, 1), readableStream = _h[0];
|
|
215
|
-
readableStream.onData();
|
|
216
|
-
}
|
|
155
|
+
/* Notify the streams there's new data. */
|
|
156
|
+
for (const [readableStream] of this.streams) {
|
|
157
|
+
readableStream.onData();
|
|
217
158
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
|
|
222
|
-
}
|
|
223
|
-
finally { if (e_2) throw e_2.error; }
|
|
224
|
-
}
|
|
225
|
-
};
|
|
226
|
-
MultiRingBuffer.prototype.deq = function (id, size, encoding) {
|
|
227
|
-
if (size === void 0) { size = -1; }
|
|
228
|
-
if (encoding === void 0) { encoding = 'utf8'; }
|
|
229
|
-
var pos = this.readers.get(id);
|
|
159
|
+
}
|
|
160
|
+
deq(id, size = -1, encoding = 'utf8') {
|
|
161
|
+
const pos = this.readers.get(id);
|
|
230
162
|
if (pos === undefined || pos === -1) {
|
|
231
163
|
return undefined;
|
|
232
164
|
}
|
|
233
165
|
if (size === 0) {
|
|
234
166
|
return undefined;
|
|
235
167
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
168
|
+
let buffer = '';
|
|
169
|
+
const maxDeqSize = this.sizeForReader(id);
|
|
170
|
+
const wrapped = this.isWrapped(pos, this.head);
|
|
171
|
+
let deqSize;
|
|
240
172
|
if (size === -1) {
|
|
241
173
|
deqSize = maxDeqSize;
|
|
242
174
|
}
|
|
@@ -249,7 +181,7 @@ var MultiRingBuffer = /** @class */ (function () {
|
|
|
249
181
|
else { // wrap
|
|
250
182
|
buffer = buffer.concat(this.buffer.toString(encoding, pos, this.maxSize), this.buffer.toString(encoding, 0, deqSize - (this.maxSize - pos)));
|
|
251
183
|
}
|
|
252
|
-
|
|
184
|
+
const lastIndex = this.inc(pos, deqSize - 1).newPos;
|
|
253
185
|
// everything is read
|
|
254
186
|
if (lastIndex === this.head) {
|
|
255
187
|
this.readers.set(id, -1);
|
|
@@ -258,26 +190,26 @@ var MultiRingBuffer = /** @class */ (function () {
|
|
|
258
190
|
this.readers.set(id, this.inc(pos, deqSize).newPos);
|
|
259
191
|
}
|
|
260
192
|
return buffer;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
|
|
193
|
+
}
|
|
194
|
+
sizeForReader(id) {
|
|
195
|
+
const pos = this.readers.get(id);
|
|
264
196
|
if (pos === undefined) {
|
|
265
197
|
return 0;
|
|
266
198
|
}
|
|
267
199
|
return this.sizeFrom(pos, this.head, this.isWrapped(pos, this.head));
|
|
268
|
-
}
|
|
269
|
-
|
|
200
|
+
}
|
|
201
|
+
size() {
|
|
270
202
|
return this.sizeFrom(this.tail, this.head, this.isWrapped(this.tail, this.head));
|
|
271
|
-
}
|
|
272
|
-
|
|
203
|
+
}
|
|
204
|
+
isWrapped(from, to) {
|
|
273
205
|
if (to < from) {
|
|
274
206
|
return true;
|
|
275
207
|
}
|
|
276
208
|
else {
|
|
277
209
|
return false;
|
|
278
210
|
}
|
|
279
|
-
}
|
|
280
|
-
|
|
211
|
+
}
|
|
212
|
+
sizeFrom(from, to, wrap) {
|
|
281
213
|
if (from === -1 || to === -1) {
|
|
282
214
|
return 0;
|
|
283
215
|
}
|
|
@@ -289,52 +221,41 @@ var MultiRingBuffer = /** @class */ (function () {
|
|
|
289
221
|
return to + 1 + this.maxSize - from;
|
|
290
222
|
}
|
|
291
223
|
}
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
|
|
224
|
+
}
|
|
225
|
+
emptyForReader(id) {
|
|
226
|
+
const pos = this.readers.get(id);
|
|
295
227
|
if (pos === undefined || pos === -1) {
|
|
296
228
|
return true;
|
|
297
229
|
}
|
|
298
230
|
else {
|
|
299
231
|
return false;
|
|
300
232
|
}
|
|
301
|
-
}
|
|
302
|
-
|
|
233
|
+
}
|
|
234
|
+
empty() {
|
|
303
235
|
if (this.head === -1 && this.tail === -1) {
|
|
304
236
|
return true;
|
|
305
237
|
}
|
|
306
238
|
else {
|
|
307
239
|
return false;
|
|
308
240
|
}
|
|
309
|
-
}
|
|
310
|
-
|
|
241
|
+
}
|
|
242
|
+
streamsSize() {
|
|
311
243
|
return this.streams.size;
|
|
312
|
-
}
|
|
313
|
-
|
|
244
|
+
}
|
|
245
|
+
readersSize() {
|
|
314
246
|
return this.readers.size;
|
|
315
|
-
}
|
|
247
|
+
}
|
|
316
248
|
/**
|
|
317
249
|
* Dispose all the attached readers/streams.
|
|
318
250
|
*/
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
for (var _b = __values(this.streams.keys()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
323
|
-
var readableStream = _c.value;
|
|
324
|
-
readableStream.dispose();
|
|
325
|
-
}
|
|
251
|
+
dispose() {
|
|
252
|
+
for (const readableStream of this.streams.keys()) {
|
|
253
|
+
readableStream.dispose();
|
|
326
254
|
}
|
|
327
|
-
|
|
328
|
-
finally {
|
|
329
|
-
try {
|
|
330
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
331
|
-
}
|
|
332
|
-
finally { if (e_3) throw e_3.error; }
|
|
333
|
-
}
|
|
334
|
-
};
|
|
255
|
+
}
|
|
335
256
|
/* Position should be incremented if it goes pass end. */
|
|
336
|
-
|
|
337
|
-
|
|
257
|
+
shouldIncPos(pos, end, size) {
|
|
258
|
+
const { newPos: newHead, wrap } = this.inc(end, size);
|
|
338
259
|
/* Tail Head */
|
|
339
260
|
if (this.isWrapped(pos, end) === false) {
|
|
340
261
|
// Head needs to wrap to push the tail
|
|
@@ -349,54 +270,42 @@ var MultiRingBuffer = /** @class */ (function () {
|
|
|
349
270
|
}
|
|
350
271
|
}
|
|
351
272
|
return false;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
|
|
273
|
+
}
|
|
274
|
+
incTailSize(pos, head, size) {
|
|
275
|
+
const { newPos: newHead } = this.inc(head, size);
|
|
355
276
|
/* New tail is 1 past newHead. */
|
|
356
277
|
return this.inc(newHead, 1);
|
|
357
|
-
}
|
|
358
|
-
|
|
278
|
+
}
|
|
279
|
+
incTail(pos, size) {
|
|
359
280
|
if (this.shouldIncPos(pos, this.head, size) === false) {
|
|
360
281
|
return { newPos: pos, wrap: false };
|
|
361
282
|
}
|
|
362
283
|
return this.incTailSize(pos, this.head, size);
|
|
363
|
-
}
|
|
284
|
+
}
|
|
364
285
|
/* Increment the main tail and all the reader positions. */
|
|
365
|
-
|
|
366
|
-
var e_4, _a;
|
|
286
|
+
incTails(size) {
|
|
367
287
|
this.tail = this.incTail(this.tail, size).newPos;
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
if (this.shouldIncPos(pos, this.tail, size) === true) {
|
|
373
|
-
this.readers.set(id, this.tail);
|
|
374
|
-
}
|
|
288
|
+
for (const [id, pos] of this.readers) {
|
|
289
|
+
if (pos !== -1) {
|
|
290
|
+
if (this.shouldIncPos(pos, this.tail, size) === true) {
|
|
291
|
+
this.readers.set(id, this.tail);
|
|
375
292
|
}
|
|
376
293
|
}
|
|
377
294
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
try {
|
|
381
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
382
|
-
}
|
|
383
|
-
finally { if (e_4) throw e_4.error; }
|
|
384
|
-
}
|
|
385
|
-
};
|
|
386
|
-
MultiRingBuffer.prototype.inc = function (pos, size) {
|
|
295
|
+
}
|
|
296
|
+
inc(pos, size) {
|
|
387
297
|
if (size === 0) {
|
|
388
298
|
return { newPos: pos, wrap: false };
|
|
389
299
|
}
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
return { newPos
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
}());
|
|
300
|
+
const newPos = (pos + size) % this.maxSize;
|
|
301
|
+
const wrap = newPos <= pos;
|
|
302
|
+
return { newPos, wrap };
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
MultiRingBuffer = __decorate([
|
|
306
|
+
inversify_1.injectable(),
|
|
307
|
+
__param(0, inversify_1.inject(exports.MultiRingBufferOptions)),
|
|
308
|
+
__metadata("design:paramtypes", [Object])
|
|
309
|
+
], MultiRingBuffer);
|
|
401
310
|
exports.MultiRingBuffer = MultiRingBuffer;
|
|
402
311
|
//# sourceMappingURL=multi-ring-buffer.js.map
|