Files
Zos/Skills/@be/be/node_modules/unreachable-branch-transform/index.js

34 lines
797 B
JavaScript

var through = require('through2');
var recast = require('recast');
var transformer = require('./unreachableBranchTransformer');
module.exports = function (file, opts) {
if (typeof file === 'string') {
opts = opts || [];
var ignore = ['.json'].concat(opts.ignore || []).some(function(ext) {
return file.indexOf(ext, file.length - ext.length) !== -1;
});
if (ignore) {
return through();
}
}
var buffers = [];
return through(function(chunk, enc, cb) {
buffers.push(chunk);
cb();
}, function(cb) {
var source = Buffer.concat(buffers).toString();
this.push(transform(source));
cb();
});
};
function transform(code/*, opts*/) {
return recast.print( transformer( recast.parse(code) ) ).code;
}
module.exports.transform = transform;