sh-ast 0.2.0 → 0.3.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/dist/sh-ast.d.ts CHANGED
@@ -165,6 +165,7 @@ declare interface ShArithmCmdNode {
165
165
  readonly end: { readonly line: number; readonly column: number };
166
166
  };
167
167
  [field: string]: unknown;
168
+ readonly unsigned?: boolean;
168
169
  readonly x?: ShArithmExprNode;
169
170
  }
170
171
 
@@ -181,6 +182,8 @@ declare interface ShArithmExpNode {
181
182
  readonly end: { readonly line: number; readonly column: number };
182
183
  };
183
184
  [field: string]: unknown;
185
+ readonly bracket?: boolean;
186
+ readonly unsigned?: boolean;
184
187
  readonly x?: ShArithmExprNode;
185
188
  }
186
189
 
@@ -241,8 +244,10 @@ declare interface ShAssignNode {
241
244
  readonly end: { readonly line: number; readonly column: number };
242
245
  };
243
246
  [field: string]: unknown;
247
+ readonly append?: boolean;
244
248
  readonly array?: ShArrayExprNode;
245
249
  readonly index?: ShArithmExprNode;
250
+ readonly naked?: boolean;
246
251
  readonly name?: ShLitNode;
247
252
  readonly value?: ShWordNode;
248
253
  }
@@ -291,6 +296,7 @@ declare interface ShBinaryArithmNode {
291
296
  readonly end: { readonly line: number; readonly column: number };
292
297
  };
293
298
  [field: string]: unknown;
299
+ readonly op?: number;
294
300
  readonly x?: ShArithmExprNode;
295
301
  readonly y?: ShArithmExprNode;
296
302
  }
@@ -308,6 +314,7 @@ declare interface ShBinaryCmdNode {
308
314
  readonly end: { readonly line: number; readonly column: number };
309
315
  };
310
316
  [field: string]: unknown;
317
+ readonly op?: number;
311
318
  readonly x?: ShStmtNode;
312
319
  readonly y?: ShStmtNode;
313
320
  }
@@ -325,6 +332,7 @@ declare interface ShBinaryTestNode {
325
332
  readonly end: { readonly line: number; readonly column: number };
326
333
  };
327
334
  [field: string]: unknown;
335
+ readonly op?: number;
328
336
  readonly x?: ShTestExprNode;
329
337
  readonly y?: ShTestExprNode;
330
338
  }
@@ -360,6 +368,7 @@ declare interface ShBraceExpNode {
360
368
  };
361
369
  [field: string]: unknown;
362
370
  readonly elems: readonly ShWordNode[];
371
+ readonly sequence?: boolean;
363
372
  }
364
373
 
365
374
  /**
@@ -392,6 +401,7 @@ declare interface ShCaseClauseNode {
392
401
  readonly end: { readonly line: number; readonly column: number };
393
402
  };
394
403
  [field: string]: unknown;
404
+ readonly braces?: boolean;
395
405
  readonly items: readonly ShCaseItemNode[];
396
406
  readonly last: readonly ShCommentNode[];
397
407
  readonly word?: ShWordNode;
@@ -412,6 +422,7 @@ declare interface ShCaseItemNode {
412
422
  [field: string]: unknown;
413
423
  readonly comments: readonly ShCommentNode[];
414
424
  readonly last: readonly ShCommentNode[];
425
+ readonly op?: number;
415
426
  readonly patterns: readonly ShWordNode[];
416
427
  readonly stmts: readonly ShStmtNode[];
417
428
  }
@@ -429,8 +440,11 @@ declare interface ShCmdSubstNode {
429
440
  readonly end: { readonly line: number; readonly column: number };
430
441
  };
431
442
  [field: string]: unknown;
443
+ readonly backquotes?: boolean;
432
444
  readonly last: readonly ShCommentNode[];
445
+ readonly replyvar?: boolean;
433
446
  readonly stmts: readonly ShStmtNode[];
447
+ readonly tempfile?: boolean;
434
448
  }
435
449
 
436
450
  /**
@@ -470,6 +484,7 @@ declare interface ShCommentNode {
470
484
  readonly end: { readonly line: number; readonly column: number };
471
485
  };
472
486
  [field: string]: unknown;
487
+ readonly text?: string;
473
488
  }
474
489
 
475
490
  /**
@@ -520,6 +535,7 @@ declare interface ShDblQuotedNode {
520
535
  readonly end: { readonly line: number; readonly column: number };
521
536
  };
522
537
  [field: string]: unknown;
538
+ readonly dollar?: boolean;
523
539
  readonly parts: readonly ShWordPartNode[];
524
540
  }
525
541
 
@@ -564,6 +580,7 @@ declare interface ShExpansionNode {
564
580
  readonly end: { readonly line: number; readonly column: number };
565
581
  };
566
582
  [field: string]: unknown;
583
+ readonly op?: number;
567
584
  readonly word?: ShWordNode;
568
585
  }
569
586
 
@@ -580,6 +597,7 @@ declare interface ShExtGlobNode {
580
597
  readonly end: { readonly line: number; readonly column: number };
581
598
  };
582
599
  [field: string]: unknown;
600
+ readonly op?: number;
583
601
  readonly pattern?: ShLitNode;
584
602
  }
585
603
 
@@ -607,6 +625,7 @@ declare interface ShFileNode {
607
625
  };
608
626
  [field: string]: unknown;
609
627
  readonly last: readonly ShCommentNode[];
628
+ readonly name?: string;
610
629
  readonly stmts: readonly ShStmtNode[];
611
630
  }
612
631
 
@@ -640,9 +659,11 @@ declare interface ShForClauseNode {
640
659
  readonly end: { readonly line: number; readonly column: number };
641
660
  };
642
661
  [field: string]: unknown;
662
+ readonly braces?: boolean;
643
663
  readonly do: readonly ShStmtNode[];
644
664
  readonly dolast: readonly ShCommentNode[];
645
665
  readonly loop?: ShLoopNode;
666
+ readonly select?: boolean;
646
667
  }
647
668
 
648
669
  /**
@@ -661,6 +682,8 @@ declare interface ShFuncDeclNode {
661
682
  readonly body?: ShStmtNode;
662
683
  readonly name?: ShLitNode;
663
684
  readonly names: readonly ShLitNode[];
685
+ readonly parens?: boolean;
686
+ readonly rsrvword?: boolean;
664
687
  }
665
688
 
666
689
  /**
@@ -743,6 +766,7 @@ declare interface ShLitNode {
743
766
  readonly end: { readonly line: number; readonly column: number };
744
767
  };
745
768
  [field: string]: unknown;
769
+ readonly value?: string;
746
770
  }
747
771
 
748
772
  /**
@@ -904,14 +928,20 @@ declare interface ShParamExpNode {
904
928
  readonly end: { readonly line: number; readonly column: number };
905
929
  };
906
930
  [field: string]: unknown;
931
+ readonly excl?: boolean;
907
932
  readonly exp?: ShExpansionNode;
908
933
  readonly flags?: ShLitNode;
909
934
  readonly index?: ShArithmExprNode;
935
+ readonly isset?: boolean;
936
+ readonly length?: boolean;
910
937
  readonly modifiers: readonly ShLitNode[];
938
+ readonly names?: number;
911
939
  readonly nestedparam?: ShWordPartNode;
912
940
  readonly param?: ShLitNode;
913
941
  readonly repl?: ShReplaceNode;
942
+ readonly short?: boolean;
914
943
  readonly slice?: ShSliceNode;
944
+ readonly width?: boolean;
915
945
  }
916
946
 
917
947
  /**
@@ -1042,6 +1072,7 @@ declare interface ShProcSubstNode {
1042
1072
  };
1043
1073
  [field: string]: unknown;
1044
1074
  readonly last: readonly ShCommentNode[];
1075
+ readonly op?: number;
1045
1076
  readonly stmts: readonly ShStmtNode[];
1046
1077
  }
1047
1078
 
@@ -1060,6 +1091,7 @@ declare interface ShRedirectNode {
1060
1091
  [field: string]: unknown;
1061
1092
  readonly hdoc?: ShWordNode;
1062
1093
  readonly n?: ShLitNode;
1094
+ readonly op?: number;
1063
1095
  readonly word?: ShWordNode;
1064
1096
  }
1065
1097
 
@@ -1076,6 +1108,7 @@ declare interface ShReplaceNode {
1076
1108
  readonly end: { readonly line: number; readonly column: number };
1077
1109
  };
1078
1110
  [field: string]: unknown;
1111
+ readonly all?: boolean;
1079
1112
  readonly orig?: ShWordNode;
1080
1113
  readonly with?: ShWordNode;
1081
1114
  }
@@ -1093,6 +1126,8 @@ declare interface ShSglQuotedNode {
1093
1126
  readonly end: { readonly line: number; readonly column: number };
1094
1127
  };
1095
1128
  [field: string]: unknown;
1129
+ readonly dollar?: boolean;
1130
+ readonly value?: string;
1096
1131
  }
1097
1132
 
1098
1133
  /**
@@ -1125,8 +1160,12 @@ declare interface ShStmtNode {
1125
1160
  readonly end: { readonly line: number; readonly column: number };
1126
1161
  };
1127
1162
  [field: string]: unknown;
1163
+ readonly background?: boolean;
1128
1164
  readonly cmd?: ShCommandNode;
1129
1165
  readonly comments: readonly ShCommentNode[];
1166
+ readonly coprocess?: boolean;
1167
+ readonly disown?: boolean;
1168
+ readonly negated?: boolean;
1130
1169
  readonly redirs: readonly ShRedirectNode[];
1131
1170
  }
1132
1171
 
@@ -1201,6 +1240,7 @@ declare interface ShTimeClauseNode {
1201
1240
  readonly end: { readonly line: number; readonly column: number };
1202
1241
  };
1203
1242
  [field: string]: unknown;
1243
+ readonly posixformat?: boolean;
1204
1244
  readonly stmt?: ShStmtNode;
1205
1245
  }
1206
1246
 
@@ -1217,6 +1257,8 @@ declare interface ShUnaryArithmNode {
1217
1257
  readonly end: { readonly line: number; readonly column: number };
1218
1258
  };
1219
1259
  [field: string]: unknown;
1260
+ readonly op?: number;
1261
+ readonly post?: boolean;
1220
1262
  readonly x?: ShArithmExprNode;
1221
1263
  }
1222
1264
 
@@ -1233,6 +1275,7 @@ declare interface ShUnaryTestNode {
1233
1275
  readonly end: { readonly line: number; readonly column: number };
1234
1276
  };
1235
1277
  [field: string]: unknown;
1278
+ readonly op?: number;
1236
1279
  readonly x?: ShTestExprNode;
1237
1280
  }
1238
1281
 
@@ -1253,6 +1296,7 @@ declare interface ShWhileClauseNode {
1253
1296
  readonly condlast: readonly ShCommentNode[];
1254
1297
  readonly do: readonly ShStmtNode[];
1255
1298
  readonly dolast: readonly ShCommentNode[];
1299
+ readonly until?: boolean;
1256
1300
  }
1257
1301
 
1258
1302
  /**
@@ -13,6 +13,7 @@ export interface ShArithmCmdNode {
13
13
  readonly end: { readonly line: number; readonly column: number };
14
14
  };
15
15
  [field: string]: unknown;
16
+ readonly unsigned?: boolean;
16
17
  readonly x?: ShArithmExprNode;
17
18
  }
18
19
 
@@ -29,6 +30,8 @@ export interface ShArithmExpNode {
29
30
  readonly end: { readonly line: number; readonly column: number };
30
31
  };
31
32
  [field: string]: unknown;
33
+ readonly bracket?: boolean;
34
+ readonly unsigned?: boolean;
32
35
  readonly x?: ShArithmExprNode;
33
36
  }
34
37
 
@@ -80,8 +83,10 @@ export interface ShAssignNode {
80
83
  readonly end: { readonly line: number; readonly column: number };
81
84
  };
82
85
  [field: string]: unknown;
86
+ readonly append?: boolean;
83
87
  readonly array?: ShArrayExprNode;
84
88
  readonly index?: ShArithmExprNode;
89
+ readonly naked?: boolean;
85
90
  readonly name?: ShLitNode;
86
91
  readonly value?: ShWordNode;
87
92
  }
@@ -99,6 +104,7 @@ export interface ShBinaryArithmNode {
99
104
  readonly end: { readonly line: number; readonly column: number };
100
105
  };
101
106
  [field: string]: unknown;
107
+ readonly op?: number;
102
108
  readonly x?: ShArithmExprNode;
103
109
  readonly y?: ShArithmExprNode;
104
110
  }
@@ -116,6 +122,7 @@ export interface ShBinaryCmdNode {
116
122
  readonly end: { readonly line: number; readonly column: number };
117
123
  };
118
124
  [field: string]: unknown;
125
+ readonly op?: number;
119
126
  readonly x?: ShStmtNode;
120
127
  readonly y?: ShStmtNode;
121
128
  }
@@ -133,6 +140,7 @@ export interface ShBinaryTestNode {
133
140
  readonly end: { readonly line: number; readonly column: number };
134
141
  };
135
142
  [field: string]: unknown;
143
+ readonly op?: number;
136
144
  readonly x?: ShTestExprNode;
137
145
  readonly y?: ShTestExprNode;
138
146
  }
@@ -168,6 +176,7 @@ export interface ShBraceExpNode {
168
176
  };
169
177
  [field: string]: unknown;
170
178
  readonly elems: readonly ShWordNode[];
179
+ readonly sequence?: boolean;
171
180
  }
172
181
 
173
182
  /**
@@ -218,6 +227,7 @@ export interface ShCaseClauseNode {
218
227
  readonly end: { readonly line: number; readonly column: number };
219
228
  };
220
229
  [field: string]: unknown;
230
+ readonly braces?: boolean;
221
231
  readonly items: readonly ShCaseItemNode[];
222
232
  readonly last: readonly ShCommentNode[];
223
233
  readonly word?: ShWordNode;
@@ -238,6 +248,7 @@ export interface ShCaseItemNode {
238
248
  [field: string]: unknown;
239
249
  readonly comments: readonly ShCommentNode[];
240
250
  readonly last: readonly ShCommentNode[];
251
+ readonly op?: number;
241
252
  readonly patterns: readonly ShWordNode[];
242
253
  readonly stmts: readonly ShStmtNode[];
243
254
  }
@@ -255,8 +266,11 @@ export interface ShCmdSubstNode {
255
266
  readonly end: { readonly line: number; readonly column: number };
256
267
  };
257
268
  [field: string]: unknown;
269
+ readonly backquotes?: boolean;
258
270
  readonly last: readonly ShCommentNode[];
271
+ readonly replyvar?: boolean;
259
272
  readonly stmts: readonly ShStmtNode[];
273
+ readonly tempfile?: boolean;
260
274
  }
261
275
 
262
276
  /**
@@ -272,6 +286,7 @@ export interface ShCommentNode {
272
286
  readonly end: { readonly line: number; readonly column: number };
273
287
  };
274
288
  [field: string]: unknown;
289
+ readonly text?: string;
275
290
  }
276
291
 
277
292
  /**
@@ -304,6 +319,7 @@ export interface ShDblQuotedNode {
304
319
  readonly end: { readonly line: number; readonly column: number };
305
320
  };
306
321
  [field: string]: unknown;
322
+ readonly dollar?: boolean;
307
323
  readonly parts: readonly ShWordPartNode[];
308
324
  }
309
325
 
@@ -337,6 +353,7 @@ export interface ShExpansionNode {
337
353
  readonly end: { readonly line: number; readonly column: number };
338
354
  };
339
355
  [field: string]: unknown;
356
+ readonly op?: number;
340
357
  readonly word?: ShWordNode;
341
358
  }
342
359
 
@@ -353,6 +370,7 @@ export interface ShExtGlobNode {
353
370
  readonly end: { readonly line: number; readonly column: number };
354
371
  };
355
372
  [field: string]: unknown;
373
+ readonly op?: number;
356
374
  readonly pattern?: ShLitNode;
357
375
  }
358
376
 
@@ -370,6 +388,7 @@ export interface ShFileNode {
370
388
  };
371
389
  [field: string]: unknown;
372
390
  readonly last: readonly ShCommentNode[];
391
+ readonly name?: string;
373
392
  readonly stmts: readonly ShStmtNode[];
374
393
  }
375
394
 
@@ -403,9 +422,11 @@ export interface ShForClauseNode {
403
422
  readonly end: { readonly line: number; readonly column: number };
404
423
  };
405
424
  [field: string]: unknown;
425
+ readonly braces?: boolean;
406
426
  readonly do: readonly ShStmtNode[];
407
427
  readonly dolast: readonly ShCommentNode[];
408
428
  readonly loop?: ShLoopNode;
429
+ readonly select?: boolean;
409
430
  }
410
431
 
411
432
  /**
@@ -424,6 +445,8 @@ export interface ShFuncDeclNode {
424
445
  readonly body?: ShStmtNode;
425
446
  readonly name?: ShLitNode;
426
447
  readonly names: readonly ShLitNode[];
448
+ readonly parens?: boolean;
449
+ readonly rsrvword?: boolean;
427
450
  }
428
451
 
429
452
  /**
@@ -476,6 +499,7 @@ export interface ShLitNode {
476
499
  readonly end: { readonly line: number; readonly column: number };
477
500
  };
478
501
  [field: string]: unknown;
502
+ readonly value?: string;
479
503
  }
480
504
 
481
505
  /**
@@ -491,14 +515,20 @@ export interface ShParamExpNode {
491
515
  readonly end: { readonly line: number; readonly column: number };
492
516
  };
493
517
  [field: string]: unknown;
518
+ readonly excl?: boolean;
494
519
  readonly exp?: ShExpansionNode;
495
520
  readonly flags?: ShLitNode;
496
521
  readonly index?: ShArithmExprNode;
522
+ readonly isset?: boolean;
523
+ readonly length?: boolean;
497
524
  readonly modifiers: readonly ShLitNode[];
525
+ readonly names?: number;
498
526
  readonly nestedparam?: ShWordPartNode;
499
527
  readonly param?: ShLitNode;
500
528
  readonly repl?: ShReplaceNode;
529
+ readonly short?: boolean;
501
530
  readonly slice?: ShSliceNode;
531
+ readonly width?: boolean;
502
532
  }
503
533
 
504
534
  /**
@@ -547,6 +577,7 @@ export interface ShProcSubstNode {
547
577
  };
548
578
  [field: string]: unknown;
549
579
  readonly last: readonly ShCommentNode[];
580
+ readonly op?: number;
550
581
  readonly stmts: readonly ShStmtNode[];
551
582
  }
552
583
 
@@ -565,6 +596,7 @@ export interface ShRedirectNode {
565
596
  [field: string]: unknown;
566
597
  readonly hdoc?: ShWordNode;
567
598
  readonly n?: ShLitNode;
599
+ readonly op?: number;
568
600
  readonly word?: ShWordNode;
569
601
  }
570
602
 
@@ -581,6 +613,7 @@ export interface ShReplaceNode {
581
613
  readonly end: { readonly line: number; readonly column: number };
582
614
  };
583
615
  [field: string]: unknown;
616
+ readonly all?: boolean;
584
617
  readonly orig?: ShWordNode;
585
618
  readonly with?: ShWordNode;
586
619
  }
@@ -598,6 +631,8 @@ export interface ShSglQuotedNode {
598
631
  readonly end: { readonly line: number; readonly column: number };
599
632
  };
600
633
  [field: string]: unknown;
634
+ readonly dollar?: boolean;
635
+ readonly value?: string;
601
636
  }
602
637
 
603
638
  /**
@@ -630,8 +665,12 @@ export interface ShStmtNode {
630
665
  readonly end: { readonly line: number; readonly column: number };
631
666
  };
632
667
  [field: string]: unknown;
668
+ readonly background?: boolean;
633
669
  readonly cmd?: ShCommandNode;
634
670
  readonly comments: readonly ShCommentNode[];
671
+ readonly coprocess?: boolean;
672
+ readonly disown?: boolean;
673
+ readonly negated?: boolean;
635
674
  readonly redirs: readonly ShRedirectNode[];
636
675
  }
637
676
 
@@ -698,6 +737,7 @@ export interface ShTimeClauseNode {
698
737
  readonly end: { readonly line: number; readonly column: number };
699
738
  };
700
739
  [field: string]: unknown;
740
+ readonly posixformat?: boolean;
701
741
  readonly stmt?: ShStmtNode;
702
742
  }
703
743
 
@@ -714,6 +754,8 @@ export interface ShUnaryArithmNode {
714
754
  readonly end: { readonly line: number; readonly column: number };
715
755
  };
716
756
  [field: string]: unknown;
757
+ readonly op?: number;
758
+ readonly post?: boolean;
717
759
  readonly x?: ShArithmExprNode;
718
760
  }
719
761
 
@@ -730,6 +772,7 @@ export interface ShUnaryTestNode {
730
772
  readonly end: { readonly line: number; readonly column: number };
731
773
  };
732
774
  [field: string]: unknown;
775
+ readonly op?: number;
733
776
  readonly x?: ShTestExprNode;
734
777
  }
735
778
 
@@ -750,6 +793,7 @@ export interface ShWhileClauseNode {
750
793
  readonly condlast: readonly ShCommentNode[];
751
794
  readonly do: readonly ShStmtNode[];
752
795
  readonly dolast: readonly ShCommentNode[];
796
+ readonly until?: boolean;
753
797
  }
754
798
 
755
799
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sh-ast",
3
3
  "description": "Synchronous shell-script parser (mvdan/sh via WASM) with a normalized, UTF-16-safe AST.",
4
- "version": "0.2.0",
4
+ "version": "0.3.0",
5
5
  "author": "Mike North <michael.l.north@gmail.com>",
6
6
  "repository": {
7
7
  "type": "git",