{"_id":"rangem","_rev":"5-6550a8cd69f97d2529b0dfbc66b28b74","name":"rangem","description":"Range manipulation","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"rangem","version":"1.0.0","description":"Range manipulation","license":"MIT","repository":{"type":"git","url":"git+https://github.com/blond/rangem.git"},"author":{"name":"Andrew Abramov","email":"mail@blond.im","url":"github.com/blond"},"keywords":["range","segment","union","subtract","border"],"main":"lib/index.js","files":["lib/**","index.js"],"engines":{"node":">= 0.10"},"devDependencies":{"ava":"^0.16.0","coveralls":"^2.11.9","eslint":"^3.0.0","eslint-config-pedant":"^0.7.0","nyc":"^8.1.0"},"scripts":{"test":"nyc ava","lint":"eslint .","unit-test":"ava","coveralls":"nyc report --reporter=text-lcov | coveralls"},"gitHead":"8bd328217d17c3fa874f6ac24fc2cd6f7b4a82b1","bugs":{"url":"https://github.com/blond/rangem/issues"},"homepage":"https://github.com/blond/rangem#readme","_id":"rangem@1.0.0","_shasum":"ca80fed3931852b789e4917a583dff976218611f","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"blond","email":"mail@blond.im"},"dist":{"shasum":"ca80fed3931852b789e4917a583dff976218611f","tarball":"https://registry.npmjs.org/rangem/-/rangem-1.0.0.tgz","integrity":"sha512-of7rPir5ldD+xysIU4b7TrVqqRcRl836oEn5pEumP6kQn19llUQUUM7Atc1c7PJOg1pgQnqikPERaJQOs7DaOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqBcuxUXxgjebxCcrGd+b7C8gIEtiFVsMTQsMIlCobXAIgGRFAR5XMX0Rs+aSFuM3zs9dAAN3jhJLk6eCdD55I1sU="}]},"maintainers":[{"name":"blond","email":"mail@blond.im"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rangem-1.0.0.tgz_1471897430152_0.9777542294468731"}},"1.0.1":{"name":"rangem","version":"1.0.1","description":"Range manipulation","license":"MIT","repository":{"type":"git","url":"git+https://github.com/blond/rangem.git"},"author":{"name":"Andrew Abramov","email":"mail@blond.im","url":"github.com/blond"},"keywords":["range","segment","union","subtract","border"],"main":"lib/index.js","files":["lib/**","index.js"],"engines":{"node":">= 0.10"},"devDependencies":{"ava":"^0.16.0","coveralls":"^2.11.9","eslint":"^3.0.0","eslint-config-pedant":"^0.7.0","nyc":"^8.1.0"},"scripts":{"test":"nyc ava","lint":"eslint .","unit-test":"ava","coveralls":"nyc report --reporter=text-lcov | coveralls"},"gitHead":"616f67c955521a96ab4f4346b26f64ac6fe154e3","bugs":{"url":"https://github.com/blond/rangem/issues"},"homepage":"https://github.com/blond/rangem#readme","_id":"rangem@1.0.1","_shasum":"966bfe0f2a63b511bff57701375b99435d338dba","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"blond","email":"mail@blond.im"},"dist":{"shasum":"966bfe0f2a63b511bff57701375b99435d338dba","tarball":"https://registry.npmjs.org/rangem/-/rangem-1.0.1.tgz","integrity":"sha512-LFvHrwSPP4kdzpQHxfH2Om22nG6nm/dZ1Ke5FAQ2PeiQnVFYl5+mO2w+jwGPX6vQP2X4jgq6DiqyOpcnAPUVMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICNI4N07ptAGh9J7SrpW4/q3x85pOW2aVLkenyrwIYq1AiBIn9VVCkAH/6K2eXJWHEd54p9YrRdBskJM1lm7/lA+2g=="}]},"maintainers":[{"name":"blond","email":"mail@blond.im"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rangem-1.0.1.tgz_1471971562397_0.6048093179706484"}},"1.0.2":{"name":"rangem","version":"1.0.2","description":"Range manipulation","license":"MIT","repository":{"type":"git","url":"git+https://github.com/blond/rangem.git"},"author":{"name":"Andrew Abramov","email":"mail@blond.im","url":"github.com/blond"},"keywords":["range","segment","union","subtract","border"],"main":"lib/index.js","files":["lib/**","index.js"],"engines":{"node":">= 0.10"},"devDependencies":{"ava":"^0.16.0","coveralls":"^2.11.9","eslint":"^3.0.0","eslint-config-pedant":"^0.7.0","nyc":"^8.1.0"},"scripts":{"test":"nyc ava","lint":"eslint .","unit-test":"ava","coveralls":"nyc report --reporter=text-lcov | coveralls"},"gitHead":"5dfcff505ed5690c98624f71eeba8ad9c793e06d","bugs":{"url":"https://github.com/blond/rangem/issues"},"homepage":"https://github.com/blond/rangem#readme","_id":"rangem@1.0.2","_shasum":"a9f5d8bbfe7da80bd25be8c3a1aeb871d95de70f","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"blond","email":"mail@blond.im"},"dist":{"shasum":"a9f5d8bbfe7da80bd25be8c3a1aeb871d95de70f","tarball":"https://registry.npmjs.org/rangem/-/rangem-1.0.2.tgz","integrity":"sha512-a8ZvuoQAD+e5K1c4Ri7YFp6V//djA5pValWr+Xsu5bYz6altjeuvzYmYalPdRSLiO1QNWuG0R8VystS7It3wYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFaJ4nK9QT6rAcbdnetQE7u7vFhqAHVJQz3MAabjLstgIhANYB3ar/WorguowLXJutcQbx2Ni94ZJe6THSmSNRY5Rt"}]},"maintainers":[{"name":"blond","email":"mail@blond.im"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/rangem-1.0.2.tgz_1472719063034_0.4921400803141296"}}},"readme":"rangem\n======\n\n[![NPM Status][npm-img]][npm]\n[![Travis Status][test-img]][travis]\n[![Coverage Status][coverage-img]][coveralls]\n\n[npm]:          https://www.npmjs.org/package/rangem\n[npm-img]:      https://img.shields.io/npm/v/rangem.svg\n\n[travis]:       https://travis-ci.org/blond/rangem\n[test-img]:     https://img.shields.io/travis/blond/rangem.svg?label=tests\n\n[coveralls]:    https://coveralls.io/r/blond/rangem\n[coverage-img]: https://img.shields.io/coveralls/blond/rangem.svg\n\n\nThe tool to range manipulation.\n\nInstall\n-------\n\n```shell\n$ npm install --save rangem\n```\n\nUsage\n-----\n\n```js\nconst rangem = require('rangem');\n\nconst ranges = rangem.union([{ from: 1, to: 5 }, { from: 5, to: 10 }]);\n\n// ➜ [{ from: 1, to: 10 }]\n\nconst range = ranges.pop(); // { from: 1, to: 3 }\n\nrangem.subtract(range, [{ from: 5, to: 7 }]);\n\n// ➜ [{ from: 1, to: 5 }, { from: 7, to: 10 }]\n```\n\nAPI\n---\n\n* [union(ranges)](#unionranges)\n* [subtract(range, ranges)](#subtractrange-ranges)\n\n### union(ranges)\n\nUnions intersecting ranges.\n\n```js\nconst union = require('rangem').union;\n\nconst ranges = [{ from: 1, to: 5 }, { from: 3, to: 6 }, { from: 10, to: 20 }];\n\nunion(ranges);\n\n// ➜ [{ from: 1, to: 6 }, { from: 10, to: 20 }]\n```\n\n#### ranges\n\nType: `{from: number, to: number}[]`\nDefault: `[]`\n\nThe ranges to union.\n\n### subtract(range, ranges)\n\nSubtract ranges from range.\n\n```js\nconst subtract = require('rangem').subtract;\n\nconst fromRange = { from: 10, to: 20 };\nconst whatRanges = [{ from: 10, to: 12 }, { from: 15, to: 18 }]\n\nsubtract(fromRange, whatRanges);\n\n// ➜ [{ from: 12, to: 15 }, { from: 18, to: 20 }]\n```\n\n### range\n\nType: `{from: number, to: number}`\n\nThe range from which will be deducted.\n\n#### ranges\n\nType: `{from: number, to: number}[]`\nDefault: `[]`\n\nThe ranges which will be deducted.\n\nLicense\n-------\n\nMIT © [Andrew Abramov](https://github.com/blond)\n","maintainers":[{"name":"blond","email":"mail@blond.im"}],"time":{"modified":"2022-06-25T12:15:58.881Z","created":"2016-08-22T20:23:51.847Z","1.0.0":"2016-08-22T20:23:51.847Z","1.0.1":"2016-08-23T16:59:24.120Z","1.0.2":"2016-09-01T08:37:44.730Z"},"homepage":"https://github.com/blond/rangem#readme","keywords":["range","segment","union","subtract","border"],"repository":{"type":"git","url":"git+https://github.com/blond/rangem.git"},"author":{"name":"Andrew Abramov","email":"mail@blond.im","url":"github.com/blond"},"bugs":{"url":"https://github.com/blond/rangem/issues"},"license":"MIT","readmeFilename":"README.md"}