Notes/spec/support/utils.ts

22 lines
683 B
TypeScript
Raw Normal View History

2024-12-22 15:45:54 +02:00
export function trimIndentation(strings: TemplateStringsArray) {
const str = strings.toString();
// Count the number of spaces on the first line.
let numSpaces = 0;
while (str.charAt(numSpaces) == ' ' && numSpaces < str.length) {
numSpaces++;
}
2024-12-22 15:45:54 +02:00
// Trim the indentation of the first line in all the lines.
const lines = str.split("\n");
2024-12-22 15:45:54 +02:00
const output = [];
for (let i=0; i<lines.length; i++) {
let numSpacesLine = 0;
while (str.charAt(numSpacesLine) == ' ' && numSpacesLine < str.length) {
numSpacesLine++;
}
output.push(lines[i].substring(numSpacesLine));
}
return output.join("\n");
2024-12-22 15:45:54 +02:00
}