UNPKG

@terabits/grapi

Version:

Grapi Schema Generator For GraphQL Server

31 lines (30 loc) 1.07 kB
"use strict"; 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;