|
export function stripIndents(value: string): string; |
|
export function stripIndents(strings: TemplateStringsArray, ...values: any[]): string; |
|
export function stripIndents(arg0: string | TemplateStringsArray, ...values: any[]) { |
|
if (typeof arg0 !== 'string') { |
|
const processedString = arg0.reduce((acc, curr, i) => { |
|
acc += curr + (values[i] ?? ''); |
|
return acc; |
|
}, ''); |
|
|
|
return _stripIndents(processedString); |
|
} |
|
|
|
return _stripIndents(arg0); |
|
} |
|
|
|
function _stripIndents(value: string) { |
|
return value |
|
.split('\n') |
|
.map((line) => line.trim()) |
|
.join('\n') |
|
.trimStart() |
|
.replace(/[\r\n]$/, ''); |
|
} |
|
|