@cran/lib.gql.core
Version:
GQL Core Functionality
20 lines (19 loc) • 675 B
JavaScript
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); });
});
}