JSPM

parse-numeric-range

1.3.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 966972
  • Score
    100M100P100Q192894F
  • License ISC

Takes a string, such as "1,2,3-10,5-8" and turns it into an array of numbers

Package Exports

  • parse-numeric-range

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (parse-numeric-range) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

node-parse-numeric-range

Parses expressions like 1-10,20-30. Returns an energetic (as opposed to lazy) array.

Supported Expressions

Comprehensive supported expression examples:

Expression result
[]
1 [1]
1,2 [1,2]
-10 [-10]
-3,-3 [-3, -3]
-1-2,-2 [-1,0,1,2,-2]
-1--2 [-1,-2]
-1..2,-2 [-1,0,1,2,-2]
-1...3,-2 [-1,0,1,2,-2]
1⋯3 [1,2]
1…3 [1,2]
1‥3 [1,2,3]

What's this useful for? Well, letting users input these sorts of things and then making them programmatically useful.

Usage

First, npm install parse-numeric-range.

const rangeParser = require("parse-numeric-range");

const numbers = rangeParser("4,6,8-10,12,14..16,18,20...23");

console.log(
  `The first ${numbers.length} composite numbers are: ${numbers.join(", ")}`,
);

ES6

import rangeParser from "parse-numeric-range";

const numbers = rangeParser("4,6,8-10,12,14..16,18,20...23");

console.log(
  `The first ${numbers.length} composite numbers are: ${numbers.join(", ")}`,
);