@terabits/grapi
Version:
Grapi Schema Generator For GraphQL Server
31 lines (30 loc) • 1.07 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var rootNode_1 = __importDefault(require("./rootNode"));
var Generator = (function () {
function Generator(_a) {
var plugins = _a.plugins, rootNode = _a.rootNode;
this.plugins = plugins;
this.context = {
root: rootNode || new rootNode_1["default"]()
};
}
Generator.prototype.generate = function (models) {
var _this = this;
this.plugins.forEach(function (plugin) {
if (plugin.setPlugins) {
plugin.setPlugins(_this.plugins);
}
if (plugin.init) {
plugin.init(_this.context);
}
});
models.forEach(function (model) { return _this.plugins.forEach(function (plugin) { return plugin.visitModel(model, _this.context); }); });
return this.context.root.print();
};
return Generator;
}());
exports["default"] = Generator;