Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including tsts with all npm packages installed. Try it out:

var tsts = require("tsts")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

tsts v1.0.1

ES6 template string tags

tsts

Template String TagS

tsts exposes a number of function(s) for use as ES6 template string tags, which are functions that can be used to alter the output of an ES6 template string.

Install

$ npm install --save tsts

Usage

tsts can be used anywhere that supports ES6 template strings, such as:

  • Node 4.x and higher:

    const tsts = require('tsts');
    
  • Babel

    import * as tsts from 'tsts';
    

In each of these cases, tsts is an object with the API attached to it.

API

join / tsts.join

Break long, multi-word strings (i.e., sentences) into multiple lines.

Any sequence of whitespace characters will be replaced by a single space. The result is trimmed.

Identical to tsmlj.

import {join} from 'tsts';

join`
  The path of the righteous man   is beset on all sides by the
  inequities of the    selfish and the tyranny of evil men.

  Blessed is he who, in the name of charity and good will,
    shepherds the
  weak through the        valley of the darkness, for he is truly his
  brother's keeper and the finder of lost children.
`
The path of the righteous man is beset on all sides by the inequities of the selfish and the tyranny of evil men. Blessed is he who, in the name of charity and good will, shepherds the weak through the valley of the darkness, for he is truly his brother's keeper and the finder of lost children.

pre / tsts.pre

Create formatted text blocks which can be indented to match your code. Supports either spaces or tabs.

In other words, it takes a preformatted text block, outdents it to match the furthest-left line, and retains any deeper indentation and internal new-lines. The result is trimmed.

Identical to tsmlb.

import {pre} from 'tsts';

pre`
  The path of the righteous man is beset
      on all sides
    by the inequities of the selfish and the tyranny of evil men.

    Blessed is he who,
      in the name of charity and good will,
    shepherds the weak
      through the valley of the darkness,
    for he is truly his brother's keeper and the finder of lost children.
`;
The path of the righteous man is beset
    on all sides
  by the inequities of the selfish and the tyranny of evil men.

  Blessed is he who,
    in the name of charity and good will,
  shepherds the weak
    through the valley of the darkness,
  for he is truly his brother's keeper and the finder of lost children.

squash / tsts.squash

This method uses Rod Vagg's tsml; refer to its documentation for more information!

import {squash} from 'tsts';

squash`
  one
  two
  three
`;
onetwothree

License

tsts is Copyright (c) 2015 Pat O'Neill and licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved.

tsml is Copyright (c) 2015 Rod Vagg @rvagg and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free