expand-string

1.1.1 • Public • Published

expand-string

npm Version npm Downloads Test Status Test Coverage MIT Licensed

Range based string expansion.

const expandString = require('expand-string');
 
let expanded = expandString('a-f9-0_-');
// => 'abcdef9876543210_-'
 
const generateRange = expandString.generateRange;
 
let range = generateRange('s', 'z');
// => 'stuvwxyz'

Installation

npm install expand-string

Features

  • Expand arbitrary character ranges.
  • Specify ranges using any ellipsis (default is '-').
  • Full Unicode support.

API

const expandString = require('expand-string');
const generateRange = expandString.generateRange;

expandString(str, options)

Expands all ranges found in a string.

str

string (default = '')

The string to expand. If str is undefined or null an empty result is returned ('' or [], depending on options.returnArray).

options

object, string (default = {})

expandString accepts these properties in the options object:

Note: If options is a string it's treated as ellipsis.

ellipsis

string (default = '-')

The ellipsis used to indicated a range.

expandString('ac-f9-5_-');
// => 'acdef98765_-'
 
expandString('z..u', {ellipsis: '..'});
// => 'zyxwvu'
 
expandString('z..u', '..'); // shortcut
// => 'zyxwvu'
returnArray

boolean (default = false)

If false the return value is a string. If true the return value is an Array with one Unicode character per element.

expandString('a-f');
// => 'abcdef'
 
expandString('a-f', {returnArray: true});
// => ['a', 'b', 'c', 'd', 'e', 'f']

generateRange(begin, end, options)

Generates a range from begin to end.

begin

string (single character)

The begin of the range (inclusive).

end

string (single character)

The end of the range (inclusive).

options

object (default = {})

generateRange accepts these properties in the options object:

returnArray

boolean (default = false)

If false the return value is a string. If true the return value is an Array with one Unicode character per element.

generateRange('a', 'f');
// => 'abcdef'
 
generateRange('a', 'f', {returnArray: true});
// => ['a', 'b', 'c', 'd', 'e', 'f']

Tests

To run the test suite, install dependencies, then run npm test:

npm install
npm test

Coverage reports are generated by running npm run coverage.

Linting is done with npm run lint.

Readme

Keywords

Package Sidebar

Install

npm i expand-string

Weekly Downloads

53

Version

1.1.1

License

MIT

Last publish

Collaborators

  • maxtruxa