@poe-platform/safe-bash 0.1.527 → 0.1.529
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/dist/safe-bash/core.browser.js +511 -55
- package/dist/safe-bash/core.browser.js.map +4 -4
- package/dist/safe-bash/shell/arrays/bindings.d.ts +15 -2
- package/dist/safe-bash/shell/arrays/bindings.d.ts.map +1 -1
- package/dist/safe-bash/shell/arrays/bindings.js +118 -5
- package/dist/safe-bash/shell/arrays/bindings.js.map +1 -1
- package/dist/safe-bash/shell/arrays/syntax.d.ts +5 -2
- package/dist/safe-bash/shell/arrays/syntax.d.ts.map +1 -1
- package/dist/safe-bash/shell/arrays/syntax.js +19 -6
- package/dist/safe-bash/shell/arrays/syntax.js.map +1 -1
- package/dist/safe-bash/shell/input.d.ts +4 -0
- package/dist/safe-bash/shell/input.d.ts.map +1 -1
- package/dist/safe-bash/shell/input.js +53 -0
- package/dist/safe-bash/shell/input.js.map +1 -1
- package/dist/safe-bash/shell/mapfile.d.ts +29 -0
- package/dist/safe-bash/shell/mapfile.d.ts.map +1 -0
- package/dist/safe-bash/shell/mapfile.js +134 -0
- package/dist/safe-bash/shell/mapfile.js.map +1 -0
- package/dist/safe-bash/shell/parser.d.ts +2 -0
- package/dist/safe-bash/shell/parser.d.ts.map +1 -1
- package/dist/safe-bash/shell/parser.js +14 -5
- package/dist/safe-bash/shell/parser.js.map +1 -1
- package/dist/safe-bash/shell/runtime.d.ts +4 -2
- package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
- package/dist/safe-bash/shell/runtime.js +255 -42
- package/dist/safe-bash/shell/runtime.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,30 +1,43 @@
|
|
|
1
1
|
import { Admission, ArrayOwner } from "./ledger.js";
|
|
2
2
|
import type { Tickets } from "./ledger.js";
|
|
3
|
+
import { type ShellValue } from "../../contracts/value.js";
|
|
3
4
|
export declare const controlNames: ReadonlySet<string>;
|
|
4
5
|
export declare class OwnedText {
|
|
5
6
|
readonly value: string;
|
|
6
7
|
readonly bytes: number;
|
|
7
8
|
readonly admission: Admission;
|
|
9
|
+
readonly rawValue?: ShellValue | undefined;
|
|
8
10
|
references: number;
|
|
9
|
-
constructor(value: string, bytes: number, admission: Admission);
|
|
11
|
+
constructor(value: string, bytes: number, admission: Admission, rawValue?: ShellValue | undefined);
|
|
10
12
|
retain(): this;
|
|
11
13
|
release(): void;
|
|
12
14
|
}
|
|
13
15
|
export declare function textToken(owner: ArrayOwner, value: string, signal: AbortSignal): Promise<OwnedText>;
|
|
16
|
+
export declare function valueToken(owner: ArrayOwner, value: ShellValue, signal: AbortSignal): Promise<OwnedText>;
|
|
14
17
|
export interface Element {
|
|
15
18
|
readonly text: OwnedText;
|
|
16
19
|
readonly slot: Admission;
|
|
17
20
|
}
|
|
18
21
|
export declare class IndexedBinding {
|
|
19
22
|
readonly owner: ArrayOwner;
|
|
23
|
+
readonly associative: boolean;
|
|
20
24
|
readonly values: Map<number, Element>;
|
|
25
|
+
readonly keys: Map<string, {
|
|
26
|
+
index: number;
|
|
27
|
+
text: OwnedText;
|
|
28
|
+
admission: Admission;
|
|
29
|
+
}>;
|
|
30
|
+
readonly keyByIndex: Map<number, string>;
|
|
21
31
|
maximum: number;
|
|
22
32
|
generation: number;
|
|
23
33
|
version: number;
|
|
24
34
|
references: number;
|
|
25
35
|
assigned: boolean;
|
|
26
36
|
private constructor();
|
|
27
|
-
static create(parent: ArrayOwner): IndexedBinding;
|
|
37
|
+
static create(parent: ArrayOwner, associative?: boolean): IndexedBinding;
|
|
38
|
+
keyIdentity(value: ShellValue, owner: ArrayOwner, signal: AbortSignal): Promise<string>;
|
|
39
|
+
keyIndex(value: ShellValue, owner: ArrayOwner, signal: AbortSignal, create?: boolean): Promise<number | undefined>;
|
|
40
|
+
remove(index: number): void;
|
|
28
41
|
get(index: number): string | undefined;
|
|
29
42
|
retain(): this;
|
|
30
43
|
release(): Promise<void> | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/shell/arrays/bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,UAAU,EAAY,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/shell/arrays/bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Admission, ArrayFailure, ArrayOwner, exactSum } from "./ledger.js";
|
|
2
|
+
import { shellValueByteLength, shellValueBytes, shellValueFromBytes, shellValueText } from "../../contracts/value.js";
|
|
2
3
|
export const controlNames = new Set([
|
|
3
4
|
"PATH", "PWD", "OLDPWD", "HOME", "CDPATH", "IFS", "OPTIND", "OPTERR", "OPTARG", "REPLY", "LANG", "LC_ALL", "LC_CTYPE",
|
|
4
5
|
]);
|
|
@@ -6,11 +7,13 @@ export class OwnedText {
|
|
|
6
7
|
value;
|
|
7
8
|
bytes;
|
|
8
9
|
admission;
|
|
10
|
+
rawValue;
|
|
9
11
|
references = 1;
|
|
10
|
-
constructor(value, bytes, admission) {
|
|
12
|
+
constructor(value, bytes, admission, rawValue) {
|
|
11
13
|
this.value = value;
|
|
12
14
|
this.bytes = bytes;
|
|
13
15
|
this.admission = admission;
|
|
16
|
+
this.rawValue = rawValue;
|
|
14
17
|
}
|
|
15
18
|
retain() {
|
|
16
19
|
if (this.references === Number.MAX_SAFE_INTEGER)
|
|
@@ -38,28 +41,124 @@ export async function textToken(owner, value, signal) {
|
|
|
38
41
|
const admission = owner.reserve({ payload: bytes, metadata: 32, work: 4 });
|
|
39
42
|
return new OwnedText(value, bytes, admission);
|
|
40
43
|
}
|
|
44
|
+
export async function valueToken(owner, value, signal) {
|
|
45
|
+
if (typeof value === "string")
|
|
46
|
+
return textToken(owner, value, signal);
|
|
47
|
+
const bytes = shellValueByteLength(value);
|
|
48
|
+
const temporary = owner.reserve({ payload: bytes * 3, metadata: 64, work: 4 });
|
|
49
|
+
try {
|
|
50
|
+
const input = shellValueBytes(value);
|
|
51
|
+
const decoder = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
|
|
52
|
+
let text = "";
|
|
53
|
+
for (let offset = 0; offset < bytes; offset += 1024) {
|
|
54
|
+
const end = Math.min(bytes, offset + 1024);
|
|
55
|
+
owner.reserve({ work: end - offset }).release();
|
|
56
|
+
await owner.ledger.checkpoint(signal, end - offset);
|
|
57
|
+
if (text !== undefined)
|
|
58
|
+
try {
|
|
59
|
+
text += decoder.decode(input.subarray(offset, end), { stream: end < bytes });
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (!(error instanceof TypeError) || "code" in error && error.code !== "ERR_ENCODING_INVALID_ENCODED_DATA")
|
|
63
|
+
throw error;
|
|
64
|
+
text = undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (text !== undefined)
|
|
68
|
+
return await textToken(owner, text, signal);
|
|
69
|
+
// Invalid UTF-8 needs an owned raw copy and its decoded projection.
|
|
70
|
+
const admission = owner.reserve({ payload: bytes * 4, metadata: 128, work: 4 });
|
|
71
|
+
try {
|
|
72
|
+
const raw = shellValueFromBytes(input);
|
|
73
|
+
return new OwnedText(shellValueText(raw), bytes, admission, raw);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
admission.release();
|
|
77
|
+
throw error;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
temporary.release();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
41
84
|
export class IndexedBinding {
|
|
42
85
|
owner;
|
|
86
|
+
associative;
|
|
43
87
|
values = new Map();
|
|
88
|
+
keys = new Map();
|
|
89
|
+
keyByIndex = new Map();
|
|
44
90
|
maximum = -1;
|
|
45
91
|
generation = 0;
|
|
46
92
|
version = 0;
|
|
47
93
|
references = 1;
|
|
48
94
|
assigned = false;
|
|
49
|
-
constructor(owner) {
|
|
95
|
+
constructor(owner, associative = false) {
|
|
50
96
|
this.owner = owner;
|
|
97
|
+
this.associative = associative;
|
|
51
98
|
}
|
|
52
|
-
static create(parent) {
|
|
99
|
+
static create(parent, associative = false) {
|
|
53
100
|
const owner = ArrayOwner.create(parent.ledger, parent);
|
|
54
101
|
try {
|
|
55
102
|
owner.reserve({ wrappers: 1, metadata: 128, work: 7 });
|
|
56
|
-
return new IndexedBinding(owner);
|
|
103
|
+
return new IndexedBinding(owner, associative);
|
|
57
104
|
}
|
|
58
105
|
catch (error) {
|
|
59
106
|
void owner.close();
|
|
60
107
|
throw error;
|
|
61
108
|
}
|
|
62
109
|
}
|
|
110
|
+
async keyIdentity(value, owner, signal) {
|
|
111
|
+
const length = shellValueByteLength(value);
|
|
112
|
+
if (!length)
|
|
113
|
+
throw new ArrayFailure("bad array subscript");
|
|
114
|
+
const admission = owner.reserve({ payload: length * 5, metadata: 64 + length * 16, work: length + 2 });
|
|
115
|
+
try {
|
|
116
|
+
const bytes = shellValueBytes(value);
|
|
117
|
+
const parts = [];
|
|
118
|
+
for (const byte of bytes) {
|
|
119
|
+
parts.push(byte.toString(16).padStart(2, "0"));
|
|
120
|
+
await owner.ledger.checkpoint(signal);
|
|
121
|
+
}
|
|
122
|
+
return parts.join("");
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
admission.release();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
async keyIndex(value, owner, signal, create = false) {
|
|
129
|
+
const identity = await this.keyIdentity(value, owner, signal);
|
|
130
|
+
const existing = this.keys.get(identity);
|
|
131
|
+
if (existing || !create)
|
|
132
|
+
return existing?.index;
|
|
133
|
+
const index = this.maximum + 1;
|
|
134
|
+
const admission = this.owner.reserve({ metadata: 128 + identity.length * 2, work: 8 });
|
|
135
|
+
let text;
|
|
136
|
+
try {
|
|
137
|
+
text = await valueToken(this.owner, value, signal);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
admission.release();
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
const entry = { index, text, admission };
|
|
144
|
+
admission.cleanup = () => {
|
|
145
|
+
if (this.keys.get(identity) === entry) {
|
|
146
|
+
this.keys.delete(identity);
|
|
147
|
+
this.keyByIndex.delete(index);
|
|
148
|
+
}
|
|
149
|
+
text.release();
|
|
150
|
+
};
|
|
151
|
+
this.keys.set(identity, entry);
|
|
152
|
+
this.keyByIndex.set(index, identity);
|
|
153
|
+
this.maximum = index;
|
|
154
|
+
return index;
|
|
155
|
+
}
|
|
156
|
+
remove(index) {
|
|
157
|
+
this.values.get(index)?.slot.release();
|
|
158
|
+
const identity = this.keyByIndex.get(index);
|
|
159
|
+
if (identity !== undefined)
|
|
160
|
+
this.keys.get(identity)?.admission.release();
|
|
161
|
+
}
|
|
63
162
|
get(index) { return this.values.get(index)?.text.value; }
|
|
64
163
|
retain() {
|
|
65
164
|
if (this.references === Number.MAX_SAFE_INTEGER)
|
|
@@ -88,13 +187,27 @@ export class IndexedBinding {
|
|
|
88
187
|
previous?.slot.release();
|
|
89
188
|
}
|
|
90
189
|
async copy(signal) {
|
|
91
|
-
const copy = IndexedBinding.create(this.owner.parent);
|
|
190
|
+
const copy = IndexedBinding.create(this.owner.parent, this.associative);
|
|
92
191
|
copy.assigned = this.assigned;
|
|
93
192
|
this.retain();
|
|
94
193
|
try {
|
|
194
|
+
for (const [identity, entry] of this.keys) {
|
|
195
|
+
const admission = copy.owner.reserve({ metadata: 128 + identity.length * 2, work: identity.length + 8 });
|
|
196
|
+
copy.owner.parent.adopt(entry.text.admission);
|
|
197
|
+
const text = entry.text.retain();
|
|
198
|
+
const cloned = { index: entry.index, text, admission };
|
|
199
|
+
admission.cleanup = () => { if (copy.keys.get(identity) === cloned) {
|
|
200
|
+
copy.keys.delete(identity);
|
|
201
|
+
copy.keyByIndex.delete(entry.index);
|
|
202
|
+
} text.release(); };
|
|
203
|
+
copy.keys.set(identity, cloned);
|
|
204
|
+
copy.keyByIndex.set(entry.index, identity);
|
|
205
|
+
await copy.owner.ledger.checkpoint(signal, identity.length + 8);
|
|
206
|
+
}
|
|
95
207
|
for (const [index, element] of this.values) {
|
|
96
208
|
copy.owner.reserve({ work: 2 }).release();
|
|
97
209
|
const slot = copy.owner.reserve({ slots: 1, metadata: 32, work: 5 });
|
|
210
|
+
copy.owner.parent.adopt(element.text.admission);
|
|
98
211
|
const text = element.text.retain();
|
|
99
212
|
const cloned = { text, slot };
|
|
100
213
|
slot.cleanup = () => { if (copy.values.get(index) === cloned)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../src/shell/arrays/bindings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../src/shell/arrays/bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import { ParseBudget } from "../parse-budget.js";
|
|
|
2
2
|
import type { Word, WordPart } from "../parser.js";
|
|
3
3
|
export interface LiteralIndex {
|
|
4
4
|
readonly decimal: string;
|
|
5
|
+
readonly source?: string;
|
|
6
|
+
readonly word?: Word;
|
|
5
7
|
}
|
|
6
8
|
export type ArraySelector = {
|
|
7
9
|
readonly kind: "element";
|
|
@@ -31,13 +33,14 @@ export declare function setQuoteMarker(part: WordPart, synthetic: boolean): void
|
|
|
31
33
|
export declare function isQuoteMarker(part: WordPart): boolean;
|
|
32
34
|
export declare function literalIndex(source: string, offset: number, budget?: ParseBudget): LiteralIndex;
|
|
33
35
|
export declare function numericIndex(index: LiteralIndex): number | undefined;
|
|
34
|
-
export declare function
|
|
36
|
+
export declare function stringIndex(source: string, budget: ParseBudget, word?: Word): LiteralIndex;
|
|
37
|
+
export declare function arraySelector(source: string, offset: number, budget?: ParseBudget, word?: Word): ArraySelector;
|
|
35
38
|
export declare function setArraySelector(part: WordPart, selector: ArraySelector): void;
|
|
36
39
|
export declare function getArraySelector(part: WordPart): ArraySelector | undefined;
|
|
37
40
|
export declare function copyArraySelector(original: WordPart, copy: WordPart): WordPart;
|
|
38
41
|
export declare function setArrayAssignment(word: Word, assignment: ArrayAssignment): void;
|
|
39
42
|
export declare function getArrayAssignment(word: Word): ArrayAssignment | undefined;
|
|
40
|
-
export declare function elementAssignment(word: Word, budget?: ParseBudget): Extract<ArrayAssignment, {
|
|
43
|
+
export declare function elementAssignment(word: Word, budget?: ParseBudget, parseWord?: (source: string) => Word, subscriptEnd?: (source: string, start: number) => number): Extract<ArrayAssignment, {
|
|
41
44
|
kind: "element";
|
|
42
45
|
}> | undefined;
|
|
43
46
|
export declare function compoundHead(word: Word, budget?: ParseBudget): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntax.d.ts","sourceRoot":"","sources":["../../../src/shell/arrays/syntax.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"syntax.d.ts","sourceRoot":"","sources":["../../../src/shell/arrays/syntax.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,15 +26,27 @@ export function literalIndex(source, offset, budget = new ParseBudget()) {
|
|
|
26
26
|
return { decimal };
|
|
27
27
|
}
|
|
28
28
|
export function numericIndex(index) {
|
|
29
|
+
if (index.source !== undefined) {
|
|
30
|
+
try {
|
|
31
|
+
return numericIndex(literalIndex(index.source, 0));
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
29
37
|
if (index.decimal.length > 10 || index.decimal.length === 10 && index.decimal > "2147483647")
|
|
30
38
|
return undefined;
|
|
31
39
|
return Number(index.decimal);
|
|
32
40
|
}
|
|
33
|
-
export function
|
|
41
|
+
export function stringIndex(source, budget, word) {
|
|
42
|
+
budget.admit(2);
|
|
43
|
+
return { decimal: source, source, ...(word ? { word } : {}) };
|
|
44
|
+
}
|
|
45
|
+
export function arraySelector(source, offset, budget = new ParseBudget(), word) {
|
|
34
46
|
budget.admit();
|
|
35
47
|
return source === "@" || source === "*"
|
|
36
48
|
? { kind: "members", separator: source }
|
|
37
|
-
: { kind: "element", index: literalIndex(source, offset, budget) };
|
|
49
|
+
: { kind: "element", index: word ? stringIndex(source, budget, word) : literalIndex(source, offset, budget) };
|
|
38
50
|
}
|
|
39
51
|
export function setArraySelector(part, selector) {
|
|
40
52
|
selectors.set(part, selector);
|
|
@@ -80,7 +92,7 @@ function removePrefix(word, length, budget) {
|
|
|
80
92
|
throw new ShellSyntaxError("Invalid indexed-array assignment", word.offset);
|
|
81
93
|
return { offset: word.offset, parts };
|
|
82
94
|
}
|
|
83
|
-
export function elementAssignment(word, budget = new ParseBudget()) {
|
|
95
|
+
export function elementAssignment(word, budget = new ParseBudget(), parseWord, subscriptEnd) {
|
|
84
96
|
const source = word.spelling;
|
|
85
97
|
const first = word.parts[0];
|
|
86
98
|
if (source === undefined || first?.kind !== "text" || first.quoted)
|
|
@@ -88,16 +100,17 @@ export function elementAssignment(word, budget = new ParseBudget()) {
|
|
|
88
100
|
const name = /^([a-zA-Z_][a-zA-Z_0-9]*)\[/u.exec(source)?.[1];
|
|
89
101
|
if (!name)
|
|
90
102
|
return undefined;
|
|
91
|
-
const end = source.indexOf("]", name.length + 1);
|
|
103
|
+
const end = subscriptEnd ? subscriptEnd(source, name.length + 1) : source.indexOf("]", name.length + 1);
|
|
92
104
|
if (end < 0 || !/^(?:\+?=)/u.test(source.slice(end + 1))) {
|
|
93
105
|
if (source.includes("="))
|
|
94
106
|
throw new ShellSyntaxError("Invalid indexed-array assignment", word.offset);
|
|
95
107
|
return undefined;
|
|
96
108
|
}
|
|
97
109
|
budget.admit();
|
|
98
|
-
const
|
|
110
|
+
const keySource = source.slice(name.length + 1, end);
|
|
111
|
+
const index = parseWord ? stringIndex(keySource, budget, parseWord(keySource)) : literalIndex(keySource, word.offset + name.length + 1, budget);
|
|
99
112
|
const append = source[end + 1] === "+";
|
|
100
|
-
const value = removePrefix(word, name.length + index.decimal.length + (append ? 4 : 3), budget);
|
|
113
|
+
const value = parseWord ? parseWord(source.slice(end + (append ? 3 : 2))) : removePrefix(word, name.length + index.decimal.length + (append ? 4 : 3), budget);
|
|
101
114
|
return { kind: "element", name, index, append, value };
|
|
102
115
|
}
|
|
103
116
|
export function compoundHead(word, budget = new ParseBudget()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntax.js","sourceRoot":"","sources":["../../../src/shell/arrays/syntax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"syntax.js","sourceRoot":"","sources":["../../../src/shell/arrays/syntax.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,10 @@ export declare class ShellInput implements ByteSource, CommandInput {
|
|
|
35
35
|
value: ShellValue;
|
|
36
36
|
terminated: boolean;
|
|
37
37
|
}>;
|
|
38
|
+
mapfileRecord(delimiter: number, strip: boolean, allocation: ValueAllocation): Promise<{
|
|
39
|
+
value: ShellValue;
|
|
40
|
+
present: boolean;
|
|
41
|
+
}>;
|
|
38
42
|
private readBounded;
|
|
39
43
|
private readLine;
|
|
40
44
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/shell/input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAkB,QAAQ,EAAE,UAAU,EAA0B,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEvJ,OAAO,EAAE,MAAM,EAAiB,MAAM,cAAc,CAAC;AACrD,OAAO,EAA0C,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEtH,KAAK,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,wBAAsB,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,GAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,cAAc,CAAM,EAAE,SAAS,CAAC,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,GAAG,eAAe,CAAC,CAwIrS;AAyHD,qBAAa,UAAW,YAAW,UAAU,EAAE,YAAY;;IAUzB,QAAQ,CAAC,MAAM,EAAE,MAAM;IALvD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBAGtC,MAAM,EAAE,UAAU,EAAW,MAAM,EAAE,MAAM,EAAE,MAAM,cAAgB,EAAE,UAAU,GAAE,eAAoB;IAejH,IAAI,QAAQ,IAAI,MAAM,CAAkC;IAExD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAoDtF,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAQ3C,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC;IAI3D,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA4B7C,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAIzL,kFAAkF;IAClF,UAAU,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/shell/input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAkB,QAAQ,EAAE,UAAU,EAA0B,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEvJ,OAAO,EAAE,MAAM,EAAiB,MAAM,cAAc,CAAC;AACrD,OAAO,EAA0C,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEtH,KAAK,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,wBAAsB,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,GAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,cAAc,CAAM,EAAE,SAAS,CAAC,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,GAAG,eAAe,CAAC,CAwIrS;AAyHD,qBAAa,UAAW,YAAW,UAAU,EAAE,YAAY;;IAUzB,QAAQ,CAAC,MAAM,EAAE,MAAM;IALvD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBAGtC,MAAM,EAAE,UAAU,EAAW,MAAM,EAAE,MAAM,EAAE,MAAM,cAAgB,EAAE,UAAU,GAAE,eAAoB;IAejH,IAAI,QAAQ,IAAI,MAAM,CAAkC;IAExD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAoDtF,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAQ3C,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC;IAI3D,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA4B7C,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAIzL,kFAAkF;IAClF,UAAU,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IA4C5F,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;YA8CjH,WAAW;YAiEX,QAAQ;IAqDtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAOvB"}
|
|
@@ -490,6 +490,59 @@ export class ShellInput {
|
|
|
490
490
|
}
|
|
491
491
|
});
|
|
492
492
|
}
|
|
493
|
+
mapfileRecord(delimiter, strip, allocation) {
|
|
494
|
+
return this.#cursor.consume(this.signal, async () => {
|
|
495
|
+
this.#cursor.admitBoundedRead();
|
|
496
|
+
allocation.reserve(64, 0);
|
|
497
|
+
const parts = [];
|
|
498
|
+
let length = 0;
|
|
499
|
+
let truncated = false;
|
|
500
|
+
let pulls = 0;
|
|
501
|
+
while (true) {
|
|
502
|
+
if (++pulls % 128 === 0)
|
|
503
|
+
await yieldTurn(this.signal);
|
|
504
|
+
const result = await this.#cursor.take(this.signal);
|
|
505
|
+
if (result.done)
|
|
506
|
+
return { value: concatShellValues(parts, allocation), present: length > 0 };
|
|
507
|
+
const chunk = result.value;
|
|
508
|
+
for (let offset = 0; offset < chunk.length;) {
|
|
509
|
+
await yieldTurn(this.signal);
|
|
510
|
+
if (length >= this.budget.limits.maxOutputBytes)
|
|
511
|
+
this.budget.fail("maxOutputBytes");
|
|
512
|
+
const end = Math.min(offset + 1024, chunk.length, offset + this.budget.limits.maxOutputBytes - length);
|
|
513
|
+
allocation.reserve(end - offset + 64, 0);
|
|
514
|
+
const output = new Uint8Array(end - offset);
|
|
515
|
+
let used = 0;
|
|
516
|
+
let terminated = false;
|
|
517
|
+
while (offset < end) {
|
|
518
|
+
const byte = chunk[offset++];
|
|
519
|
+
this.#cursor.position++;
|
|
520
|
+
if (++length > this.budget.limits.maxOutputBytes)
|
|
521
|
+
this.budget.fail("maxOutputBytes");
|
|
522
|
+
if (byte === delimiter) {
|
|
523
|
+
if (!strip && byte !== 0 && !truncated)
|
|
524
|
+
output[used++] = byte;
|
|
525
|
+
terminated = true;
|
|
526
|
+
break;
|
|
527
|
+
}
|
|
528
|
+
if (byte === 0)
|
|
529
|
+
truncated = true;
|
|
530
|
+
if (!truncated)
|
|
531
|
+
output[used++] = byte;
|
|
532
|
+
}
|
|
533
|
+
if (used) {
|
|
534
|
+
allocation.reserve(32, 0);
|
|
535
|
+
parts.push(shellValueFromBytes(output.subarray(0, used), allocation));
|
|
536
|
+
}
|
|
537
|
+
if (terminated) {
|
|
538
|
+
if (offset < chunk.length)
|
|
539
|
+
this.#cursor.remainder = chunk.subarray(offset);
|
|
540
|
+
return { value: concatShellValues(parts, allocation), present: true };
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
}
|
|
493
546
|
async readBounded(raw, options) {
|
|
494
547
|
const text = new ReadText();
|
|
495
548
|
let characters = 0;
|