graphile-build
Version:
Build a GraphQL schema from plugins
37 lines (36 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var MutationPayloadQueryPlugin = function MutationPayloadQueryPlugin(builder) {
builder.hook("GraphQLObjectType:fields", (fields, build, context) => {
const {
$$isQuery,
extend,
getTypeByName,
inflection
} = build;
const {
scope: {
isMutationPayload
},
Self
} = context;
if (!isMutationPayload) {
return fields;
}
const Query = getTypeByName(inflection.builtin("Query"));
return extend(fields, {
query: {
description: build.wrapDescription("Our root query field type. Allows us to run any query from our mutation payload.", "field"),
type: Query,
resolve() {
return $$isQuery;
}
}
}, `Adding 'query' field to mutation payload ${Self.name}`);
}, ["MutationPayloadQuery"]);
};
exports.default = MutationPayloadQueryPlugin;
//# sourceMappingURL=MutationPayloadQueryPlugin.js.map