{"_id":"@berakocc/loopy","_rev":"2-dfc4f6e421706aab661dfe0c1cee0569","name":"@berakocc/loopy","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@berakocc/loopy","version":"1.0.0","description":"A functional wrapper for loops in JavaScript","main":"dist/loopy.js.js","scripts":{"build":"gulp","test":"jest --verbose"},"types":"./dist/loopy.d.ts","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/MuhammedBeraKoc/loopy.git"},"keywords":["functional","loops","js"],"author":{"name":"Muhammed Bera Koç"},"license":"MIT","bugs":{"url":"https://github.com/MuhammedBeraKoc/loopy/issues"},"homepage":"https://github.com/MuhammedBeraKoc/loopy#readme","dependencies":{},"devDependencies":{"@berakocc/commitify":"^1.0.2","del":"^6.0.0","gulp":"^4.0.2","gulp-cli":"^2.3.0","gulp-rename":"^2.0.0","gulp-run":"^1.7.1","gulp-uglify":"^3.0.2","jest":"^26.6.3","jest-cli":"^26.6.3","prettier":"^2.1.2","ts-jest":"^26.4.4","typescript":"^4.0.5"},"gitHead":"0e54dd527c8d5abf48a142acdd741e0826637f49","_id":"@berakocc/loopy@1.0.0","_nodeVersion":"15.0.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0UW+W2jBdXkCMSdPMDJE9tBc9Cqf0JDUXRmYj8lVHOJY12MCB5BBNXUb2+1k3Ks6vyH9sbeIkY3VYbasUAHyOA==","shasum":"281913768f3c6ed6d351d47cafb558f4970e05fb","tarball":"https://registry.npmjs.org/@berakocc/loopy/-/loopy-1.0.0.tgz","fileCount":19,"unpackedSize":31837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuAUVCRA9TVsSAnZWagAAL/4P/R0DeC6X9IWQuRjpEAV5\n0a39e+TAMtAu4xYMWWKb0WnvqkpMTdXcga78I6hPn20o13o2rrcjgkodu2/b\nSfBl3Z6Y1zcm4zrJgT0693u85tXKCxDcKf9FACI5iXYqtdDrjhb55oCRPXXC\nKf3syPlTEc1bJqaCJ/o16Pwa8aSFT27e3ZCq+2Aw3mAeqOKAxEibUwDpHoK4\n566KZzK6gG6t0Qtz/Vj5zYhRNmjX4e1L/qJ3xgNLeBiF18EY79F4RNnsr0/c\n+nnNCi2vpfeT9Dueq6EYPmCFx9r/HnWJUDq4PZWfxSWI2dsQsvJ8L4mRIknN\n06Kw8VG1WQwSrYc33mf5Djq8/8QkX+i/JLArwPzkL58sGnulU1l3tvI6KR3C\nDDYeuhj4/JHAE5vMZZg2DtLNUzSIgvpTGlYJ7CUuAV535XIGF+VSwTZfiUwJ\nU7AlzajP3nRQv/BlerGTx1L/UAbCVuQeNFyb7YAqlzeGmuLw+PHHj2OgkVQO\n1n3ofBENG3GGp+SkL4hG7rhHv61k1UDLJ1N1VE3gYvHFT2AQ3K49lt4Z+QH6\ndw6mGUZF82r6ILcYC9fPWz1ZemCP8eTFieJlzoGaxn0gzxsXaKpstTQTeAJ2\naaRQl0+XBso2CTiZXY/REseoRkbvAbS1GK1gdLsvFxyGNIvCrdDNSQVyY0wG\n/k8h\r\n=lJDU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEgsfbCG0gP1X8vXIsx8+0pVoiFL5WJ7P6w2VH/9gjEAIgTGSH/aYL6ltwDuU9LjvPNiCtZotOgmIBu9jx+LUURqA="}]},"_npmUser":{"name":"berakoc","email":"bera.erasmus.pl@gmail.com"},"directories":{},"maintainers":[{"name":"berakoc","email":"bera.erasmus.pl@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/loopy_1.0.0_1605895444441_0.32804682234940175"},"_hasShrinkwrap":false},"1.0.1":{"name":"@berakocc/loopy","version":"1.0.1","description":"A functional wrapper for loops in JavaScript","main":"dist/loopy.js","scripts":{"build":"gulp","test":"jest --verbose"},"types":"./dist/loopy.d.ts","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/MuhammedBeraKoc/loopy.git"},"keywords":["functional","loops","js"],"author":{"name":"Muhammed Bera Koç"},"license":"MIT","bugs":{"url":"https://github.com/MuhammedBeraKoc/loopy/issues"},"homepage":"https://github.com/MuhammedBeraKoc/loopy#readme","dependencies":{},"devDependencies":{"@berakocc/commitify":"^1.0.2","del":"^6.0.0","gulp":"^4.0.2","gulp-cli":"^2.3.0","gulp-rename":"^2.0.0","gulp-run":"^1.7.1","gulp-uglify":"^3.0.2","jest":"^26.6.3","jest-cli":"^26.6.3","prettier":"^2.1.2","ts-jest":"^26.4.4","typescript":"^4.0.5"},"gitHead":"19e5c479e4d4d605148f04ee100140b37c6425f2","_id":"@berakocc/loopy@1.0.1","_nodeVersion":"15.0.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-3zPjsjUF5AIaoLVnMYYt/YB+Y+GplOzb3CJtpVesclmdouSB2k2gx7vzg1wZfx55XcEN721WJg2OkCJBV6rS0g==","shasum":"9710eae00ebab526ed20cd660a460b9c474b1888","tarball":"https://registry.npmjs.org/@berakocc/loopy/-/loopy-1.0.1.tgz","fileCount":5,"unpackedSize":5506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuuUyCRA9TVsSAnZWagAAq9cP/1gNQCfQz/ho87m4+Pfw\nml1Vq9iLcP9tDXLdSyB/PmcRjATBYtbZS0iSNkGzoZB0dmbqmNNr+TGweHHY\nidelvrZFx90FeLhyezl3WQm05N3DhaM4IPCjoIlRJZEe/U1UeqffxL5jbZlS\nmvEOmaS5oWv462jLqmmDlcA6BMLI4Mw2gWsZjr3tEVfwbDFciWYhgHEopIev\nDqNclWynmdvtSvGvF2ogNiApa0UTheNqMkukXhHsOpASeNLvw5nbSrXMvErZ\nqix79wMz0ImY2mOf+BJrii12BieQ+LQEkNaJEb2Kx0mSsOoAQAaRAnJCqPBW\nQzBoNOFHadJsRW815F4I8odNsmqcLoK3zCEKXJLGoYupNhwyvpf0aBRPtFbU\nRbBlBwOaLfMahRkBSiRPZyqusc//ebq1OUpWhUmSkv7gZxNBt+fioiyty6yk\nLRGyKeLGGTXsz8xT+E7mBaOGoVtmhoHgJaQE7LKfG03oQ1B8TNz8lqVJmlth\nfUPzi3F/7gidNYpbI6vYdpTimXX3oHjaw/6qeU7FkhSEGZnJodGrF4LUqDl6\nsAerKxdDAgSd/qXa+HI4fYPvvuC5VN1W79UmhBN3gqkll5gk0CECMrz3lXG/\nd4z91CWfytskKRFNuHTo8RYjs2CPhFjF2iEb9V8mhdOaB2gPSR9FhbG01J5+\nqNxj\r\n=MRc8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGjfgauhwIK3a9nsu8T+GcXkVDUVt62JN0GF9BitTWoEAiEA+AM9LKTmiRqVyWgUzcsg/6aqCsr58JbKSXoKmxSoW7I="}]},"_npmUser":{"name":"berakoc","email":"bera.erasmus.pl@gmail.com"},"directories":{},"maintainers":[{"name":"berakoc","email":"bera.erasmus.pl@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/loopy_1.0.1_1606083890190_0.18979480164527307"},"_hasShrinkwrap":false}},"time":{"created":"2020-11-20T18:04:04.187Z","1.0.0":"2020-11-20T18:04:04.576Z","modified":"2022-04-04T18:28:43.722Z","1.0.1":"2020-11-22T22:24:50.354Z"},"maintainers":[{"name":"berakoc","email":"bera.erasmus.pl@gmail.com"}],"description":"A functional wrapper for loops in JavaScript","homepage":"https://github.com/MuhammedBeraKoc/loopy#readme","keywords":["functional","loops","js"],"repository":{"type":"git","url":"git+https://github.com/MuhammedBeraKoc/loopy.git"},"author":{"name":"Muhammed Bera Koç"},"bugs":{"url":"https://github.com/MuhammedBeraKoc/loopy/issues"},"license":"MIT","readme":"# Loopy\r\nA functional implementation of loops.\r\n## `While`\r\n```js\r\n// Classic Implementation\r\nconst arr1 = [1, -1, 1, -1]\r\nlet i = 0\r\nwhile (i < 4) {\r\n    arr1[i] = arr1[i] + i\r\n}\r\n// Functional Implementation\r\nconst { While } = require('@berakocc/loopy')\r\n\r\nconst arr2 = [1, -1, 1, -1]\r\nWhile((i) => i < 4, (i) => {\r\n    arr[i] = arr[i] + i\r\n    return i++\r\n}, [i])\r\n```\r\n## `DoWhile`\r\n```js\r\n// Classic Implementation\r\nlet shouldContinue1 = true\r\nlet number1 = 1\r\ndo {\r\n    number1 += number1\r\n    shouldContinue1 = number1 === 8 ? false : true\r\n} while (shouldContinue1)\r\n// Functional Implementation\r\nconst { DoWhile } = require('@berakocc/loopy')\r\n\r\nconst shouldContinue2 = true\r\nlet number2 = 1\r\nDoWhile((b) => b, (b) => {\r\n    number2 += number2\r\n    return number2 === 8 ? !b : b\r\n}, [shouldContinue2])\r\n```\r\n## `For`\r\n```js\r\n// Classic Implementation\r\nconst arr1 = [7, 7, 7]\r\nfor (let i = 0; i < 3; ++i) {\r\n    arr[i] = Math.floor(Math.pow(arr[i], i))\r\n}\r\n// Functional Implementation\r\nconst { For, defaultMorphics } = require('@berakocc/loopy')\r\n\r\nconst arr2 = [7, 7, 7]\r\nFor({\r\n        initial: 0,\r\n        predicate: (i) => i < 3,\r\n        morphic: defaultMorphics.increment(1),\r\n    },\r\n    (i) => {\r\n        arr[i] = Math.floor(Math.pow(arr[i], i))\r\n    },\r\n    []\r\n)\r\n```","readmeFilename":"README.md"}