smart-truncate
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/smart-truncate package

1.0.1 • Public • Published

Smart Truncate Build Status Coverage Status

A small library that truncates a string. It can insert or append an ellipsis (or a custom mark) at any desired position of the truncated result.

Installation

npm install --save smart-truncate

Syntax

smartTruncate(string, length[, options])

Paramaters

string
 A string with a minimum length of 4 characters.

length
 The length of the truncated result.

options
options.position
 Optional. The index of the ellipsis (zero based). Default is at the end.
options.mark
 Optional. The character[s] indicating omission. Default is an ellipsis "…".

Return value

A new string truncated with an ellipsis or custom mark.

Usage

const smartTruncate = require('smart-truncate');
 
const string = 'To iterate is human, to recurse divine.';
 
// Append an ellipsis at the end of the truncated string.
const truncated = smartTruncate(string, 15);

Output: "To iterate is …"


const string = 'To iterate is human, to recurse divine.';
 
// Insert an ellipsis in the middle of a smart truncated string.
const truncated = smartTruncate(string, 21, {position: 10});

Output: "To iterate…se divine."


const files = [
    '1Password 6.app',
    'Adobe',
    'Adobe Creative Cloud',
    'Adobe Illustrator CC 2015.3',
    'Adobe Photoshop CC 2014',
    'Adobe Photoshop CC 2015.5',
    'App Store.app'
];
 
const truncated = files.map((filename) => smartTruncate(filename, 21, {position: 10}));

Output:

[
    '1Password 6.app',
    'Adobe',
    'Adobe Creative Cloud',
    'Adobe Illu… CC 2015.3',
    'Adobe Phot…op CC 2014',
    'Adobe Phot… CC 2015.5',
    'App Store.app'
]

Tests

npm test

Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add tests for any new or changed functionality. Lint and test your code.

Dependencies (0)

    Dev Dependencies (6)

    Package Sidebar

    Install

    npm i smart-truncate

    Weekly Downloads

    1,262

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • millerized