Skip to content

santi100a/range-function

Repository files navigation

Santi's Range Function

Build Status npm homepage GitHub stars License Bundlephobia stats

  • 🚀 Lightweight and fast
  • 👴 ES3-compliant
  • 💻 Portable between the browser and Node.js

What's this?

This is a simple package that exports a TypeScript implementation of the range function in Python, using arrays. This is a very useful tool in Python and it may be helpful for you to have it in JavaScript or TypeScript.

Installation

  • Via NPM: npm install @santi100/range-function
  • Via Yarn: yarn add @santi100/range-function
  • Via PNPM: pnpm install @santi100/range-function

API

  • function range(start: number, end: number): number[];

    Generates an array of numbers within a specified range.

    Name Type Description Optional? Default
    start number The starting value of the range. No N/A
    end number The ending value of the range. No N/A
  • function range(start: number, end: number, step: number): number[];

    Generates an array of numbers within a specified range.

    Name Type Description Optional? Default
    start number The starting value of the range. No N/A
    end number The ending value of the range. No N/A
    step number The increment or decrement value between each number in the range. No N/A

Usage

const range = require('@santi100/range-function'); // CommonJS
import range from '@santi100/range-function'; // ESM
import range = require('@santi100/range-function'); // TypeScript

function testRange() {
    try {
        const result1 = range(1, 10);
        console.log('Result 1:', result1);

        const result2 = range(0, -10, -2);
        console.log('Result 2:', result2);

        const result3 = range(1, 5, 0); // This should throw an error
        console.log('Result 3:', result3); // This line won't be reached due to the error
    } catch (error) {
        console.error('Error:', error.message);
    }
}

testRange();

Contribute

Wanna contribute? File an issue or pull request! Look at the contribution instructions and make sure you follow the contribution Code of Conduct. You can also sponsor me! 💕💕

Disclaimers

*Hasn't been tested in an actual ES3 environment. Feel free to open an issue or pull request if you find any non-ES3 thing. See "Contribute" for instructions on how to do so.

^The source code is just a few kilobytes in size.