UNPKG

javascript-obfuscator

Version:
40 lines (32 loc) 1.15 kB
import * as estraverse from 'estraverse'; import * as ESTree from 'estree'; import { IVisitor } from './IVisitor'; import { NodeTransformer } from '../../enums/node-transformers/NodeTransformer'; import { TransformationStage } from '../../enums/node-transformers/TransformationStage'; export interface INodeTransformer { /** * @type {NodeTransformer[] | undefined} */ runAfter?: NodeTransformer[]; /** * @param {TransformationStage} transformationStage * @returns {IVisitor | null} */ getVisitor (transformationStage: TransformationStage): IVisitor | null; /** * @param {Node} node * @param {Node | null} parentNode */ analyzeNode ? (node: ESTree.Node, parentNode: ESTree.Node | null): void; /** * @param {Node} node * @param {Node | null} parentNode */ restoreNode ? (node: ESTree.Node, parentNode: ESTree.Node | null): void; /** * @param {Node} node * @param {Node | null} parentNode * @returns {Node | VisitorOption} */ transformNode (node: ESTree.Node, parentNode: ESTree.Node | null): ESTree.Node | estraverse.VisitorOption; }