@jafps/config
v1.2.3
Published
Functions for reading configuration.
Readme
@jafps/config
Functions for reading configuration.
Usage
Read configuration and validate it with schema.
import { readConfig } from "@jafps/config";
import { JsonConfigReader } from "@jafps/config/json";
import { Type } from "typebox";
const cfgSchema = Type.Object({
a: Type.String()
});
const cfg = await readConfig({
readers: [new JsonConfigReader("/config.json")],
schema: cfgSchema
});Environment Variables
import {
BooleanEnvProperty,
EnvConfigReader,
NumberEnvProperty,
StringCommaListEnvProperty,
StringEnvProperty
} from "@jafps/config/env";
/**
* {
* "a": true,
* "c": {
* "d": 1,
* "e": "a"
* },
* "f": ["a", "b"]
* }
*/
const reader = new EnvConfigReader({
a: new BooleanEnvProperty("ENV_BOOLEAN"), // true or false
c: {
d: new NumberEnvProperty("ENV_NUMBER"), // number
e: new StringEnvProperty("ENV_STRING") // any characters
},
f: new StringCommaListEnvProperty("ENV_STRING_ARRAY") // Comma separated string
});JSON
import { JsonConfigReader } from "@jafps/config/json";
const reader = new JsonConfigReader("/config.json");YAML
import { YamlConfigReader } from "@jafps/config/yaml";
const reader = new YamlConfigReader("/config.yaml");