@technician/interpret-toml
v2.0.1
Published
Adds TOML support to the Technician config manager.
Downloads
5
Maintainers
Readme
@technician/interpret-toml
This package provides extensions to the Interpret
API of the Technician config manager aimed at supporting TOML files.
This package uses @iarna/toml for TOML deserialization. Both async and sync operation is supported.
Installation
npm i @technician/interpret-toml
This package is compatible with Node 10 LTS and up.
Usage Example
Baisc usage
import { Technician, Interpret } from 'technician';
// Technician will automatically load the extensions in any file with the interpret-toml package imported.
import '@technician/interpret-toml';
const technician = new Technician(
Interpret.string.asTOML(
new ManualConfigSource({
toml: 'key = value'
})
)
);
await technician.read('toml'); // {key: 'value'}
Loading key/value pairs from a TOML file
import { Technician, Interpret, Uplevel } from 'technician';
import { FSConfigSource } from '@technician/source-fs';
import '@technician/interpret-toml';
const technician = new Technician(
Uplevel.only('config.toml').on(
Interpret.buffer.asTOML(
new FSConfigSource('/opt/myapp/config') // key = value
)
)
);
await technician.read('key'); // value
An encoding type may be optionally specified as follows: Interpret.buffer.asTOML(myConfigSource, 'ascii')
. Default is utf-8
.
asStringOrTOML
is also supported, which optionally parses only valid TOML but still returns invalid TOML as an unparsed string (similar to the behavior of Technician's asStringOrJSON
).
Contributions
Contributions and pull requests are always welcome. Please be sure your code passes all existing tests and linting.
Pull requests with full code coverage are strongly encouraged.