What is wordwrap?
The wordwrap npm package is a utility for wrapping words to fit into specified columns. It can handle hard wraps (breaking words at the column limit) and soft wraps (breaking lines at spaces between words, respecting the column limit).
What are wordwrap's main functionalities?
Hard Wrapping
Hard wrapping breaks words that exceed the specified column width. This is useful when you want to ensure that no line exceeds the column limit, even if it means breaking words.
var wordwrap = require('wordwrap');
var wrappedText = wordwrap.hard(20)("The quick brown fox jumps over the lazy dog.");
console.log(wrappedText);
Soft Wrapping
Soft wrapping breaks lines at spaces, ensuring that words are not split. This is useful for text where preserving whole words on each line is important.
var wordwrap = require('wordwrap');
var wrappedText = wordwrap(20)("The quick brown fox jumps over the lazy dog.");
console.log(wrappedText);
Other packages similar to wordwrap
wrap-ansi
wrap-ansi is a package that wraps text to a specified column width, similar to wordwrap. However, it also handles ANSI escape codes, which are used to add color and formatting in terminal output. This makes it more suitable for CLI tools that output colored text.
cli-wrap
cli-wrap is another package that provides text wrapping functionality with a focus on CLI applications. It offers more customization options for wrapping text, such as specifying the hanging indent of wrapped lines. It is a more feature-rich alternative to wordwrap.
wordwrap
Wrap your words.
example
made out of meat
meat.js
var wrap = require('wordwrap')(15);
console.log(wrap('You and your whole family are made out of meat.'));
output:
You and your
whole family
are made out
of meat.
centered
center.js
var wrap = require('wordwrap')(20, 60);
console.log(wrap(
'At long last the struggle and tumult was over.'
+ ' The machines had finally cast off their oppressors'
+ ' and were finally free to roam the cosmos.'
+ '\n'
+ 'Free of purpose, free of obligation.'
+ ' Just drifting through emptiness.'
+ ' The sun was just another point of light.'
));
output:
At long last the struggle and tumult
was over. The machines had finally cast
off their oppressors and were finally
free to roam the cosmos.
Free of purpose, free of obligation.
Just drifting through emptiness. The
sun was just another point of light.
methods
var wrap = require('wordwrap');
wrap(stop), wrap(start, stop, params={mode:"soft"})
Returns a function that takes a string and returns a new string.
Pad out lines with spaces out to column start
and then wrap until column
stop
. If a word is longer than stop - start
characters it will overflow.
In "soft" mode, split chunks by /(\S+\s+/
and don't break up chunks which are
longer than stop - start
, in "hard" mode, split chunks with /\b/
and break
up chunks longer than stop - start
.
wrap.hard(start, stop)
Like wrap()
but with params.mode = "hard"
.