babel-plugin-transform-typescript-metadata-macro
Version:
Babel plugin to emit decorator metadata like typescript compiler
26 lines (20 loc) • 758 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.transform = transform;
var _metadataVisitor = require("./metadata/metadataVisitor");
var _parameterVisitor = require("./parameter/parameterVisitor");
function transform(path) {
for (const field of path.get('body').get('body')) {
if (field.type !== 'ClassMethod' && field.type !== 'ClassProperty') continue;
(0, _parameterVisitor.parameterVisitor)(path, field);
(0, _metadataVisitor.metadataVisitor)(path, field);
}
/**
* We need to keep binding in order to let babel know where imports
* are used as a Value (and not just as a type), so that
* `babel-transform-typescript` do not strip the import.
*/
path.parentPath.scope.crawl();
}