| import * as types from "ast-types"; |
| import { parse } from "./lib/parser"; |
| import { Options } from "./lib/options"; |
| export { |
| /** |
| * Parse a string of code into an augmented syntax tree suitable for |
| * arbitrary modification and reprinting. |
| */ |
| parse, |
| /** |
| * Convenient shorthand for the ast-types package. |
| */ |
| types, }; |
| /** |
| * Traverse and potentially modify an abstract syntax tree using a |
| * convenient visitor syntax: |
| * |
| * recast.visit(ast, { |
| * names: [], |
| * visitIdentifier: function(path) { |
| * var node = path.value; |
| * this.visitor.names.push(node.name); |
| * this.traverse(path); |
| * } |
| * }); |
| */ |
| export { visit } from "ast-types"; |
| /** |
| * Options shared between parsing and printing. |
| */ |
| export { Options } from "./lib/options"; |
| /** |
| * Reprint a modified syntax tree using as much of the original source |
| * code as possible. |
| */ |
| export declare function print(node: types.ASTNode, options?: Options): import("./lib/printer").PrintResultType; |
| /** |
| * Print without attempting to reuse any original source code. |
| */ |
| export declare function prettyPrint(node: types.ASTNode, options?: Options): import("./lib/printer").PrintResultType; |
| /** |
| * Convenient command-line interface (see e.g. example/add-braces). |
| */ |
| export declare function run(transformer: Transformer, options?: RunOptions): void; |
| export interface Transformer { |
| (ast: types.ASTNode, callback: (ast: types.ASTNode) => void): void; |
| } |
| export interface RunOptions extends Options { |
| writeback?(code: string): void; |
| } |