UNPKG

graphile-build-pg

Version:

Build a GraphQL schema by reflection over a PostgreSQL schema. Easy to customize since it's built with plugins on graphile-build

53 lines (52 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var PageInfoStartEndCursor = function PageInfoStartEndCursor(builder) { builder.hook("GraphQLObjectType:fields", (fields, build, context) => { const { extend, getTypeByName, inflection } = build; const { Self, fieldWithHooks } = context; if (Self.name !== inflection.builtin("PageInfo")) { return fields; } const Cursor = getTypeByName("Cursor"); return extend(fields, { startCursor: fieldWithHooks("startCursor", ({ addDataGenerator }) => { addDataGenerator(() => ({ usesCursor: [true] })); return { description: build.wrapDescription("When paginating backwards, the cursor to continue.", "field"), type: Cursor }; }, { isPageInfoStartCursorField: true }), endCursor: fieldWithHooks("endCursor", ({ addDataGenerator }) => { addDataGenerator(() => ({ usesCursor: [true] })); return { description: build.wrapDescription("When paginating forwards, the cursor to continue.", "field"), type: Cursor }; }, { isPageInfoStartCursorField: true }) }, `Adding startCursor/endCursor to ${Self.name}`); }, ["PageInfoStartEndCursor"], [], ["Cursor"]); }; exports.default = PageInfoStartEndCursor; //# sourceMappingURL=PageInfoStartEndCursor.js.map