import { ObjectTypeComposerFieldConfigAsObjectDefinition } from 'graphql-compose'; import { createImgixURLBuilder } from './imgix-js-core-wrapper'; export const createExternalHelper = ( fieldConfigFactory: TFn, ): (( params: Omit & { imgixClientOptions?: Parameters[0]; resolveUrl?: (source: TSource) => string | null | undefined; }, ) => ObjectTypeComposerFieldConfigAsObjectDefinition) => { return ({ imgixClientOptions, ...args }) => ({ ...fieldConfigFactory({ ...args, imgixClient: createImgixURLBuilder(imgixClientOptions), }), }); };