@grapi/server
Version:
Grapi Schema Generator For GraphQL Server
30 lines (29 loc) • 939 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const rootNode_1 = __importDefault(require("./rootNode"));
class Generator {
plugins;
context;
constructor({ plugins, rootNode, }) {
this.plugins = plugins;
this.context = {
root: rootNode || new rootNode_1.default(),
};
}
generate(models) {
this.plugins.forEach(plugin => {
if (plugin.setPlugins) {
plugin.setPlugins(this.plugins);
}
if (plugin.init) {
plugin.init(this.context);
}
});
models.forEach(model => this.plugins.forEach(plugin => plugin.visitModel(model, this.context)));
return this.context.root.print();
}
}
exports.default = Generator;