Nutty Peanut Marshmallow

    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

    Keywords

    Install

    npm i rangr

    DownloadsWeekly Downloads

    8

    Version

    0.1.0

    License

    MIT

    Unpacked Size

    12.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • tbking