/node-read-yaml

Read and parse a YAML file. A wrapper of js-yaml read file directly.

Primary LanguageJavaScriptMIT LicenseMIT

node-read-yaml

NPM Version LICENSE Build Status code style: prettier

Read and parse a YAML file. A wrapper of js-yaml read file directly.

const read = require("node-read-yaml");

const doc = read.sync(filename);
console.log(doc);

same as

const fs = require("fs");
const yaml = require("js-yaml");

const doc = yaml.safeLoad(fs.readFileSync(filename, "utf8"));
console.log(doc);

Installation

npm install node-read-yaml

API

read (filename [ , options ]) | read.sync (filename [ , options ])

Read a YAML file and parse content as JSON. Returns either a plain object, an array, a string or undefined, or throws YAMLException on error. By default, does not support regexps, functions and undefined. This method is safe for untrusted data. more

options:

  • multi (default: false) - If true, then reads file as multi-document and returns an array.
  • onWarning (default: null) - function to call on warning messages. Loader will call this function with an instance of YAMLException for each warning.
  • schema (default: DEFAULT_SAFE_SCHEMA) - specifies a schema to use.
  • json (default: false) - compatibility with JSON.parse behaviour. If true, then duplicate keys in a mapping will override values rather than throwing an error.

Examples

asynchronously read a file

const read = require("node-read-yaml");

read("config.yml")
  .then((doc) => console.log(doc))
  .catch((err) => console.error(err));

wrapper of require('js-yaml').safeLoad

asynchronously read multi-document file

const read = require("node-read-yaml");

read("config.yml", { multi: true })
  .then((arr) => arr.forEach((doc) => console.log(doc)))
  .catch((err) => console.error(err));

wrapper of require('js-yaml').safeLoadAll

synchronously read a file

const readSync = require("node-read-yaml").sync;

try {
  const doc = readSync("config.yml");
  console.log(doc);
} catch (err) {
  console.log(err);
}

wrapper of require('js-yaml').safeLoad

synchronously read multi-document file

const readSync = require("node-read-yaml").sync;

try {
  const arr = readSync("config.yml", { multi: true });
  arr.forEach((doc) => console.log(doc));
} catch (err) {
  console.log(err);
}

wrapper of require('js-yaml').safeLoadAll

read.YAMLException

require('js-yaml').YAMLException

Related

  • node-read-yaml-files - Read and parse YAML files in a directory and its subdirectories.
  • js-yaml - JavaScript YAML parser and dumper. Very fast.

License

Copyright (c) 2019 dailyrandomphoto. Licensed under the MIT license.