PATH:
opt
/
bitninja-dispatcher
/
node_modules
/
logform
'use strict'; const format = require('./format'); /* * function cascade(formats) * Returns a function that invokes the `._format` function in-order * for the specified set of `formats`. In this manner we say that Formats * are "pipe-like", but not a pure pumpify implementation. Since there is no back * pressure we can remove all of the "readable" plumbing in Node streams. */ function cascade(formats) { if (!formats.every(isValidFormat)) { return; } return info => { let obj = info; for (let i = 0; i < formats.length; i++) { obj = formats[i].transform(obj, formats[i].options); if (!obj) { return false; } } return obj; }; } /* * function isValidFormat(format) * If the format does not define a `transform` function throw an error * with more detailed usage. */ function isValidFormat(fmt) { if (typeof fmt.transform !== 'function') { throw new Error([ 'No transform function found on format. Did you create a format instance?', 'const myFormat = format(formatFn);', 'const instance = myFormat();' ].join('\n')); } return true; } /* * function combine (info) * Returns a new instance of the combine Format which combines the specified * formats into a new format. This is similar to a pipe-chain in transform streams. * We choose to combine the prototypes this way because there is no back pressure in * an in-memory transform chain. */ module.exports = (...formats) => { const combinedFormat = format(cascade(formats)); const instance = combinedFormat(); instance.Format = combinedFormat.Format; return instance; }; // // Export the cascade method for use in cli and other // combined formats that should not be assumed to be // singletons. // module.exports.cascade = cascade;
[-] metadata.js
[edit]
[-] .gitattributes
[edit]
[-] json.js
[edit]
[-] label.js
[edit]
[-] tsconfig.json
[edit]
[-] errors.js
[edit]
[-] timestamp.js
[edit]
[+]
..
[-] combine.js
[edit]
[-] index.d.ts
[edit]
[-] pad-levels.js
[edit]
[-] package.json
[edit]
[-] splat.js
[edit]
[-] align.js
[edit]
[-] logstash.js
[edit]
[-] .eslintrc
[edit]
[-] simple.js
[edit]
[-] browser.js
[edit]
[-] ms.js
[edit]
[-] index.js
[edit]
[-] .babelrc
[edit]
[-] format.js
[edit]
[-] printf.js
[edit]
[-] pretty-print.js
[edit]
[-] uncolorize.js
[edit]
[-] README.md
[edit]
[+]
examples
[+]
dist
[-] colorize.js
[edit]
[-] levels.js
[edit]
[-] cli.js
[edit]
[-] LICENSE
[edit]
[-] CHANGELOG.md
[edit]