27 lines
869 B
JavaScript
27 lines
869 B
JavaScript
import {getVerboseFunction} from './values.js';
|
|
|
|
// Apply the `verbose` function on each line
|
|
export const applyVerboseOnLines = (printedLines, verboseInfo, fdNumber) => {
|
|
const verboseFunction = getVerboseFunction(verboseInfo, fdNumber);
|
|
return printedLines
|
|
.map(({verboseLine, verboseObject}) => applyVerboseFunction(verboseLine, verboseObject, verboseFunction))
|
|
.filter(printedLine => printedLine !== undefined)
|
|
.map(printedLine => appendNewline(printedLine))
|
|
.join('');
|
|
};
|
|
|
|
const applyVerboseFunction = (verboseLine, verboseObject, verboseFunction) => {
|
|
if (verboseFunction === undefined) {
|
|
return verboseLine;
|
|
}
|
|
|
|
const printedLine = verboseFunction(verboseLine, verboseObject);
|
|
if (typeof printedLine === 'string') {
|
|
return printedLine;
|
|
}
|
|
};
|
|
|
|
const appendNewline = printedLine => printedLine.endsWith('\n')
|
|
? printedLine
|
|
: `${printedLine}\n`;
|