add end/start user transformers
This commit is contained in:
@@ -192,13 +192,25 @@ File.prototype.transform = function (ast) {
|
||||
|
||||
var self = this;
|
||||
|
||||
_.each(this.opts.transformers, function (transformer) {
|
||||
transformer.transform(self);
|
||||
});
|
||||
var runUserTransformers = function (end) {
|
||||
_.each(self.opts.transformers, function (transformer) {
|
||||
if (transformer.opts.end) {
|
||||
if (!end) return;
|
||||
} else if (end) {
|
||||
return;
|
||||
}
|
||||
|
||||
transformer.transform(self);
|
||||
});
|
||||
};
|
||||
|
||||
runUserTransformers();
|
||||
|
||||
_.each(transform.transformers, function (transformer) {
|
||||
transformer.transform(self);
|
||||
});
|
||||
|
||||
runUserTransformers(true);
|
||||
};
|
||||
|
||||
File.prototype.generate = function () {
|
||||
|
||||
@@ -4,8 +4,9 @@ var traverse = require("../traverse");
|
||||
var t = require("../types");
|
||||
var _ = require("lodash");
|
||||
|
||||
function Transformer(key, transformer) {
|
||||
function Transformer(key, transformer, opts) {
|
||||
this.transformer = Transformer.normalise(transformer);
|
||||
this.opts = opts || {};
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user