1.1.1 • Published 10 years ago

expand-string v1.1.1

Weekly downloads
324
License
MIT
Repository
github
Last release
10 years ago

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.

1.1.1

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago