{"id":21712505,"url":"https://github.com/youfoundron/range-life","last_synced_at":"2025-03-20T18:24:05.188Z","repository":{"id":65372080,"uuid":"88294339","full_name":"youfoundron/range-life","owner":"youfoundron","description":"A range utility that no one asked for.","archived":false,"fork":false,"pushed_at":"2017-04-18T00:59:57.000Z","size":107,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T15:45:36.574Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/youfoundron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-14T18:54:32.000Z","updated_at":"2017-04-23T20:24:04.000Z","dependencies_parsed_at":"2023-01-20T01:32:33.795Z","dependency_job_id":null,"html_url":"https://github.com/youfoundron/range-life","commit_stats":null,"previous_names":["rongierlach/range-life"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youfoundron%2Frange-life","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youfoundron%2Frange-life/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youfoundron%2Frange-life/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youfoundron%2Frange-life/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/youfoundron","download_url":"https://codeload.github.com/youfoundron/range-life/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244667699,"owners_count":20490480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T23:39:28.642Z","updated_at":"2025-03-20T18:24:05.154Z","avatar_url":"https://github.com/youfoundron.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Range Life\nA range utility that no one asked for.  \nSupports stepped ranges of integers, decimals, letters, and even a supplied array of values.\n\u003e \"If I had a range life, then I could settle down.\" - Stephen Malkmus  \n\n[![Build Status](https://travis-ci.org/rongierlach/range-life.svg?branch=master)](https://travis-ci.org/rongierlach/range-life) [![Dependency Status](https://david-dm.org/rongierlach/range-life.svg)](https://david-dm.org/rongierlach/range-life) [![devDependency Status](https://david-dm.org/rongierlach/range-life/dev-status.svg)](https://david-dm.org/rongierlach/range-life#info=devDependencies) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n\n## Installation\n`$ npm install range-life`\n\n## Usage\n\n### Inclusion\nAll examples are supported by the default module.  \nHowever, you may submodule for specific methods like so.\n```javascript\nimport rangeNum from 'range-life/standard'\nimport rangeAlpha from 'range-life/alpha'\nimport rangeValues from 'range-life/values'\n```\n### Examples\n```javascript\nimport range from 'range-life'\n\nrange(0) // =\u003e []\nrange(4) // =\u003e [0, 1, 2, 3]\nrange(-4) // =\u003e [0, -1, -2, -3]\nrange(1, 5) // =\u003e [1, 2, 3, 4]\nrange(0, 20, 5) // =\u003e [0, 5, 10, 15]\nrange(0, -4, -1) // =\u003e [0, -1, -2, -3]\nrange(1, 4, 0) // =\u003e [1, 1, 1]\nrange(1, 4, 0.5) // =\u003e [1, 1.5, 2, 2.5, 3, 3.5]\n\n// letters are inclusive\nrange('a', 'e') // =\u003e ['a', 'b', 'c', 'd', 'e']\nrange('A', 'E') // =\u003e ['A', 'B', 'C', 'D', 'E']\nrange('A', 'E', 2) // =\u003e ['A', 'C', 'E']\n\n// values are exclusive\nconst values = ['Zero', 'One', 'Two', 'Three']\n\nrange(0, 3, values) // =\u003e ['Zero', 'One', 'Two']\nrange(0, Infinity, 2, values) // =\u003e ['Zero', 'Two']\n```\n\n## API Reference\n\n### range-life/standard\n\n**Parameters**\n\n-   `start` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)**\n-   `end` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)**\n-   `step` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)**\n\n**Examples**\n\n```javascript\nimport range from 'range-life/standard'\n\nrange(1, 5) // =\u003e [1, 2, 3, 4]\nrange(0, 20, 5) // =\u003e [0, 5, 10, 15]\n```\n\nReturns **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\u0026lt;[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)\u0026gt;**\n\n### range-life/alpha\n\n**Parameters**\n\n-   `start` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**\n-   `end` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**\n-   `step` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)**\n\n**Examples**\n\n```javascript\nimport range from 'range-life/alpha'\n\nrange('A', 'E') // =\u003e ['A', 'B', 'C', 'D', 'E']\nrange('A', 'E', 2) // =\u003e ['A', 'C', 'E']\n```\n\nReturns **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\u0026lt;[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\u0026gt;**\n\n\n\n### range-life/values\n\n**Parameters**\n\n-   `start` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**\n-   `end` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**\n-   `values | step` **([Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\u0026lt;any\u0026gt; | [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number))**\n- `values` **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\u0026lt;any\u0026gt;**\n\n**Examples**\n\n```javascript\nimport range from 'range-life/values'\n\nconst values = ['Zero', 'One', 'Two', 'Three']\n\nrange(1, 3, values) // =\u003e ['One', 'Two']\nrange(1, Infinity, 2, values) // =\u003e ['Zero', 'Two']\n```\n\nReturns **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\u0026lt;any\u0026gt;**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoufoundron%2Frange-life","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoufoundron%2Frange-life","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoufoundron%2Frange-life/lists"}