@technician/interpret-toml
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

@technician/interpret-toml

npm version npm downloads npm license

dependencies Build Status GitKraken

This package provides extensions to the Interpret API of the Technician config manager aimed at supporting TOML files.

Technician

This package uses @iarna/toml for TOML deserialization. Both async and sync operation is supported.

@iarna/toml

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.

License

Apache-2.0

Package Sidebar

Install

npm i @technician/interpret-toml

Weekly Downloads

0

Version

2.0.1

License

Apache-2.0

Unpacked Size

26.6 kB

Total Files

7

Last publish

Collaborators

  • carriejv