1.0.2 • Published 10 years ago

rangem v1.0.2

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

rangem

NPM Status Travis Status Coverage Status

The tool to range manipulation.

Install

$ npm install --save rangem

Usage

const rangem = require('rangem');

const ranges = rangem.union([{ from: 1, to: 5 }, { from: 5, to: 10 }]);

// ➜ [{ from: 1, to: 10 }]

const range = ranges.pop(); // { from: 1, to: 3 }

rangem.subtract(range, [{ from: 5, to: 7 }]);

// ➜ [{ from: 1, to: 5 }, { from: 7, to: 10 }]

API

union(ranges)

Unions intersecting ranges.

const union = require('rangem').union;

const ranges = [{ from: 1, to: 5 }, { from: 3, to: 6 }, { from: 10, to: 20 }];

union(ranges);

// ➜ [{ from: 1, to: 6 }, { from: 10, to: 20 }]

ranges

Type: {from: number, to: number}[] Default: []

The ranges to union.

subtract(range, ranges)

Subtract ranges from range.

const subtract = require('rangem').subtract;

const fromRange = { from: 10, to: 20 };
const whatRanges = [{ from: 10, to: 12 }, { from: 15, to: 18 }]

subtract(fromRange, whatRanges);

// ➜ [{ from: 12, to: 15 }, { from: 18, to: 20 }]

range

Type: {from: number, to: number}

The range from which will be deducted.

ranges

Type: {from: number, to: number}[] Default: []

The ranges which will be deducted.

License

MIT © Andrew Abramov