Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.

view on npm npm module downloads Gihub repo dependents Gihub package dependents Build Status js-standard-style

wordwrapjs

Word wrapping, with a few features.

  • force-break option
  • wraps hypenated words
  • multilingual - wraps any language that uses whitespace for word separation.

Synopsis

Wrap some text in a 20 character column.

> wordwrap = require('wordwrapjs')

> text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'

> result = wordwrap.wrap(text, { width: 20 })

result now looks like this:

Lorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod tempor
incididunt ut labore
et dolore magna
aliqua.

By default, long words will not break. Unless you set the break option.

> url = 'https://github.com/75lb/wordwrapjs'

> wrap.lines(url, { width: 18 })
[ 'https://github.com/75lb/wordwrapjs' ]

> wrap.lines(url, { width: 18, break: true })
[ 'https://github.com', '/75lb/wordwrapjs' ]

Load anywhere

This library is compatible with Node.js, the Web and any style of module loader. It can be loaded anywhere, natively without transpilation.

Node.js:

const wordwrap = require('wordwrapjs')

Within Node.js with ECMAScript Module support enabled:

import wordwrap from 'wordwrapjs/index.mjs'

Within an modern browser ECMAScript Module:

import wordwrap from './node_modules/wordwrapjs/dist/index.mjs'

Old browser (adds window.wordwrapjs):

<script nomodule src="./node_modules/wordwrapjs/dist/index.js"></script>

API Reference

WordWrap

Kind: Exported class

WordWrap.wrap(text, [options]) ⇒ string

Kind: static method of WordWrap

Param Type Description
text string the input text to wrap
[options] object optional configuration
[options.width] number the max column width in characters (defaults to 30).
[options.break] boolean if true, words exceeding the specified width will be forcefully broken
[options.noTrim] boolean By default, each line output is trimmed. If noTrim is set, no line-trimming occurs - all whitespace from the input text is left in.
[options.eol] string The end of line character to use. Defaults to \n.

WordWrap.lines(text, options)

Wraps the input text, returning an array of strings (lines).

Kind: static method of WordWrap

Param Type Description
text string input text
options object Accepts same options as constructor.

WordWrap.isWrappable(text) ⇒ boolean

Returns true if the input text would be wrapped if passed into .wrap().

Kind: static method of WordWrap

Param Type Description
text string input text

WordWrap.getChunks(text) ⇒ Array.<string>

Splits the input text into an array of words and whitespace.

Kind: static method of WordWrap

Param Type Description
text string input text

© 2015-21 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.