export function dedentString(string: string): string {
const trimmedStr = string
.replace(/^\n*/m, '')
.replace(/[ \t\n]*$/, '');
let indent = '';
for (const char of trimmedStr) {
if (char !== ' ' && char !== '\t') {
break;
}
indent += char;
}
return trimmedStr.replaceAll(RegExp('^' + indent, 'mg'), '');
}
export function dedent(
strings: ReadonlyArray<string>,
...values: ReadonlyArray<string>
): string {
let str = strings[0];
for (let i = 1; i < strings.length; ++i) {
str += values[i - 1] + strings[i];
}
return dedentString(str);
}