import { baseGenerator } from "https://deno.land/x/astring@v1.9.0/src/astring.js";
type
{ BlockStatement; ClassBody; ForInStatement; ForOfStatement; FunctionDeclaration; FunctionExpression; RestElement; SpreadElement; ArrayExpression; ArrayPattern; BinaryExpression; LogicalExpression; Program(node, state); StaticBlock(node, state); EmptyStatement(node, state); ExpressionStatement(node, state); IfStatement(node, state); LabeledStatement(node, state); BreakStatement(node, state); ContinueStatement(node, state); WithStatement(node, state); SwitchStatement(node, state); ReturnStatement(node, state); ThrowStatement(node, state); TryStatement(node, state); WhileStatement(node, state); DoWhileStatement(node, state); ForStatement(node, state); DebuggerStatement(node, state); VariableDeclaration(node, state); VariableDeclarator(node, state); ClassDeclaration(node, state); ImportDeclaration(node, state); ImportAttribute(node, state); ImportExpression(node, state); ExportDefaultDeclaration(node, state); ExportNamedDeclaration(node, state); ExportAllDeclaration(node, state); MethodDefinition(node, state); ClassExpression(node, state); ArrowFunctionExpression(node, state); ThisExpression(node, state); Super(node, state); YieldExpression(node, state); AwaitExpression(node, state); TemplateLiteral(node, state); TemplateElement(node, state); TaggedTemplateExpression(node, state); ObjectExpression(node, state); Property(node, state); PropertyDefinition(node, state); ObjectPattern(node, state); SequenceExpression(node, state); UnaryExpression(node, state); UpdateExpression(node, state); AssignmentExpression(node, state); AssignmentPattern(node, state); ConditionalExpression(node, state); NewExpression(node, state); CallExpression(node, state); ChainExpression(node, state); MemberExpression(node, state); MetaProperty(node, state); Identifier(node, state); PrivateIdentifier(node, state); Literal(node, state); RegExpLiteral(node, state); }