polyfills-db
Version:
browser feature database
31 lines (22 loc) • 778 B
JavaScript
var inherits = require('util').inherits
var Feature = require('./feature')
module.exports = Transform
inherits(Transform, Feature)
function Transform(options) {
if (!(this instanceof Transform)) return new Transform(options)
options.name = options.name || options.module.replace(/^es[67]-/, '')
Feature.call(this, options)
}
// .transform(ast) with lazy laoding
Transform.prototype.transform = function (ast) {
return this.module.transform(ast)
}
Transform.transforms = []
Transform.transform = {}
Transform.register = function (obj) {
var transform = new Transform(obj)
Transform.transform[transform.name] =
Transform.transform[transform.shortName] = transform
Transform.transforms.push(transform)
}
require('./recast.json').forEach(Transform.register)