@idoconfig/provider-folder
Version:
Provider for idoconfig that reads values from files within a folder Useful for Docker Secrets.
52 lines (33 loc) • 1.96 kB
Markdown
# Folder Provider
Read values from files within a folder and make them accessible through [`Configuration`](https://github.com/MerifondNewMarkets/idoconfig)
[](https://www.npmjs.com/package/@idoconfig/provider-folder)
[](https://github.com/MerifondNewMarkets/idoconfig/actions)
[](https://github.com/MerifondNewMarkets/idoconfig/actions)
[](https://npmcharts.com/compare/@idoconfig/provider-folder?minimal=true)
[](https://www.npmjs.com/package/@idoconfig/provider-folder)
---
## Installation & Setup
Add this package to your `package.json`
```bash
npm install --save idoconfig-provider-folder
```
Use it!
```typescript
import { FolderConfigurationValueProvider } from "idoconfig-provider-folder";
// Use it
const folderProvider = new FolderConfigurationValueProvider();
const configuration = new Configuration([folderProvider]);
const value = configuration.getValue("my-key");
```
## Use with dependency injection
I'm using [inversify.io](http://inversify.io/)
```typescript
import Container from "inversify";
import { Configuration, IConfiguration, IConfigurationValueProvider } from "idoconfig";
import { FolderConfigurationValueProvider } from "idoconfig-provider-folder";
const di = new Container({ defaultScope: "Singleton" });
decorate(injectable(), Configuration);
decorate(injectable(), FolderConfigurationValueProvider);
di.bind<IConfigurationValueProvider>("ConfigProvider").to(FolderConfigurationValueProvider);
di.bind<IConfiguration>("Configuration").to(Configuration);
```