Spaces:
Runtime error
Runtime error
/** | |
* @fileoverview The visitor keys for the node types Espree supports | |
* @author Nicholas C. Zakas | |
* | |
* This file contains code from estraverse-fb. | |
* | |
* The MIT license. Copyright (c) 2014 Ingvar Stepanyan | |
* | |
* Permission is hereby granted, free of charge, to any person obtaining a copy | |
* of this software and associated documentation files (the "Software"), to deal | |
* in the Software without restriction, including without limitation the rights | |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
* copies of the Software, and to permit persons to whom the Software is | |
* furnished to do so, subject to the following conditions: | |
* | |
* The above copyright notice and this permission notice shall be included in all | |
* copies or substantial portions of the Software. | |
* | |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
* SOFTWARE. | |
*/ | |
; | |
//------------------------------------------------------------------------------ | |
// Requirements | |
//------------------------------------------------------------------------------ | |
// None! | |
//------------------------------------------------------------------------------ | |
// Public | |
//------------------------------------------------------------------------------ | |
module.exports = { | |
// ECMAScript | |
AssignmentExpression: ["left", "right"], | |
AssignmentPattern: ["left", "right"], | |
ArrayExpression: ["elements"], | |
ArrayPattern: ["elements"], | |
ArrowFunctionExpression: ["params", "body"], | |
BlockStatement: ["body"], | |
BinaryExpression: ["left", "right"], | |
BreakStatement: ["label"], | |
CallExpression: ["callee", "arguments"], | |
CatchClause: ["param", "body"], | |
ClassBody: ["body"], | |
ClassDeclaration: ["id", "superClass", "body"], | |
ClassExpression: ["id", "superClass", "body"], | |
ConditionalExpression: ["test", "consequent", "alternate"], | |
ContinueStatement: ["label"], | |
DebuggerStatement: [], | |
DirectiveStatement: [], | |
DoWhileStatement: ["body", "test"], | |
EmptyStatement: [], | |
ExportAllDeclaration: ["source"], | |
ExportDefaultDeclaration: ["declaration"], | |
ExportNamedDeclaration: ["declaration", "specifiers", "source"], | |
ExportSpecifier: ["exported", "local"], | |
ExpressionStatement: ["expression"], | |
ForStatement: ["init", "test", "update", "body"], | |
ForInStatement: ["left", "right", "body"], | |
ForOfStatement: ["left", "right", "body"], | |
FunctionDeclaration: ["id", "params", "body"], | |
FunctionExpression: ["id", "params", "body"], | |
Identifier: [], | |
IfStatement: ["test", "consequent", "alternate"], | |
ImportDeclaration: ["specifiers", "source"], | |
ImportDefaultSpecifier: ["local"], | |
ImportNamespaceSpecifier: ["local"], | |
ImportSpecifier: ["imported", "local"], | |
Literal: [], | |
LabeledStatement: ["label", "body"], | |
LogicalExpression: ["left", "right"], | |
MemberExpression: ["object", "property"], | |
MetaProperty: ["meta", "property"], | |
MethodDefinition: ["key", "value"], | |
ModuleSpecifier: [], | |
NewExpression: ["callee", "arguments"], | |
ObjectExpression: ["properties"], | |
ObjectPattern: ["properties"], | |
Program: ["body"], | |
Property: ["key", "value"], | |
RestElement: ["argument"], | |
ReturnStatement: ["argument"], | |
SequenceExpression: ["expressions"], | |
SpreadElement: ["argument"], | |
Super: [], | |
SwitchStatement: ["discriminant", "cases"], | |
SwitchCase: ["test", "consequent"], | |
TaggedTemplateExpression: ["tag", "quasi"], | |
TemplateElement: [], | |
TemplateLiteral: ["quasis", "expressions"], | |
ThisExpression: [], | |
ThrowStatement: ["argument"], | |
TryStatement: ["block", "handler", "finalizer"], | |
UnaryExpression: ["argument"], | |
UpdateExpression: ["argument"], | |
VariableDeclaration: ["declarations"], | |
VariableDeclarator: ["id", "init"], | |
WhileStatement: ["test", "body"], | |
WithStatement: ["object", "body"], | |
YieldExpression: ["argument"], | |
// JSX | |
JSXIdentifier: [], | |
JSXNamespacedName: ["namespace", "name"], | |
JSXMemberExpression: ["object", "property"], | |
JSXEmptyExpression: [], | |
JSXExpressionContainer: ["expression"], | |
JSXElement: ["openingElement", "closingElement", "children"], | |
JSXClosingElement: ["name"], | |
JSXOpeningElement: ["name", "attributes"], | |
JSXAttribute: ["name", "value"], | |
JSXText: null, | |
JSXSpreadAttribute: ["argument"] | |
}; | |