import os from 'os'; import fs from 'fs'; import path from 'path'; import { Helper } from './interfaces'; const lineBreak = os.EOL + ''; export default (customScriptPath: string | null, customStylePath: string | null): Helper => async (): Promise => { const customScript = customScriptPath ? await fs.promises.readFile(path.resolve(customScriptPath), 'utf8') : null; const customStyle = customStylePath ? await fs.promises.readFile(path.resolve(customStylePath), 'utf8') : null; const scripts = createScripts(customScript); const styles = createStyles(customStyle); return [ ...scripts, ...styles, ].join(os.EOL); }; function createScripts(customScript: string | null): ReadonlyArray { const scripts = [ '', ``]; if (customScript) { scripts.push( ``); } return scripts; } function createStyles(customStyle: string | null): ReadonlyArray { const styles = [ `${lineBreak} `, ]; if (customStyle) { styles.push( ``); } return styles; }