@cran/gql.core
Version:
Cran/GraphQL Core Utilities
31 lines (30 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createArg = exports.withAugmentedIntrospection = void 0;
const wrapResolver_1 = require("../utilities/wrapResolver");
const introspection_1 = require("graphql/type/introspection");
function withAugmentedIntrospection() {
introspection_1.__Schema.getFields().types.args = [
createArg({
name: "kind", type: introspection_1.__TypeKind,
}),
];
const resolver = introspection_1.__Type.getFields().kind.resolve;
(0, wrapResolver_1.modifyResolver)(introspection_1.__Schema.getFields().types, function filterByKind(result, _source, args) {
if (!args.kind) {
return result;
}
return result.filter(function filter(type) { return args.kind === resolver(type); });
});
}
exports.withAugmentedIntrospection = withAugmentedIntrospection;
function createArg(config) {
return {
description: undefined,
defaultValue: null,
extensions: undefined,
astNode: undefined,
...config,
};
}
exports.createArg = createArg;