UNPKG

polen

Version:

A framework for delightful GraphQL developer portals

61 lines 1.85 kB
import { Arr } from '@wollybeard/kit'; import * as DataSources from './data-sources/data-sources.js'; import type { Schema } from './schema.js'; export type DataSourceType = `file` | `directory` | `memory` | `data`; /** * Schema configuration for Polen. */ export interface Config { /** * Whether to enable schema loading. * * Set to `false` to disable schema features entirely. * * @default `true` */ enabled?: boolean; /** * Which data sources to use for loading schemas. * * - `file` - Load from a single SDL file * - `directory` - Load multiple SDL files from a directory * - `memory` - Use schemas defined in configuration * - `data` - Use a pre-built schema object * * If not specified, Polen will try all sources in order until one succeeds. * * @example * ```ts * // Use only file source * useDataSources: 'file' * * // Try multiple sources * useDataSources: ['directory', 'file'] * ``` */ useDataSources?: Arr.Maybe<DataSourceType>; /** * Configuration for each data source type. */ dataSources?: { /** * Configuration for loading schema from a single SDL file. */ file?: DataSources.SchemaFile.ConfigInput; /** * Configuration for loading multiple schema versions from a directory. */ directory?: DataSources.SchemaDirectory.ConfigInput; /** * Configuration for defining schemas programmatically. */ memory?: DataSources.Memory.ConfigInput; /** * Pre-built schema object to use directly. */ data?: Schema; }; projectRoot: string; } export declare const readOrThrow: (config: Config) => Promise<null | Schema>; //# sourceMappingURL=read.d.ts.map