shortstop-yaml
Version:
shortstop handler to parse yaml
29 lines (22 loc) • 667 B
JavaScript
const handlers = require('shortstop-handlers');
const caller = require('caller');
const yaml = require('js-yaml');
const path = require('path');
const fs = require('fs');
module.exports = function createParser(basedir) {
const resolver = handlers.path(basedir || path.dirname(caller()));
return function yamlParser(path, cb) {
const filename = resolver(path);
fs.readFile(filename, parse);
function parse(err, contents) {
const opts = {filename};
if (err) return cb(err);
try {
const parsed = yaml.safeLoad(contents, opts);
return cb(null, parsed);
} catch (e) {
return cb(e);
}
}
}
}