{"_id":"@antoniovdlc/range","_rev":"7-9a2165c3a1574f37e99f461238df4e6a","name":"@antoniovdlc/range","dist-tags":{"latest":"1.4.2"},"versions":{"1.0.0":{"name":"@antoniovdlc/range","version":"1.0.0","description":"Implement ranges in JavaScript","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"prepare":"husky install","type:check":"tsc --noEmit","format":"prettier --write --ignore-unknown {src,test}/*","format:check":"prettier --check {src,test}/*","test":"jest","pre-commit":"lint-staged","prebuild":"rimraf dist && mkdir dist","build":"npm run build:types && npm run build:lib","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist","build:lib":"rollup -c","postversion":"git push && git push --tags"},"keywords":["range","loop","iteration"],"author":{"name":"Antonio Villagra De La Cruz"},"repository":{"type":"git","url":"git+https://github.com/AntonioVdlC/node-library-starter.git"},"bugs":{"url":"https://github.com/AntonioVdlC/node-library-starter/issues"},"homepage":"https://github.com/AntonioVdlC/node-library-starter#readme","license":"MIT","devDependencies":{"@babel/core":"^7.14.6","@babel/preset-env":"^7.14.5","@babel/preset-typescript":"^7.14.5","@rollup/plugin-typescript":"^8.2.1","@types/jest":"^26.0.23","babel-jest":"^27.0.2","eslint":"^7.29.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^24.3.6","husky":"^6.0.0","jest":"^27.0.4","jest-extended":"^0.11.5","lint-staged":"^11.0.0","prettier":"^2.3.1","rimraf":"^3.0.2","rollup":"^2.52.1","rollup-plugin-terser":"^7.0.2","tslib":"^2.3.0","typescript":"^4.3.4"},"gitHead":"f2703a21233fab81b41c8e1c7f910bbc460f4f14","_id":"@antoniovdlc/range@1.0.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-HZXCDiFFrUvplvSat2yECnuxUsfkex/G/QZkrCIfQFx28TkW2w1aD2a9wL3tJN6JVQKJ2Nj+76htSGY4E8IZZQ==","shasum":"e8495bb15958ec17f58d296f5bcc17ba22c079da","tarball":"https://registry.npmjs.org/@antoniovdlc/range/-/range-1.0.0.tgz","fileCount":6,"unpackedSize":9573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKhGKCRA9TVsSAnZWagAAqCAQAIw1bhj8+efJxDnGxAL5\n/s5YCUyzYqaGFJTYDY5j/1ptSiqS7H4+TIIoBk3POqJMm/18UqQqF6v2WVXJ\noRI03ttd+Wsl6c8vl8mU439zgCrDgGmbvGeffPtc3L71mM5PO3ry2EJ97Xd4\ncVlLv8dwpmVlLuW1ZAMtucz7zLz/+yuulOvzPzrFBAu9Ysze7jTBDuDPhih/\nopS9mLq+KIKqZYwCX4ZxobJmvpO99cyN76hBkGV1sXUj/ljd865UnnxuCOxE\nVlz2Z4m50cxQ28uMalH1kfbZLFj7RMGBB0kQRJcnm3+tMNajCly4Uq1BRQlU\nPglmYBmxUNDALkVvpYP/lHzwKkwADxXaCrXLeBT3CU28EbKvArqg5ouSdz61\nqm/tYSE9ycGKTK/oHb5g7qX0w+3UjzmyAQ+3CXjoc2MeiDPyuXl0DNR7obwx\nm0eFdaP/qfchWnaHqkN9S8cdDzIlZgSti1Rk5HfdGz+VpWk+Jhk7upihwMTT\n6w4OWQXpFU+344BaUT6bnYfuruERpIjdC3RkPs4XiM3GgRTpEXhzYr6S9cn6\n8lPSYqGfAW7It5md6ZKT/y5M7oAaV8+gHlSmSlUZb7DegywSZ05OhkDvenXB\n6nGVci2OkjDlQPgnlhTBNB1NpPE8NJuCWzW3G+F+5z1kJNgDOWdihuQyXb2M\nU+hX\r\n=MQ67\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlSWnrVi6nObEFiBdriKDSA7sh2CVAwuWndNwI6TbB8QIhAM0IYO8R4iYT0z9u5MggWJ68UERRZidfE+vmseiq8sCc"}]},"_npmUser":{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"},"directories":{},"maintainers":[{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/range_1.0.0_1630146954116_0.6355997685782699"},"_hasShrinkwrap":false},"1.1.0":{"name":"@antoniovdlc/range","version":"1.1.0","description":"Implement ranges in JavaScript","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"prepare":"husky install","type:check":"tsc --noEmit","format":"prettier --write --ignore-unknown {src,test}/*","format:check":"prettier --check {src,test}/*","test":"jest","pre-commit":"lint-staged","prebuild":"rimraf dist && mkdir dist","build":"npm run build:types && npm run build:lib","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist","build:lib":"rollup -c","postversion":"git push && git push --tags"},"keywords":["range","loop","iteration"],"author":{"name":"Antonio Villagra De La Cruz"},"repository":{"type":"git","url":"git+https://github.com/AntonioVdlC/node-library-starter.git"},"bugs":{"url":"https://github.com/AntonioVdlC/node-library-starter/issues"},"homepage":"https://github.com/AntonioVdlC/node-library-starter#readme","license":"MIT","devDependencies":{"@babel/core":"^7.14.6","@babel/preset-env":"^7.14.5","@babel/preset-typescript":"^7.14.5","@rollup/plugin-typescript":"^8.2.1","@types/jest":"^26.0.23","babel-jest":"^27.0.2","eslint":"^7.29.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^24.3.6","husky":"^6.0.0","jest":"^27.0.4","jest-extended":"^0.11.5","lint-staged":"^11.0.0","prettier":"^2.3.1","rimraf":"^3.0.2","rollup":"^2.52.1","rollup-plugin-terser":"^7.0.2","tslib":"^2.3.0","typescript":"^4.3.4"},"gitHead":"0be4f3ce71f9723f9970a3266487a28bcdccc7f8","_id":"@antoniovdlc/range@1.1.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-8W53pYRlq+13zshBi2CugeNPrSi1BXYEGt5ubLRZNkhnvP1Fa/3q1gQmMVGsVMYe1IKeeSgKaLFztUU5rJEGdQ==","shasum":"a8df1117cedbfa05099bc995f75e475efd4301cb","tarball":"https://registry.npmjs.org/@antoniovdlc/range/-/range-1.1.0.tgz","fileCount":6,"unpackedSize":11469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKlQlCRA9TVsSAnZWagAAcewP/jORt2I8cKe2ohgiB9Gn\n8a02XHaggh77I8kxL8jDO/jr7btJslNiGZ0pZD1FuR7H/nVvPeOWNo+ilQlD\n6VDmEth790pCzLgxABr5e0/OEPax3xuOnTqiRsQZZdtvxTZww+1lkkjO0nAV\nCWH9fZ8Ous7A0yqg5LBn/PsJZlfutDPopGDWgFjlg32xCuxIJoSh1HImDmRH\n4qffmeWlseApDLu+7VW5BvaY3wrrknHVOpDqKNkYWbm0mYVQcAnRDdgwqsUh\nRZo7QjzaeTtaR0e+blHqEhQxpujQRHXWvVlNW+iIMzN8qlYFodbzijat7pnI\naMw8e8rVsLn1pLq+wprIAuP9WqofO9Qm+xMyq8tgbRetLrg/lv11z20pD3yx\nLU3cDSiPnAHLGZFmT60rUMtNDossu1ciuQamkvfHT333JcTmTJr8xKSOmb5m\nMkfVUZsie6xeOGbrP3sQAjJqbLnhgEJbiXqxzaLdibo+N0NGIkGEBbIwKTeo\nVACFwyl9G0aSP8mGcmaBAwgSC7Og2ebqOb7ez8iJOMDmgeKrRuYeNlt4/yQR\neh9WkdiZZ7BGwKq5orJp3ei2Hzqzu6EsmflZS0YEeXFaPSDsrQtNMk3bhLtn\nphK1xC1pAJx2VMUTS+d1+NbP36BgFsfUMW2FWrgEfkg4hrqGi0gIZpoJntsD\np7XA\r\n=vva0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnnG/RcA2xeHLMWqH74D2b+aEBaz1lY7b0rjLCqBlr9wIgY7Fstc3jAhEF2tEId5L786BoCZgX/FRaAeVtWcYWWyc="}]},"_npmUser":{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"},"directories":{},"maintainers":[{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/range_1.1.0_1630164005071_0.09348672480878428"},"_hasShrinkwrap":false},"1.2.0":{"name":"@antoniovdlc/range","version":"1.2.0","description":"Implement ranges in JavaScript","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"prepare":"husky install","type:check":"tsc --noEmit","format":"prettier --write --ignore-unknown {src,test}/*","format:check":"prettier --check {src,test}/*","test":"jest","pre-commit":"lint-staged","prebuild":"rimraf dist && mkdir dist","build":"npm run build:types && npm run build:lib","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist","build:lib":"rollup -c","postversion":"git push && git push --tags"},"keywords":["range","loop","iteration"],"author":{"name":"Antonio Villagra De La Cruz"},"repository":{"type":"git","url":"git+https://github.com/AntonioVdlC/node-library-starter.git"},"bugs":{"url":"https://github.com/AntonioVdlC/node-library-starter/issues"},"homepage":"https://github.com/AntonioVdlC/node-library-starter#readme","license":"MIT","devDependencies":{"@babel/core":"^7.14.6","@babel/preset-env":"^7.14.5","@babel/preset-typescript":"^7.14.5","@rollup/plugin-typescript":"^8.2.1","@types/jest":"^26.0.23","babel-jest":"^27.0.2","eslint":"^7.29.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^24.3.6","husky":"^6.0.0","jest":"^27.0.4","jest-extended":"^0.11.5","lint-staged":"^11.0.0","prettier":"^2.3.1","rimraf":"^3.0.2","rollup":"^2.52.1","rollup-plugin-terser":"^7.0.2","tslib":"^2.3.0","typescript":"^4.3.4"},"gitHead":"5d23d7d047e163d315ada6404bebbc4d01d287a8","_id":"@antoniovdlc/range@1.2.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-pWLQG2t/iFLt2y52RvaCbNcti8uR4skVZvi/YCXd6kIYl50KqOjcPT8WVqezasZs0PeCaqG/KY5ZaUi+meodLw==","shasum":"12e20767957d6133f7fd0f9188b71e648bb48ead","tarball":"https://registry.npmjs.org/@antoniovdlc/range/-/range-1.2.0.tgz","fileCount":6,"unpackedSize":18747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKsB1CRA9TVsSAnZWagAAixIP/0fYBRgCJ02I/gvM7M8a\n4gHFiSVtFo4FLagK6oCrzW0UdgzeZ7vTAbV2cd3uk4waLKe6Xr5ZgckBZ9Cz\noWxSxl9/isRGhrSYp9Jf+B4A0EZMYgtuHvwyQF2mFLxqC7I8MiBHpu4V3MwP\ng2jrSSpD1bhwAaPTMU569fF+AA7TUL+BUgGJjLbKfhjUlrHSlUbT3NJ1ZLuB\na9A8H/jME8/JZh/V2hZgZBMLgYh1ovfVrUXd5O50LMh0dcnoySazLA5mpJJu\nNkQ0RmS6Jzds6/4cv35B759b/oSsHSDh5TEnz0RlRxMsISDTYKkYeIjIyQJR\nsDkK6JyOIVyGfBhpPnSd9MSkNwrwTcEYqumrPAxgy7JklvDiZ3qSXDwqlGN6\n6V6f8YzJdtcXb3OpmXZp+MIY2EBJ3Te095KjbOqF1pyV5TpsPY47Bjqr4X/F\n6wdjHYn9ontAeuFy5HgBwhZzUvCFjYP2Dtbhz94WoeaHVAFr1hYNQeEggnDp\n3wVb955f6hmLs4B0HO9cRhTSE+yMq8YhkAeo+nDzdFx4iGQry5jdlfdIsUuB\nuGcI3X2FEbfvoO4OCKPkt9pbxAGEu8S8XiwJo2LAqDRuuk7I+w35rPD/vEVB\nVj5BOAjNzXMeMdjVMEbvqB1YpfJRfUoi/7R0yGEgQRasPHu9sYJdMOLYWWi4\ngAUH\r\n=T3/C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDi349QAE7Ui4lbLb3dwHHbE4iuFftUpWQwHzoTDv9POQIhANU3dUaa8M7el0epDxabqSoTRAMEw/Hq2A5h8W2SrsYF"}]},"_npmUser":{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"},"directories":{},"maintainers":[{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/range_1.2.0_1630191733825_0.402061742929273"},"_hasShrinkwrap":false},"1.2.1":{"name":"@antoniovdlc/range","version":"1.2.1","description":"Implement ranges in JavaScript","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"prepare":"husky install","type:check":"tsc --noEmit","format":"prettier --write --ignore-unknown {src,test}/*","format:check":"prettier --check {src,test}/*","test":"jest","pre-commit":"lint-staged","prebuild":"rimraf dist && mkdir dist","build":"npm run build:types && npm run build:lib","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist","build:lib":"rollup -c","postversion":"git push && git push --tags"},"keywords":["range","loop","iteration"],"author":{"name":"Antonio Villagra De La Cruz"},"repository":{"type":"git","url":"git+https://github.com/AntonioVdlC/range.git"},"bugs":{"url":"https://github.com/AntonioVdlC/range/issues"},"homepage":"https://github.com/AntonioVdlC/range#readme","license":"MIT","devDependencies":{"@babel/core":"^7.14.6","@babel/preset-env":"^7.14.5","@babel/preset-typescript":"^7.14.5","@rollup/plugin-typescript":"^8.2.1","@types/jest":"^27.0.1","babel-jest":"^27.0.2","eslint":"^7.29.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^24.3.6","husky":"^7.0.2","jest":"^27.0.4","jest-extended":"^0.11.5","lint-staged":"^11.0.0","prettier":"^2.3.1","rimraf":"^3.0.2","rollup":"^2.52.1","rollup-plugin-terser":"^7.0.2","tslib":"^2.3.0","typescript":"^4.3.4"},"gitHead":"ac2b171ec3902da2dbc7dfce47c4f7d76b711d76","_id":"@antoniovdlc/range@1.2.1","_nodeVersion":"16.9.0","_npmVersion":"7.21.1","dist":{"integrity":"sha512-KJFpRBwpJKzhP6P0+w3z1miNU/CPYEJEHKtU3IZLajAR2eN2xhijTk1P0fRkoq0CZ9eSMw2ePimZ6e5m5IsDWA==","shasum":"680bd77adae8762f78d28705ef02b8ec4ab45c04","tarball":"https://registry.npmjs.org/@antoniovdlc/range/-/range-1.2.1.tgz","fileCount":6,"unpackedSize":18701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhO9eDCRA9TVsSAnZWagAAf3AP/A18jAzM3xXu/G5Ljg06\nFSw75CNSOamyaTX9JbV2rYfrR/7dFIYZymcGhjD2YO+W256ELzZqpRgOqHd4\naOHsrIrQ87EZZPOEoR4W9URKjrRCOqhZhNHrWeidnDlg0v6pfSWJx45pPTr1\nxIRxrk+vjOnzwfqTQ4ZdswCkSbkqDlH+dpzA8PqaPjwQTIf26KhccLGkOQNr\nA6o9x1kpr/IOs16ZpbJpEHDSpMTbRca1E1Hz3Dws0PlJLdKLhtn93Ejbn+ze\nobxv4mcsG8hOEIS7PNeusNre7dt3U/jaYSyoiEEQiEMNDmMVMQaaDumegsUI\nCz/rZ8Xu1NdNL3jEx9Xh31W4g2G2PH6aRfGs9oc4n20TtQNuJ4v1T5qvUnzq\nC/g9s0k1KEHDIca/CCulaOVJvK/IWvUW8GYYJ6quhvm+jvuUkQDF78UH8qnE\nsHAWcCw8BZRx4iMK3TmO4RWjZLe0mMVlMiF3jkcQ1Qd0YKve0JFywEN2hwcM\nxNU0RpmyeVrwxcaUpdH5Rsfxh7M5lCwyxfE3D/nisKKiUcBEe/seAcBJjnz8\nUIT66Iaju2Loa2FRbo+Fkf1Lhe1944SWGs9Qk7e5nawcT0Q/ZitjDR+K/5Oj\naIe9/WNcXOq0jvuUuLuX7+4DlF6S+3zojma56Fit0Q+2JDzWtTKqJ3IkDS/t\n2QBC\r\n=Tkua\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDAyNDGhTDoEcTWNDOVZ6UEqFbaa3CHn7VcUzsdxMDeFAiEAq2QwKX/GnXmqoUZd66E0LxirprB9Ucm2SEBLbH3d4SE="}]},"_npmUser":{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"},"directories":{},"maintainers":[{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/range_1.2.1_1631311747166_0.7572280269820963"},"_hasShrinkwrap":false},"1.3.0":{"name":"@antoniovdlc/range","version":"1.3.0","description":"Implement ranges in JavaScript","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"prepare":"husky install","type:check":"tsc --noEmit","format":"prettier --write --ignore-unknown {src,test}/*","format:check":"prettier --check {src,test}/*","test":"jest","pre-commit":"lint-staged","prebuild":"rimraf dist && mkdir dist","build":"npm run build:types && npm run build:lib","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist","build:lib":"rollup -c","postversion":"git push && git push --tags"},"keywords":["range","loop","iteration"],"author":{"name":"Antonio Villagra De La Cruz"},"repository":{"type":"git","url":"git+https://github.com/AntonioVdlC/range.git"},"bugs":{"url":"https://github.com/AntonioVdlC/range/issues"},"homepage":"https://github.com/AntonioVdlC/range#readme","license":"MIT","devDependencies":{"@babel/core":"^7.14.6","@babel/preset-env":"^7.14.5","@babel/preset-typescript":"^7.14.5","@rollup/plugin-typescript":"^8.2.1","@types/jest":"^27.0.1","babel-jest":"^27.0.2","eslint":"^8.0.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.0.1","husky":"^7.0.2","jest":"^27.0.4","jest-extended":"^0.11.5","lint-staged":"^12.0.2","prettier":"^2.3.1","rimraf":"^3.0.2","rollup":"^2.52.1","rollup-plugin-terser":"^7.0.2","tslib":"^2.3.0","typescript":"^4.3.4"},"gitHead":"a3f0d03250f96c273c5287bf3db835e581b3b447","_id":"@antoniovdlc/range@1.3.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-y+VgO9Fx6FgfCgC1z8kCvQfYE32/f6j9v8y1vJFZnq/kSdlAs4vubUSbGuHDl0hHuAZFzj87oZ4GFtP0J4FY4w==","shasum":"0673f9938b204dba75fefa9a56d0417b5f559e9c","tarball":"https://registry.npmjs.org/@antoniovdlc/range/-/range-1.3.0.tgz","fileCount":6,"unpackedSize":19209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqOUdCRA9TVsSAnZWagAA/FcP/2LBsbkgXhWhxfwKZ5yN\nlpIa8uCM895z664wd0bw/AEXHlHwyDCyIs+YemvAbNd4q7AXhQc+hUXHj0Xp\nB870jgFYA0LHeBZpIVCZ/PmF97waa0gYOOU1FGqjHMA07Vnh66Ut0QXte7bu\n2v3Dk/EAQ+LRZfjTxoiiBvMhxEudyWEZKqYOJ+YepeV/1EwPHAvVXZjAufVU\nSHe8Ee84aFP/528URji0Xij/NlkepcHP0/4522VHLrXgHwDBrYIveXxXwu+V\nSxa1LEg72Dm4ZN9BjSOjXJkO8A5GPx58fYWnq99pkPF0J2ZeQOV2KULMjDdg\n3oEkdtdCS/Y5NyrUvo81+sUsTbl8ghLwO82NoFG5NM2JgnKRsFjPW4UIdgMB\nvtuNSOHaZVVdFWi7ePAKRp3Ar+7RnlD21VqAMd1J1U6Wcx01W8/hjnlDHO+d\nU3+WZm5XWRnviCYdW+eM10VYpuPMZvV21gMPDvTGYYNpEJibMDIGJXBrVb9Q\nnyCW7K7JaSdnoz2FxMmpSJK8FFDpCKPUZhTKnAYbR80StdOcmvRidXiSz/qX\nstRP4SmtcSmaTI0BJABd9q5GeJ5euqIw3IWAKgzP8eOrqdyoJYeUutN2eRBn\n9b6OXjm+TTAXVRhRTb3dxAxlQZTGJ56tlA6vkLCNSpun8oyLNH1LiKY02vVY\nxU49\r\n=1FP0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNtC2QJ6i0FpThKA1hq3YRM/hKWnivCAuOA0KAWHg1AQIgH1MQY5qJCMOKJQ18hS3/A1F+gPY3W0KS+c6csY107no="}]},"_npmUser":{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"},"directories":{},"maintainers":[{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/range_1.3.0_1638458653352_0.7574416522327339"},"_hasShrinkwrap":false},"1.4.0":{"name":"@antoniovdlc/range","version":"1.4.0","description":"Implement ranges in JavaScript","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"prepare":"husky install","type:check":"tsc --noEmit","format":"prettier --write --ignore-unknown {src,test}/*","format:check":"prettier --check {src,test}/*","test":"jest","pre-commit":"lint-staged","prebuild":"rimraf dist && mkdir dist","build":"npm run build:types && npm run build:lib","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist","build:lib":"rollup -c","postversion":"git push && git push --tags"},"keywords":["range","loop","iteration"],"author":{"name":"Antonio Villagra De La Cruz"},"repository":{"type":"git","url":"git+https://github.com/AntonioVdlC/range.git"},"bugs":{"url":"https://github.com/AntonioVdlC/range/issues"},"homepage":"https://github.com/AntonioVdlC/range#readme","license":"MIT","devDependencies":{"@babel/core":"^7.14.6","@babel/preset-env":"^7.14.5","@babel/preset-typescript":"^7.14.5","@rollup/plugin-typescript":"^8.2.1","@types/jest":"^27.0.1","babel-jest":"^27.0.2","eslint":"^8.0.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.0.1","husky":"^7.0.2","jest":"^27.0.4","jest-extended":"^0.11.5","lint-staged":"^12.0.2","prettier":"^2.3.1","rimraf":"^3.0.2","rollup":"^2.52.1","rollup-plugin-terser":"^7.0.2","tslib":"^2.3.0","typescript":"^4.3.4"},"gitHead":"ec7f580fd61c00bafb8d2853919fdbbbe1cc03e6","_id":"@antoniovdlc/range@1.4.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Rt9Ly4Fsei8BXzOZSCIzZxq7r9HeXcMZ144LliZniWV1EsjxMxUDzohXOPOTi6ZelWTf/ZgKvnSdqX6AgnNSbQ==","shasum":"aa41182c64e322a8630ba992831500d23630bc92","tarball":"https://registry.npmjs.org/@antoniovdlc/range/-/range-1.4.0.tgz","fileCount":6,"unpackedSize":21501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhytlBCRA9TVsSAnZWagAANQ0P/j3DhMDF/swWRc+P7gDm\nboggX9sBpvc2mmfcPqplafKDZ/4G/1Z3Q5Vk9iYCbeIcjxOytrC9IdrsDjUp\nkF8sgOTdQPhhsT2Bc4wLtmxoaiCx395+64aeUDfShj8zFOe23WUr4cKIjqpi\nMzwtuNzv8pG0RDBpKG+6t+7idRtxqM/u2m6IMifN89mEBZJO5sdezI+FZgkn\nJhmlQY0rEcpgAfRAdR+XZ2OONQRDtVVbeL4qHl7tOPuzna9PaRImlrHTK9Km\nyuIKvnJ37Ec3UIxsOBEuQ6vz81k7C3zSpDB0BO5fC93UXXDRgRArwZRcVPnS\nGXePG1zmHWcD2yqltwymkNbbVfrWbyzIgMAz6e3iT2qLVNVnN3K+tDnCFCmc\nJ/qV1bJMc/ZLZTZ86whRRvsLhkB3Hjo2Q7S6LISWH/FJ/wjcHzrHdJtwVcsy\nM3ujNEqFfRV09jtNAK7IztI/clFIh757VboB/cbGW0ixv1AEptZJxY8mOlqE\ngCA0H6KL65xJ2a4hc2E7vwu7/VoSOj/WBoYAssw0LpOhlBLU6H+glSqOQFHY\nnncKX/Lzek0dacUXYl3l0H+RnI/pn3mPijPRDEoJBJQ/jbMq7y3igC3yXy6L\n9WhHqBvASpEa8XUe/OJ2/g1I1ex3bIFIC+IEa+DWAE/6mfe1hsRbAVfkD0bz\n795J\r\n=wY1s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRKfZzTpibRvr91hzFi/Lv92JvAXGNbt+UsfX7Nn72sQIgfy4+i+r4Ba+47PipyWFG+k414vJ6WEwuyee8YdOpJN0="}]},"_npmUser":{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"},"directories":{},"maintainers":[{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/range_1.4.0_1640683841073_0.34820073947653096"},"_hasShrinkwrap":false},"1.4.2":{"name":"@antoniovdlc/range","version":"1.4.2","description":"Implement ranges in JavaScript","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"prepare":"husky install","type:check":"tsc src/*.ts --noEmit --target es5","format":"prettier --write --ignore-unknown {src,test}/*","format:check":"prettier --check {src,test}/*","test":"vitest run --coverage","pre-commit":"lint-staged","prebuild":"rimraf dist && mkdir dist","build":"npm run build:types && npm run build:lib","build:types":"tsc src/*.ts --declaration --emitDeclarationOnly --target es5 --outDir dist","build:lib":"rollup -c","postversion":"git push && git push --tags"},"keywords":["range","loop","iteration"],"author":{"name":"Antonio Villagra De La Cruz"},"repository":{"type":"git","url":"git+https://github.com/AntonioVdlC/range.git"},"bugs":{"url":"https://github.com/AntonioVdlC/range/issues"},"homepage":"https://github.com/AntonioVdlC/range#readme","license":"MIT","devDependencies":{"@rollup/plugin-typescript":"^8.2.1","c8":"^7.11.0","eslint":"^8.0.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^26.1.1","husky":"^7.0.2","lint-staged":"^12.0.2","prettier":"^2.3.1","rimraf":"^3.0.2","rollup":"^2.52.1","rollup-plugin-terser":"^7.0.2","tslib":"^2.3.0","typescript":"^4.3.4","vite":"^2.9.1","vitest":"^0.9.3"},"gitHead":"86d81a06f4ca456c9ed7b6e67f6112f046a4fbf2","_id":"@antoniovdlc/range@1.4.2","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-D5piZa75G0U0F5iF++5ar1MYrJj0+UdJWWI0KyaI74cVgSGHfcl9q26uNOXzZXfuq8SiqteCBMwVQzXQem9BZg==","shasum":"a316c456ac73681d8c2b84776d29f3eaab870ca3","tarball":"https://registry.npmjs.org/@antoniovdlc/range/-/range-1.4.2.tgz","fileCount":6,"unpackedSize":21347,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhmIM05rh+62AqBMisoMv/6DpIR/OOtuqxFcBvR4FI9AIgMxlHabX1wrR8D2HApgGaxCe7P2/dYx8abt3Y0BSa4IU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUrCnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHyg/5ADTKWjTzS9QA0ZKa++usG01GH5rDHGXu7M5cl+eJgC+zizC9\r\nByuqkvjIxFfCJ9sLlk6itO7iXTlADVJSMGR+q8XWSGmSby6b/2aiLqa+EdCu\r\nybOIA0fpBmylvVZIrQniTZGNE5nnvrPHOLKTwSHnJY8Bl8lpBvBInZACN48J\r\nCcrzLgEdSUn5I98oX3HEmx4DWg+djm8Uly+nz5HRKpvYtq5FunsnVufZIbYa\r\nHt68h6ocpqzPp1vBtllTuU3+BGveptdSzl5J7zBpMNkg7kd5QP8ntHeBNMMh\r\nuy9dVkVVpmTfyNVLtbHqMCEmivoqc16U2XhXeCLWngUGYEB8YFd8l53LZMkh\r\n5pY9Wx9/LWPvbSJqOxQakGuXPY91Aemdz8mklXv8C0F9zxVPAGTxW5q6jY2p\r\nHkW0X+mYfxgT3w0RdIc7B3AV0P+U8UJSblo+WDaRpC0YxuXNjErFQOMGdvjv\r\nrMFRb1J9tP6NBTQiioPVqnoXOIbYsvaZZ4/Q3ystLB4478Zyv1hCQmlLdP9v\r\nANotVvV42Mh+6k60iHwqQuQc5Z5g7mjVLd9P/YXmNfyp9ub3/dLDIdt0a1UV\r\nQIZ1RUZJxDq9/v1kpzTTH3hAwCnGWux19EDhZxFaws4X0kHDZjFjG49kbjuj\r\nVGqYCE8CGRHx10QdsMuFxeXCQ2KLz4JiZKM=\r\n=PAF0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"},"directories":{},"maintainers":[{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/range_1.4.2_1649586342951_0.6592313216876566"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-28T10:35:54.037Z","1.0.0":"2021-08-28T10:35:54.244Z","modified":"2022-04-10T10:25:43.256Z","1.1.0":"2021-08-28T15:20:05.232Z","1.2.0":"2021-08-28T23:02:13.953Z","1.2.1":"2021-09-10T22:09:07.341Z","1.3.0":"2021-12-02T15:24:13.491Z","1.4.0":"2021-12-28T09:30:41.215Z","1.4.2":"2022-04-10T10:25:43.105Z"},"maintainers":[{"name":"antoniovdlc","email":"antonio.villagra.de.la.cruz@gmail.com"}],"description":"Implement ranges in JavaScript","homepage":"https://github.com/AntonioVdlC/range#readme","keywords":["range","loop","iteration"],"repository":{"type":"git","url":"git+https://github.com/AntonioVdlC/range.git"},"author":{"name":"Antonio Villagra De La Cruz"},"bugs":{"url":"https://github.com/AntonioVdlC/range/issues"},"license":"MIT","readme":"# range\n\n[![version](https://img.shields.io/npm/v/@antoniovdlc/range.svg)](http://npm.im/@antoniovdlc/range)\n[![issues](https://img.shields.io/github/issues-raw/antoniovdlc/range.svg)](https://github.com/AntonioVdlC/range/issues)\n[![downloads](https://img.shields.io/npm/dt/@antoniovdlc/range.svg)](http://npm.im/@antoniovdlc/range)\n[![license](https://img.shields.io/npm/l/@antoniovdlc/range.svg)](http://opensource.org/licenses/MIT)\n\nImplement ranges in JavaScript.\n\n## Installation\n\nThis package is distributed via npm:\n\n```\nnpm install @antoniovdlc/range\n```\n\n## Motivation\n\nRanges are natively supported by a few (popular) programming languages. They allow for iteration over a defined space, while not having a linear increase in their memory footprint (all ranges always store a similar amount of data).\n\n## Usage\n\nYou can use this library either as an ES module or a CommonJS package:\n\n```js\nimport range from \"@antoniovdlc/range\";\n```\n\n_- or -_\n\n```js\nconst range = require(\"@antoniovdlc/range\");\n```\n\nTo create a range:\n\n```js\nconst start = 0;\nconst stop = 10;\nconst step = 2; // Defaults to `1` if not passed\nconst inclusive = true; // Defaults to `false` if not passed\n\nconst r = range(start, stop, step, inclusive);\n```\n\nYou can also pass an options object for convenience:\n\n```js\nconst start = 0;\nconst stop = 10;\nconst opts = {\n  step: 2, // Defaults to `1` if not passed\n  inclusive: true, // Defaults to `false` if not passed\n};\n\nconst r = range(start, stop, opts);\n```\n\n### Getters\n\nYou can use the following getters on ranges:\n\n#### .start\n\nReturns the start value of a range:\n\n```js\nrange(0, 10).start; // 0\n```\n\n#### .stop\n\nReturns the stop value of a range:\n\n```js\nrange(0, 10).stop; // 10\n```\n\n#### .step\n\nReturns the step value of a range:\n\n```js\nrange(0, 10).step; // 1 (by default)\n```\n\n#### .isInclusive\n\nReturns `true` if the range is inclusive of its last value:\n\n```js\nrange(0, 10).isInclusive; // false (by default)\n```\n\n#### .first\n\nReturns the first value of a range:\n\n```js\nrange(0, 10).first; // 0\n```\n\n#### .last\n\nReturns the last value of a range:\n\n```js\nrange(0, 10).last; // 9\nrange(0, 10, 1, true).last; // 10\n```\n\n### Methods\n\nYou can use the following methods on ranges:\n\n#### .toString()\n\nReturns a string representation of a range:\n\n```js\nrange(0, 10).toString(); // 0..10\nrange(0, 10, 2).toString(); // 0..10{2}\nrange(0, 10, 2, true).toString(); // 0..=10{2}\n```\n\n#### .toArray()\n\nReturns an array representation of a range:\n\n```js\nrange(0, 10).toArray(); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\nrange(0, 10, 2).toArray(); // [0, 2, 4, 6, 8]\nrange(0, 10, 1, true).toArray(); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n```\n\n> You can also use the follow syntax as `ranges` are iterable:\n> `[...range(0, 10)]`\n\n#### .equal(range)\n\nChecks if 2 ranges are equal (same start, stop, and step):\n\n```js\nrange(0, 10).equal(range(0, 10)); // true\nrange(0, 10, 2).equal(range(0, 10)); // false\nrange(0, 10, 2, true).equal(range(0, 10, 2, false)); // false\n```\n\n#### .includes(range)\n\nChecks if one range includes another (irrespective of step values):\n\n```js\nrange(0, 10).includes(range(1, 5)); // true\nrange(0, 10).includes(range(1, 11)); // false\n```\n\n#### .add(range)\n\nAdds ranges together (only if step values are equal):\n\n```js\nrange(0, 5).add(range(1, 10)); // range(0, 10)\n```\n\n#### .forEach(fn)\n\nIterate over a range and apply `fn` function to every element of the range:\n\n```js\nrange(0, 10).forEach((i) => console.log(i));\n// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9\n\nrange(0, 10, 1, true).forEach((i) => console.log(i));\n// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\n\nrange(0, 10, 2).forEach((i) => console.log(i));\n// 0, 2, 4, 6, 8\n```\n\n#### .forEachAsync(fn)\n\nIterate over a range and apply `fn` function to every element of the range asynchronously:\n\n```js\nawait range(0, 10).forEachAsync((i) => console.log(i));\n// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9\n\nawait range(0, 10, 1, true).forEachAsync((i) => console.log(i));\n// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\n\nawait range(0, 10, 2).forEachAsync((i) => console.log(i));\n// 0, 2, 4, 6, 8\n```\n\n#### .map(fn)\n\nMap over a range and apply `fn` function to every element of the range:\n\n```js\nconst result = range(0, 5).map((i) => i ** 2);\n// [0, 1, 4, 9, 16]\n\nconst result = range(0, 5, 1, true).map((i) => i ** 2);\n// [0, 1, 4, 9, 16, 25]\n\nconst result = range(0, 10, 2).map((i) => i ** 2);\n// [0, 4, 16, 36, 64]\n```\n\n#### .mapAsync(fn)\n\nMap over a range and apply `fn` function to every element of the range asynchronously:\n\n```js\nconst result = await range(0, 5).mapAsync(\n  (i) => new Promise((resolve) => resolve(i ** 2))\n);\n// [0, 1, 4, 9, 16]\n\nconst result = await range(0, 5, 1, true).mapAsync(\n  (i) => new Promise((resolve) => resolve(i ** 2))\n);\n// [0, 1, 4, 9, 16, 25]\n\nconst result = await range(0, 10, 2).mapAsync(\n  (i) => new Promise((resolve) => resolve(i ** 2))\n);\n//  [0, 4, 16, 36, 64]\n```\n\n### Iteration protocols\n\nRanges implement both the iterable and the iterator protocols. This allows iteration over ranges as follow:\n\n```js\nfor (let i of range(0, 10)) {\n  console.log(i);\n}\n// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9\n\nfor (let i of range(0, 10, 1, true)) {\n  console.log(i);\n}\n// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\n\nfor (let i of range(0, 10, 2)) {\n  console.log(i);\n}\n// 0, 2, 4, 6, 8\n```\n\n```js\nconst r = range(0, 10);\nconsole.log(r.next()); // { value: 0, done: false }\nconsole.log(r.next()); // { value: 1, done: false }\nconsole.log(r.next()); // { value: 2, done: false }\n...\nconsole.log(r.next()); // { value: 8, done: false }\nconsole.log(r.next()); // { value: 9, done: false }\nconsole.log(r.next()); // { value: undefined, done: true }\n```\n\n> Note that ranges are not consumed after a single iteration. They can be reused in consecutive iterations!\n\n## License\n\nMIT\n","readmeFilename":"README.md"}