1.76.3 • Published 11 months ago

@biorate/config-loader v1.76.3

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

Config loader

Config loader abstraction

Features:

  • Common interface for load configuration from different sources

Examples:

./config-loader-test.ts
import { init } from '@biorate/inversion';
import { ConfigLoader } from '../../src';
import { key, value } from './';

export class ConfigLoaderTest extends ConfigLoader {
  @init() protected initialize() {
    this.config.set(key, value);
  }
}
./index.ts
import { inject, container, Types, Core } from '@biorate/inversion';
import { IConfig, Config } from '@biorate/config';
import { ConfigLoader } from '@biorate/config-loader';
import { ConfigLoaderTest } from './config-loader-test';

class Root extends Core() {
  @inject(Types.Config) public config: IConfig;
  @inject(Types.ConfigLoaderTest) public configLoaderTest: ConfigLoader;
}

container.bind<IConfig>(Types.Config).to(Config).inSingletonScope();
container.bind<ConfigLoader>(Types.ConfigLoaderTest).to(ConfigLoaderTest).inSingletonScope();
container.bind<Root>(Root).toSelf().inSingletonScope();

container.get<IConfig>(Types.Config).merge({});

(async () => {
  const root = container.get<Root>(Root);
  await root.$run();
  root.config.get('test'); // Hello world!
})();

Learn

  • Documentation can be found here - docs.

Release History

See the CHANGELOG

License

MIT

Copyright (c) 2021-present Leonid Levkin (llevkin)

1.76.3

11 months ago

1.65.4

1 year ago

1.54.0

1 year ago

1.38.2

2 years ago

1.38.3

2 years ago

1.38.1

2 years ago

1.38.4

2 years ago

1.42.2

2 years ago

1.42.1

2 years ago

1.30.12

2 years ago

1.29.0

2 years ago

1.28.1

2 years ago

1.28.0

2 years ago

1.26.0

2 years ago

1.27.2

2 years ago

1.27.0

2 years ago

1.27.1

2 years ago

1.24.0

2 years ago

1.11.2

3 years ago

1.7.0

3 years ago

1.6.0

3 years ago