{"versions":{"1.0.0":{"name":"fast-loops","version":"1.0.0","description":"A collection of small, high-performant & immutable iteration utilities for Arrays and Objects","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","files":["LICENSE","README.md","lib/**","es/**"],"repository":{"type":"git","url":"git+https://github.com/rofrischmann/fast-loops.git"},"keywords":["fast loops","utility","minimal","small"],"author":{"name":"Robin Frischmann"},"license":"MIT","scripts":{"build":"yarn run clean && yarn build:lib && yarn build:es","build:lib":"cross-env BABEL_ENV=commonjs babel modules --out-dir lib --ignore __tests__","build:es":"babel modules --out-dir es --ignore __tests__","clean":"rimraf es lib coverage","check":"yarn lint && yarn test:coverage && yarn flow","format":"prettier --write \"modules/**/*.js\"","flow":"flow","lint":"eslint modules/**/*.js","release":"git pull --rebase && yarn run check && yarn build && npm publish","test":"cross-env BABEL_ENV=commonjs jest","test:coverage":"cross-env BABEL_ENV=commonjs jest --coverage","watch":"yarn test -- --watch"},"jest":{"rootDir":"modules"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-jest":"^18.0.0","babel-preset-es2015":"^6.22.0","babel-preset-flow":"^6.23.0","codeclimate-test-reporter":"^0.4.0","cross-env":"^5.0.1","eslint":"^3.14.1","eslint-config-airbnb":"^14.0.0","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^3.0.2","eslint-plugin-react":"^6.9.0","flow-bin":"^0.38.0","jest":"^19.0.0","prettier":"^1.7.4","rimraf":"^2.6.1"},"gitHead":"f504ef596632ba9c36fb04363630d1b21d0b5985","bugs":{"url":"https://github.com/rofrischmann/fast-loops/issues"},"homepage":"https://github.com/rofrischmann/fast-loops#readme","_id":"fast-loops@1.0.0","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"anonymous","email":"robin@rofrischmann.de"},"dist":{"integrity":"sha512-h+nt0+hK+JRbSoGpl8oTwRlbBN0j6rFLfXSIPS5QuGnJ48NSu+0Fwa/NmhVswHord6C1yXbp/Ga0ynvivYeY3A==","shasum":"2cdd7e0ff67343b2b5f5e627d855a50b4bed559a","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fast-loops/-/fast-loops-1.0.0.tgz","size":3230},"maintainers":[{"name":"anonymous","email":"robin@rofrischmann.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-loops-1.0.0.tgz_1511732181510_0.9526847745291889"},"directories":{},"_cnpmcore_publish_time":"2021-12-19T11:20:32.972Z","contributors":[]},"1.0.1":{"name":"fast-loops","version":"1.0.1","description":"Small, performant & immutable iteration utilities for Arrays and Objects","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","files":["LICENSE","README.md","lib/**","es/**"],"repository":{"type":"git","url":"git+https://github.com/rofrischmann/fast-loops.git"},"keywords":["fast loops","utility","minimal","small"],"author":{"name":"Robin Frischmann"},"license":"MIT","scripts":{"build":"yarn run clean && yarn build:lib && yarn build:es","build:lib":"cross-env BABEL_ENV=commonjs babel modules --out-dir lib --ignore __tests__","build:es":"babel modules --out-dir es --ignore __tests__","clean":"rimraf es lib coverage","check":"yarn lint && yarn test:coverage && yarn flow","format":"prettier --write \"modules/**/*.js\"","flow":"flow","lint":"eslint modules/**/*.js","release":"git pull --rebase && yarn run check && yarn build && npm publish","test":"cross-env BABEL_ENV=commonjs jest","test:coverage":"cross-env BABEL_ENV=commonjs jest --coverage","watch":"yarn test -- --watch"},"jest":{"rootDir":"modules"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-jest":"^18.0.0","babel-preset-es2015":"^6.22.0","babel-preset-flow":"^6.23.0","codeclimate-test-reporter":"^0.4.0","cross-env":"^5.0.1","eslint":"^3.14.1","eslint-config-airbnb":"^14.0.0","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^3.0.2","eslint-plugin-react":"^6.9.0","flow-bin":"^0.38.0","jest":"^19.0.0","prettier":"^1.7.4","rimraf":"^2.6.1"},"gitHead":"c9e9e2103d8d7dfe0fab17c1e36b41b54c0da541","bugs":{"url":"https://github.com/rofrischmann/fast-loops/issues"},"homepage":"https://github.com/rofrischmann/fast-loops#readme","_id":"fast-loops@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.0.0","_npmUser":{"name":"anonymous","email":"robin@rofrischmann.de"},"dist":{"integrity":"sha512-1MA7cT6Q/o1JnhyNCcxuBqZHeIHf784ZjyjayZwwj7X7nRDkCS2qoj6vUh961yxEJP1aldrYrY7+DC/xOdv05A==","shasum":"a3d33e71654a7e6e67d7c2de0fee4ea11c6f2526","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fast-loops/-/fast-loops-1.0.1.tgz","fileCount":21,"unpackedSize":17049,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbNqoECRA9TVsSAnZWagAAsqIQAIm8FLLkf/x6+zXunWqJ\nWRhlO9OOJSF4Lg9h7s+WdTPAqv+K2FcM12nd8SjowikT4dJk4bqM70R+B8e2\n3VxRsF4b9D5HxrRNuA5r5LxdG+iKt6Jf60FvD/K66fsPYnMTjqzYSVTCYiGl\na1/rW4943GZ36+koWvDP/50AjezMZcT+NgSgQQfUdJdgRgaqz1axpmLwNvu9\nAAr1tAmMCX2LBuq95IqmhENifKRSx0SHaVPXgb99t7fKqZPsxESSzUk/MyWi\nLz9wpNXaLGQUKviiAOA3jdMPvDAsWW6oB8aWe1TGEpDgv4H8brybHJh7z712\ncyrtB0W5sWo1nNFjd7ub3Klkm9IMQjxkHOQAr2FwB3S6HCntkQOFXfBkuTV7\nSg2zkb1ujKhDJcRqj5GtHJxpx2Qt91FyUfsxM32B8sIyIMrJicD9ypn5aT3l\nWzlcZPDEjx4T0lCOV653gjeeZFHDXaJ0znExGIO2aRxVJk7+2TL2PKF4vgiS\nIfjcDBf2G+5JyneZc8m4Zyju1NMEOK3vixSg9YQykI/X8poGteVMnRNIvKwa\nhUJgRZpTNQ1d43ls32p2ioiJJkG5opxIN523NngHBDHNgbZbhgFPu9/JX/Id\n+VzbjmMPLyu0w7NVxbmz8ahSteEtaTqYN1R+GKpqiJGYf4gixn4q/g0bW2Kz\nEtxG\r\n=4/ur\r\n-----END PGP SIGNATURE-----\r\n","size":4553},"maintainers":[{"name":"anonymous","email":"robin@rofrischmann.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-loops_1.0.1_1530309124345_0.15140493848494407"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-19T11:20:33.834Z","contributors":[]},"1.1.0":{"name":"fast-loops","version":"1.1.0","description":"Small, performant & immutable iteration utilities for Arrays and Objects","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","repository":{"type":"git","url":"git+https://github.com/rofrischmann/fast-loops.git"},"keywords":["fast loops","utility","minimal","small"],"author":{"name":"Robin Frischmann"},"license":"MIT","scripts":{"build":"yarn run clean && yarn build:lib && yarn build:es","build:lib":"cross-env BABEL_ENV=commonjs babel modules --out-dir lib --ignore __tests__","build:es":"babel modules --out-dir es --ignore __tests__","clean":"rimraf es lib coverage","check":"yarn lint && yarn test:coverage && yarn flow","format":"prettier --write \"modules/**/*.js\"","flow":"flow","lint":"eslint modules/**/*.js","release":"git pull --rebase && yarn run check && yarn build && npm publish","test":"cross-env BABEL_ENV=commonjs jest","test:coverage":"cross-env BABEL_ENV=commonjs jest --coverage","watch":"yarn test -- --watch"},"jest":{"rootDir":"modules"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-jest":"^18.0.0","babel-preset-es2015":"^6.22.0","babel-preset-flow":"^6.23.0","codeclimate-test-reporter":"^0.4.0","cross-env":"^5.0.1","eslint":"^3.14.1","eslint-config-airbnb":"^14.0.0","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^3.0.2","eslint-plugin-react":"^6.9.0","flow-bin":"^0.38.0","jest":"^19.0.0","prettier":"^1.7.4","rimraf":"^2.6.1"},"gitHead":"2ea3456e8cefeb146ca2085bd2ed9c75a73bcae8","bugs":{"url":"https://github.com/rofrischmann/fast-loops/issues"},"homepage":"https://github.com/rofrischmann/fast-loops#readme","_id":"fast-loops@1.1.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ucR9TIxVW6mnqOMYtnAg86T+qsNG1eTNceqDwv1Mvc0q228x4atS4PEcik9UadxQP6SFq8EHKTi09MBiKFSfiA==","shasum":"a8ce749d10b1d83ca4ae4bc8d75339bdb64eafac","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fast-loops/-/fast-loops-1.1.0.tgz","fileCount":27,"unpackedSize":21285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJde2I2CRA9TVsSAnZWagAAUCcP+QFjpNnkmviLagC/d2Ow\ndSyh7PkYntyvzdgte/1v6XNLnRyhdhXBuO6GHDN3SRzO0w5EZuNvPmzoYcIc\nBNA7zbNBt+zme3o5XJN3WW4CndLoTpNpnZa/UDBVVocgIIBMNg/dLPuNAO1w\nQ00Vr2WsT9cXACDxPfQcBmiud0Nuup4khYXuwnRiW6plJuIrKbtAYyrmePGA\nENWpA0zs48lU6rFIUUva9Md8680hEXnLLE3eY2Sa09k0GV1pZWKpuB7Lh2i3\ngfNK7HLPpwv3mnFi68hf9bgiQyJFDr+ZAxJOYVTnLLTNm9fnDrLjRgOZLlOy\n05f1DRK1LsBe93NFnhz5x9Mt/oGwFsZfydYwAy5LnzZmDB5AidLL8rQmq6Gr\neaIZuE4oBK9+POiZZeiGVlGiESb8PdPdmi0eM/zf0dtJrTJDh4kp8BCO9Zx+\nRapR4RUA+kqKt4yunWH5W8S1tX0oYxo0s6j1jzKmpo/oGHR5cWONIOyoJJx8\nKl663dproGun0YAddmcA1OgqLXIn87/RX3a/DkiNUEm45EtXTMqrDMPSrq/7\nC50K8U63Ry4PtfbGTDciKraivrQPQJBxFPoIzGcgV5MbHne/dvnoSypLFxRB\n7EHL1w3q8ntT9GEVSIJEFz+o7A4UrvFvo7VXuv5nDQjK4uHKKRKIIEzBFxe6\nH6Oq\r\n=t+SZ\r\n-----END PGP SIGNATURE-----\r\n","size":5388},"maintainers":[{"name":"anonymous","email":"robin@rofrischmann.de"}],"_npmUser":{"name":"anonymous","email":"robin@weser.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-loops_1.1.0_1568367157442_0.9389555843105444"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-19T11:20:34.707Z","contributors":[]},"1.1.1":{"name":"fast-loops","version":"1.1.1","description":"Small, performant & immutable iteration utilities for Arrays and Objects","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","repository":{"type":"git","url":"git+https://github.com/rofrischmann/fast-loops.git"},"keywords":["fast loops","utility","minimal","small"],"author":{"name":"Robin Frischmann"},"license":"MIT","scripts":{"build":"yarn run clean && yarn build:lib && yarn build:es","build:lib":"cross-env BABEL_ENV=commonjs babel modules --out-dir lib --ignore __tests__","build:es":"babel modules --out-dir es --ignore __tests__","clean":"rimraf es lib coverage","check":"yarn lint && yarn test:coverage && yarn flow","format":"prettier --write \"modules/**/*.js\"","flow":"flow","lint":"eslint modules/**/*.js","release":"git pull --rebase && yarn run check && yarn build && npm publish","test":"cross-env BABEL_ENV=commonjs jest","test:coverage":"cross-env BABEL_ENV=commonjs jest --coverage","watch":"yarn test -- --watch"},"jest":{"rootDir":"modules"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.22.1","babel-eslint":"^7.1.1","babel-jest":"^18.0.0","babel-preset-es2015":"^6.22.0","babel-preset-flow":"^6.23.0","codeclimate-test-reporter":"^0.4.0","cross-env":"^5.0.1","eslint":"^3.14.1","eslint-config-airbnb":"^14.0.0","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^3.0.2","eslint-plugin-react":"^6.9.0","flow-bin":"^0.38.0","jest":"^19.0.0","prettier":"^1.7.4","rimraf":"^2.6.1"},"gitHead":"134c2276b07ccdd6dc8c6ad66d20e3547982de0f","bugs":{"url":"https://github.com/rofrischmann/fast-loops/issues"},"homepage":"https://github.com/rofrischmann/fast-loops#readme","_id":"fast-loops@1.1.1","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-nUvyCuRnYvO5wikvpnIzmQeyNgHPcEaty5MWXlv7TDsJL8pfHrgA2H9j8FQVg7QMsqMBR+uC/vM0R3Cgn3jgPw==","shasum":"4ada5dd07f8dcb2ff659fdc5bae2725f25c992b2","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fast-loops/-/fast-loops-1.1.1.tgz","fileCount":27,"unpackedSize":22414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJde2K4CRA9TVsSAnZWagAAZBYP/iWTdmHejnrCogjSgKQL\nAJ1N/nHeyKxmInNPlwZ20/B1MVQ5Ar++joGHgOJjtfii9HwdOFJpZ5Ip4j1U\nFh5v+PDktt4RitNOkhX2WtU82f1P5CRTFXsvbDlhUdFgiA0LQGdjqbIFo62F\nYYg+VfQ8z+MBpLDW3DgSa3+zS6oGJDXvr0Khyhab0PQsZwuMjD5L7wFEhmMU\nmrL1f0/d/7Bfoaj4YN2dqbCeO0WvIAyezMtIMIdOyi13rqvG2Z8MuWfVhiOJ\njM9eld3LfkTn5jrdydQJQUcj/VA/h5yEH7wroleV6/lnnkEWkLii3R2O5RMu\nz6SEiIlkcUjJB7mV69mEmCEBsSYyGV67/HT0zXytaziPRZ9qbMjq/76aNaKE\nXVrE3mRRNOms6jJdJU72cxZaxzFdZY6EMzl40rYKYnLQXiJgweHyojkYNxCv\n830JCpcW3HgUyToIsMUeZMheCW1X5JoLhOEMMHCNbOuQZdeV5uMuadbQuej/\nmYgPM/cXxQoooSlqY9uVoSYZjNZqV7RjzMHvlHryCh4FBy7jToEvfe/DYKo3\nZvRLl1vkkTb1BT2+mCOgSyn7SdajmAYznyIQ5qI+wbU6rZAs2hMThZTb2/rJ\n+SbtF/MkFiXtKvmipNmuyJ8VrW/E+5oCpYR1MQoNuoVaeTEwOhFoI4mnkGPz\nEwDe\r\n=SYqc\r\n-----END PGP SIGNATURE-----\r\n","size":5491},"maintainers":[{"name":"anonymous","email":"robin@rofrischmann.de"}],"_npmUser":{"name":"anonymous","email":"robin@weser.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-loops_1.1.1_1568367286951_0.3923257261950315"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-19T11:20:35.601Z","contributors":[]},"1.1.2":{"name":"fast-loops","version":"1.1.2","description":"Small, performant & immutable iteration utilities for Arrays and Objects","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","sideEffects":false,"keywords":["fast loops","utility","minimal","small"],"repository":{"type":"git","url":"git+https://github.com/robinweser/fast-loops.git"},"author":{"name":"robinweser","email":"contact@weser.io"},"license":"MIT","scripts":{"build":"yarn run clean && yarn build:lib && yarn build:es","build:lib":"cross-env BABEL_ENV=commonjs babel modules --out-dir lib --ignore __tests__","build:es":"babel modules --out-dir es --ignore __tests__","clean":"rimraf es lib coverage","check":"yarn lint && yarn test:coverage","format":"prettier --write \"modules/**/*.js\"","lint":"eslint modules/**/*.js","release":"git pull --rebase && yarn run check && yarn build && npm publish","test":"cross-env BABEL_ENV=commonjs jest","test:coverage":"cross-env BABEL_ENV=commonjs jest --coverage","watch":"yarn test -- --watch"},"jest":{"rootDir":"modules"},"devDependencies":{"@babel/cli":"^7.2.0","@babel/core":"^7.2.2","@babel/preset-env":"^7.2.0","babel-core":"7.0.0-bridge.0","babel-eslint":"^7.1.1","babel-jest":"^23.6.0","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","cross-env":"^5.2.0","eslint":"^3.14.1","eslint-config-airbnb":"^14.0.0","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^3.0.2","eslint-plugin-react":"^6.9.0","jest":"^23.6.0","prettier":"^1.7.4","rimraf":"^2.6.1"},"gitHead":"f6a16a384bd2320c1218e248fb849a21b613303d","bugs":{"url":"https://github.com/robinweser/fast-loops/issues"},"homepage":"https://github.com/robinweser/fast-loops#readme","_id":"fast-loops@1.1.2","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ql8BgnHFryLogmmzR5O3uobe+3Zzaq6h6MWn/VtAyL9OXb51r5PSTbCm9f56fvEvMWWGjbdkr4xyhT0/vLJkKw==","shasum":"2ee75ba943a08a9b1ffdf9b49f133322c99bda68","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fast-loops/-/fast-loops-1.1.2.tgz","fileCount":53,"unpackedSize":92378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0+qkCRA9TVsSAnZWagAAd3MP/jeeWtCsw64U2GKH6PJZ\nLHbggPxF5AQldaIAk84P4I8AQA5yo6mcW6sDW+w9vneRGWGaqvHd4VwYG+bt\n/tnbp4KOMpg5EeoQn7iZVxP0i/VpL7rmAEx5gq9e8onapalcEHIUXKJ6fjVt\nHc1YAZQunoDbfKBbW3uOteLJiS225zECvihs6qc9rSMvovLEz6GHwATqWchz\nDnOKLjKazWJLugj/q3DA5G6U/Cryyt4QkSzJfYmtHsBduxs3gF2w6o+//tXO\neKF99S2yOrsay6Hf49706HzMRjowBBYVkBcmewo0PKJtr9JsbcZc2XnQVE2L\nye7rWFzl8z5mTB9mSszYE2rsKXUWkpROg5vtTe2Li3FEk8m6neNv9PnvfgmP\nPKPmCgthUS9YNqa2TbjcK9npz9pljQGTMthirq6FhO8KvdTAW59hf1tvrVNM\n7r54AxfpqHCxKVe/bMVcBaIxAH8uozmd/YPCGGpPPB730RPe83ZIPolpujqy\nnSMZ2vgaxPpSI1fTdpaexTuDdvhYIaDIj5cTnZGsNUZbjXWR1dkNu1O5pG10\n2NsKqZO6PsUZwj92uNDaIrSB+kwpEjB7ZbsavCXF+Xc0VWsiBHdtrOU6Onmv\nDyd0CkFBAVw0DQAHMqqQqTqfrGsIPhubdeEtqnRThGtC4BtTUW34obWLGAkF\nOB3N\r\n=dEIO\r\n-----END PGP SIGNATURE-----\r\n","size":27171},"maintainers":[{"name":"anonymous","email":"robin@rofrischmann.de"}],"_npmUser":{"name":"anonymous","email":"robin@weser.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-loops_1.1.2_1574169251795_0.6753351332866819"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-19T11:20:35.698Z","contributors":[]},"1.1.3":{"name":"fast-loops","version":"1.1.3","description":"Small, performant & immutable iteration utilities for Arrays and Objects","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","sideEffects":false,"keywords":["fast loops","utility","minimal","small"],"repository":{"type":"git","url":"git+https://github.com/robinweser/fast-loops.git"},"author":{"name":"robinweser","email":"contact@weser.io"},"license":"MIT","scripts":{"build":"yarn run clean && yarn build:lib && yarn build:es","build:lib":"cross-env BABEL_ENV=commonjs babel modules --out-dir lib --ignore __tests__","build:es":"babel modules --out-dir es --ignore __tests__","clean":"rimraf es lib coverage","check":"yarn lint && yarn test:coverage","format":"prettier --write \"modules/**/*.js\"","lint":"eslint modules/**/*.js","release":"git pull --rebase && yarn run check && yarn build && npm publish","test":"cross-env BABEL_ENV=commonjs jest","test:coverage":"cross-env BABEL_ENV=commonjs jest --coverage","watch":"yarn test -- --watch"},"jest":{"rootDir":"modules"},"devDependencies":{"@babel/cli":"^7.2.0","@babel/core":"^7.2.2","@babel/preset-env":"^7.2.0","babel-core":"7.0.0-bridge.0","babel-eslint":"^7.1.1","babel-jest":"^23.6.0","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","cross-env":"^5.2.0","eslint":"^3.14.1","eslint-config-airbnb":"^14.0.0","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^3.0.2","eslint-plugin-react":"^6.9.0","jest":"^23.6.0","prettier":"^1.7.4","rimraf":"^2.6.1"},"gitHead":"4ddfea3ae7416477ef8d83e75a92c9e9ab6e6a28","bugs":{"url":"https://github.com/robinweser/fast-loops/issues"},"homepage":"https://github.com/robinweser/fast-loops#readme","_id":"fast-loops@1.1.3","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==","shasum":"ce96adb86d07e7bf9b4822ab9c6fac9964981f75","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fast-loops/-/fast-loops-1.1.3.tgz","fileCount":53,"unpackedSize":92964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdx0tCRA9TVsSAnZWagAAiYoQAJWwKdRgZISGCm+1Jyil\nCXkpBh1yt8yQpiCwDHVim/rclmMWWkB5v92MnhDi06eFXxAKiY8omokLaAMZ\nV2j4p0vEKN1EiAQ0QetCvP8dDxmsxJpL8B4BKSMjN65M3Rtqem1+eN0JUxFp\ngduszBrirAlFShgXulQsVY5NXlac/Iwx6DxNG9MMoK7D9jvb7baSvowyIBSP\nnriddB02oR/mBEWa3m065uHiaT8s5tm+AbQh0GjZPz58iP17jgaYAhsfsSyk\n5XlzdtqO8qbjzUYlBnnjLuM0ue4jZ+sW0gry215FUwm9P9udgRyScSaqNJ0K\nBwcDB2dT/D2laTY4U1lZ9UKrllJdb08mv8y3Xp0cLQM3IP2pzPkFcMH3JvvD\n8/9RP7TDo4DKBmHosKcbRAA6x+UvaC8YjwKcmtZ+bl1V5R6ev+g6Vq2fmL+X\nbEbK/EYhtzz4DZLvRtGyVjqd/ROYXBaSg+nKkFwP8h3MNGGFcgJBW6MZNdIZ\nCHuY+eGCaKPT4gp99AlsZZeYjAEtgH/gP3YpDV7SUlXhGfq53RhQg4sd8w9x\nCAfC/D3Em1VzuOEDRF8wS8a1FrJKkTWJe49belA1HCSCv1iUr0Is/exIL8XR\nTZoC3QWdfHc1L134jC8EWXD68s3H/knIEyXMT7KRQ7xo5cQO0hXLmtBrZFM5\nIbYT\r\n=I94g\r\n-----END PGP SIGNATURE-----\r\n","size":17197},"maintainers":[{"name":"anonymous","email":"robin@weser.io"}],"_npmUser":{"name":"anonymous","email":"robin@weser.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-loops_1.1.3_1601641772966_0.9706460046625616"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-19T11:20:35.792Z","contributors":[]},"1.1.4":{"name":"fast-loops","version":"1.1.4","description":"Small, performant & immutable iteration utilities for Arrays and Objects","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","sideEffects":false,"keywords":["fast loops","utility","minimal","small"],"repository":{"type":"git","url":"git+https://github.com/robinweser/fast-loops.git"},"author":{"name":"robinweser","email":"contact@weser.io"},"license":"MIT","scripts":{"build":"yarn run clean && yarn build:lib && yarn build:es","build:lib":"cross-env BABEL_ENV=commonjs babel modules --out-dir lib --ignore __tests__","build:es":"babel modules --out-dir es --ignore __tests__","clean":"rimraf es lib coverage","check":"yarn lint && yarn test:coverage","format":"prettier --write \"modules/**/*.js\"","lint":"eslint modules/**/*.js","release":"yarn run check && yarn build && npm publish","test":"cross-env BABEL_ENV=commonjs jest","test:coverage":"cross-env BABEL_ENV=commonjs jest --coverage","watch":"yarn test -- --watch"},"jest":{"rootDir":"modules"},"devDependencies":{"@babel/cli":"^7.2.0","@babel/core":"^7.2.2","@babel/preset-env":"^7.2.0","babel-core":"7.0.0-bridge.0","babel-eslint":"^7.1.1","babel-jest":"^23.6.0","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","cross-env":"^5.2.0","eslint":"^3.14.1","eslint-config-airbnb":"^14.0.0","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^3.0.2","eslint-plugin-react":"^6.9.0","jest":"^23.6.0","prettier":"^1.7.4","rimraf":"^2.6.1"},"_id":"fast-loops@1.1.4","gitHead":"2637e4f10acb21fcffd383081462e5fd25b25eed","bugs":{"url":"https://github.com/robinweser/fast-loops/issues"},"homepage":"https://github.com/robinweser/fast-loops#readme","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg==","shasum":"61bc77d518c0af5073a638c6d9d5c7683f069ce2","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/fast-loops/-/fast-loops-1.1.4.tgz","fileCount":49,"unpackedSize":32561,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICKY9bRd2/kRmFAcrxplHmD0zz8/Yf4OZomhyueJ2FtGAiAShHAkGM0FCE5RE0WPnIQmmVx7FsqNGz8syhrYEThg9A=="}],"size":7350},"_npmUser":{"name":"anonymous","email":"robin@weser.io"},"directories":{},"maintainers":[{"name":"anonymous","email":"robin@weser.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-loops_1.1.4_1720078910910_0.1173822119211636"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-07-04T07:41:51.096Z","publish_time":1720078911096,"_source_registry_name":"default","contributors":[]}},"dist-tags":{"latest":"1.1.4"},"name":"fast-loops","time":{"created":"2022-01-26T22:40:07.480Z","modified":"2024-07-04T18:35:34.740Z","1.0.0":"2017-11-26T21:36:22.379Z","1.0.1":"2018-06-29T21:52:04.441Z","1.1.0":"2019-09-13T09:32:37.582Z","1.1.1":"2019-09-13T09:34:47.059Z","1.1.2":"2019-11-19T13:14:11.978Z","1.1.3":"2020-10-02T12:29:33.100Z","1.1.4":"2024-07-04T07:41:51.096Z"},"readme":"# Fast Loops\n\nA collection of small, performant & immutable iteration utilities for Arrays and Objects.\n\n<img alt=\"TravisCI\" src=\"https://travis-ci.org/rofrischmann/fast-loops.svg?branch=master\"> <a href=\"https://codeclimate.com/github/rofrischmann/fast-loops/coverage\"><img alt=\"Test Coverage\" src=\"https://codeclimate.com/github/rofrischmann/fast-loops/badges/coverage.svg\"></a> <img alt=\"gzipped size\" src=\"https://img.shields.io/badge/gzipped+minified-0.47kb-brightgreen.svg\"> <img alt=\"npm downloads\" src=\"https://img.shields.io/npm/dm/fast-loops.svg\"> <img alt=\"npm version\" src=\"https://badge.fury.io/js/fast-loops.svg\">\n\n## Installation\n```sh\nyarn add fast-loops\n```\nAlternatively use `npm i --save fast-loops`.\n\n## Why?\nBecause JavaScript's native \"functional\" APIs such as `forEach`, `reduce`, `map` and `filter` are slow. There're many different utility packages out there already, e.g. lodash. But lodash's `reduce` method itself is 4.5kb gzipped which is way too much for a simple Array/Object reduce utility.\n\n## API\n\n> All methods are immutable by defaults, yet they're not safe from mutating.\n\n* [arrayEach](#arrayeacharr-iterator)\n* [arrayFilter](#arrayfilterarr-filter)\n* [arrayMap](#arraymaparr-mapper)\n* [arrayReduce](#arrayreducearr-reducer-accumulator)\n* [objectEach](#objecteachobj-iterator)\n* [objectFilter](#objectfilterobj-filter)\n* [objectFind](#objectfindobj-query)\n* [objectMap](#objectmapobj-mapper)\n* [objectReduce](#objectreduceobj-reducer-accumulator)\n* [objectRenameKeys](#objectrenamekeysobj-keys)\n* [objectMergeDeep](#objectmergedeepbase-objs)\n\n### `arrayEach(arr, iterator)`\n\nIterates over each value in the array.<br>\nSimilar to `Array.prototype.forEach`.\n\n1. `arr` (*Array*): The array to iterate over\n2. `iterator` (*Function*): The iterator method with the signature `(value, index, length, arr) => void`\n\n```javascript\nimport { arrayEach } from 'fast-loops'\n\narrayEach([1, 2, 3], console.log)\n// 1, 0, 3, [1, 2, 3]\n// 2, 1, 3, [1, 2, 3]\n// 3, 2, 3, [1, 2, 3]\n```\n\n\n### `arrayFilter(arr, filter)`\n\nFilters an array according to the filter criteria.<br>\nSimilar to `Array.prototype.filter`.\n\n1. `arr` (*Array*): The array that gets filtered\n2. `filter` (*Function*): The filter method with the signature `(value, index, length, arr) => boolean`\n\n```javascript\nimport { arrayFilter } from 'fast-loops'\n\nconst biggerThan2 = arrayFilter([1, 2, 3, 4], value => value > 2)\n\nconsole.log(biggerThan2)\n// => [3, 4]\n```\n\n### `arrayMap(arr, mapper)`\n\nMaps an array by running the mapper on each value.<br>\nSimilar to `Array.prototype.map`.\n\n1. `arr` (*Array*): The array that gets mapped\n2. `mapper` (*Function*): The mapping method with the signature `(value, index, length, arr) => newValue`\n\n```javascript\nimport { arrayMap } from 'fast-loops'\n\nconst square = arrayMap([1, 2, 3, 4], value => value * value)\n\nconsole.log(square)\n// => [1, 4, 9, 16]\n```\n\n### `arrayReduce(arr, reducer, accumulator)`\n\nReduces an array based on the accumulator.<br>\nSimilar to `Array.prototype.reduce`.\n\n1. `arr` (*Array*): The array that gets reduced\n2. `reducer` (*Function*): The reducer method with the signature `(accumulator, value, index, length, arr) => accumulator`\n3. `accumulator` (*any*): The initial accumulator value\n\n```javascript\nimport { arrayReduce } from 'fast-loops'\n\nconst sum = arrayReduce([1, 2, 3, 4], (out, value) => out + value, 0)\n\nconsole.log(sum)\n// => 10\n```\n\n### `objectEach(obj, iterator)`\n\nIterates over each key in the object.\n\n1. `obj` (*Object*): The object to iterate over\n2. `iterator` (*Function*): The iterator method with the signature `(value, key, obj) => void`\n\n```javascript\nimport { objectEach } from 'fast-loops'\n\nobjectEach({ 1: 10, 2: 20, 3: 30 }, console.log)\n// 10, 1, { 1: 10, 2: 20, 3: 30 }\n// 20, 2, { 1: 10, 2: 20, 3: 30 }\n// 30, 3, { 1: 10, 2: 20, 3: 30 }\n```\n\n### `objectFilter(obj, filter)`\n\nFilters an object's keys according to the filter criteria.\n\n1. `obj` (*Object*): The object that gets filtered\n2. `filter` (*Function*): The filter method with the signature `(value, key, obj) => boolean`\n\n```javascript\nimport { objectFilter } from 'fast-loops'\n\nconst filter = (value, key) => value > 20 && parseInt(key) % 2 !== 0\nconst biggerThan20AndOddKey = objectFilter({ 1: 10, 2: 20, 3: 30, 4: 40 }, filter)\n\nconsole.log(biggerThan20AndOddKey)\n// => { 3: 30 }\n```\n\n### `objectFind(obj, query)`\n\nTries to find a key-value pair that matches the query.<br>\nReturns the matching key or `undefined` if none matches.<br>\nIt's like `Array.prototype.find` but for objects.\n\n1. `obj` (*Object*): The object that gets queried\n2. `query` (*Function*): The query method with the signature `(value, key, obj) => boolean`\n\n```javascript\nimport { objectFind } from 'fast-loops'\n\nconst query = (value, key) => value > 20 && parseInt(key) % 2 === 0\nconst biggerThan20AndEvenKey = objectFind({ 1: 10, 2: 20, 3: 30, 4: 40 }, query)\n\nconsole.log(biggerThan20AndEvenKey)\n// => \"4\"\n```\n\n\n### `objectMap(obj, mapper)`\n\nMaps an object by running the `mapper` on each value.<br>\nSimilar to `Object.keys(obj).map(mapper)`.\n\n\n1. `obj` (*Object*): The object that gets reduced\n2. `mapper` (*Function*): The mapper method with the signature `(value, key, obj) => newValue`\n\n```javascript\nimport { objectMap } from 'fast-loops'\n\nconst mapped = objectMap({ 1: 10, 2: 20, 3: 30 }, (value, key) => value + parseInt(key))\n\nconsole.log(mapped)\n// => { 1: 11, 2: 22, 3: 33 }\n```\n\n### `objectReduce(obj, reducer, accumulator)`\n\nReduces an object based on the accumulator.\n\n1. `obj` (*Object*): The object that gets reduced\n2. `reducer` (*Function*): The reducer method with the signature `(accumulator, value, key, obj) => accumulator`\n3. `accumulator` (*any*): The initial accumulator value\n\n```javascript\nimport { objectReduce } from 'fast-loops'\n\nconst sumOfValues = objectReduce({ 1: 10, 2: 20, 3: 30 }, (out, value) => out + value, 0)\n\nconsole.log(sumOfValues)\n// => 60\n```\n\n### `objectRenameKeys(obj, keys)`\n\nRenames object keys.\n\n> Uses [objectReduce](#objectreduceobj-reducer-accumulator) under the hood.\n\n1. `obj` (*Object*): The object that gets reduced\n2. `keys` (*Object*): The keys mapping an old key to a new key\n\n```javascript\nimport { objectRenameKeys } from 'fast-loops'\n\nconst renamedObj = objectRenameKeys({ foo: 1, bar: 2 }, { foo: \"baz\" })\n\nconsole.log(sumOfValues)\n// => { baz: 1, bar: 2 }\n```\n\n\n### `objectMergeDeep(base, ...objs)`\n\nRecursively merges objects into a base object.\n\n1. `base` (*Object*): The base object which is changed\n2. `objs` (*Array\\<Object\\>*): A list of objects to be merged into the base object\n\n```javascript\nimport { objectMergeDeep } from 'fast-loops'\n\nconst base = {\n  foo: 1,\n  bar: {\n    foo: 2\n  }\n}\nconst mergedObj = objectMergeDeep(base, { baz: 3 }, { bar: { foo: 3 }})\n\nconsole.log(mergedObj)\n// => { foo: 1, bar: { foo: 3 }, baz: 3 }\n```\n\n## Direct Imports\nWhile we support the `module` key to support Tree Shaking, you might still want to import single methods without any overhead.\nYou can import every method using the full path to the method resource.\n\n```javascript\nimport objectReduce from 'fast-loops/lib/objectReduce'\n```\n\n## License\nfast-loops is licensed under the [MIT License](http://opensource.org/licenses/MIT).<br>\nDocumentation is licensed under [Creative Common License](http://creativecommons.org/licenses/by/4.0/).<br>\nCreated with ♥ by [@rofrischmann](http://rofrischmann.de).","users":{}}