From 6825b48794517b325d3d142425a3ae595a5e32e5 Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Fri, 5 Jan 2024 17:33:25 +0100 Subject: [PATCH] feat(useOnResolve): new skipDefaultResolvers options --- packages/plugins/on-resolve/src/index.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/plugins/on-resolve/src/index.ts b/packages/plugins/on-resolve/src/index.ts index 1487b7ce1d..6143f9af98 100644 --- a/packages/plugins/on-resolve/src/index.ts +++ b/packages/plugins/on-resolve/src/index.ts @@ -39,6 +39,12 @@ export type UseOnResolveOptions = { * @default true */ skipIntrospection?: boolean; + /** + * Skip wrapping fields that have the default resolver (no custom resolver). + * + * @default false + */ + skipDefaultResolvers?: boolean; }; /** @@ -59,6 +65,7 @@ export function useOnResolve = {}>( for (const type of Object.values(schema.getTypeMap())) { if ((!opts.skipIntrospection || !isIntrospectionType(type)) && isObjectType(type)) { for (const field of Object.values(type.getFields())) { + if (opts.skipDefaultResolvers && (!field.resolve || field.resolve === defaultFieldResolver)) continue; if (field[hasWrappedResolveSymbol]) continue; let resolver = (field.resolve || defaultFieldResolver) as Resolver;