@eddeee888/gcg-typescript-resolver-files
Version:
This [GraphQL Code Generator](https://www.the-guild.dev/graphql/codegen) plugin creates resolvers given GraphQL schema.
46 lines • 1.99 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleGraphQLUnionType = void 0;
const utils_1 = require("../utils");
const handleGraphQLUnionType = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports } }) => {
if (!(0, utils_1.isMatchResolverNamePattern)({
pattern: resolverGeneration.union,
value: normalizedResolverName.withModule,
}) &&
!isFileAlreadyOnFilesystem) {
utils_1.logger.debug(`Skipped Union resolver generation: "${normalizedResolverName.withModule}". Pattern: "${resolverGeneration.union}".`);
return;
}
const resolverTypeImportDeclaration = (0, utils_1.printImportLine)({
isTypeImport: true,
module: resolversTypeMeta.module,
moduleType: resolversTypeMeta.moduleType,
namedImports: [resolversTypeMeta.typeNamedImport],
emitLegacyCommonJSImports,
});
const variableStatement = `export const ${resolverName}: ${resolversTypeMeta.typeString} = { /* Implement ${resolverName} union logic here */ };`;
result.files[fieldFilePath] = {
__filetype: 'unionResolver',
filesystem: {
type: 'virtual',
contentUpdated: false,
},
content: `
${resolverTypeImportDeclaration}
${variableStatement}`,
mainImportIdentifier: resolverName,
meta: {
moduleName,
relativePathFromBaseToModule,
normalizedResolverName,
resolverType: {
baseImport: resolversTypeMeta.typeNamedImport,
final: resolversTypeMeta.typeString,
},
resolverTypeImportDeclaration,
variableStatement,
},
};
};
exports.handleGraphQLUnionType = handleGraphQLUnionType;
//# sourceMappingURL=handleGraphQLUnionType.js.map
;