/** * @license * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. * This code may only be used under the BSD style license found at * http://polymer.github.io/LICENSE.txt * The complete set of authors may be found at * http://polymer.github.io/AUTHORS.txt * The complete set of contributors may be found at * http://polymer.github.io/CONTRIBUTORS.txt * Code distributed by Google as part of the polymer project is also * subject to an additional IP rights grant found at * http://polymer.github.io/PATENTS.txt */ import { NodePath } from '@babel/traverse'; import * as babel from '@babel/types'; import { VisitorOption } from './estraverse-shim'; export declare type VisitResult = VisitorOption | null | undefined | void; export declare type VisitorCallback = (node: N, parent: babel.Node | undefined | null, path: NodePath) => VisitResult; export interface Visitor { readonly enter?: VisitorCallback; readonly leave?: VisitorCallback; readonly enterIdentifier?: VisitorCallback; readonly leaveIdentifier?: VisitorCallback; readonly enterLiteral?: VisitorCallback; readonly leaveLiteral?: VisitorCallback; readonly enterProgram?: VisitorCallback; readonly leaveProgram?: VisitorCallback; readonly enterExpressionStatement?: VisitorCallback; readonly leaveExpressionStatement?: VisitorCallback; readonly enterBlockStatement?: VisitorCallback; readonly leaveBlockStatement?: VisitorCallback; readonly enterEmptyStatement?: VisitorCallback; readonly leaveEmptyStatement?: VisitorCallback; readonly enterDebuggerStatement?: VisitorCallback; readonly leaveDebuggerStatement?: VisitorCallback; readonly enterWithStatement?: VisitorCallback; readonly leaveWithStatement?: VisitorCallback; readonly enterReturnStatement?: VisitorCallback; readonly leaveReturnStatement?: VisitorCallback; readonly enterLabeledStatement?: VisitorCallback; readonly leaveLabeledStatement?: VisitorCallback; readonly enterBreakStatement?: VisitorCallback; readonly leaveBreakStatement?: VisitorCallback; readonly enterContinueStatement?: VisitorCallback; readonly leaveContinueStatement?: VisitorCallback; readonly enterIfStatement?: VisitorCallback; readonly leaveIfStatement?: VisitorCallback; readonly enterSwitchStatement?: VisitorCallback; readonly leaveSwitchStatement?: VisitorCallback; readonly enterSwitchCase?: VisitorCallback; readonly leaveSwitchCase?: VisitorCallback; readonly enterThrowStatement?: VisitorCallback; readonly leaveThrowStatement?: VisitorCallback; readonly enterTryStatement?: VisitorCallback; readonly leaveTryStatement?: VisitorCallback; readonly enterCatchClause?: VisitorCallback; readonly leaveCatchClause?: VisitorCallback; readonly enterWhileStatement?: VisitorCallback; readonly leaveWhileStatement?: VisitorCallback; readonly enterDoWhileStatement?: VisitorCallback; readonly leaveDoWhileStatement?: VisitorCallback; readonly enterForStatement?: VisitorCallback; readonly leaveForStatement?: VisitorCallback; readonly enterForInStatement?: VisitorCallback; readonly leaveForInStatement?: VisitorCallback; readonly enterForOfStatement?: VisitorCallback; readonly leaveForOfStatement?: VisitorCallback; readonly enterFunctionDeclaration?: VisitorCallback; readonly leaveFunctionDeclaration?: VisitorCallback; readonly enterVariableDeclaration?: VisitorCallback; readonly leaveVariableDeclaration?: VisitorCallback; readonly enterVariableDeclarator?: VisitorCallback; readonly leaveVariableDeclarator?: VisitorCallback; readonly enterThisExpression?: VisitorCallback; readonly leaveThisExpression?: VisitorCallback; readonly enterArrayExpression?: VisitorCallback; readonly leaveArrayExpression?: VisitorCallback; readonly enterObjectExpression?: VisitorCallback; readonly leaveObjectExpression?: VisitorCallback; readonly enterProperty?: VisitorCallback; readonly leaveProperty?: VisitorCallback; readonly enterFunctionExpression?: VisitorCallback; readonly leaveFunctionExpression?: VisitorCallback; readonly enterArrowFunctionExpression?: VisitorCallback; readonly leaveArrowFunctionExpression?: VisitorCallback; readonly enterYieldExpression?: VisitorCallback; readonly leaveYieldExpression?: VisitorCallback; readonly enterSuper?: VisitorCallback; readonly leaveSuper?: VisitorCallback; readonly enterUnaryExpression?: VisitorCallback; readonly leaveUnaryExpression?: VisitorCallback; readonly enterUpdateExpression?: VisitorCallback; readonly leaveUpdateExpression?: VisitorCallback; readonly enterBinaryExpression?: VisitorCallback; readonly leaveBinaryExpression?: VisitorCallback; readonly enterAssignmentExpression?: VisitorCallback; readonly leaveAssignmentExpression?: VisitorCallback; readonly enterLogicalExpression?: VisitorCallback; readonly leaveLogicalExpression?: VisitorCallback; readonly enterMemberExpression?: VisitorCallback; readonly leaveMemberExpression?: VisitorCallback; readonly enterConditionalExpression?: VisitorCallback; readonly leaveConditionalExpression?: VisitorCallback; readonly enterCallExpression?: VisitorCallback; readonly leaveCallExpression?: VisitorCallback; readonly enterNewExpression?: VisitorCallback; readonly leaveNewExpression?: VisitorCallback; readonly enterSequenceExpression?: VisitorCallback; readonly leaveSequenceExpression?: VisitorCallback; readonly enterTemplateLiteral?: VisitorCallback; readonly leaveTemplateLiteral?: VisitorCallback; readonly enterTaggedTemplateExpression?: VisitorCallback; readonly leaveTaggedTemplateExpression?: VisitorCallback; readonly enterTemplateElement?: VisitorCallback; readonly leaveTemplateElement?: VisitorCallback; readonly enterSpreadElement?: VisitorCallback; readonly leaveSpreadElement?: VisitorCallback; readonly enterPattern?: VisitorCallback; readonly leavePattern?: VisitorCallback; readonly enterAssignmentProperty?: VisitorCallback; readonly leaveAssignmentProperty?: VisitorCallback; readonly enterObjectPattern?: VisitorCallback; readonly leaveObjectPattern?: VisitorCallback; readonly enterObjectMethod?: VisitorCallback; readonly leaveObjectMethod?: VisitorCallback; readonly enterObjectProperty?: VisitorCallback; readonly leaveObjectProperty?: VisitorCallback; readonly enterArrayPattern?: VisitorCallback; readonly leaveArrayPattern?: VisitorCallback; readonly enterRestElement?: VisitorCallback; readonly leaveRestElement?: VisitorCallback; readonly enterAssignmentPattern?: VisitorCallback; readonly leaveAssignmentPattern?: VisitorCallback; readonly enterMethod?: VisitorCallback; readonly leaveMethod?: VisitorCallback; readonly enterClassMethod?: VisitorCallback; readonly leaveClassMethod?: VisitorCallback; readonly enterClassDeclaration?: VisitorCallback; readonly leaveClassDeclaration?: VisitorCallback; readonly enterClassExpression?: VisitorCallback; readonly leaveClassExpression?: VisitorCallback; readonly enterMetaProperty?: VisitorCallback; readonly leaveMetaProperty?: VisitorCallback; readonly enterModuleDeclaration?: VisitorCallback; readonly leaveModuleDeclaration?: VisitorCallback; readonly enterModuleSpecifier?: VisitorCallback; readonly leaveModuleSpecifier?: VisitorCallback; readonly enterImportDeclaration?: VisitorCallback; readonly leaveImportDeclaration?: VisitorCallback; readonly enterImportSpecifier?: VisitorCallback; readonly leaveImportSpecifier?: VisitorCallback; readonly enterImportDefaultSpecifier?: VisitorCallback; readonly leaveImportDefaultSpecifier?: VisitorCallback; readonly enterImportNamespaceSpecifier?: VisitorCallback; readonly leaveImportNamespaceSpecifier?: VisitorCallback; readonly enterExportNamedDeclaration?: VisitorCallback; readonly leaveExportNamedDeclaration?: VisitorCallback; readonly enterExportSpecifier?: VisitorCallback; readonly leaveExportSpecifier?: VisitorCallback; readonly enterExportDefaultDeclaration?: VisitorCallback; readonly leaveExportDefaultDeclaration?: VisitorCallback; readonly enterExportAllDeclaration?: VisitorCallback; readonly leaveExportAllDeclaration?: VisitorCallback; }