mercury-parser/scripts/templates/index.js
Adam Pash 629eada1f7 feat: recording/playing back network requests with nock (#18)
* feat: recording/playing back network requests with nock

* lint fix
2016-10-28 14:54:12 -07:00

29 lines
657 B
JavaScript

import insertValues from './insert-values';
const bodyPattern = /^\n([\s\S]+)\s{2}$/gm;
const trailingWhitespace = /\s+$/;
export default function template(strings, ...values) {
const compiled = insertValues(strings, ...values);
let [body] = compiled.match(bodyPattern) || [];
let indentLevel = /^\s{0,4}(.+)$/g;
if (!body) {
body = compiled;
indentLevel = /^\s{0,2}(.+)$/g;
}
return body.split('\n')
.slice(1)
.map((line) => {
line = line.replace(indentLevel, '$1');
if (trailingWhitespace.test(line)) {
line = line.replace(trailingWhitespace, '');
}
return line;
})
.join('\n');
}