UNPKG

@girin/framework

Version:

Core modules for Girin: GraphQL server framework

32 lines 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const environment_1 = require("@girin/environment"); const typelink_1 = require("@girin/typelink"); const graphql_1 = require("graphql"); class SchemaBuilder extends environment_1.Module { constructor(configs) { super(); this.configs = configs; const query = typelink_1.getType(configs.Query); const mutation = configs.Mutation && typelink_1.getType(configs.Mutation); const subscription = configs.Subscription && typelink_1.getType(configs.Subscription); const types = configs.types ? configs.types.map(arg => typelink_1.getType(arg)) : []; const directives = []; if (query) { types.push(query); } if (mutation) { types.push(mutation); } if (subscription) { types.push(subscription); } this.schemaOptions = { query, mutation, subscription, types, directives }; } get label() { return 'SchemaBuilder'; } onBootstrap() { this.schema = new graphql_1.GraphQLSchema(this.schemaOptions); } } exports.SchemaBuilder = SchemaBuilder; //# sourceMappingURL=SchemaBuilder.js.map