UNPKG

@eddeee888/gcg-typescript-resolver-files

Version:

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

75 lines 3.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleGraphQLRootObjectTypeField = void 0; const utils_1 = require("../utils"); const handleGraphQLRootObjectTypeField = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, belongsToRootObject, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports } }) => { if ((belongsToRootObject === 'Query' && !(0, utils_1.isMatchResolverNamePattern)({ pattern: resolverGeneration.query, value: normalizedResolverName.withModule, }) && !isFileAlreadyOnFilesystem) || (belongsToRootObject === 'Mutation' && !(0, utils_1.isMatchResolverNamePattern)({ pattern: resolverGeneration.mutation, value: normalizedResolverName.withModule, }) && !isFileAlreadyOnFilesystem) || (belongsToRootObject === 'Subscription' && !(0, utils_1.isMatchResolverNamePattern)({ pattern: resolverGeneration.subscription, value: normalizedResolverName.withModule, }) && !isFileAlreadyOnFilesystem)) { const resolverGenerationPattern = belongsToRootObject === 'Query' ? resolverGeneration.query : belongsToRootObject === 'Mutation' ? resolverGeneration.mutation : belongsToRootObject === 'Subscription' ? resolverGeneration.subscription : 'Unknown'; utils_1.logger.debug(`Skipped ${belongsToRootObject} resolver generation: "${normalizedResolverName.withModule}". Pattern: "${resolverGenerationPattern}".`); return; } const suggestion = `/* Implement ${normalizedResolverName.base} resolver logic here */`; const resolverTypeString = `NonNullable<${resolversTypeMeta.typeString}>`; let variableStatement = `export const ${resolverName}: ${resolverTypeString} = async (_parent, _arg, _ctx) => { ${suggestion} };`; if (belongsToRootObject === 'Subscription') { variableStatement = `export const ${resolverName}: ${resolverTypeString} = { subscribe: async (_parent, _arg, _ctx) => { ${suggestion} }, }`; } const resolverTypeImportDeclaration = (0, utils_1.printImportLine)({ isTypeImport: true, module: resolversTypeMeta.module, moduleType: resolversTypeMeta.moduleType, namedImports: [resolversTypeMeta.typeNamedImport], emitLegacyCommonJSImports, }); result.files[fieldFilePath] = { __filetype: 'rootObjectTypeFieldResolver', filesystem: { type: 'virtual', contentUpdated: false, }, content: ` ${resolverTypeImportDeclaration} ${variableStatement}`, mainImportIdentifier: resolverName, meta: { moduleName, relativePathFromBaseToModule, belongsToRootObject, resolverTypeImportDeclaration, variableStatement, resolverType: { baseImport: resolversTypeMeta.typeNamedImport, resolver: resolversTypeMeta.typeString, final: resolverTypeString, }, normalizedResolverName, }, }; }; exports.handleGraphQLRootObjectTypeField = handleGraphQLRootObjectTypeField; //# sourceMappingURL=handleGraphQLRootObjectTypeField.js.map