UNPKG

@cdxoo/inline-string

Version:

turn multi line es6 template literal into a single line

26 lines (22 loc) 611 B
'use strict'; module.exports = function inlineString (call_site, ...placeholder_values) { if (!Array.isArray(call_site)) { throw new Error( 'inline-string should be called via "inlineString`foo`;" and not as a function' ); } var newlines = /\s*\n\s*/g; return ( call_site .map((str, i) => { var arg = placeholder_values[i]; return ( arg ? str + arg.replace(newlines, '').trim() : str ); }) .join('').replace(newlines, '') .trim() ); }