2015-09-15 06:29:30 +01:00

23 lines
587 B
JavaScript

import type Transformer from "./transformer";
import traverse from "babel-traverse";
import File from "./file";
export default class PluginPass {
constructor(file: File, plugin: Transformer, options: Object = {}) {
this.plugin = plugin;
this.file = file;
this.opts = options;
}
transform() {
var file = this.file;
file.log.debug(`Start transformer ${this.key}`);
traverse(file.ast, this.plugin.visitor, file.scope, file);
file.log.debug(`Finish transformer ${this.key}`);
}
addHelper(...args) {
return this.file.addHelper(...args);
}
}