conev-core
TypeScript icon, indicating that this package has built-in type declarations

1.3.1 • Public • Published

conev-core

Conev is a module that build environment variables from a source into config. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology.

Install

# with npm 
npm install conev-core
 
# or with Yarn 
yarn add conev-core

Config Builder

class ConfigBuilder {
    setEnv(...env: string[]): ConfigBuilder;
    addEnv(...env: string[]): ConfigBuilder;
    addSource(source: Source, priority?: number): ConfigBuilder;

    build(): Config;
}

ConfigBuilder takes a configuration from the source and creates a new configuration according to the environment. Env and Source have priority. If priority is not defined, highest priority is added first.

Config

class Config {
    constructor(sources: Source[], env: string[]);
    
    setEnv(...env: string[]): Config;
    addEnv(...env: string[]): Config;
    addSource(source: Source, priority?: number): Config;
    
    refresh(): Promise<Config>;
    validate(): void;
    
    get(key?: string): any | null;
    set(key: string, value: any): void;
}

config is a container for configuration. config is provided by creating a new configuration from the configuration and environment obtained from source.

Source

interface Source {
    export(): Promise<Map<string, object>>;
}

Source defines the source from which to get the configuration. Map is returned as the result value of export. The key of this map is environment and the value is the configuration when environment.

Expansion

It can be extended by defining a new Source.

Readme

Keywords

Package Sidebar

Install

npm i conev-core

Weekly Downloads

13

Version

1.3.1

License

MIT

Unpacked Size

11.8 kB

Total Files

28

Last publish

Collaborators

  • araxsiyual
  • coursedesign