Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
@gustavnikolaj/string-utils
Advanced tools
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";
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";
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";
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";
FAQs
Template string utilities
We found that @gustavnikolaj/string-utils demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.