UNPKG

@kontent-ai/gatsby-source

Version:
39 lines 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.kontentTypesSourceNodes = void 0; const naming_1 = require("./naming"); const client_1 = require("./client"); const getKontentTypeArtifact = (api, kontentType, includeRawContent) => { const nodeIdString = (0, naming_1.getKontentTypeNodeStringForCodeName)(kontentType.system.codename); const nodeData = { ...kontentType, id: api.createNodeId(nodeIdString), children: [], internal: { type: (0, naming_1.getKontentTypeTypeName)(), contentDigest: api.createContentDigest(kontentType), }, }; if (includeRawContent) { nodeData.internal.content = JSON.stringify(kontentType); } return nodeData; }; const transformElementObjectToArray = (types) => { types.forEach(type => { type.elements = Object.keys(type.elements).map((key) => { type.elements[key].codename = key; return type.elements[key]; }); }); }; const sourceNodes = async (api, options) => { const kontentTypes = await (0, client_1.loadAllKontentTypesCached)(options, api.cache); transformElementObjectToArray(kontentTypes); for (const kontentType of kontentTypes) { const nodeData = getKontentTypeArtifact(api, kontentType, options.includeRawContent); api.actions.createNode(nodeData); } }; exports.kontentTypesSourceNodes = sourceNodes; //# sourceMappingURL=sourceNodes.types.js.map