multiline-ts
TypeScript icon, indicating that this package has built-in type declarations

3.1.0 • Public • Published

multiline-ts npm version build status coverage status

Readable multi-line template strings for Javascript or Typescript.

multiline is a template tag function which removes leading indentation from a string, and the first/last newline, to allow it to be more readable in code.

multiline also indents multiline values in template variables.

Installation

npm install multiline-ts

Usage

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

In indented code

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

With template variables

import multiline from 'multiline-ts';

const value = '1\n2\n3';

const string = multiline`
  Indented value:
    ${value}
`;

Creates the string:

Indented value:
  1
  2
  3

With with extra newlines

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

With CommonJS / require()

If you want to use this with CommonJS imports use the following syntax:

const multiline = require('multiline-ts').default;

As a function

You can also call multiline as a normal function, however this will not be able to indent template variables.

import multiline from 'multiline-ts';

const string = multiline(`
  Multiline string
    with varying
      indentation
`);

Creates the string:

Multiline string
  with varying
    indentation

/multiline-ts/

    Package Sidebar

    Install

    npm i multiline-ts

    Weekly Downloads

    504

    Version

    3.1.0

    License

    MIT

    Unpacked Size

    9.04 kB

    Total Files

    9

    Last publish

    Collaborators

    • peterjwest