bobflux-gen
Version:
Generator for monkey files in bobflux application.
24 lines (23 loc) • 845 B
JavaScript
;
var ts = require("typescript");
var nv = require("./nodeVisitor");
function create(saveCallback) {
return {
accept: function (n) {
return n.kind === ts.SyntaxKind.InterfaceDeclaration;
},
visit: function (n) {
var id = n;
saveCallback({
typeName: id.name.text,
type: id.kind,
fileName: id.parent.fileName,
fields: [],
heritages: id.heritageClauses ? nv.flatten(id.heritageClauses.map(function (h) { return h.types.map(function (t) { return t.getText(); }); })) : [],
source: nv.StateSource.iface,
typeArguments: id.typeParameters && id.typeParameters.map(function (tp) { return tp.getText(); })
});
}
};
}
exports.create = create;