@lunaticmuch/front-matter-manipulator
Version:
A utility for parsing and manipulating documents with Front Matter
39 lines (30 loc) • 1.09 kB
JavaScript
import chalk from 'chalk';
import fs from 'fs';
import isMissing from '../util/isMissing.js';
export default function output(data, options) {
var defaultOptions = {
json: {
replacer: null,
space: '\t'
}
};
options = Object.assign(defaultOptions, options);
var output = JSON.stringify(data, options.json.replacer, options.json.space);
var shouldOutput = (
isMissing(options.outputFile) && !options.silent && options.cli
|| !isMissing(options.outputFile) && options.verbose && options.cli
);
if (options.outputString)
output = data.join(' ');
if(shouldOutput) {
console.log(output);
}
if (!isMissing(options.outputFile)) {
if(!options.silent && options.cli)
console.log(chalk`{gray Writing output to {bold ${options.outputFile}}}`);
fs.writeFileSync(options.outputFile, output);
if(!options.silent && options.cli)
console.log(chalk`{green {bold ${options.outputFile}} written}`);
}
return JSON.parse(output);
}