Readable multi-line template strings for Javascript or Typescript.
multiline is a template tag function which removes leading indentation from each line of a string, and the first/last newline, to allow it to be more readable in code.
multiline also indents multi-line strings in template variables.
npm install multiline-ts
import multiline from 'multiline-ts';
const string = multiline`
Multiline string
with varying
indentation
`;
Is equivalent to:
const string = `Multiline string
with varying
indentation`;
Which creates the string:
Multiline string
with varying
indentation
import multiline from 'multiline-ts';
const condition1 = true;
const condition2 = true;
if (condition1) {
if (condition2) {
const string = multiline`
Multiline string
with varying
indentation
`;
}
}
Creates the same string:
Multiline string
with varying
indentation
import multiline from 'multiline-ts';
const value = '1\n2\n3';
const string = multiline`
Indented value:
${value}
`;
Creates the string:
Indented value:
1
2
3
Extra newlines are respected:
import multiline from 'multiline-ts';
const string = multiline`
Here is
Another string
For you
`;
Creates the string:
Here is
Another string
For you
If you want to use this with CommonJS imports use the following syntax:
const multiline = require('multiline-ts');
const string = multiline(`
Multiline string
with varying
indentation
`);
You can also call multiline as a normal function, however this will not be able to intelligently indent multi-line template variables.
import multiline from 'multiline-ts';
const string = multiline(`
Multiline string
with varying
indentation
`);
Creates the string:
Multiline string
with varying
indentation