configFormat
Generated reference page for the configFormat function export.
- Import:
@kjanat/dreamcli - Export kind: function
- Declared in:
src/core/config/index.ts - Source link:
packages/dreamcli/src/core/config/index.ts:388
Signatures
ts
function configFormat(extensions: readonly string[], parse: { (content: string): unknown; }): FormatLoader;| Parameter | Type | Description |
|---|---|---|
extensions | readonly string[] | File extensions this loader handles (without dot, e.g. 'yaml'). |
parse | { (content: string): unknown; } | Parse function: takes file content string and returns a parsed config value. |
Members
Members
configFormat
Create a FormatLoader from extensions and a parse function.
Convenience factory for config loading. It avoids manually constructing the { extensions, parse } object and makes intent clearer at call sites.
Later loaders registered for the same extension override earlier ones. Any error thrown by parse is wrapped by discoverConfig as CONFIG_PARSE_ERROR.
ts
(extensions: readonly string[], parse: { (content: string): unknown; }): FormatLoader;Examples
ts
import { cli, configFormat } from '@kjanat/dreamcli';
import { parse as parseYaml } from 'yaml';
import { parse as parseTOML } from '@iarna/toml';
const yamlPackageLoader = configFormat(['yaml', 'yml'], parseYaml);
const tomlPackageLoader = configFormat(['toml'], parseTOML);
// Or with Bun's built-in parsers:
// const yamlLoader = configFormat(['yaml', 'yml'], Bun.YAML.parse);
// const tomlLoader = configFormat(['toml'], Bun.TOML.parse);
cli('myapp')
.config('myapp')
.configLoader(yamlLoader)
.configLoader(tomlLoader)
.run();