UNPKG

polen

Version:

A framework for delightful GraphQL developer portals

41 lines 1.5 kB
import { Arr } from '@wollybeard/kit'; import * as DataSources from './data-sources/data-sources.js'; export const readOrThrow = async (config) => { if (config.enabled === false) { return null; } const useDataSources = config.useDataSources ? Arr.sure(config.useDataSources) : null; const usingDataSource = (dataSource) => useDataSources === null || useDataSources.includes(dataSource); if (usingDataSource(`data`) && config.dataSources?.data) { return config.dataSources.data; } if (usingDataSource(`directory`)) { const directoryConfig = { projectRoot: config.projectRoot, ...config.dataSources?.directory, }; const result = await DataSources.SchemaDirectory.readOrThrow(directoryConfig); if (result) return result; } if (usingDataSource(`file`)) { const fileConfig = { projectRoot: config.projectRoot, ...config.dataSources?.file, }; const result = await DataSources.SchemaFile.readOrThrow(fileConfig); if (result) return result; } if (usingDataSource(`memory`) && config.dataSources?.memory) { const memoryConfig = { projectRoot: config.projectRoot, ...config.dataSources.memory, }; const result = await DataSources.Memory.read(memoryConfig); if (result) return result; } return null; }; //# sourceMappingURL=read.js.map