Nouveau Papier Mâché

    @frctl/dayglo

    1.0.1 • Public • Published

    Dayglo

    Adapter-based data file loader/parser for Node.

    Build Status NPM Version

    Dayglo provides a simple, promise-based API to load and parse config/data files from the filesystem.

    const dayglo = require('@frctl/dayglo');
    
    dayglo('/path/to/data.tml').then(data => console.log(data)); // { foo: "bar" }

    It comes with a set of loaders for some common config file formats (JSON/JSON5, YAML, TOML, CommonJS-style modules) but it's also very easy to define your own if you have other requirements.

    Install

    npm install @frctl/dayglo --save
    

    Dayglo requires Node >= v6.0.

    Usage

    The default export is a standalone loader function with the default adapters pre-registered for the following file extensions:

    • JSON/JSON5 - .json, .json5
    • YAML - .yml, .yaml
    • TOML - .tml, .toml
    • CommonJS-style modules - .js
    const dayglo = require('@frctl/dayglo');
    
    dayglo('/path/to/data.json').then(data => {
        console.log(data);
    });
    
    dayglo('/path/to/data.yml').then(data => {
        console.log(data);
    });

    You can also create a new Loader instance and register your own adapters, if you prefer:

    const Loader = require('@frctl/dayglo').Loader;
    const yamlAdapter = require('@frctl/dayglo').yaml;
    
    const loader = new Loader();
    
    // use one of the bundled adapters
    loader.addAdapter(['.yml', '.yaml'], yamlAdapter);
    
    // use a custom adapter to parse .ini files
    // via the `ini` package - https://github.com/npm/ini
    loader.addAdapter('.ini', function(contents, filename){
        return require('ini').parse(contents);
    });
    
    loader.load('/path/to/data.yml').then(data => {
        console.log(data);
    });
    
    loader.load('/path/to/data.ini').then(data => {
        console.log(data);
    });

    Install

    npm i @frctl/dayglo

    DownloadsWeekly Downloads

    1

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • mihkeleidast
    • chapabu
    • tomdavies
    • allmarkedup
    • dkhuntrods