rangr

0.1.0 • Public • Published

logo

build status coverage status npm version language

rangr is a tool to manage ranges and sets. It's inspired from the LeetCode's Merge Interval problem.

⚠️ NOT ready for production use.

Usage

import Rangr from 'rangr';
 
const range: Rangr = new Rangr([ [1,3], [2,6], [8,10], [15,18] ]);
console.log(range.toString());
// [1,6],[8,10],[15,18]
 
range.add([ [ 10, 11 ], [11, 20] ]);
console.log(range.toString());
// [1,6],[8,20]

Features

Array output

To get ranges as an array, use .toArray() method provided.

Example:

const range: Rangr = new Rangr([ [1,3], [2,6] ]);
const arr = range.toArray(); // [ [ 1, 6 ] ]

Iterable output

To get ranges as an iterable, use .toIterable() method provided.

Example:

const range: Rangr = new Rangr([ [1,3], [2,6] ]);
const rangeIterator = range.toIterable();
 
rangeIterator.next(); // { value: [ 1, 6 ], done: false }
rangeIterator.next(); // { value: undefined, done: true }

Support for ESM and CommonJS

rangr supports both ECMAScript Modules and CommonJS using Conditional Exports provided by Node.js.

CommonJS

const Rangr = require('rangr');

ESM

import Rangr from 'rangr';

Contributions

The package is not very performant in managing th ranges and lacks a rich API. Contributions in the form of issues and PRs are welcome! 🙌🏽

Install

npm i rangr

Test

npm test

License

MIT License

Readme

Keywords

Package Sidebar

Install

npm i rangr

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

12.5 kB

Total Files

9

Last publish

Collaborators

  • tbking