@nocobase/plugin-flow-engine 2.1.0-alpha.39 → 2.1.0-alpha.40

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 (67) 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 +148 -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/index.d.ts +14 -2
  46. package/dist/server/flow-surfaces/runjs-authoring/index.js +4213 -242
  47. package/dist/server/flow-surfaces/runjs-authoring/nested-runjs-stop/index.d.ts +10 -0
  48. package/dist/server/flow-surfaces/runjs-authoring/nested-runjs-stop/index.js +40 -0
  49. package/dist/server/flow-surfaces/runjs-authoring/rules.js +6 -0
  50. package/dist/server/flow-surfaces/runjs-authoring/source-limit-stop/index.d.ts +10 -0
  51. package/dist/server/flow-surfaces/runjs-authoring/source-limit-stop/index.js +40 -0
  52. package/dist/server/flow-surfaces/runjs-authoring/syntax-stop/index.d.ts +10 -0
  53. package/dist/server/flow-surfaces/runjs-authoring/syntax-stop/index.js +40 -0
  54. package/dist/server/flow-surfaces/runjs-authoring/types.d.ts +1 -1
  55. package/dist/server/flow-surfaces/service-utils.d.ts +1 -1
  56. package/dist/server/flow-surfaces/service-utils.js +3 -0
  57. package/dist/server/flow-surfaces/service.d.ts +61 -3
  58. package/dist/server/flow-surfaces/service.js +1199 -101
  59. package/dist/server/flow-surfaces/support-matrix.d.ts +1 -1
  60. package/dist/server/flow-surfaces/support-matrix.js +13 -1
  61. package/dist/server/flow-surfaces/surface-context.js +4 -13
  62. package/dist/swagger/flow-surfaces.d.ts +147 -0
  63. package/dist/swagger/flow-surfaces.examples.d.ts +194 -1
  64. package/dist/swagger/flow-surfaces.examples.js +75 -3
  65. package/dist/swagger/flow-surfaces.js +180 -7
  66. package/dist/swagger/index.d.ts +147 -0
  67. package/package.json +5 -2
@@ -0,0 +1,177 @@
1
+ import * as acorn from "acorn"
2
+
3
+ export type FullWalkerCallback<TState> = (
4
+ node: acorn.Node,
5
+ state: TState,
6
+ type: string
7
+ ) => void
8
+
9
+ export type FullAncestorWalkerCallback<TState> = (
10
+ node: acorn.Node,
11
+ state: TState,
12
+ ancestors: acorn.Node[],
13
+ type: string
14
+ ) => void
15
+
16
+ type AggregateType = {
17
+ Expression: acorn.Expression,
18
+ Statement: acorn.Statement,
19
+ Function: acorn.Function,
20
+ Class: acorn.Class,
21
+ Pattern: acorn.Pattern,
22
+ ForInit: acorn.VariableDeclaration | acorn.Expression
23
+ }
24
+
25
+ export type SimpleVisitors<TState> = {
26
+ [type in acorn.AnyNode["type"]]?: (node: Extract<acorn.AnyNode, { type: type }>, state: TState) => void
27
+ } & {
28
+ [type in keyof AggregateType]?: (node: AggregateType[type], state: TState) => void
29
+ }
30
+
31
+ export type AncestorVisitors<TState> = {
32
+ [type in acorn.AnyNode["type"]]?: ( node: Extract<acorn.AnyNode, { type: type }>, state: TState, ancestors: acorn.Node[]
33
+ ) => void
34
+ } & {
35
+ [type in keyof AggregateType]?: (node: AggregateType[type], state: TState, ancestors: acorn.Node[]) => void
36
+ }
37
+
38
+ export type WalkerCallback<TState> = (node: acorn.Node, state: TState) => void
39
+
40
+ export type RecursiveVisitors<TState> = {
41
+ [type in acorn.AnyNode["type"]]?: ( node: Extract<acorn.AnyNode, { type: type }>, state: TState, callback: WalkerCallback<TState>) => void
42
+ } & {
43
+ [type in keyof AggregateType]?: (node: AggregateType[type], state: TState, callback: WalkerCallback<TState>) => void
44
+ }
45
+
46
+ export type FindPredicate = (type: string, node: acorn.Node) => boolean
47
+
48
+ export interface Found<TState> {
49
+ node: acorn.Node,
50
+ state: TState
51
+ }
52
+
53
+ /**
54
+ * does a 'simple' walk over a tree
55
+ * @param node the AST node to walk
56
+ * @param visitors an object with properties whose names correspond to node types in the {@link https://github.com/estree/estree | ESTree spec}. The properties should contain functions that will be called with the node object and, if applicable the state at that point.
57
+ * @param base a walker algorithm
58
+ * @param state a start state. The default walker will simply visit all statements and expressions and not produce a meaningful state. (An example of a use of state is to track scope at each point in the tree.)
59
+ */
60
+ export function simple<TState>(
61
+ node: acorn.Node,
62
+ visitors: SimpleVisitors<TState>,
63
+ base?: RecursiveVisitors<TState>,
64
+ state?: TState
65
+ ): void
66
+
67
+ /**
68
+ * does a 'simple' walk over a tree, building up an array of ancestor nodes (including the current node) and passing the array to the callbacks as a third parameter.
69
+ * @param node
70
+ * @param visitors
71
+ * @param base
72
+ * @param state
73
+ */
74
+ export function ancestor<TState>(
75
+ node: acorn.Node,
76
+ visitors: AncestorVisitors<TState>,
77
+ base?: RecursiveVisitors<TState>,
78
+ state?: TState
79
+ ): void
80
+
81
+ /**
82
+ * does a 'recursive' walk, where the walker functions are responsible for continuing the walk on the child nodes of their target node.
83
+ * @param node
84
+ * @param state the start state
85
+ * @param functions contain an object that maps node types to walker functions
86
+ * @param base provides the fallback walker functions for node types that aren't handled in the {@link functions} object. If not given, the default walkers will be used.
87
+ */
88
+ export function recursive<TState>(
89
+ node: acorn.Node,
90
+ state: TState,
91
+ functions: RecursiveVisitors<TState>,
92
+ base?: RecursiveVisitors<TState>
93
+ ): void
94
+
95
+ /**
96
+ * does a 'full' walk over a tree, calling the {@link callback} with the arguments (node, state, type) for each node
97
+ * @param node
98
+ * @param callback
99
+ * @param base
100
+ * @param state
101
+ */
102
+ export function full<TState>(
103
+ node: acorn.Node,
104
+ callback: FullWalkerCallback<TState>,
105
+ base?: RecursiveVisitors<TState>,
106
+ state?: TState
107
+ ): void
108
+
109
+ /**
110
+ * does a 'full' walk over a tree, building up an array of ancestor nodes (including the current node) and passing the array to the callbacks as a third parameter.
111
+ * @param node
112
+ * @param callback
113
+ * @param base
114
+ * @param state
115
+ */
116
+ export function fullAncestor<TState>(
117
+ node: acorn.Node,
118
+ callback: FullAncestorWalkerCallback<TState>,
119
+ base?: RecursiveVisitors<TState>,
120
+ state?: TState
121
+ ): void
122
+
123
+ /**
124
+ * builds a new walker object by using the walker functions in {@link functions} and filling in the missing ones by taking defaults from {@link base}.
125
+ * @param functions
126
+ * @param base
127
+ */
128
+ export function make<TState>(
129
+ functions: RecursiveVisitors<TState>,
130
+ base?: RecursiveVisitors<TState>
131
+ ): RecursiveVisitors<TState>
132
+
133
+ /**
134
+ * tries to locate a node in a tree at the given start and/or end offsets, which satisfies the predicate test. {@link start} and {@link end} can be either `null` (as wildcard) or a `number`. {@link test} may be a string (indicating a node type) or a function that takes (nodeType, node) arguments and returns a boolean indicating whether this node is interesting. {@link base} and {@link state} are optional, and can be used to specify a custom walker. Nodes are tested from inner to outer, so if two nodes match the boundaries, the inner one will be preferred.
135
+ * @param node
136
+ * @param start
137
+ * @param end
138
+ * @param type
139
+ * @param base
140
+ * @param state
141
+ */
142
+ export function findNodeAt<TState>(
143
+ node: acorn.Node,
144
+ start: number | undefined,
145
+ end?: number | undefined,
146
+ type?: FindPredicate | string,
147
+ base?: RecursiveVisitors<TState>,
148
+ state?: TState
149
+ ): Found<TState> | undefined
150
+
151
+ /**
152
+ * like {@link findNodeAt}, but will match any node that exists 'around' (spanning) the given position.
153
+ * @param node
154
+ * @param start
155
+ * @param type
156
+ * @param base
157
+ * @param state
158
+ */
159
+ export function findNodeAround<TState>(
160
+ node: acorn.Node,
161
+ start: number | undefined,
162
+ type?: FindPredicate | string,
163
+ base?: RecursiveVisitors<TState>,
164
+ state?: TState
165
+ ): Found<TState> | undefined
166
+
167
+ /**
168
+ * Find the outermost matching node after a given position.
169
+ */
170
+ export const findNodeAfter: typeof findNodeAround
171
+
172
+ /**
173
+ * Find the outermost matching node before a given position.
174
+ */
175
+ export const findNodeBefore: typeof findNodeAround
176
+
177
+ export const base: RecursiveVisitors<any>
@@ -0,0 +1,177 @@
1
+ import * as acorn from "acorn"
2
+
3
+ export type FullWalkerCallback<TState> = (
4
+ node: acorn.Node,
5
+ state: TState,
6
+ type: string
7
+ ) => void
8
+
9
+ export type FullAncestorWalkerCallback<TState> = (
10
+ node: acorn.Node,
11
+ state: TState,
12
+ ancestors: acorn.Node[],
13
+ type: string
14
+ ) => void
15
+
16
+ type AggregateType = {
17
+ Expression: acorn.Expression,
18
+ Statement: acorn.Statement,
19
+ Function: acorn.Function,
20
+ Class: acorn.Class,
21
+ Pattern: acorn.Pattern,
22
+ ForInit: acorn.VariableDeclaration | acorn.Expression
23
+ }
24
+
25
+ export type SimpleVisitors<TState> = {
26
+ [type in acorn.AnyNode["type"]]?: (node: Extract<acorn.AnyNode, { type: type }>, state: TState) => void
27
+ } & {
28
+ [type in keyof AggregateType]?: (node: AggregateType[type], state: TState) => void
29
+ }
30
+
31
+ export type AncestorVisitors<TState> = {
32
+ [type in acorn.AnyNode["type"]]?: ( node: Extract<acorn.AnyNode, { type: type }>, state: TState, ancestors: acorn.Node[]
33
+ ) => void
34
+ } & {
35
+ [type in keyof AggregateType]?: (node: AggregateType[type], state: TState, ancestors: acorn.Node[]) => void
36
+ }
37
+
38
+ export type WalkerCallback<TState> = (node: acorn.Node, state: TState) => void
39
+
40
+ export type RecursiveVisitors<TState> = {
41
+ [type in acorn.AnyNode["type"]]?: ( node: Extract<acorn.AnyNode, { type: type }>, state: TState, callback: WalkerCallback<TState>) => void
42
+ } & {
43
+ [type in keyof AggregateType]?: (node: AggregateType[type], state: TState, callback: WalkerCallback<TState>) => void
44
+ }
45
+
46
+ export type FindPredicate = (type: string, node: acorn.Node) => boolean
47
+
48
+ export interface Found<TState> {
49
+ node: acorn.Node,
50
+ state: TState
51
+ }
52
+
53
+ /**
54
+ * does a 'simple' walk over a tree
55
+ * @param node the AST node to walk
56
+ * @param visitors an object with properties whose names correspond to node types in the {@link https://github.com/estree/estree | ESTree spec}. The properties should contain functions that will be called with the node object and, if applicable the state at that point.
57
+ * @param base a walker algorithm
58
+ * @param state a start state. The default walker will simply visit all statements and expressions and not produce a meaningful state. (An example of a use of state is to track scope at each point in the tree.)
59
+ */
60
+ export function simple<TState>(
61
+ node: acorn.Node,
62
+ visitors: SimpleVisitors<TState>,
63
+ base?: RecursiveVisitors<TState>,
64
+ state?: TState
65
+ ): void
66
+
67
+ /**
68
+ * does a 'simple' walk over a tree, building up an array of ancestor nodes (including the current node) and passing the array to the callbacks as a third parameter.
69
+ * @param node
70
+ * @param visitors
71
+ * @param base
72
+ * @param state
73
+ */
74
+ export function ancestor<TState>(
75
+ node: acorn.Node,
76
+ visitors: AncestorVisitors<TState>,
77
+ base?: RecursiveVisitors<TState>,
78
+ state?: TState
79
+ ): void
80
+
81
+ /**
82
+ * does a 'recursive' walk, where the walker functions are responsible for continuing the walk on the child nodes of their target node.
83
+ * @param node
84
+ * @param state the start state
85
+ * @param functions contain an object that maps node types to walker functions
86
+ * @param base provides the fallback walker functions for node types that aren't handled in the {@link functions} object. If not given, the default walkers will be used.
87
+ */
88
+ export function recursive<TState>(
89
+ node: acorn.Node,
90
+ state: TState,
91
+ functions: RecursiveVisitors<TState>,
92
+ base?: RecursiveVisitors<TState>
93
+ ): void
94
+
95
+ /**
96
+ * does a 'full' walk over a tree, calling the {@link callback} with the arguments (node, state, type) for each node
97
+ * @param node
98
+ * @param callback
99
+ * @param base
100
+ * @param state
101
+ */
102
+ export function full<TState>(
103
+ node: acorn.Node,
104
+ callback: FullWalkerCallback<TState>,
105
+ base?: RecursiveVisitors<TState>,
106
+ state?: TState
107
+ ): void
108
+
109
+ /**
110
+ * does a 'full' walk over a tree, building up an array of ancestor nodes (including the current node) and passing the array to the callbacks as a third parameter.
111
+ * @param node
112
+ * @param callback
113
+ * @param base
114
+ * @param state
115
+ */
116
+ export function fullAncestor<TState>(
117
+ node: acorn.Node,
118
+ callback: FullAncestorWalkerCallback<TState>,
119
+ base?: RecursiveVisitors<TState>,
120
+ state?: TState
121
+ ): void
122
+
123
+ /**
124
+ * builds a new walker object by using the walker functions in {@link functions} and filling in the missing ones by taking defaults from {@link base}.
125
+ * @param functions
126
+ * @param base
127
+ */
128
+ export function make<TState>(
129
+ functions: RecursiveVisitors<TState>,
130
+ base?: RecursiveVisitors<TState>
131
+ ): RecursiveVisitors<TState>
132
+
133
+ /**
134
+ * tries to locate a node in a tree at the given start and/or end offsets, which satisfies the predicate test. {@link start} and {@link end} can be either `null` (as wildcard) or a `number`. {@link test} may be a string (indicating a node type) or a function that takes (nodeType, node) arguments and returns a boolean indicating whether this node is interesting. {@link base} and {@link state} are optional, and can be used to specify a custom walker. Nodes are tested from inner to outer, so if two nodes match the boundaries, the inner one will be preferred.
135
+ * @param node
136
+ * @param start
137
+ * @param end
138
+ * @param type
139
+ * @param base
140
+ * @param state
141
+ */
142
+ export function findNodeAt<TState>(
143
+ node: acorn.Node,
144
+ start: number | undefined,
145
+ end?: number | undefined,
146
+ type?: FindPredicate | string,
147
+ base?: RecursiveVisitors<TState>,
148
+ state?: TState
149
+ ): Found<TState> | undefined
150
+
151
+ /**
152
+ * like {@link findNodeAt}, but will match any node that exists 'around' (spanning) the given position.
153
+ * @param node
154
+ * @param start
155
+ * @param type
156
+ * @param base
157
+ * @param state
158
+ */
159
+ export function findNodeAround<TState>(
160
+ node: acorn.Node,
161
+ start: number | undefined,
162
+ type?: FindPredicate | string,
163
+ base?: RecursiveVisitors<TState>,
164
+ state?: TState
165
+ ): Found<TState> | undefined
166
+
167
+ /**
168
+ * Find the outermost matching node after a given position.
169
+ */
170
+ export const findNodeAfter: typeof findNodeAround
171
+
172
+ /**
173
+ * Find the outermost matching node before a given position.
174
+ */
175
+ export const findNodeBefore: typeof findNodeAround
176
+
177
+ export const base: RecursiveVisitors<any>
@@ -0,0 +1 @@
1
+ (()=>{var e={390:function(e,t){(function(e,n){true?n(t):0})(this,(function(e){"use strict";function simple(e,t,r,i,o){if(!r){r=n}(function c(e,n,i){var o=i||e.type;r[o](e,n,c);if(t[o]){t[o](e,n)}})(e,i,o)}function ancestor(e,t,r,i,o){var a=[];if(!r){r=n}(function c(e,n,i){var o=i||e.type;var s=e!==a[a.length-1];if(s){a.push(e)}r[o](e,n,c);if(t[o]){t[o](e,n||a,a)}if(s){a.pop()}})(e,i,o)}function recursive(e,t,n,r,i){var o=n?make(n,r||undefined):r;(function c(e,t,n){o[n||e.type](e,t,c)})(e,t,i)}function makeTest(e){if(typeof e==="string"){return function(t){return t===e}}else if(!e){return function(){return true}}else{return e}}var t=function Found(e,t){this.node=e;this.state=t};function full(e,t,r,i,o){if(!r){r=n}var a;(function c(e,n,i){var o=i||e.type;r[o](e,n,c);if(a!==e){t(e,n,o);a=e}})(e,i,o)}function fullAncestor(e,t,r,i){if(!r){r=n}var o=[],a;(function c(e,n,i){var s=i||e.type;var f=e!==o[o.length-1];if(f){o.push(e)}r[s](e,n,c);if(a!==e){t(e,n||o,o,s);a=e}if(f){o.pop()}})(e,i)}function findNodeAt(e,r,i,o,a,s){if(!a){a=n}o=makeTest(o);try{(function c(e,n,s){var f=s||e.type;if((r==null||e.start<=r)&&(i==null||e.end>=i)){a[f](e,n,c)}if((r==null||e.start===r)&&(i==null||e.end===i)&&o(f,e)){throw new t(e,n)}})(e,s)}catch(e){if(e instanceof t){return e}throw e}}function findNodeAround(e,r,i,o,a){i=makeTest(i);if(!o){o=n}try{(function c(e,n,a){var s=a||e.type;if(e.start>r||e.end<r){return}o[s](e,n,c);if(i(s,e)){throw new t(e,n)}})(e,a)}catch(e){if(e instanceof t){return e}throw e}}function findNodeAfter(e,r,i,o,a){i=makeTest(i);if(!o){o=n}try{(function c(e,n,a){if(e.end<r){return}var s=a||e.type;if(e.start>=r&&i(s,e)){throw new t(e,n)}o[s](e,n,c)})(e,a)}catch(e){if(e instanceof t){return e}throw e}}function findNodeBefore(e,r,i,o,a){i=makeTest(i);if(!o){o=n}var s;(function c(e,n,a){if(e.start>r){return}var f=a||e.type;if(e.end<=r&&(!s||s.node.end<e.end)&&i(f,e)){s=new t(e,n)}o[f](e,n,c)})(e,a);return s}function make(e,t){var r=Object.create(t||n);for(var i in e){r[i]=e[i]}return r}function skipThrough(e,t,n){n(e,t)}function ignore(e,t,n){}var n={};n.Program=n.BlockStatement=n.StaticBlock=function(e,t,n){for(var r=0,i=e.body;r<i.length;r+=1){var o=i[r];n(o,t,"Statement")}};n.Statement=skipThrough;n.EmptyStatement=ignore;n.ExpressionStatement=n.ParenthesizedExpression=n.ChainExpression=function(e,t,n){return n(e.expression,t,"Expression")};n.IfStatement=function(e,t,n){n(e.test,t,"Expression");n(e.consequent,t,"Statement");if(e.alternate){n(e.alternate,t,"Statement")}};n.LabeledStatement=function(e,t,n){return n(e.body,t,"Statement")};n.BreakStatement=n.ContinueStatement=ignore;n.WithStatement=function(e,t,n){n(e.object,t,"Expression");n(e.body,t,"Statement")};n.SwitchStatement=function(e,t,n){n(e.discriminant,t,"Expression");for(var r=0,i=e.cases;r<i.length;r+=1){var o=i[r];n(o,t)}};n.SwitchCase=function(e,t,n){if(e.test){n(e.test,t,"Expression")}for(var r=0,i=e.consequent;r<i.length;r+=1){var o=i[r];n(o,t,"Statement")}};n.ReturnStatement=n.YieldExpression=n.AwaitExpression=function(e,t,n){if(e.argument){n(e.argument,t,"Expression")}};n.ThrowStatement=n.SpreadElement=function(e,t,n){return n(e.argument,t,"Expression")};n.TryStatement=function(e,t,n){n(e.block,t,"Statement");if(e.handler){n(e.handler,t)}if(e.finalizer){n(e.finalizer,t,"Statement")}};n.CatchClause=function(e,t,n){if(e.param){n(e.param,t,"Pattern")}n(e.body,t,"Statement")};n.WhileStatement=n.DoWhileStatement=function(e,t,n){n(e.test,t,"Expression");n(e.body,t,"Statement")};n.ForStatement=function(e,t,n){if(e.init){n(e.init,t,"ForInit")}if(e.test){n(e.test,t,"Expression")}if(e.update){n(e.update,t,"Expression")}n(e.body,t,"Statement")};n.ForInStatement=n.ForOfStatement=function(e,t,n){n(e.left,t,"ForInit");n(e.right,t,"Expression");n(e.body,t,"Statement")};n.ForInit=function(e,t,n){if(e.type==="VariableDeclaration"){n(e,t)}else{n(e,t,"Expression")}};n.DebuggerStatement=ignore;n.FunctionDeclaration=function(e,t,n){return n(e,t,"Function")};n.VariableDeclaration=function(e,t,n){for(var r=0,i=e.declarations;r<i.length;r+=1){var o=i[r];n(o,t)}};n.VariableDeclarator=function(e,t,n){n(e.id,t,"Pattern");if(e.init){n(e.init,t,"Expression")}};n.Function=function(e,t,n){if(e.id){n(e.id,t,"Pattern")}for(var r=0,i=e.params;r<i.length;r+=1){var o=i[r];n(o,t,"Pattern")}n(e.body,t,e.expression?"Expression":"Statement")};n.Pattern=function(e,t,n){if(e.type==="Identifier"){n(e,t,"VariablePattern")}else if(e.type==="MemberExpression"){n(e,t,"MemberPattern")}else{n(e,t)}};n.VariablePattern=ignore;n.MemberPattern=skipThrough;n.RestElement=function(e,t,n){return n(e.argument,t,"Pattern")};n.ArrayPattern=function(e,t,n){for(var r=0,i=e.elements;r<i.length;r+=1){var o=i[r];if(o){n(o,t,"Pattern")}}};n.ObjectPattern=function(e,t,n){for(var r=0,i=e.properties;r<i.length;r+=1){var o=i[r];if(o.type==="Property"){if(o.computed){n(o.key,t,"Expression")}n(o.value,t,"Pattern")}else if(o.type==="RestElement"){n(o.argument,t,"Pattern")}}};n.Expression=skipThrough;n.ThisExpression=n.Super=n.MetaProperty=ignore;n.ArrayExpression=function(e,t,n){for(var r=0,i=e.elements;r<i.length;r+=1){var o=i[r];if(o){n(o,t,"Expression")}}};n.ObjectExpression=function(e,t,n){for(var r=0,i=e.properties;r<i.length;r+=1){var o=i[r];n(o,t)}};n.FunctionExpression=n.ArrowFunctionExpression=n.FunctionDeclaration;n.SequenceExpression=function(e,t,n){for(var r=0,i=e.expressions;r<i.length;r+=1){var o=i[r];n(o,t,"Expression")}};n.TemplateLiteral=function(e,t,n){for(var r=0,i=e.quasis;r<i.length;r+=1){var o=i[r];n(o,t)}for(var a=0,s=e.expressions;a<s.length;a+=1){var f=s[a];n(f,t,"Expression")}};n.TemplateElement=ignore;n.UnaryExpression=n.UpdateExpression=function(e,t,n){n(e.argument,t,"Expression")};n.BinaryExpression=n.LogicalExpression=function(e,t,n){n(e.left,t,"Expression");n(e.right,t,"Expression")};n.AssignmentExpression=n.AssignmentPattern=function(e,t,n){n(e.left,t,"Pattern");n(e.right,t,"Expression")};n.ConditionalExpression=function(e,t,n){n(e.test,t,"Expression");n(e.consequent,t,"Expression");n(e.alternate,t,"Expression")};n.NewExpression=n.CallExpression=function(e,t,n){n(e.callee,t,"Expression");if(e.arguments){for(var r=0,i=e.arguments;r<i.length;r+=1){var o=i[r];n(o,t,"Expression")}}};n.MemberExpression=function(e,t,n){n(e.object,t,"Expression");if(e.computed){n(e.property,t,"Expression")}};n.ExportNamedDeclaration=n.ExportDefaultDeclaration=function(e,t,n){if(e.declaration){n(e.declaration,t,e.type==="ExportNamedDeclaration"||e.declaration.id?"Statement":"Expression")}if(e.source){n(e.source,t,"Expression")}};n.ExportAllDeclaration=function(e,t,n){if(e.exported){n(e.exported,t)}n(e.source,t,"Expression")};n.ImportDeclaration=function(e,t,n){for(var r=0,i=e.specifiers;r<i.length;r+=1){var o=i[r];n(o,t)}n(e.source,t,"Expression")};n.ImportExpression=function(e,t,n){n(e.source,t,"Expression")};n.ImportSpecifier=n.ImportDefaultSpecifier=n.ImportNamespaceSpecifier=n.Identifier=n.PrivateIdentifier=n.Literal=ignore;n.TaggedTemplateExpression=function(e,t,n){n(e.tag,t,"Expression");n(e.quasi,t,"Expression")};n.ClassDeclaration=n.ClassExpression=function(e,t,n){return n(e,t,"Class")};n.Class=function(e,t,n){if(e.id){n(e.id,t,"Pattern")}if(e.superClass){n(e.superClass,t,"Expression")}n(e.body,t)};n.ClassBody=function(e,t,n){for(var r=0,i=e.body;r<i.length;r+=1){var o=i[r];n(o,t)}};n.MethodDefinition=n.PropertyDefinition=n.Property=function(e,t,n){if(e.computed){n(e.key,t,"Expression")}if(e.value){n(e.value,t,"Expression")}};e.ancestor=ancestor;e.base=n;e.findNodeAfter=findNodeAfter;e.findNodeAround=findNodeAround;e.findNodeAt=findNodeAt;e.findNodeBefore=findNodeBefore;e.full=full;e.fullAncestor=fullAncestor;e.make=make;e.recursive=recursive;e.simple=simple}))}};if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t={};e[390](0,t);module.exports=t})();
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ "use strict"
3
+
4
+ require("../dist/bin.js")