@eddeee888/gcg-typescript-resolver-files
Version:
This [GraphQL Code Generator](https://www.the-guild.dev/graphql/codegen) plugin creates resolvers given GraphQL schema.
26 lines (25 loc) • 1.45 kB
TypeScript
import type { ParsedGraphQLSchemaMeta } from '../parseGraphQLSchema';
import type { ParsedPresetConfig, ScalarsOverridesType } from '../validatePresetConfig';
interface MergedConfig {
userDefinedSchemaTypeMap: ParsedGraphQLSchemaMeta['userDefinedSchemaTypeMap'];
scalarTypes: Record<string, ScalarsOverridesType>;
typeMappers: Record<string, string>;
/**
* Resolvers users explicitly wants to control i.e. unmanaged by server preset so no static analysis is run on these resolvers
* This is set by a few options:
* - config.externalResolvers: for non-scalar types
* - config.scalarsOverrides: for scalar types
* - external resolvers e.g. from `graphql-scalars` module
**/
unmanagedResolvers: Record<string, string>;
}
/**
* validateAndMergeParsedConfigs is used to make sure all parsed configs do not incorrectly override each other.
* Use this to ensure there's only one way of doing something. e.g.
* - scalarsOverrides must be used over externalResolvers to override scalars
*/
export declare const validateAndMergeParsedConfigs: ({ unmanagedNonScalarResolvers, parsedGraphQLSchemaMeta: { userDefinedSchemaTypeMap, pluginsConfig: { scalarsModuleResolvers, unmanagedScalarResolvers, defaultScalarTypesMap, defaultTypeMappers, }, }, }: {
unmanagedNonScalarResolvers: ParsedPresetConfig["externalResolvers"];
parsedGraphQLSchemaMeta: ParsedGraphQLSchemaMeta;
}) => MergedConfig;
export {};