sh-ast 0.4.0 → 0.6.0
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 +124 -9
- package/dist/analyze/brace-observation.d.ts +18 -0
- package/dist/analyze/brace-observation.d.ts.map +1 -0
- package/dist/analyze/brace-observation.js +59 -0
- package/dist/analyze/brace-observation.js.map +1 -0
- package/dist/analyze/resolve-argv0.d.ts +32 -8
- package/dist/analyze/resolve-argv0.d.ts.map +1 -1
- package/dist/analyze/resolve-argv0.js +49 -9
- package/dist/analyze/resolve-argv0.js.map +1 -1
- package/dist/analyze/resolve-word.d.ts +21 -13
- package/dist/analyze/resolve-word.d.ts.map +1 -1
- package/dist/analyze/resolve-word.js +8 -3
- package/dist/analyze/resolve-word.js.map +1 -1
- package/dist/analyze.d.ts +53 -21
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/sh-ast.d.ts +120 -0
- package/dist/syntax-print-errors.d.ts +35 -0
- package/dist/syntax-print-errors.d.ts.map +1 -0
- package/dist/syntax-print-errors.js +37 -0
- package/dist/syntax-print-errors.js.map +1 -0
- package/dist/syntax-print.d.ts +49 -0
- package/dist/syntax-print.d.ts.map +1 -0
- package/dist/syntax-print.js +86 -0
- package/dist/syntax-print.js.map +1 -0
- package/dist/syntax-walk-bounds.d.ts +18 -0
- package/dist/syntax-walk-bounds.d.ts.map +1 -0
- package/dist/syntax-walk-bounds.js +188 -0
- package/dist/syntax-walk-bounds.js.map +1 -0
- package/dist/syntax-walk-errors.d.ts +19 -0
- package/dist/syntax-walk-errors.d.ts.map +1 -0
- package/dist/syntax-walk-errors.js +23 -0
- package/dist/syntax-walk-errors.js.map +1 -0
- package/dist/syntax-walk-license.d.ts +3 -0
- package/dist/syntax-walk-license.d.ts.map +1 -0
- package/dist/syntax-walk-license.js +37 -0
- package/dist/syntax-walk-license.js.map +1 -0
- package/dist/syntax-walk.d.ts +46 -0
- package/dist/syntax-walk.d.ts.map +1 -0
- package/dist/syntax-walk.js +322 -0
- package/dist/syntax-walk.js.map +1 -0
- package/dist/syntax-wire.d.ts +2 -0
- package/dist/syntax-wire.d.ts.map +1 -1
- package/dist/syntax-wire.js +28 -4
- package/dist/syntax-wire.js.map +1 -1
- package/package.json +1 -1
- package/shim/sh-ast.wasm +0 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { InputError } from './syntax-errors.js';
|
|
2
|
+
import { afterItemStart, atStatementEnd } from './syntax-walk-bounds.js';
|
|
3
|
+
import { nilDereference, WalkPanicError } from './syntax-walk-errors.js';
|
|
4
|
+
export { WalkPanicError } from './syntax-walk-errors.js';
|
|
5
|
+
/**
|
|
6
|
+
* Walks synchronously using the pinned upstream case ordering. Each accepted entry is followed by its
|
|
7
|
+
* children and a null exit. Returning false prunes the entry without an exit;
|
|
8
|
+
* boolean exit return values are ignored. Every callback must return a boolean
|
|
9
|
+
* synchronously; other results produce InputError. Callback exceptions retain their identity,
|
|
10
|
+
* and upstream deferred comment callbacks still run during exception unwinding.
|
|
11
|
+
*
|
|
12
|
+
* Children and later fields are read live. Each list captures its array reference
|
|
13
|
+
* and length when traversal reaches that list, then reads existing later slots
|
|
14
|
+
* when reached. Replacing or reordering later slots is observed and can cause
|
|
15
|
+
* a node to be skipped or revisited. Indices added beyond the captured extent
|
|
16
|
+
* are not visited by that active list. Replacing the owner's array field does not
|
|
17
|
+
* redirect an active list, but a later walk or print sees the current field.
|
|
18
|
+
* Changes made before a list is reached are observed when it starts.
|
|
19
|
+
*
|
|
20
|
+
* Supported edits preserve each node's Type (and TypedNil.Kind), required field
|
|
21
|
+
* shapes and every index within each active list's captured extent. Leaving
|
|
22
|
+
* holes or shrinking an array below that extent (for example through truncation,
|
|
23
|
+
* deletion, or length-reducing splice/shift) is outside the mutation contract.
|
|
24
|
+
* These are not runtime validation rules. Ordinary JavaScript object and array
|
|
25
|
+
* aliases remain shared; the binding does not model distinct Go slice headers or
|
|
26
|
+
* capacity-dependent allocation over shared backing storage.
|
|
27
|
+
*
|
|
28
|
+
* Comments on Stmt, CaseItem and ArrayElem are copied before their callbacks,
|
|
29
|
+
* including position and byte-string values; editing a copy does not edit the
|
|
30
|
+
* stored comment. Last/CondLast/ThenLast/DoLast callbacks receive the stored
|
|
31
|
+
* JavaScript Comment object. Replacing its array slot leaves any previously
|
|
32
|
+
* retained callback object unchanged: there is no Go value-slot pointer identity.
|
|
33
|
+
* Reentrant walks maintain independent traversal state.
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export function walk(node, callback) {
|
|
37
|
+
visit(node, callback);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Calls user code without intercepting its exceptions, then enforces Go's bool
|
|
41
|
+
* return domain before traversal can consume the result. Exit results share
|
|
42
|
+
* that domain even though their boolean values do not control traversal.
|
|
43
|
+
*/
|
|
44
|
+
function invokeCallback(node, callback) {
|
|
45
|
+
const result = callback(node);
|
|
46
|
+
if (typeof result !== 'boolean') {
|
|
47
|
+
throw new InputError('Walk callbacks must return a boolean synchronously');
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
/** An unconditional concrete-pointer child is observable even when the pointer is nil. */
|
|
52
|
+
function pointer(node, kind, callback) {
|
|
53
|
+
visit(node ?? { Type: 'TypedNil', Kind: kind }, callback);
|
|
54
|
+
}
|
|
55
|
+
/** Optional fields skip null; a typed-nil interface is nevertheless a non-null interface. */
|
|
56
|
+
function optional(node, callback) {
|
|
57
|
+
if (node !== null) {
|
|
58
|
+
visit(node, callback);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Captures one ordinary array and its initial extent when this list is reached.
|
|
63
|
+
* Later existing slots are read live; appends and owner-field replacements cannot
|
|
64
|
+
* extend or redirect the active list. Removing indices within its captured
|
|
65
|
+
* extent is unsupported.
|
|
66
|
+
*/
|
|
67
|
+
function list(nodes, kind, callback) {
|
|
68
|
+
if (nodes === null) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const length = nodes.length;
|
|
72
|
+
for (let index = 0; index < length; index++) {
|
|
73
|
+
const node = nodes[index] ?? null;
|
|
74
|
+
if (kind === null) {
|
|
75
|
+
visit(node, callback);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
pointer(node, kind, callback);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Visits stored JavaScript Comment objects, unlike the copies used by item loops.
|
|
84
|
+
* Later slot replacement is read live, but retained objects do not become Go
|
|
85
|
+
* pointers to replacement values. The active array and extent remain captured.
|
|
86
|
+
*/
|
|
87
|
+
function comments(nodes, callback) {
|
|
88
|
+
if (nodes === null) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const length = nodes.length;
|
|
92
|
+
for (let index = 0; index < length; index++) {
|
|
93
|
+
pointer(nodes[index] ?? null, 'Comment', callback);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** Auxiliary pointers are reread after callbacks may replace or clear their owner field. */
|
|
97
|
+
function dereference(value) {
|
|
98
|
+
if (value === null) {
|
|
99
|
+
return nilDereference();
|
|
100
|
+
}
|
|
101
|
+
return value;
|
|
102
|
+
}
|
|
103
|
+
/** Go copies a Comment's position and immutable string value before its callback. */
|
|
104
|
+
function copyComment(node) {
|
|
105
|
+
return {
|
|
106
|
+
Type: 'Comment',
|
|
107
|
+
Hash: { ...node.Hash },
|
|
108
|
+
Text: typeof node.Text === 'string' ? node.Text : node.Text.slice(),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* A single defer belongs to this occurrence. The try/finally surrounds all child
|
|
113
|
+
* work and the null exit, preserving Go's unwind order and replacement exception.
|
|
114
|
+
*/
|
|
115
|
+
function visit(node, callback) {
|
|
116
|
+
if (!invokeCallback(node, callback)) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (node === null) {
|
|
120
|
+
throw new WalkPanicError('syntax.Walk: unexpected node type <nil>');
|
|
121
|
+
}
|
|
122
|
+
if (node.Type === 'TypedNil') {
|
|
123
|
+
if (node.Kind === 'BraceExp') {
|
|
124
|
+
throw new WalkPanicError('syntax.Walk: unexpected node type *syntax.BraceExp');
|
|
125
|
+
}
|
|
126
|
+
if (node.Kind !== 'Lit' && node.Kind !== 'Comment' && node.Kind !== 'SglQuoted') {
|
|
127
|
+
nilDereference();
|
|
128
|
+
}
|
|
129
|
+
invokeCallback(null, callback);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
let deferred;
|
|
133
|
+
try {
|
|
134
|
+
switch (node.Type) {
|
|
135
|
+
case 'File':
|
|
136
|
+
list(node.Stmts, 'Stmt', callback);
|
|
137
|
+
comments(node.Last, callback);
|
|
138
|
+
break;
|
|
139
|
+
case 'Comment':
|
|
140
|
+
case 'Lit':
|
|
141
|
+
case 'SglQuoted':
|
|
142
|
+
break;
|
|
143
|
+
case 'Stmt': {
|
|
144
|
+
const values = node.Comments;
|
|
145
|
+
const length = values?.length ?? 0;
|
|
146
|
+
for (let index = 0; values !== null && index < length; index++) {
|
|
147
|
+
const value = copyComment(values[index]);
|
|
148
|
+
if (atStatementEnd(node, value.Hash)) {
|
|
149
|
+
deferred = value;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
visit(value, callback);
|
|
153
|
+
}
|
|
154
|
+
optional(node.Cmd, callback);
|
|
155
|
+
list(node.Redirs, 'Redirect', callback);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
case 'Assign':
|
|
159
|
+
optional(node.Name, callback);
|
|
160
|
+
optional(node.Value, callback);
|
|
161
|
+
optional(node.Index, callback);
|
|
162
|
+
optional(node.Array, callback);
|
|
163
|
+
break;
|
|
164
|
+
case 'Redirect':
|
|
165
|
+
optional(node.N, callback);
|
|
166
|
+
pointer(node.Word, 'Word', callback);
|
|
167
|
+
optional(node.Hdoc, callback);
|
|
168
|
+
break;
|
|
169
|
+
case 'CallExpr':
|
|
170
|
+
list(node.Assigns, 'Assign', callback);
|
|
171
|
+
list(node.Args, 'Word', callback);
|
|
172
|
+
break;
|
|
173
|
+
case 'Subshell':
|
|
174
|
+
case 'Block':
|
|
175
|
+
case 'CmdSubst':
|
|
176
|
+
case 'ProcSubst':
|
|
177
|
+
list(node.Stmts, 'Stmt', callback);
|
|
178
|
+
comments(node.Last, callback);
|
|
179
|
+
break;
|
|
180
|
+
case 'IfClause':
|
|
181
|
+
list(node.Cond, 'Stmt', callback);
|
|
182
|
+
comments(node.CondLast, callback);
|
|
183
|
+
list(node.Then, 'Stmt', callback);
|
|
184
|
+
comments(node.ThenLast, callback);
|
|
185
|
+
optional(node.Else, callback);
|
|
186
|
+
break;
|
|
187
|
+
case 'WhileClause':
|
|
188
|
+
list(node.Cond, 'Stmt', callback);
|
|
189
|
+
comments(node.CondLast, callback);
|
|
190
|
+
list(node.Do, 'Stmt', callback);
|
|
191
|
+
comments(node.DoLast, callback);
|
|
192
|
+
break;
|
|
193
|
+
case 'ForClause':
|
|
194
|
+
visit(node.Loop, callback);
|
|
195
|
+
list(node.Do, 'Stmt', callback);
|
|
196
|
+
comments(node.DoLast, callback);
|
|
197
|
+
break;
|
|
198
|
+
case 'WordIter':
|
|
199
|
+
pointer(node.Name, 'Lit', callback);
|
|
200
|
+
list(node.Items, 'Word', callback);
|
|
201
|
+
break;
|
|
202
|
+
case 'CStyleLoop':
|
|
203
|
+
optional(node.Init, callback);
|
|
204
|
+
optional(node.Cond, callback);
|
|
205
|
+
optional(node.Post, callback);
|
|
206
|
+
break;
|
|
207
|
+
case 'BinaryCmd':
|
|
208
|
+
pointer(node.X, 'Stmt', callback);
|
|
209
|
+
pointer(node.Y, 'Stmt', callback);
|
|
210
|
+
break;
|
|
211
|
+
case 'FuncDecl':
|
|
212
|
+
optional(node.Name, callback);
|
|
213
|
+
list(node.Names, 'Lit', callback);
|
|
214
|
+
pointer(node.Body, 'Stmt', callback);
|
|
215
|
+
break;
|
|
216
|
+
case 'Word':
|
|
217
|
+
case 'DblQuoted':
|
|
218
|
+
list(node.Parts, null, callback);
|
|
219
|
+
break;
|
|
220
|
+
case 'ParamExp':
|
|
221
|
+
optional(node.Flags, callback);
|
|
222
|
+
optional(node.Param, callback);
|
|
223
|
+
optional(node.NestedParam, callback);
|
|
224
|
+
optional(node.Index, callback);
|
|
225
|
+
if (node.Slice !== null) {
|
|
226
|
+
optional(node.Slice.Offset, callback);
|
|
227
|
+
optional(dereference(node.Slice).Length, callback);
|
|
228
|
+
}
|
|
229
|
+
if (node.Repl !== null) {
|
|
230
|
+
optional(node.Repl.Orig, callback);
|
|
231
|
+
optional(dereference(node.Repl).With, callback);
|
|
232
|
+
}
|
|
233
|
+
if (node.Exp !== null) {
|
|
234
|
+
optional(node.Exp.Word, callback);
|
|
235
|
+
}
|
|
236
|
+
break;
|
|
237
|
+
case 'ArithmExp':
|
|
238
|
+
case 'ArithmCmd':
|
|
239
|
+
case 'UnaryArithm':
|
|
240
|
+
case 'UnaryTest':
|
|
241
|
+
case 'ParenArithm':
|
|
242
|
+
case 'ParenTest':
|
|
243
|
+
case 'TestClause':
|
|
244
|
+
visit(node.X, callback);
|
|
245
|
+
break;
|
|
246
|
+
case 'BinaryArithm':
|
|
247
|
+
case 'BinaryTest':
|
|
248
|
+
visit(node.X, callback);
|
|
249
|
+
visit(node.Y, callback);
|
|
250
|
+
break;
|
|
251
|
+
case 'FlagsArithm':
|
|
252
|
+
pointer(node.Flags, 'Lit', callback);
|
|
253
|
+
optional(node.X, callback);
|
|
254
|
+
break;
|
|
255
|
+
case 'CaseClause':
|
|
256
|
+
pointer(node.Word, 'Word', callback);
|
|
257
|
+
list(node.Items, 'CaseItem', callback);
|
|
258
|
+
comments(node.Last, callback);
|
|
259
|
+
break;
|
|
260
|
+
case 'CaseItem':
|
|
261
|
+
case 'ArrayElem': {
|
|
262
|
+
const values = node.Comments;
|
|
263
|
+
const length = values?.length ?? 0;
|
|
264
|
+
for (let index = 0; values !== null && index < length; index++) {
|
|
265
|
+
const value = copyComment(values[index]);
|
|
266
|
+
if (afterItemStart(node, value.Hash)) {
|
|
267
|
+
deferred = value;
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
visit(value, callback);
|
|
271
|
+
}
|
|
272
|
+
if (node.Type === 'CaseItem') {
|
|
273
|
+
list(node.Patterns, 'Word', callback);
|
|
274
|
+
list(node.Stmts, 'Stmt', callback);
|
|
275
|
+
comments(node.Last, callback);
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
optional(node.Index, callback);
|
|
279
|
+
optional(node.Value, callback);
|
|
280
|
+
}
|
|
281
|
+
break;
|
|
282
|
+
}
|
|
283
|
+
case 'DeclClause':
|
|
284
|
+
list(node.Args, 'Assign', callback);
|
|
285
|
+
break;
|
|
286
|
+
case 'ArrayExpr':
|
|
287
|
+
list(node.Elems, 'ArrayElem', callback);
|
|
288
|
+
comments(node.Last, callback);
|
|
289
|
+
break;
|
|
290
|
+
case 'ExtGlob':
|
|
291
|
+
pointer(node.Pattern, 'Lit', callback);
|
|
292
|
+
break;
|
|
293
|
+
case 'TimeClause':
|
|
294
|
+
optional(node.Stmt, callback);
|
|
295
|
+
break;
|
|
296
|
+
case 'CoprocClause':
|
|
297
|
+
optional(node.Name, callback);
|
|
298
|
+
pointer(node.Stmt, 'Stmt', callback);
|
|
299
|
+
break;
|
|
300
|
+
case 'LetClause':
|
|
301
|
+
list(node.Exprs, null, callback);
|
|
302
|
+
break;
|
|
303
|
+
case 'TestDecl':
|
|
304
|
+
pointer(node.Description, 'Word', callback);
|
|
305
|
+
pointer(node.Body, 'Stmt', callback);
|
|
306
|
+
break;
|
|
307
|
+
case 'BraceExp':
|
|
308
|
+
throw new WalkPanicError('syntax.Walk: unexpected node type *syntax.BraceExp');
|
|
309
|
+
default: {
|
|
310
|
+
const exhaustive = node;
|
|
311
|
+
throw new WalkPanicError(`syntax.Walk: unexpected node type ${String(exhaustive)}`);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
invokeCallback(null, callback);
|
|
315
|
+
}
|
|
316
|
+
finally {
|
|
317
|
+
if (deferred !== undefined) {
|
|
318
|
+
visit(deferred, callback);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=syntax-walk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syntax-walk.js","sourceRoot":"","sources":["../src/syntax-walk.ts"],"names":[],"mappings":"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"}
|
package/dist/syntax-wire.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export declare function encodeWire(value: unknown): string;
|
|
|
17
17
|
/**
|
|
18
18
|
* Restores byte-bearing Go values. Ordinary syntax fields retain their spelling,
|
|
19
19
|
* nulls, defaults, and ordering; no source location or synthetic node is added.
|
|
20
|
+
* JSON.parse owns a fresh graph, so restoration replaces byte tags in that graph
|
|
21
|
+
* without copying its ordinary records and arrays or touching caller-owned data.
|
|
20
22
|
* @internal
|
|
21
23
|
*/
|
|
22
24
|
export declare function decodeWire(text: string): unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntax-wire.d.ts","sourceRoot":"","sources":["../src/syntax-wire.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEpF,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASvD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgCjD;AAED
|
|
1
|
+
{"version":3,"file":"syntax-wire.d.ts","sourceRoot":"","sources":["../src/syntax-wire.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEpF,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASvD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgCjD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAyChD;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAwB9D;AA4ED,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAS1D;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAE1D"}
|
package/dist/syntax-wire.js
CHANGED
|
@@ -68,6 +68,8 @@ export function encodeWire(value) {
|
|
|
68
68
|
/**
|
|
69
69
|
* Restores byte-bearing Go values. Ordinary syntax fields retain their spelling,
|
|
70
70
|
* nulls, defaults, and ordering; no source location or synthetic node is added.
|
|
71
|
+
* JSON.parse owns a fresh graph, so restoration replaces byte tags in that graph
|
|
72
|
+
* without copying its ordinary records and arrays or touching caller-owned data.
|
|
71
73
|
* @internal
|
|
72
74
|
*/
|
|
73
75
|
export function decodeWire(text) {
|
|
@@ -79,17 +81,39 @@ export function decodeWire(text) {
|
|
|
79
81
|
throw new ShInternalError(`Invalid syntax bridge JSON: ${String(cause)}`);
|
|
80
82
|
}
|
|
81
83
|
const visit = (item) => {
|
|
82
|
-
if (Array.isArray(item))
|
|
83
|
-
|
|
84
|
+
if (Array.isArray(item)) {
|
|
85
|
+
for (let index = 0; index < item.length; index++) {
|
|
86
|
+
const child = item[index];
|
|
87
|
+
const restored = visit(child);
|
|
88
|
+
if (restored !== child)
|
|
89
|
+
item[index] = restored;
|
|
90
|
+
}
|
|
91
|
+
return item;
|
|
92
|
+
}
|
|
84
93
|
if (!isRecord(item))
|
|
85
94
|
return item;
|
|
86
|
-
|
|
95
|
+
const keys = Object.keys(item);
|
|
96
|
+
if (keys.length === 1 && typeof item.Bytes === 'string') {
|
|
87
97
|
const bytes = Buffer.from(item.Bytes, 'base64');
|
|
88
98
|
if (bytes.toString('base64') !== item.Bytes)
|
|
89
99
|
throw new ShInternalError('Invalid base64 in syntax bridge response');
|
|
90
100
|
return new Uint8Array(bytes);
|
|
91
101
|
}
|
|
92
|
-
|
|
102
|
+
for (const key of keys) {
|
|
103
|
+
const child = item[key];
|
|
104
|
+
const restored = visit(child);
|
|
105
|
+
if (restored !== child) {
|
|
106
|
+
// JSON keys, including __proto__, remain own data properties. Defining a
|
|
107
|
+
// replacement cannot invoke a prototype setter or change the record shape.
|
|
108
|
+
Object.defineProperty(item, key, {
|
|
109
|
+
value: restored,
|
|
110
|
+
enumerable: true,
|
|
111
|
+
configurable: true,
|
|
112
|
+
writable: true,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return item;
|
|
93
117
|
};
|
|
94
118
|
return visit(parsed);
|
|
95
119
|
}
|
package/dist/syntax-wire.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntax-wire.js","sourceRoot":"","sources":["../src/syntax-wire.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,aAAa,GAEd,MAAM,+BAA+B,CAAC;AAGvC,kFAAkF;AAClF,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAC9D,MAAM,IAAI,UAAU,CAClB,4EAA4E,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,IAAa,EAAW,EAAE;QACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC9D,IAAI,IAAI,YAAY,UAAU;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvF,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBAC7B,MAAM,IAAI,UAAU,CAClB,uEAAuE,CACxE,CAAC;YACJ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAC1B,MAAM,IAAI,UAAU,CAClB,0EAA0E,CAC3E,CAAC;QACJ,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;QACtF,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAC;YAC3E,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"syntax-wire.js","sourceRoot":"","sources":["../src/syntax-wire.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/shim/sh-ast.wasm
CHANGED
|
Binary file
|