UNPKG

@cran/lib.gql.core

Version:

GQL Core Functionality

20 lines (19 loc) 675 B
import { __EnumValue, __Schema, __Type, __TypeKind, } from "graphql"; import { createArg, modifyResolver } from "../utilities"; let once = false; export function withAugmentedIntrospection() { if (once) { return; } once = true; __Schema.getFields()["types"].args = [ createArg({ name: "kind", type: __TypeKind, }), ]; const resolver = __Type.getFields()["kind"].resolve; modifyResolver(__Schema.getFields()["types"], function filterByKind(result, _source, args) { if (!args.kind) { return result; } return result.filter(function filter(type) { return args.kind === resolver(type); }); }); }