Have ideas to improve npm?Join in the discussion! »

    wordwrapjs

    5.0.2 • Public • Published

    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.

    Install

    npm i wordwrapjs

    DownloadsWeekly Downloads

    679,677

    Version

    5.0.2

    License

    MIT

    Unpacked Size

    35 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar