@nocobase/plugin-flow-engine 2.1.0-beta.35 → 2.1.0-beta.37

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.
Files changed (68) hide show
  1. package/dist/externalVersion.js +9 -9
  2. package/dist/node_modules/@ant-design/icons-svg/package.json +1 -1
  3. package/dist/node_modules/acorn/LICENSE +21 -0
  4. package/dist/node_modules/acorn/bin/acorn +4 -0
  5. package/dist/node_modules/acorn/dist/acorn.d.mts +857 -0
  6. package/dist/node_modules/acorn/dist/acorn.d.ts +857 -0
  7. package/dist/node_modules/acorn/dist/acorn.js +1 -0
  8. package/dist/node_modules/acorn/dist/bin.js +90 -0
  9. package/dist/node_modules/acorn/package.json +1 -0
  10. package/dist/node_modules/acorn-jsx/LICENSE +19 -0
  11. package/dist/node_modules/acorn-jsx/index.d.ts +12 -0
  12. package/dist/node_modules/acorn-jsx/index.js +1 -0
  13. package/dist/node_modules/acorn-jsx/package.json +1 -0
  14. package/dist/node_modules/acorn-jsx/xhtml.js +255 -0
  15. package/dist/node_modules/acorn-walk/LICENSE +21 -0
  16. package/dist/node_modules/acorn-walk/dist/walk.d.mts +177 -0
  17. package/dist/node_modules/acorn-walk/dist/walk.d.ts +177 -0
  18. package/dist/node_modules/acorn-walk/dist/walk.js +1 -0
  19. package/dist/node_modules/acorn-walk/node_modules/acorn/bin/acorn +4 -0
  20. package/dist/node_modules/acorn-walk/node_modules/acorn/dist/acorn.d.mts +866 -0
  21. package/dist/node_modules/acorn-walk/node_modules/acorn/dist/acorn.d.ts +866 -0
  22. package/dist/node_modules/acorn-walk/node_modules/acorn/dist/acorn.js +6174 -0
  23. package/dist/node_modules/acorn-walk/node_modules/acorn/dist/bin.js +90 -0
  24. package/dist/node_modules/acorn-walk/node_modules/acorn/package.json +50 -0
  25. package/dist/node_modules/acorn-walk/package.json +1 -0
  26. package/dist/node_modules/ses/package.json +1 -1
  27. package/dist/node_modules/zod/package.json +1 -1
  28. package/dist/server/flow-surfaces/action-scope.d.ts +2 -0
  29. package/dist/server/flow-surfaces/action-scope.js +8 -0
  30. package/dist/server/flow-surfaces/authoring-validation.d.ts +3 -0
  31. package/dist/server/flow-surfaces/authoring-validation.js +317 -9
  32. package/dist/server/flow-surfaces/blueprint/compile-blocks.js +143 -3
  33. package/dist/server/flow-surfaces/blueprint/public-types.d.ts +1 -1
  34. package/dist/server/flow-surfaces/builder.js +54 -1
  35. package/dist/server/flow-surfaces/catalog.js +158 -2
  36. package/dist/server/flow-surfaces/chart-config.d.ts +58 -54
  37. package/dist/server/flow-surfaces/chart-config.js +18 -5
  38. package/dist/server/flow-surfaces/compose-compiler.d.ts +1 -1
  39. package/dist/server/flow-surfaces/compose-runtime.d.ts +1 -0
  40. package/dist/server/flow-surfaces/compose-runtime.js +24 -6
  41. package/dist/server/flow-surfaces/configure-options.js +40 -1
  42. package/dist/server/flow-surfaces/default-block-actions.js +11 -0
  43. package/dist/server/flow-surfaces/index.js +4 -2
  44. package/dist/server/flow-surfaces/node-use-sets.js +2 -0
  45. package/dist/server/flow-surfaces/runjs-authoring/ctx-libs-member-mismatch-stop/index.js +1 -1
  46. package/dist/server/flow-surfaces/runjs-authoring/index.d.ts +14 -2
  47. package/dist/server/flow-surfaces/runjs-authoring/index.js +4633 -252
  48. package/dist/server/flow-surfaces/runjs-authoring/nested-runjs-stop/index.d.ts +10 -0
  49. package/dist/server/flow-surfaces/runjs-authoring/nested-runjs-stop/index.js +40 -0
  50. package/dist/server/flow-surfaces/runjs-authoring/rules.js +6 -0
  51. package/dist/server/flow-surfaces/runjs-authoring/source-limit-stop/index.d.ts +10 -0
  52. package/dist/server/flow-surfaces/runjs-authoring/source-limit-stop/index.js +40 -0
  53. package/dist/server/flow-surfaces/runjs-authoring/syntax-stop/index.d.ts +10 -0
  54. package/dist/server/flow-surfaces/runjs-authoring/syntax-stop/index.js +40 -0
  55. package/dist/server/flow-surfaces/runjs-authoring/types.d.ts +1 -1
  56. package/dist/server/flow-surfaces/service-utils.d.ts +1 -1
  57. package/dist/server/flow-surfaces/service-utils.js +3 -0
  58. package/dist/server/flow-surfaces/service.d.ts +106 -17
  59. package/dist/server/flow-surfaces/service.js +1760 -131
  60. package/dist/server/flow-surfaces/support-matrix.d.ts +1 -1
  61. package/dist/server/flow-surfaces/support-matrix.js +13 -1
  62. package/dist/server/flow-surfaces/surface-context.js +4 -13
  63. package/dist/swagger/flow-surfaces.d.ts +148 -0
  64. package/dist/swagger/flow-surfaces.examples.d.ts +179 -1
  65. package/dist/swagger/flow-surfaces.examples.js +75 -3
  66. package/dist/swagger/flow-surfaces.js +181 -7
  67. package/dist/swagger/index.d.ts +148 -0
  68. package/package.json +5 -2
@@ -0,0 +1,857 @@
1
+ export interface Node {
2
+ start: number
3
+ end: number
4
+ type: string
5
+ range?: [number, number]
6
+ loc?: SourceLocation | null
7
+ }
8
+
9
+ export interface SourceLocation {
10
+ source?: string | null
11
+ start: Position
12
+ end: Position
13
+ }
14
+
15
+ export interface Position {
16
+ /** 1-based */
17
+ line: number
18
+ /** 0-based */
19
+ column: number
20
+ }
21
+
22
+ export interface Identifier extends Node {
23
+ type: "Identifier"
24
+ name: string
25
+ }
26
+
27
+ export interface Literal extends Node {
28
+ type: "Literal"
29
+ value?: string | boolean | null | number | RegExp | bigint
30
+ raw?: string
31
+ regex?: {
32
+ pattern: string
33
+ flags: string
34
+ }
35
+ bigint?: string
36
+ }
37
+
38
+ export interface Program extends Node {
39
+ type: "Program"
40
+ body: Array<Statement | ModuleDeclaration>
41
+ sourceType: "script" | "module"
42
+ }
43
+
44
+ export interface Function extends Node {
45
+ id?: Identifier | null
46
+ params: Array<Pattern>
47
+ body: BlockStatement | Expression
48
+ generator: boolean
49
+ expression: boolean
50
+ async: boolean
51
+ }
52
+
53
+ export interface ExpressionStatement extends Node {
54
+ type: "ExpressionStatement"
55
+ expression: Expression | Literal
56
+ directive?: string
57
+ }
58
+
59
+ export interface BlockStatement extends Node {
60
+ type: "BlockStatement"
61
+ body: Array<Statement>
62
+ }
63
+
64
+ export interface EmptyStatement extends Node {
65
+ type: "EmptyStatement"
66
+ }
67
+
68
+ export interface DebuggerStatement extends Node {
69
+ type: "DebuggerStatement"
70
+ }
71
+
72
+ export interface WithStatement extends Node {
73
+ type: "WithStatement"
74
+ object: Expression
75
+ body: Statement
76
+ }
77
+
78
+ export interface ReturnStatement extends Node {
79
+ type: "ReturnStatement"
80
+ argument?: Expression | null
81
+ }
82
+
83
+ export interface LabeledStatement extends Node {
84
+ type: "LabeledStatement"
85
+ label: Identifier
86
+ body: Statement
87
+ }
88
+
89
+ export interface BreakStatement extends Node {
90
+ type: "BreakStatement"
91
+ label?: Identifier | null
92
+ }
93
+
94
+ export interface ContinueStatement extends Node {
95
+ type: "ContinueStatement"
96
+ label?: Identifier | null
97
+ }
98
+
99
+ export interface IfStatement extends Node {
100
+ type: "IfStatement"
101
+ test: Expression
102
+ consequent: Statement
103
+ alternate?: Statement | null
104
+ }
105
+
106
+ export interface SwitchStatement extends Node {
107
+ type: "SwitchStatement"
108
+ discriminant: Expression
109
+ cases: Array<SwitchCase>
110
+ }
111
+
112
+ export interface SwitchCase extends Node {
113
+ type: "SwitchCase"
114
+ test?: Expression | null
115
+ consequent: Array<Statement>
116
+ }
117
+
118
+ export interface ThrowStatement extends Node {
119
+ type: "ThrowStatement"
120
+ argument: Expression
121
+ }
122
+
123
+ export interface TryStatement extends Node {
124
+ type: "TryStatement"
125
+ block: BlockStatement
126
+ handler?: CatchClause | null
127
+ finalizer?: BlockStatement | null
128
+ }
129
+
130
+ export interface CatchClause extends Node {
131
+ type: "CatchClause"
132
+ param?: Pattern | null
133
+ body: BlockStatement
134
+ }
135
+
136
+ export interface WhileStatement extends Node {
137
+ type: "WhileStatement"
138
+ test: Expression
139
+ body: Statement
140
+ }
141
+
142
+ export interface DoWhileStatement extends Node {
143
+ type: "DoWhileStatement"
144
+ body: Statement
145
+ test: Expression
146
+ }
147
+
148
+ export interface ForStatement extends Node {
149
+ type: "ForStatement"
150
+ init?: VariableDeclaration | Expression | null
151
+ test?: Expression | null
152
+ update?: Expression | null
153
+ body: Statement
154
+ }
155
+
156
+ export interface ForInStatement extends Node {
157
+ type: "ForInStatement"
158
+ left: VariableDeclaration | Pattern
159
+ right: Expression
160
+ body: Statement
161
+ }
162
+
163
+ export interface FunctionDeclaration extends Function {
164
+ type: "FunctionDeclaration"
165
+ id: Identifier
166
+ body: BlockStatement
167
+ }
168
+
169
+ export interface VariableDeclaration extends Node {
170
+ type: "VariableDeclaration"
171
+ declarations: Array<VariableDeclarator>
172
+ kind: "var" | "let" | "const"
173
+ }
174
+
175
+ export interface VariableDeclarator extends Node {
176
+ type: "VariableDeclarator"
177
+ id: Pattern
178
+ init?: Expression | null
179
+ }
180
+
181
+ export interface ThisExpression extends Node {
182
+ type: "ThisExpression"
183
+ }
184
+
185
+ export interface ArrayExpression extends Node {
186
+ type: "ArrayExpression"
187
+ elements: Array<Expression | SpreadElement | null>
188
+ }
189
+
190
+ export interface ObjectExpression extends Node {
191
+ type: "ObjectExpression"
192
+ properties: Array<Property | SpreadElement>
193
+ }
194
+
195
+ export interface Property extends Node {
196
+ type: "Property"
197
+ key: Expression
198
+ value: Expression
199
+ kind: "init" | "get" | "set"
200
+ method: boolean
201
+ shorthand: boolean
202
+ computed: boolean
203
+ }
204
+
205
+ export interface FunctionExpression extends Function {
206
+ type: "FunctionExpression"
207
+ body: BlockStatement
208
+ }
209
+
210
+ export interface UnaryExpression extends Node {
211
+ type: "UnaryExpression"
212
+ operator: UnaryOperator
213
+ prefix: boolean
214
+ argument: Expression
215
+ }
216
+
217
+ export type UnaryOperator = "-" | "+" | "!" | "~" | "typeof" | "void" | "delete"
218
+
219
+ export interface UpdateExpression extends Node {
220
+ type: "UpdateExpression"
221
+ operator: UpdateOperator
222
+ argument: Expression
223
+ prefix: boolean
224
+ }
225
+
226
+ export type UpdateOperator = "++" | "--"
227
+
228
+ export interface BinaryExpression extends Node {
229
+ type: "BinaryExpression"
230
+ operator: BinaryOperator
231
+ left: Expression | PrivateIdentifier
232
+ right: Expression
233
+ }
234
+
235
+ export type BinaryOperator = "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "|" | "^" | "&" | "in" | "instanceof" | "**"
236
+
237
+ export interface AssignmentExpression extends Node {
238
+ type: "AssignmentExpression"
239
+ operator: AssignmentOperator
240
+ left: Pattern
241
+ right: Expression
242
+ }
243
+
244
+ export type AssignmentOperator = "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=" | "||=" | "&&=" | "??="
245
+
246
+ export interface LogicalExpression extends Node {
247
+ type: "LogicalExpression"
248
+ operator: LogicalOperator
249
+ left: Expression
250
+ right: Expression
251
+ }
252
+
253
+ export type LogicalOperator = "||" | "&&" | "??"
254
+
255
+ export interface MemberExpression extends Node {
256
+ type: "MemberExpression"
257
+ object: Expression | Super
258
+ property: Expression | PrivateIdentifier
259
+ computed: boolean
260
+ optional: boolean
261
+ }
262
+
263
+ export interface ConditionalExpression extends Node {
264
+ type: "ConditionalExpression"
265
+ test: Expression
266
+ alternate: Expression
267
+ consequent: Expression
268
+ }
269
+
270
+ export interface CallExpression extends Node {
271
+ type: "CallExpression"
272
+ callee: Expression | Super
273
+ arguments: Array<Expression | SpreadElement>
274
+ optional: boolean
275
+ }
276
+
277
+ export interface NewExpression extends Node {
278
+ type: "NewExpression"
279
+ callee: Expression
280
+ arguments: Array<Expression | SpreadElement>
281
+ }
282
+
283
+ export interface SequenceExpression extends Node {
284
+ type: "SequenceExpression"
285
+ expressions: Array<Expression>
286
+ }
287
+
288
+ export interface ForOfStatement extends Node {
289
+ type: "ForOfStatement"
290
+ left: VariableDeclaration | Pattern
291
+ right: Expression
292
+ body: Statement
293
+ await: boolean
294
+ }
295
+
296
+ export interface Super extends Node {
297
+ type: "Super"
298
+ }
299
+
300
+ export interface SpreadElement extends Node {
301
+ type: "SpreadElement"
302
+ argument: Expression
303
+ }
304
+
305
+ export interface ArrowFunctionExpression extends Function {
306
+ type: "ArrowFunctionExpression"
307
+ }
308
+
309
+ export interface YieldExpression extends Node {
310
+ type: "YieldExpression"
311
+ argument?: Expression | null
312
+ delegate: boolean
313
+ }
314
+
315
+ export interface TemplateLiteral extends Node {
316
+ type: "TemplateLiteral"
317
+ quasis: Array<TemplateElement>
318
+ expressions: Array<Expression>
319
+ }
320
+
321
+ export interface TaggedTemplateExpression extends Node {
322
+ type: "TaggedTemplateExpression"
323
+ tag: Expression
324
+ quasi: TemplateLiteral
325
+ }
326
+
327
+ export interface TemplateElement extends Node {
328
+ type: "TemplateElement"
329
+ tail: boolean
330
+ value: {
331
+ cooked?: string | null
332
+ raw: string
333
+ }
334
+ }
335
+
336
+ export interface AssignmentProperty extends Node {
337
+ type: "Property"
338
+ key: Expression
339
+ value: Pattern
340
+ kind: "init"
341
+ method: false
342
+ shorthand: boolean
343
+ computed: boolean
344
+ }
345
+
346
+ export interface ObjectPattern extends Node {
347
+ type: "ObjectPattern"
348
+ properties: Array<AssignmentProperty | RestElement>
349
+ }
350
+
351
+ export interface ArrayPattern extends Node {
352
+ type: "ArrayPattern"
353
+ elements: Array<Pattern | null>
354
+ }
355
+
356
+ export interface RestElement extends Node {
357
+ type: "RestElement"
358
+ argument: Pattern
359
+ }
360
+
361
+ export interface AssignmentPattern extends Node {
362
+ type: "AssignmentPattern"
363
+ left: Pattern
364
+ right: Expression
365
+ }
366
+
367
+ export interface Class extends Node {
368
+ id?: Identifier | null
369
+ superClass?: Expression | null
370
+ body: ClassBody
371
+ }
372
+
373
+ export interface ClassBody extends Node {
374
+ type: "ClassBody"
375
+ body: Array<MethodDefinition | PropertyDefinition | StaticBlock>
376
+ }
377
+
378
+ export interface MethodDefinition extends Node {
379
+ type: "MethodDefinition"
380
+ key: Expression | PrivateIdentifier
381
+ value: FunctionExpression
382
+ kind: "constructor" | "method" | "get" | "set"
383
+ computed: boolean
384
+ static: boolean
385
+ }
386
+
387
+ export interface ClassDeclaration extends Class {
388
+ type: "ClassDeclaration"
389
+ id: Identifier
390
+ }
391
+
392
+ export interface ClassExpression extends Class {
393
+ type: "ClassExpression"
394
+ }
395
+
396
+ export interface MetaProperty extends Node {
397
+ type: "MetaProperty"
398
+ meta: Identifier
399
+ property: Identifier
400
+ }
401
+
402
+ export interface ImportDeclaration extends Node {
403
+ type: "ImportDeclaration"
404
+ specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>
405
+ source: Literal
406
+ }
407
+
408
+ export interface ImportSpecifier extends Node {
409
+ type: "ImportSpecifier"
410
+ imported: Identifier | Literal
411
+ local: Identifier
412
+ }
413
+
414
+ export interface ImportDefaultSpecifier extends Node {
415
+ type: "ImportDefaultSpecifier"
416
+ local: Identifier
417
+ }
418
+
419
+ export interface ImportNamespaceSpecifier extends Node {
420
+ type: "ImportNamespaceSpecifier"
421
+ local: Identifier
422
+ }
423
+
424
+ export interface ExportNamedDeclaration extends Node {
425
+ type: "ExportNamedDeclaration"
426
+ declaration?: Declaration | null
427
+ specifiers: Array<ExportSpecifier>
428
+ source?: Literal | null
429
+ }
430
+
431
+ export interface ExportSpecifier extends Node {
432
+ type: "ExportSpecifier"
433
+ exported: Identifier | Literal
434
+ local: Identifier | Literal
435
+ }
436
+
437
+ export interface AnonymousFunctionDeclaration extends Function {
438
+ type: "FunctionDeclaration"
439
+ id: null
440
+ body: BlockStatement
441
+ }
442
+
443
+ export interface AnonymousClassDeclaration extends Class {
444
+ type: "ClassDeclaration"
445
+ id: null
446
+ }
447
+
448
+ export interface ExportDefaultDeclaration extends Node {
449
+ type: "ExportDefaultDeclaration"
450
+ declaration: AnonymousFunctionDeclaration | FunctionDeclaration | AnonymousClassDeclaration | ClassDeclaration | Expression
451
+ }
452
+
453
+ export interface ExportAllDeclaration extends Node {
454
+ type: "ExportAllDeclaration"
455
+ source: Literal
456
+ exported?: Identifier | Literal | null
457
+ }
458
+
459
+ export interface AwaitExpression extends Node {
460
+ type: "AwaitExpression"
461
+ argument: Expression
462
+ }
463
+
464
+ export interface ChainExpression extends Node {
465
+ type: "ChainExpression"
466
+ expression: MemberExpression | CallExpression
467
+ }
468
+
469
+ export interface ImportExpression extends Node {
470
+ type: "ImportExpression"
471
+ source: Expression
472
+ }
473
+
474
+ export interface ParenthesizedExpression extends Node {
475
+ type: "ParenthesizedExpression"
476
+ expression: Expression
477
+ }
478
+
479
+ export interface PropertyDefinition extends Node {
480
+ type: "PropertyDefinition"
481
+ key: Expression | PrivateIdentifier
482
+ value?: Expression | null
483
+ computed: boolean
484
+ static: boolean
485
+ }
486
+
487
+ export interface PrivateIdentifier extends Node {
488
+ type: "PrivateIdentifier"
489
+ name: string
490
+ }
491
+
492
+ export interface StaticBlock extends Node {
493
+ type: "StaticBlock"
494
+ body: Array<Statement>
495
+ }
496
+
497
+ export type Statement =
498
+ | ExpressionStatement
499
+ | BlockStatement
500
+ | EmptyStatement
501
+ | DebuggerStatement
502
+ | WithStatement
503
+ | ReturnStatement
504
+ | LabeledStatement
505
+ | BreakStatement
506
+ | ContinueStatement
507
+ | IfStatement
508
+ | SwitchStatement
509
+ | ThrowStatement
510
+ | TryStatement
511
+ | WhileStatement
512
+ | DoWhileStatement
513
+ | ForStatement
514
+ | ForInStatement
515
+ | ForOfStatement
516
+ | Declaration
517
+
518
+ export type Declaration =
519
+ | FunctionDeclaration
520
+ | VariableDeclaration
521
+ | ClassDeclaration
522
+
523
+ export type Expression =
524
+ | Identifier
525
+ | Literal
526
+ | ThisExpression
527
+ | ArrayExpression
528
+ | ObjectExpression
529
+ | FunctionExpression
530
+ | UnaryExpression
531
+ | UpdateExpression
532
+ | BinaryExpression
533
+ | AssignmentExpression
534
+ | LogicalExpression
535
+ | MemberExpression
536
+ | ConditionalExpression
537
+ | CallExpression
538
+ | NewExpression
539
+ | SequenceExpression
540
+ | ArrowFunctionExpression
541
+ | YieldExpression
542
+ | TemplateLiteral
543
+ | TaggedTemplateExpression
544
+ | ClassExpression
545
+ | MetaProperty
546
+ | AwaitExpression
547
+ | ChainExpression
548
+ | ImportExpression
549
+ | ParenthesizedExpression
550
+
551
+ export type Pattern =
552
+ | Identifier
553
+ | MemberExpression
554
+ | ObjectPattern
555
+ | ArrayPattern
556
+ | RestElement
557
+ | AssignmentPattern
558
+
559
+ export type ModuleDeclaration =
560
+ | ImportDeclaration
561
+ | ExportNamedDeclaration
562
+ | ExportDefaultDeclaration
563
+ | ExportAllDeclaration
564
+
565
+ export type AnyNode = Statement | Expression | Declaration | ModuleDeclaration | Literal | Program | SwitchCase | CatchClause | Property | Super | SpreadElement | TemplateElement | AssignmentProperty | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | ClassBody | MethodDefinition | MetaProperty | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier | AnonymousFunctionDeclaration | AnonymousClassDeclaration | PropertyDefinition | PrivateIdentifier | StaticBlock
566
+
567
+ export function parse(input: string, options: Options): Program
568
+
569
+ export function parseExpressionAt(input: string, pos: number, options: Options): Expression
570
+
571
+ export function tokenizer(input: string, options: Options): {
572
+ getToken(): Token
573
+ [Symbol.iterator](): Iterator<Token>
574
+ }
575
+
576
+ export type ecmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | "latest"
577
+
578
+ export interface Options {
579
+ /**
580
+ * `ecmaVersion` indicates the ECMAScript version to parse. Must be
581
+ * either 3, 5, 6 (or 2015), 7 (2016), 8 (2017), 9 (2018), 10
582
+ * (2019), 11 (2020), 12 (2021), 13 (2022), 14 (2023), or `"latest"`
583
+ * (the latest version the library supports). This influences
584
+ * support for strict mode, the set of reserved words, and support
585
+ * for new syntax features.
586
+ */
587
+ ecmaVersion: ecmaVersion
588
+
589
+ /**
590
+ * `sourceType` indicates the mode the code should be parsed in.
591
+ * Can be either `"script"` or `"module"`. This influences global
592
+ * strict mode and parsing of `import` and `export` declarations.
593
+ */
594
+ sourceType?: "script" | "module"
595
+
596
+ /**
597
+ * a callback that will be called when a semicolon is automatically inserted.
598
+ * @param lastTokEnd the position of the comma as an offset
599
+ * @param lastTokEndLoc location if {@link locations} is enabled
600
+ */
601
+ onInsertedSemicolon?: (lastTokEnd: number, lastTokEndLoc?: Position) => void
602
+
603
+ /**
604
+ * similar to `onInsertedSemicolon`, but for trailing commas
605
+ * @param lastTokEnd the position of the comma as an offset
606
+ * @param lastTokEndLoc location if `locations` is enabled
607
+ */
608
+ onTrailingComma?: (lastTokEnd: number, lastTokEndLoc?: Position) => void
609
+
610
+ /**
611
+ * By default, reserved words are only enforced if ecmaVersion >= 5.
612
+ * Set `allowReserved` to a boolean value to explicitly turn this on
613
+ * an off. When this option has the value "never", reserved words
614
+ * and keywords can also not be used as property names.
615
+ */
616
+ allowReserved?: boolean | "never"
617
+
618
+ /**
619
+ * When enabled, a return at the top level is not considered an error.
620
+ */
621
+ allowReturnOutsideFunction?: boolean
622
+
623
+ /**
624
+ * When enabled, import/export statements are not constrained to
625
+ * appearing at the top of the program, and an import.meta expression
626
+ * in a script isn't considered an error.
627
+ */
628
+ allowImportExportEverywhere?: boolean
629
+
630
+ /**
631
+ * By default, `await` identifiers are allowed to appear at the top-level scope only if {@link ecmaVersion} >= 2022.
632
+ * When enabled, await identifiers are allowed to appear at the top-level scope,
633
+ * but they are still not allowed in non-async functions.
634
+ */
635
+ allowAwaitOutsideFunction?: boolean
636
+
637
+ /**
638
+ * When enabled, super identifiers are not constrained to
639
+ * appearing in methods and do not raise an error when they appear elsewhere.
640
+ */
641
+ allowSuperOutsideMethod?: boolean
642
+
643
+ /**
644
+ * When enabled, hashbang directive in the beginning of file is
645
+ * allowed and treated as a line comment. Enabled by default when
646
+ * {@link ecmaVersion} >= 2023.
647
+ */
648
+ allowHashBang?: boolean
649
+
650
+ /**
651
+ * By default, the parser will verify that private properties are
652
+ * only used in places where they are valid and have been declared.
653
+ * Set this to false to turn such checks off.
654
+ */
655
+ checkPrivateFields?: boolean
656
+
657
+ /**
658
+ * When `locations` is on, `loc` properties holding objects with
659
+ * `start` and `end` properties as {@link Position} objects will be attached to the
660
+ * nodes.
661
+ */
662
+ locations?: boolean
663
+
664
+ /**
665
+ * a callback that will cause Acorn to call that export function with object in the same
666
+ * format as tokens returned from `tokenizer().getToken()`. Note
667
+ * that you are not allowed to call the parser from the
668
+ * callback—that will corrupt its internal state.
669
+ */
670
+ onToken?: ((token: Token) => void) | Token[]
671
+
672
+
673
+ /**
674
+ * This takes a export function or an array.
675
+ *
676
+ * When a export function is passed, Acorn will call that export function with `(block, text, start,
677
+ * end)` parameters whenever a comment is skipped. `block` is a
678
+ * boolean indicating whether this is a block (`/* *\/`) comment,
679
+ * `text` is the content of the comment, and `start` and `end` are
680
+ * character offsets that denote the start and end of the comment.
681
+ * When the {@link locations} option is on, two more parameters are
682
+ * passed, the full locations of {@link Position} export type of the start and
683
+ * end of the comments.
684
+ *
685
+ * When a array is passed, each found comment of {@link Comment} export type is pushed to the array.
686
+ *
687
+ * Note that you are not allowed to call the
688
+ * parser from the callback—that will corrupt its internal state.
689
+ */
690
+ onComment?: ((
691
+ isBlock: boolean, text: string, start: number, end: number, startLoc?: Position,
692
+ endLoc?: Position
693
+ ) => void) | Comment[]
694
+
695
+ /**
696
+ * Nodes have their start and end characters offsets recorded in
697
+ * `start` and `end` properties (directly on the node, rather than
698
+ * the `loc` object, which holds line/column data. To also add a
699
+ * [semi-standardized][range] `range` property holding a `[start,
700
+ * end]` array with the same numbers, set the `ranges` option to
701
+ * `true`.
702
+ */
703
+ ranges?: boolean
704
+
705
+ /**
706
+ * It is possible to parse multiple files into a single AST by
707
+ * passing the tree produced by parsing the first file as
708
+ * `program` option in subsequent parses. This will add the
709
+ * toplevel forms of the parsed file to the `Program` (top) node
710
+ * of an existing parse tree.
711
+ */
712
+ program?: Node
713
+
714
+ /**
715
+ * When {@link locations} is on, you can pass this to record the source
716
+ * file in every node's `loc` object.
717
+ */
718
+ sourceFile?: string
719
+
720
+ /**
721
+ * This value, if given, is stored in every node, whether {@link locations} is on or off.
722
+ */
723
+ directSourceFile?: string
724
+
725
+ /**
726
+ * When enabled, parenthesized expressions are represented by
727
+ * (non-standard) ParenthesizedExpression nodes
728
+ */
729
+ preserveParens?: boolean
730
+ }
731
+
732
+ export class Parser {
733
+ options: Options
734
+ input: string
735
+
736
+ private constructor(options: Options, input: string, startPos?: number)
737
+ parse(): Program
738
+
739
+ static parse(input: string, options: Options): Program
740
+ static parseExpressionAt(input: string, pos: number, options: Options): Expression
741
+ static tokenizer(input: string, options: Options): {
742
+ getToken(): Token
743
+ [Symbol.iterator](): Iterator<Token>
744
+ }
745
+ static extend(...plugins: ((BaseParser: typeof Parser) => typeof Parser)[]): typeof Parser
746
+ }
747
+
748
+ export const defaultOptions: Options
749
+
750
+ export function getLineInfo(input: string, offset: number): Position
751
+
752
+ export class TokenType {
753
+ label: string
754
+ keyword: string | undefined
755
+ }
756
+
757
+ export const tokTypes: {
758
+ num: TokenType
759
+ regexp: TokenType
760
+ string: TokenType
761
+ name: TokenType
762
+ privateId: TokenType
763
+ eof: TokenType
764
+
765
+ bracketL: TokenType
766
+ bracketR: TokenType
767
+ braceL: TokenType
768
+ braceR: TokenType
769
+ parenL: TokenType
770
+ parenR: TokenType
771
+ comma: TokenType
772
+ semi: TokenType
773
+ colon: TokenType
774
+ dot: TokenType
775
+ question: TokenType
776
+ questionDot: TokenType
777
+ arrow: TokenType
778
+ template: TokenType
779
+ invalidTemplate: TokenType
780
+ ellipsis: TokenType
781
+ backQuote: TokenType
782
+ dollarBraceL: TokenType
783
+
784
+ eq: TokenType
785
+ assign: TokenType
786
+ incDec: TokenType
787
+ prefix: TokenType
788
+ logicalOR: TokenType
789
+ logicalAND: TokenType
790
+ bitwiseOR: TokenType
791
+ bitwiseXOR: TokenType
792
+ bitwiseAND: TokenType
793
+ equality: TokenType
794
+ relational: TokenType
795
+ bitShift: TokenType
796
+ plusMin: TokenType
797
+ modulo: TokenType
798
+ star: TokenType
799
+ slash: TokenType
800
+ starstar: TokenType
801
+ coalesce: TokenType
802
+
803
+ _break: TokenType
804
+ _case: TokenType
805
+ _catch: TokenType
806
+ _continue: TokenType
807
+ _debugger: TokenType
808
+ _default: TokenType
809
+ _do: TokenType
810
+ _else: TokenType
811
+ _finally: TokenType
812
+ _for: TokenType
813
+ _function: TokenType
814
+ _if: TokenType
815
+ _return: TokenType
816
+ _switch: TokenType
817
+ _throw: TokenType
818
+ _try: TokenType
819
+ _var: TokenType
820
+ _const: TokenType
821
+ _while: TokenType
822
+ _with: TokenType
823
+ _new: TokenType
824
+ _this: TokenType
825
+ _super: TokenType
826
+ _class: TokenType
827
+ _extends: TokenType
828
+ _export: TokenType
829
+ _import: TokenType
830
+ _null: TokenType
831
+ _true: TokenType
832
+ _false: TokenType
833
+ _in: TokenType
834
+ _instanceof: TokenType
835
+ _typeof: TokenType
836
+ _void: TokenType
837
+ _delete: TokenType
838
+ }
839
+
840
+ export interface Comment {
841
+ type: "Line" | "Block"
842
+ value: string
843
+ start: number
844
+ end: number
845
+ loc?: SourceLocation
846
+ range?: [number, number]
847
+ }
848
+
849
+ export class Token {
850
+ type: TokenType
851
+ start: number
852
+ end: number
853
+ loc?: SourceLocation
854
+ range?: [number, number]
855
+ }
856
+
857
+ export const version: string