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
19 lines (16 loc) • 549 B
Flow
// @flow
import type { Plugin } from "graphile-build";
const base64 = str => Buffer.from(String(str)).toString("base64");
function cursorify(val) {
return val && val.__cursor ? base64(JSON.stringify(val.__cursor)) : null;
}
export default (function addStartEndCursor(value) {
const data = value && value.data && value.data.length ? value.data : null;
const startCursor = cursorify(data && data[0]);
const endCursor = cursorify(data && data[value.data.length - 1]);
return {
...value,
startCursor,
endCursor,
};
}: Plugin);