UNPKG

@eddeee888/gcg-typescript-resolver-files

Version:

This [GraphQL Code Generator](https://www.the-guild.dev/graphql/codegen) plugin creates resolvers given GraphQL schema.

54 lines 4.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateResolverFiles = void 0; const addResolverMainFiles_1 = require("./addResolverMainFiles"); const postProcessFiles_1 = require("./postProcessFiles"); const handleGraphQLRootObjectTypeField_1 = require("./handleGraphQLRootObjectTypeField"); const handleGraphQLObjectType_1 = require("./handleGraphQLObjectType"); const handleGraphQLUnionType_1 = require("./handleGraphQLUnionType"); const handleGraphQLScalarType_1 = require("./handleGraphQLScalarType"); const handleGraphQLInterfaceType_1 = require("./handleGraphQLInterfaceType"); const handleGraphQLEnumType_1 = require("./handleGraphQLEnumType"); const visitNamedType_1 = require("./visitNamedType"); const generateResolverFiles = (ctx) => { // Query Object.values(ctx.config.parsedGraphQLSchemaMeta.userDefinedSchemaTypeMap.query).forEach((details) => { (0, visitNamedType_1.visitNamedType)(Object.assign(Object.assign({}, details), { belongsToRootObject: 'Query', visitor: handleGraphQLRootObjectTypeField_1.handleGraphQLRootObjectTypeField }), ctx); }); // Mutation Object.values(ctx.config.parsedGraphQLSchemaMeta.userDefinedSchemaTypeMap.mutation).forEach((details) => { (0, visitNamedType_1.visitNamedType)(Object.assign(Object.assign({}, details), { belongsToRootObject: 'Mutation', visitor: handleGraphQLRootObjectTypeField_1.handleGraphQLRootObjectTypeField }), ctx); }); // Subscription Object.values(ctx.config.parsedGraphQLSchemaMeta.userDefinedSchemaTypeMap.subscription).forEach((details) => { (0, visitNamedType_1.visitNamedType)(Object.assign(Object.assign({}, details), { belongsToRootObject: 'Subscription', visitor: handleGraphQLRootObjectTypeField_1.handleGraphQLRootObjectTypeField }), ctx); }); // Object Object.values(ctx.config.parsedGraphQLSchemaMeta.userDefinedSchemaTypeMap.object).forEach((objectsByModules) => { Object.values(objectsByModules).forEach((details) => { (0, visitNamedType_1.visitNamedType)(Object.assign(Object.assign({}, details), { belongsToRootObject: null, visitor: (baseParams, prev_ctx) => (0, handleGraphQLObjectType_1.handleGraphQLObjectType)(Object.assign(Object.assign({}, baseParams), { fieldsToPick: details.fieldsToPick }), prev_ctx) }), ctx); }); }); // Scalar Object.values(ctx.config.parsedGraphQLSchemaMeta.userDefinedSchemaTypeMap.scalar).forEach((details) => { (0, visitNamedType_1.visitNamedType)(Object.assign(Object.assign({}, details), { belongsToRootObject: null, visitor: handleGraphQLScalarType_1.handleGraphQLScalarType }), ctx); }); // Interface Object.values(ctx.config.parsedGraphQLSchemaMeta.userDefinedSchemaTypeMap.interface).forEach((details) => { (0, visitNamedType_1.visitNamedType)(Object.assign(Object.assign({}, details), { belongsToRootObject: null, visitor: handleGraphQLInterfaceType_1.handleGraphQLInterfaceType }), ctx); }); // Union Object.values(ctx.config.parsedGraphQLSchemaMeta.userDefinedSchemaTypeMap.union).forEach((details) => { (0, visitNamedType_1.visitNamedType)(Object.assign(Object.assign({}, details), { belongsToRootObject: null, visitor: handleGraphQLUnionType_1.handleGraphQLUnionType }), ctx); }); // Enum Object.values(ctx.config.parsedGraphQLSchemaMeta.userDefinedSchemaTypeMap.enum).forEach((details) => { (0, visitNamedType_1.visitNamedType)(Object.assign(Object.assign({}, details), { belongsToRootObject: null, visitor: (baseParams, prev_ctx) => (0, handleGraphQLEnumType_1.handleGraphQLEnumType)(Object.assign(Object.assign({}, baseParams), { allowedValues: details.allowedValues }), prev_ctx) }), ctx); }); // Post process generated files (could be existing files or files to be generated) (0, postProcessFiles_1.postProcessFiles)(ctx); // Put all resolvers into barrel file/s (or main file/s) (0, addResolverMainFiles_1.addResolverMainFiles)(ctx); }; exports.generateResolverFiles = generateResolverFiles; //# sourceMappingURL=generateResolverFiles.js.map