@cran/lib.gql.core
Version:
GQL Core Functionality
21 lines (17 loc) • 576 B
text/typescript
import { wrapResolver } from "./wrapResolver";
export namespace modifyResolver {
export type Modifier<Source, Context, Args> = (
result: unknown,
...rest: wrapResolver.Arguments<Source, Context, Args>
) => unknown;
}
export function modifyResolver<
Source = unknown, Context = unknown, Args = Record<string, unknown>
> (
target: wrapResolver.Target<Source, Context, Args>,
modifier: modifyResolver.Modifier<Source, Context, Args>
) {
wrapResolver(target, function wrapper ( resolver, ...rest ) {
return modifier(resolver(...rest), ...rest);
});
}