New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@gustavnikolaj/string-utils

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gustavnikolaj/string-utils

Template string utilities

  • 2.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Template String Utilities

npm version Build Status Coverage Status

deindent

Strips indentation based on the indentation found on the first line. Will leave extra newlines and extra indentation intact. It will however remove leading and trailing line breaks.

import { deindent } from "@gustavnikolaj/string-utils";

console.log(deindent`
  foo bar
  qux baz
`); // => "foo bar\nqux baz"

console.log(deindent`
  foo bar
    qux baz
`); // => "foo bar\n  qux baz"

console.log(deindent`
  foo bar

    qux baz
`); // => "foo bar\n\n  qux baz"

Can be used as a regular function as well as a tag for template strings:

console.log(deindent`
  foo bar
  qux baz
`); // => "foo bar\nqux baz"

console.log(deindent(`
  foo bar
  qux baz
`)); // => "foo bar\nqux baz"

Can also be required directly:

import deindent from "@gustavnikolaj/string-utils/deindent";

collapse

Collapses whitespace in a line wrapped over multiple lines.

import { collapse } from "@gustavnikolaj/string-utils";

console.log(collapse`
  foo bar
  qux baz
`); // => "foo bar qux baz"

console.log(collapse`
  foo bar
    qux baz
`); // => "foo bar qux baz"

console.log(collapse`
  This is a very long string that I rather not have to put in a single line
  because then it would make my code spill over and take more than the 80
  characters per line that I prefer.
`);
// => "This is a very long string that I rather not have to put in a single " +
//    "line because then it would make my code spill over and take more " +
//    "than the 80 characters per line that I prefer."

Can also be required directly:

import collapse from "@gustavnikolaj/string-utils/collapse";

reflow

Strips indentation as deindent, but will persist paragraphs (separated by double newlines like in markdown) and reflow the paragraphs so that they fit within a defined width.

import { reflow } from "@gustavnikolaj/string-utils";

console.log(reflow(8)`
  foo bar qux baz foo bar
`); // => "foo bar\nqux baz\nfoo bar"

console.log(reflow(80)`
  foo bar

  qux baz
`); // => "foo bar\n\nqux baz"

console.log(reflow(30)`
  This is a very long string that is for sure longer than 30 characters.

  This is a very long string that is for sure longer than 30 characters.
`);
/* => This is a very long string
      that is for sure longer than
      30 characters.

      This is a very long string
      that is for sure longer than
      30 characters. */

It also supports being called as a regular non-template-string function:

reflow(
  "This is a very long string that is for sure longer than 30 characters.",
  30
);

Can also be required directly:

import reflow from "@gustavnikolaj/string-utils/reflow";

qw

A qw (quote word) helper for old, disgruntled perl programmers.

import { qw } from "@gustavnikolaj/string-utils";

const blah = "hey";

console.log(qw`   foo   bar
  quux   ${blah}   baz
`); // => [ 'foo', 'bar', 'quux', 'hey', 'baz' ]

Can also be imported directly:

import qw from "@gustavnikolaj/string-utils/qw";

Keywords

FAQs

Package last updated on 03 May 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc