UNPKG

gatsby-source-roamresearch

Version:

Source plugin for pulling data into Gatsby from Roam Research

49 lines (45 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createSchemaCustomization = void 0; const createSchemaCustomization = ({ actions, schema, getNode, }) => { const resolve = (source, args, context, info) => { const ids = source[`${info.fieldName}___NODE`]; if (!ids || !Array.isArray(ids)) { return []; } return ids.map((id) => getNode(id)); }; actions.createTypes(schema.buildObjectType({ name: "RoamFields", fields: { inboundReferences: { type: "[RoamPageOrBlock!]!", resolve, }, outboundReferences: { type: "[RoamPageOrBlock!]!", resolve, }, allOutboundReferences: { type: "[RoamPageOrBlock!]!", resolve, }, }, })); actions.createTypes(` type RoamPage implements Node { fields: RoamFields } type RoamBlock implements Node { fields: RoamFields } union RoamPageOrBlock = RoamBlock | RoamPage type RoamFields { inboundReferences: [RoamPageOrBlock!]! outboundReferences: [RoamPageOrBlock!]! allOutboundReferences: [RoamPageOrBlock!]! slug: String } `); }; exports.createSchemaCustomization = createSchemaCustomization;