UNPKG

1.37 kBTypeScriptView Raw
1/**
2 * @license
3 * Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
4 * This code may only be used under the BSD style license found at
5 * http://polymer.github.io/LICENSE.txt
6 * The complete set of authors may be found at
7 * http://polymer.github.io/AUTHORS.txt
8 * The complete set of contributors may be found at
9 * http://polymer.github.io/CONTRIBUTORS.txt
10 * Code distributed by Google as part of the polymer project is also
11 * subject to an additional IP rights grant found at
12 * http://polymer.github.io/PATENTS.txt
13 */
14import * as babel from '@babel/types';
15import { Visitor } from './estree-visitor';
16/**
17 * These enum options mimic the estraverse enums that are returned by their
18 * `enterX`/`leaveX` visitor methods to advise flow of the visitor.
19 */
20export declare enum VisitorOption {
21 Skip = "skip",
22 Break = "break",
23 Remove = "remove"
24}
25/**
26 * This method mirrors the API of `estraverse`'s `traverse` function. It uses
27 * `babel-traverse` to perform a traversal of an AST, but does so with `noScope:
28 * true` which turns off the scoping logic and enables it to traverse from any
29 * node; whereasc `babel-traverse`'s scopes require traversal from the root
30 * node, the `File` type, which we don't yet even store on our JavaScript
31 * documents.
32 */
33export declare function traverse(ast: babel.Node, visitor: Visitor): void;