UNPKG

graphql-codegen-plugin-typescript-swr

Version:

A GraphQL code generator plug-in that automatically generates utility functions for SWR.

30 lines 2.95 kB
import { extname } from 'path'; import { oldVisit, } from '@graphql-codegen/plugin-helpers'; import { concatAST, Kind } from 'graphql'; import { SWRVisitor } from './visitor'; export const plugin = (schema, documents, config) => { const allAst = concatAST(documents.map((v) => v.document)); const allFragments = [ // prettier-ignore ...allAst.definitions.filter((d) => d.kind === Kind.FRAGMENT_DEFINITION).map((fragmentDef) => ({ node: fragmentDef, name: fragmentDef.name.value, onType: fragmentDef.typeCondition.name.value, isExternal: false, })), ...(config.externalFragments || []), ]; const visitor = new SWRVisitor(schema, allFragments, config); oldVisit(allAst, { leave: visitor }); return { prepend: visitor.getImports(), content: visitor.sdkContent, }; }; export const validate = async (_schema, _documents, _config, outputFile) => { if (extname(outputFile) !== '.ts') { throw new Error(`Plugin "typescript-swr" requires extension to be ".ts"!`); } }; export { SWRVisitor }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUU5QixPQUFPLEVBSUwsUUFBUSxHQUNULE1BQU0saUNBQWlDLENBQUE7QUFFeEMsT0FBTyxFQUFpQixTQUFTLEVBQUUsSUFBSSxFQUEwQixNQUFNLFNBQVMsQ0FBQTtBQUdoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBdUMsQ0FDeEQsTUFBcUIsRUFDckIsU0FBK0IsRUFDL0IsTUFBMEIsRUFDMUIsRUFBRTtJQUNGLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUUxRCxNQUFNLFlBQVksR0FBcUI7UUFDckMsa0JBQWtCO1FBQ2xCLEdBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQzNCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FDZCxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRCxJQUFJLEVBQUUsV0FBVztZQUNqQixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQzVCLE1BQU0sRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQzVDLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO0tBQ3BDLENBQUE7SUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzVELFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNwQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDN0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVO0tBQzVCLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQTBCLEtBQUssRUFDbEQsT0FBc0IsRUFDdEIsVUFBZ0MsRUFDaEMsT0FBMkIsRUFDM0IsVUFBa0IsRUFDbEIsRUFBRTtJQUNGLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssRUFBRTtRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUE7S0FDM0U7QUFDSCxDQUFDLENBQUE7QUFFRCxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUEifQ==