{"_id":"just-my-luck","_rev":"6-c0e10ae40454437ed9a71db5f6664e66","name":"just-my-luck","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"just-my-luck","version":"1.0.0","description":"A collection of utility functions for the random number generators.","keywords":["alphabetic","alphanumeric","boolean","chance","exclusive","float","inclusive","index","integer","item","items","luck","mersenne twister","number","numeric","random","shuffle","string","weight"],"license":"MIT","author":{"name":"Sergej Sintschilin","email":"seregpie@gmail.com"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/SeregPie/JustMyLuck.git"},"scripts":{"build":"rollup -c","prepublishOnly":"npm run build","test":"node test"},"devDependencies":{"js-combinatorics":"^0.5.4","rollup":"^1.17.0","rollup-plugin-buble":"^0.19.8","rollup-plugin-terser":"^5.1.1"},"gitHead":"6c34297d3e65ed091405c146d0b2bedea42db3e1","bugs":{"url":"https://github.com/SeregPie/JustMyLuck/issues"},"homepage":"https://github.com/SeregPie/JustMyLuck#readme","_id":"just-my-luck@1.0.0","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","dist":{"integrity":"sha512-5fTA2SrV0o930cE4HsuQ9epWLVpoRJqRp8xF2sxtKJucKEb+vzdru2sdJiiMWkY9dI9hUXT1jIzaFqsTzKg+jg==","shasum":"3183812a9c798e7ceda3cd9b016ada9f25724595","tarball":"https://registry.npmjs.org/just-my-luck/-/just-my-luck-1.0.0.tgz","fileCount":4,"unpackedSize":12552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdONTACRA9TVsSAnZWagAA/PkP/i3jKZaOwTgELLvpEfXt\n399787Ai4rkJn6a7JgYLgJXFC6Pia5FDmCb9Gmmj0jHEkpY0dl5Xl2yGEJQV\n9Yim21frOj9PnYUFKI9boVkdF+YU9bLToVBAWAKI40fcGdrtbU8lcjgfZopw\nZHdnyCUheNPojw1LmcTgT5LRIumm8HWZZbwyQ8lXVAcyAnwijNJl1yCdbr8c\nWkX19zB/iSNLYL+fG3I0v4eEbLRY2+yvLMxaJSTYIj25dOZ5kCfyxLibg4kA\nNxrWFJYFgTjc5An38/7OzIQSEoNrIoL78IjEPnI7ZZkT0rehy76PsWp5bqym\njrCu/qlMCjCILXO3DqcqNcWubxX4E/9WAgnzsdYSbflzXLygGZYxkaczJHoG\nQhSL0OjquWFXXHo0vviqQEjljLCIOKVb9kRsc0R+HWKF4BDEcby9ljxkVCyC\n2H8By6EC+I/V1kfmTBE1iXB3DsqgakillK/V/0QQ4fYf7hYhxEVzxIx3agvX\nGr3lx8wys03SjVzdIA6/T9rBSyacQts6nY5aTkqafSw/Ge61epp7ASJ+MXxK\nk/CoYENTnMinouotOF508BXLNuaL4uC/HvzY96bozWfIi9q9xcc7JWkwntjn\nW1Bt2VAARJ+3gWbkr3+rwvW2uvYpOA46sWwcW3Y4tVY3ADvr6UlEOZS/Jro+\nZ/wL\r\n=lb8i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAWQ6wJ6vMmXDZ7SJUjwXRSQbFL3U+Yk0x67FaD/lb3OAiEAplgPnGggG1gVRdSMuJXlHeHOnNSvlxsKMVQFMyQahLg="}]},"maintainers":[{"name":"seregpie","email":"seregpie@gmail.com"}],"_npmUser":{"name":"seregpie","email":"seregpie@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/just-my-luck_1.0.0_1564005568413_0.6025038624725527"},"_hasShrinkwrap":false},"1.0.1":{"name":"just-my-luck","version":"1.0.1","description":"A collection of utility functions for the random number generators.","keywords":["alphabetic","alphanumeric","boolean","chance","exclusive","float","inclusive","index","integer","item","items","luck","mersenne twister","number","numeric","random","shuffle","string","weight"],"license":"MIT","author":{"name":"Sergej Sintschilin","email":"seregpie@gmail.com"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/SeregPie/JustMyLuck.git"},"scripts":{"build":"rollup -c","prepublishOnly":"npm run build","test":"node test"},"devDependencies":{"js-combinatorics":"^0.5.4","rollup":"^1.17.0","rollup-plugin-buble":"^0.19.8","rollup-plugin-terser":"^5.1.1"},"gitHead":"5d9bc5bb83ad2c23c43af794390864e9f4a62031","bugs":{"url":"https://github.com/SeregPie/JustMyLuck/issues"},"homepage":"https://github.com/SeregPie/JustMyLuck#readme","_id":"just-my-luck@1.0.1","_nodeVersion":"12.9.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-3QhzqwgH6ub3EkqU73OGg1zfNkWnWnw5ZGDqqoLv/rUIW/2Z23AQV6A9mcFgBdMvkhW16T5xdMYi0KEu1PnjNg==","shasum":"785ba66fc44f23878292675f15e4e56a51937128","tarball":"https://registry.npmjs.org/just-my-luck/-/just-my-luck-1.0.1.tgz","fileCount":4,"unpackedSize":15760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcQM0CRA9TVsSAnZWagAAWLoP/1OZgqjbcqbT5CrIPDru\nCbpiIAjEWjekSA997Vyjlz2XNLOatXU312xPVGLwm9g8XdCfTJ560cNa7ASN\n1hqcoooYyFjf0ov/4/DhZx3edoqLqKUgRvpOZ0njiOHsMuQzkYFvoJJ5p0Cv\nyogsPslml++xlDeht3m3udbMcmQ6AVuqzfAyxsyNFMVo4GSeoHGx5F1uNyu+\n5ckt/RaKuURGvMBrXPhK9IQz5JRKD0XyR080ZcNTeJT1o2cI4H7M+KxTQlhe\nCBSSLcLHWHwyPwHDs/yOaPRD0ngZUailIiVecprnHv/yHfMJkLblOkZ0smtb\n3oL7450r4gcHXH1ovPtGHW2IqkZUiOoijTuIPkIxDg8CBZEPE2N91RuU776m\nntjpX5F6Kg5v3nVtn1G0W/8zMCJwh/TBa1dd6ZPLmMdhJZUACfj8viev83Ec\nKlJAxwQ369Eizjbmq8I0luoo9X5V0+1vmQQlQbc0rEZoZtT00wAzia7Z678G\nbFRfrBMw/buA0YLsQP2TJqNaHZayurQp98qRu5pnVPqIQjPj2Jpg6Ihh5KA9\nwtw5GtwLmWEuAVl08wecUWP2qWjHjGU/n/KtMFe0x704STyipYN5NGAWE5kT\nQrQ+K2Drt/eG5oXEvRWhXDB5FoWhPNluIFyZ1kJommr8kawQbwCqIJRIW9vC\nT2RG\r\n=dAve\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCC3J7yjABOKYclnpHgINrEVpbbUXGoDMSRTu2wo2/3fQIgC4TBEAdF+sW2Y9n7auggDQ7BoIerNI4GA5MWVD0dD2U="}]},"maintainers":[{"name":"seregpie","email":"seregpie@gmail.com"}],"_npmUser":{"name":"seregpie","email":"seregpie@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/just-my-luck_1.0.1_1567687475615_0.24309994423741021"},"_hasShrinkwrap":false},"2.0.0":{"name":"just-my-luck","version":"2.0.0","description":"A collection of utility functions for working with randomness.","keywords":["alphabetic","alphanumeric","array","boolean","chance","collection","combination","date","element","exclusive","float","inclusive","index","integer","item","iterable","luck","map","mersenne twister","multicombination","multipermutation","number","password","permutation","random","range","sample","set","shuffle","string","value","weight"],"license":"MIT","author":{"name":"Sergej Sintschilin","email":"seregpie@gmail.com"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/SeregPie/JustMyLuck.git"},"scripts":{"build":"rollup -c","prepublishOnly":"npm run build","test":"node test/index"},"devDependencies":{"@rollup/plugin-buble":"^0.21.1","rollup":"^1.32.0","rollup-plugin-terser":"^5.2.0"},"gitHead":"c65bda7d93e8b6329df0116db000ee9e787473f0","bugs":{"url":"https://github.com/SeregPie/JustMyLuck/issues"},"homepage":"https://github.com/SeregPie/JustMyLuck#readme","_id":"just-my-luck@2.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-uhYhVCBxy8nH3s3non339NuhAaK02TGHYZOzIvHUlc+BF/uMtqidNZZtmG0Q9RylWz+TCdcA+0DdUZfIKQB71A==","shasum":"01eedd14812866a20ca336b5147ab759d82043dd","tarball":"https://registry.npmjs.org/just-my-luck/-/just-my-luck-2.0.0.tgz","fileCount":4,"unpackedSize":20451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXOtFCRA9TVsSAnZWagAAMLQQAIXPqFIw83h53d4oJ9L1\nhD1OHoblhUiWKzXWeMqxJfJy6B5RoM9lP8c5WZxKOnCHGfCSJhcsX5QQNZ4z\n/0QzoTHNI/EBzXxkjfr2TkAlh/Cb4+FTLxQQlX8FCcLgI50Ci8I2oF3zu/6x\nTmqEWZ/1PtYVZcSxVy8qZflXRYuqD0XoPOiAY0Y9pBvlGDI4T0KPs4wqAG3e\nt2R6aL2HDCXyKZ1YX4aKBP1Gx7n9flhOC0OQslIe0d3bNlBeanrnSsjuUZTW\nNAR5X2ayoSxHy/vSJIq+lrW/vuzKMc8raBzD0IiMSZh3SH6e/A0FPzjldudf\nnEAvnS8/daXyTJos95OQMLAOmivzCl5kGSlJt7Z1OeLyNjibkjE1Ym88t6uH\ncOWP/8z8ZvvmxeoCHTzQGvAXR2F0i5vuzsIWbJF4rWZlLGw2Rc4reLLqaGYT\nRPwCWWHzPpJnDrADifRBGWveTgxOek/6/HMYO4yByt4BcGZ+bQIRIjIoTL4O\nVTNaoxXoNUThlC+hXbe0uxy0+eFn9VZn8ts2acYMthUqM65N4K26fVhNpylW\nxnyO3H7fsQi5m8rXi6QhPB0ETlhmDJOuYhMFMiHNaEHwqXBB5orqg7obh6TB\nkTgvuYMe4oadZcFSgr5X/MvZkKTKAKa9DK5dCOY53YMa31BbFhg5h+8f9zuL\nqGI2\r\n=S/1l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzBOSzSpsPe+hQyWGvq3dQt9szxfmkMFlltIUulpwNOAiEAgt90mFTco0pHNLAjAN6FRkjMb8ez3COEScvICv9onbk="}]},"maintainers":[{"name":"seregpie","email":"seregpie@gmail.com"}],"_npmUser":{"name":"seregpie","email":"seregpie@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/just-my-luck_2.0.0_1583147844847_0.4022445093035718"},"_hasShrinkwrap":false},"2.0.1":{"name":"just-my-luck","version":"2.0.1","description":"A collection of utility functions for working with randomness.","keywords":["alphabetic","alphanumeric","array","boolean","chance","collection","combination","date","element","exclusive","float","inclusive","index","integer","item","iterable","luck","map","mersenne twister","multicombination","multipermutation","number","password","permutation","random","range","sample","set","shuffle","string","value","weight"],"license":"MIT","author":{"name":"Sergej Sintschilin","email":"seregpie@gmail.com"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/SeregPie/JustMyLuck.git"},"scripts":{"build":"rollup -c","prepublishOnly":"npm run build","test":"node test/index"},"devDependencies":{"@rollup/plugin-buble":"^0.21.1","rollup":"^1.32.0","rollup-plugin-terser":"^5.2.0"},"gitHead":"780e748c02cd0c9d9de2546c4088ecf93dc39c5e","bugs":{"url":"https://github.com/SeregPie/JustMyLuck/issues"},"homepage":"https://github.com/SeregPie/JustMyLuck#readme","_id":"just-my-luck@2.0.1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-+JeehaH9Z+ph8WxMit7yMughZHHL9Kikp441o3WmQi5o608Wj3iyj4T1Sh3oA8DT4lKqF3emQCMgvMQdRd3s4Q==","shasum":"4e34044e35e9661b47b763a89263a1096b081ab6","tarball":"https://registry.npmjs.org/just-my-luck/-/just-my-luck-2.0.1.tgz","fileCount":4,"unpackedSize":21805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZn2mCRA9TVsSAnZWagAAkqMQAJdCYBW48vI+PPTwT62L\n1tFntlf5ILXOMbdHK4RBhaO1JLpiK9MgRotAvoOUybTL4XtwZna9hSOMxQA1\nhK+L0zchTcj7iqFCOdhs6cARGgRpToJBIA/lo8zNYZltoCr2gisS0E8X1ndS\nr29kd30AdJ43SVAqg9VBYkpLUzJZmGgpcj5wGmlsZS9ZmXzwjraCAcJIC0eo\nqncjP2iVFyH0sJM4HP5R+u0N7dSDzbvyizZ8b4wkoROYqJxABpBEt58QL7mN\n7NNV1jKu4odn4kQoI7qszLB4ycsLTN+htnfMFEjKV/SYRE9SlA++KOw/duvB\nMF1z6kSC0qUC3UbZulTBs6Wp/sbfgcG7Oop8+KnMw9xoQ56w/Y0R/85i/T3A\nrDgUTqwQ6QpQozY5VJAc4yiu9MVYtmcm2MeY+Ys+/ls4yG1Q+LvwBoaN8g7u\nJOKr7TirneswPWhPg29YJWAjsMSiQ+TYEwoe4Q7p6cxraSV4sgty6J+t9e5k\nFfKAc0NMwPojhakCSs+eRaF+WY9ZZBLSmWeC4DSK62Fcbyn30c63Rs/MYhCY\nyjeogk+tGgZgGmLMXGBNr0mg27OyG8N4JhMxKAutEkvr4kgA7pkhWQ8zqgzN\nW6EVf41OQ4tolSYbDMJHF66lP8wM3i11e8/HgYsreiWf72e+GaJjYtj+RPjS\nnj34\r\n=cedo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICUYcmOVZHtpjbX6/j0Ody51s3LYYdwCxP+5JbSikfIpAiEAqMbXOorMmVvrTzykzxwWMh+xXrN8ynvSOA8QOUFWDLQ="}]},"maintainers":[{"name":"seregpie","email":"seregpie@gmail.com"}],"_npmUser":{"name":"seregpie","email":"seregpie@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/just-my-luck_2.0.1_1583775142347_0.884712667022413"},"_hasShrinkwrap":false},"2.0.2":{"name":"just-my-luck","version":"2.0.2","description":"A collection of utility functions for working with randomness.","keywords":["array","boolean","chance","collection","combination","date","exclusive","float","inclusive","integer","iterable","luck","mersenne twister","number","password","permutation","pick","random","range","sample","shuffle","string","weight"],"license":"MIT","author":{"name":"Sergej Sintschilin","email":"seregpie@gmail.com"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/SeregPie/JustMyLuck.git"},"scripts":{"build":"rollup -c","prepublishOnly":"npm run build","test":"node test/index"},"devDependencies":{"@rollup/plugin-buble":"^0.21.3","eslint":"^7.2.0","eslint-config-seregpie":"^1.0.1","lodash":"^4.17.15","lodash.combinations":"^18.10.0","lodash.multicombinations":"^1.0.0","lodash.multipermutations":"^1.0.0","lodash.permutations":"^1.0.0","rollup":"^2.14.0","rollup-plugin-terser":"^6.1.0"},"gitHead":"c409ab938683f82a9a2dae79f3d65dadd45cacac","bugs":{"url":"https://github.com/SeregPie/JustMyLuck/issues"},"homepage":"https://github.com/SeregPie/JustMyLuck#readme","_id":"just-my-luck@2.0.2","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-xtiMIW/JKucSRFUyPS+wXmHUQT5F3EsJb+933FJzntslQpbkMC9g8ol9LkqHrLlVALLaoaLeYCyhCULa9DC0BQ==","shasum":"8e08c58d46d7e0af81deccbf513c5906d4305c01","tarball":"https://registry.npmjs.org/just-my-luck/-/just-my-luck-2.0.2.tgz","fileCount":4,"unpackedSize":19784,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4d8nCRA9TVsSAnZWagAAS9YP/Ayo9xcu3Z8lOdP1lJgp\nb6X9xYocYb4zzQszHXNLMQT6CMziiyCm2NTFSwrCQSEm0WuDn3VH3c0Mbv5f\nEfApGz2oyMK9WecuhESsm+NwQjE5chK5zSuSxUIqtiEGuYO3SQkcvv91Mo7+\neYuIFYEZRM59i1O1eisgfK5zl4ihFAFrsnSkpopclrXhxayCve/bCWFYdOal\nlbgEbLaS54rQTTd0mCqmjzenG3+YPkg1TcQiWQwhDb4qny5y/wpBmZZjSK71\naSuatvHf8fY/+vI//LP2BNPQGZozZbWRrg1p3766mPsCgT7yKWlUGPFFwKD8\neR0MUmhgD6TTIpd4Unrt51pUULYejNCieW53rZDxdCDGO4UMHj6PHQyEGY/M\njMR3K1Ayle3Y37tWg7mE5qpSZSADu4/fyY5RdQMuFJZWlP223y7lG6Z5580M\nC4up+5K6kMeP0ikWX7l9mi6K7XKONhF6ETgylPlXfVBrkXJ3vUHLAlPFYbdN\nA6BkAxp1AbaWXh53XwAQ86/SflcCv3i1E6zHHBPorw3LPer6N3jCt55LcVBu\nufOmQelI2CJ0E7AnqwHjbgMqMv9QMXaf/O0Si3zu/0a49tZUw/6MKOYKpguU\nLBAx4XEMP2ODkawspF6f1P5kA6Ee3EE2hZs4ShzjlJfxI2RHC/UEUC7Tx2R7\nSZgL\r\n=8ijj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAS/TVkxKYvK+7KDI/FfLDayVG99LahyIvaM6IJ/VZtIAiAYCFS0cVeb94L740rIAov19mBFFK9FiIzkvEPIv+cAFQ=="}]},"maintainers":[{"name":"seregpie","email":"seregpie@gmail.com"}],"_npmUser":{"name":"seregpie","email":"seregpie@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/just-my-luck_2.0.2_1591861031257_0.8831602600482875"},"_hasShrinkwrap":false},"3.0.0":{"name":"just-my-luck","version":"3.0.0","description":"A collection of utility functions for working with randomness.","keywords":["array","boolean","chance","collection","combination","date","exclusive","float","inclusive","integer","iterable","luck","mersenne twister","number","password","permutation","pick","random","range","sample","shuffle","string","weight"],"license":"MIT","author":{"name":"Sergej Sintschilin","email":"seregpie@gmail.com"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/SeregPie/JustMyLuck.git"},"scripts":{"build":"rollup -c","prepublishOnly":"npm run build","test":"node test/index"},"devDependencies":{"@rollup/plugin-buble":"^0.21.3","eslint":"^7.2.0","eslint-config-seregpie":"^1.0.1","lodash":"^4.17.15","lodash.combinations":"^18.10.0","lodash.multicombinations":"^1.0.0","lodash.multipermutations":"^1.0.0","lodash.permutations":"^1.0.0","rollup":"^2.16.1","rollup-plugin-terser":"^6.1.0"},"gitHead":"d9886fd58c27c38b8469499bb6b7ea554646560f","bugs":{"url":"https://github.com/SeregPie/JustMyLuck/issues"},"homepage":"https://github.com/SeregPie/JustMyLuck#readme","_id":"just-my-luck@3.0.0","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-8uuZI//v2GAnSzZqcQhg4dWuFqR7DWV6hN0L9m7j3oNq24CHMI761PliccYWx7mbxjE3G2c7wTrubn3NbmvTQg==","shasum":"a5567eb4fad51100436e1bfd6492f2d9613aaf4e","tarball":"https://registry.npmjs.org/just-my-luck/-/just-my-luck-3.0.0.tgz","fileCount":4,"unpackedSize":24519,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe56SaCRA9TVsSAnZWagAADLoP+wfoh3qmjp53l12Tplx7\nn/e7w4mCTe0pZweQlucZUbdjJVzA+7XpChtTKpK+FmX0y1q4PqI1l1Z9uTsR\n1B4RaSeqbL9AC+cDlcqlZK4e23NEM/g/hMuZqsvJ2a57l/Q/SeZqEV+Ut9ZQ\n0entyxSVUfy0jmeVH9Ie3eJxDStmqaZQjbnQw8Zk960hYENP+DFsbKun0+M1\ncqOTyUUd2d9fjhyD/7B/sU99E7EyHIYd7ehi2KqQVHn0mMKkxmVh94GuCY6x\nsz73PXmeo8t3Pdv/vRUJdfyRGnSOJ8xvahtx+wLeZ3Uf6fNbKzY9+mEywAhF\nIpIeRRCb30WTtwiIBidtfFEMJv3mcL3rBSKRHcB2L9A5sa0/uzojewQb10sk\ns1UQUZ/QNTu9rYoyZIEon6Nh1s6QXbW0eMZIf9ZRWHytUho//Tkr2t5sIXE0\nB3NpTAK01v1R1wSANHsKeWbvnEBQlXMCxZh2dB7Ke83ChSFepW0UHWPD1nxA\n01gYUyb9IuYvXvcI5xBflkZSR+CuY8oZ2Po8m9/0fjFj0p2ew2nED8zy0dME\nV2ycI1/Xv8nb8VNhO50H06rm1vdxwakTWpULxlHX/yWn04jcRPPLAAPchlaT\nj1aFwT0ClywXeGw3LZTPY0uylPH6u3gdQli6SkQTVp9UiIBtSZ+2PxO6C89k\nMyJj\r\n=Nh/0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICbR+AK+FCVX3N/XFflmVBA10aEsK9ck7fPMtAkM6p4UAiEA9kDX9NlLbMfCQWKe+Cm0mH65OJULkt6AXhcaZn3jxA4="}]},"maintainers":[{"name":"seregpie","email":"seregpie@gmail.com"}],"_npmUser":{"name":"seregpie","email":"seregpie@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/just-my-luck_3.0.0_1592239258436_0.5218233730315192"},"_hasShrinkwrap":false}},"time":{"created":"2019-07-24T21:59:28.412Z","1.0.0":"2019-07-24T21:59:28.557Z","modified":"2022-05-07T01:30:33.340Z","1.0.1":"2019-09-05T12:44:35.758Z","2.0.0":"2020-03-02T11:17:24.990Z","2.0.1":"2020-03-09T17:32:22.462Z","2.0.2":"2020-06-11T07:37:11.425Z","3.0.0":"2020-06-15T16:40:58.545Z"},"maintainers":[{"name":"seregpie","email":"seregpie@gmail.com"}],"description":"A collection of utility functions for working with randomness.","homepage":"https://github.com/SeregPie/JustMyLuck#readme","keywords":["array","boolean","chance","collection","combination","date","exclusive","float","inclusive","integer","iterable","luck","mersenne twister","number","password","permutation","pick","random","range","sample","shuffle","string","weight"],"repository":{"type":"git","url":"git+https://github.com/SeregPie/JustMyLuck.git"},"author":{"name":"Sergej Sintschilin","email":"seregpie@gmail.com"},"bugs":{"url":"https://github.com/SeregPie/JustMyLuck/issues"},"license":"MIT","readme":"# JustMyLuck\n\nA collection of utility functions for working with randomness.\n\n## setup\n\n### npm\n\n```shell\nnpm i just-my-luck\n```\n\n### ES module\n\n```javascript\nimport JustMyLuck from 'just-my-luck';\n```\n\n### Node\n\n```javascript\nlet JustMyLuck = require('just-my-luck');\n```\n\n### browser\n\n```html\n<script src=\"https://unpkg.com/just-my-luck\"></script>\n```\n\nThe module is globally available as `JustMyLuck`.\n\n## members\n\n### static properties\n\n`.random = Math.random`\n\n---\n\n`.MersenneTwister(seed)`\n\nThe implementation of the Mersenne Twister pseudo-random number generator.\n\n| argument | description |\n| ---: | :--- |\n| `seed` | A number as the initial seed. |\n\nReturns the pseudo-random number generator as a function.\n\n```javascript\nlet random = JustMyLuck.MersenneTwister(835);\nconsole.log(random()); // => 0.7212939869047637\nconsole.log(random()); // => 0.2532498844651273\n```\n\n---\n\n`.lowerCasedAlphabetic = 'abcdefghijklmnopqrstuvwxyz'`\n\n---\n\n`.upperCasedAlphabetic = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`\n\n---\n\n`.alphabetic = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'`\n\n---\n\n`.numeric = '0123456789'`\n\n---\n\n`.lowerCasedAlphanumeric = 'abcdefghijklmnopqrstuvwxyz0123456789'`\n\n---\n\n`.upperCasedAlphanumeric = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`\n\n---\n\n`.alphanumeric = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`\n\n### constructor\n\n`new JustMyLuck(random)`\n\n| argument | description |\n| ---: | :--- |\n| `random` | A function that returns a float greater than or equal to 0 and less than 1. |\n\n```javascript\nlet seed = Date.now();\nlet luck1 = new JustMyLuck(JustMyLuck.MersenneTwister(seed));\nlet luck2 = new JustMyLuck(JustMyLuck.MersenneTwister(seed));\nlet integer1 = luck1.integer(-2, 2, true);\nlet integer2 = luck2.integer(-2, 2, true);\nconsole.log(integer1 === integer2); // => true;\n```\n\n### instance properties\n\n`.random`\n\nThe pseudo-random number generator.\n\n### static and instance methods\n\n`.chance(p)`\n\nTests the chance with a probability.\n\n| argument | description |\n| ---: | :--- |\n| `p` | A number as the probability. |\n\nReturns a boolean.\n\n```javascript\nlet x = JustMyLuck.chance(0.38);\n// => either true (38%) or false (62%)\n```\n\n```javascript\nconsole.log(JustMyLuck.chance(-Infinity)); // => false\nconsole.log(JustMyLuck.chance(-1.57)); // => false\nconsole.log(JustMyLuck.chance(0)); // => false\n\nconsole.log(JustMyLuck.chance(1)); // => true\nconsole.log(JustMyLuck.chance(42)); // => true\nconsole.log(JustMyLuck.chance(Infinity)); // => true\n```\n\n---\n\n`.boolean()`\n\nGenerates a boolean.\n\nReturns the generated boolean.\n\n```javascript\nlet boolean = JustMyLuck.boolean();\n// => either true or false\n```\n\n---\n\n`.booleanWeighted(weight)`\n\nGenerates a boolean using a weighted probability.\n\n| argument | description |\n| ---: | :--- |\n| `weight` | A number as the weighted probability. |\n\nReturns the generated boolean.\n\n```javascript\nlet boolean = JustMyLuck.booleanWeighted(3);\n// => either true (75%) or false (25%)\n```\n\n```javascript\nconsole.log(JustMyLuck.booleanWeighted(-1.57)); // => false\nconsole.log(JustMyLuck.booleanWeighted(0)); // => false\n\nconsole.log(JustMyLuck.booleanWeighted(Infinity)); // => true\n```\n\n---\n\n`.float(min, max, inclusive = false)`\n\nGenerates a float within a range.\n\n| argument | description |\n| ---: | :--- |\n| `min` | A number as the inclusive minimum. |\n| `max` | A number as the exclusive maximum. |\n| `inclusive` | If `true`, the maximum is inclusive. |\n\nReturns the generated float.\n\n```javascript\nlet float = JustMyLuck.float(0.4, 2.7);\n// => a float greater than or equal to 0.4 and less than 2.7\n```\n\n```javascript\nlet float = JustMyLuck.float(0.4, 2.7, true);\n// => a float greater than or equal to 0.4 and less than or equal to 2.7\n```\n\n```javascript\nlet float = 6.5;\nconsole.log(JustMyLuck.float(float, float, true) === float); // => true\n```\n\n---\n\n`.integer(min, max, inclusive = false)`\n\nGenerates an integer within a range.\n\n| argument | description |\n| ---: | :--- |\n| `min` | A number as the inclusive minimum. |\n| `max` | A number as the exclusive maximum. |\n| `inclusive` | If `true`, the maximum is inclusive. |\n\nReturns the generated integer.\n\n```javascript\nlet integer = JustMyLuck.integer(2, 11);\n// => an integer greater than or equal to 2 and less than 11\n```\n\n```javascript\nlet integer = JustMyLuck.integer(2, 11, true);\n// => an integer greater than or equal to 2 and less than or equal to 11\n```\n\n```javascript\nconsole.log(JustMyLuck.integer(4.3, 6.5) === 5); // => true\n```\n\n---\n\n`.string(alphabet, length)`\n\nGenerates a string using an alphabet.\n\n| argument | description |\n| ---: | :--- |\n| `alphabet` | An array-like or iterable object of characters as the alphabet. |\n| `length` | A number as the length of the string to generate. |\n\nReturns the generated string.\n\n```javascript\nlet string = JustMyLuck.string(JustMyLuck.alphabetic, JustMyLuck.integer(8, 16, true));\n// => e.g. 'eFEgkjWzTsTmA'\n```\n\n---\n\n`.date(min, max, inclusive = false)`\n\nGenerates a `Date` instance within a range.\n\n| argument | description |\n| ---: | :--- |\n| `min` | A `Date` instance as the inclusive minimum. |\n| `max` | A `Date` instance as the exclusive maximum. |\n| `inclusive` | If `true`, the maximum is inclusive. |\n\nReturns the generated `Date` instance.\n\n```javascript\nlet date = JustMyLuck.date(new Date('01 Jan 1970'), new Date('04 Dec 1995'));\n// => e.g. '1989-08-26T01:02:17.622Z'\n```\n\n```javascript\nlet date = new Date('04 Dec 1995');\nconsole.log(JustMyLuck.date(date, date, true).getTime() === date.getTime()); // => true\n```\n\n---\n\n`.pick(collection)`\n\nPicks a value from a collection.\n\n| argument | description |\n| ---: | :--- |\n| `collection` | An array-like or iterable object to pick from. |\n\nReturns the picked value.\n\n```javascript\nlet value = JustMyLuck.pick(['a', 'b', 'c']);\n// => either 'a', 'b' or 'c'\n```\n\n---\n\n`.pickWeighted(weightedCollection)`\n\nPicks a value from a collection using a weighted probability.\n\n| argument | description |\n| ---: | :--- |\n| `weightedCollection` | An array-like or iterable object of value-weight pairs. A value-weight pair is an array where the first item is the value and the second item is a number as the weighted probability for this value to be picked. |\n\nReturns the picked value.\n\n```javascript\nlet value = JustMyLuck.pickWeighted([['a', 3.3], ['b', 0.7], ['c', 1]]);\n// => either 'a' (66%), 'b' (14%) or 'c' (20%)\n```\n\n```javascript\nlet value = JustMyLuck.pickWeighted([['a', Infinity], ['b', 1], ['c', 1]]);\n// => always 'a'\n```\n\n```javascript\nlet value = JustMyLuck.pickWeighted([['a', 0], ['b', 1], ['c', 1]]);\n// => either 'b' or 'c'\n```\n\n---\n\n`.pickIndex(array)`\n\nPicks an index from an array.\n\n| argument | description |\n| ---: | :--- |\n| `array` | An array-like object to pick the index from. |\n\nReturns the picked index.\n\n```javascript\nlet index = JustMyLuck.pickIndex(['a', 'b', 'c']);\n// => either 0, 1 or 2\n```\n\n---\n\n`.pickCombination(collection, count)`\n\nPicks a combination of values without repetition from a collection. Preserves the order of the values.\n\n| argument | description |\n| ---: | :--- |\n| `collection` | An array-like or iterable object to pick from. |\n| `count` | A number as the count of the values to pick. |\n\nReturns the picked values as an array.\n\n```javascript\nlet values = JustMyLuck.pickCombination(['a', 'b', 'c', 'd', 'e'], 3);\n// => e.g. ['a', 'b', 'd']\n```\n\n---\n\n`.pickCombinationWeighted(weightedCollection, count)`\n\nPicks a combination of values without repetition from a collection using a weighted probability. Preserves the order of the values.\n\n| argument | description |\n| ---: | :--- |\n| `weightedCollection` | An array-like or iterable object of value-weight pairs. A value-weight pair is an array where the first item is the value and the second item is a number as the weighted probability for this value to be picked. |\n| `count` | A number as the count of the values to pick. |\n\nReturns the picked values as an array.\n\n```javascript\nlet values = JustMyLuck.pickCombinationWeighted([['a', 2], ['b', 7], ['c', 8], ['d', 5], ['e', 8]], 3);\n// => e.g. ['a', 'c', 'e']\n```\n\n```javascript\nlet values = JustMyLuck.pickCombinationWeighted([['a', Infinity], ['b', 1], ['c', 0], ['d', 1], ['e', Infinity]], 3);\n// => 'a' and 'e' are always included, 'c' is never included\n```\n\n---\n\n`.pickPermutation(collection, count)`\n\nPicks a permutation of values without repetition from a collection.\n\n| argument | description |\n| ---: | :--- |\n| `collection` | An array-like or iterable object to pick from. |\n| `count` | A number as the count of the values to pick. |\n\nReturns the picked values as an array.\n\n```javascript\nlet values = JustMyLuck.pickPermutation(['a', 'b', 'c', 'd', 'e'], 3);\n// => e.g. ['b', 'd', 'a']\n```\n\n---\n\n`.pickPermutationWeighted(weightedCollection, count)`\n\nPicks a permutation of values without repetition from a collection using a weighted probability.\n\n| argument | description |\n| ---: | :--- |\n| `weightedCollection` | An array-like or iterable object of value-weight pairs. A value-weight pair is an array where the first item is the value and the second item is a number as the weighted probability for this value to be picked. |\n| `count` | A number as the count of the values to pick. |\n\nReturns the picked values as an array.\n\n```javascript\nlet values = JustMyLuck.pickPermutationWeighted([['a', 2], ['b', 7], ['c', 8], ['d', 5], ['e', 8]], 3);\n// => e.g. ['c', 'e', 'a']\n```\n\n```javascript\nlet values = JustMyLuck.pickPermutationWeighted([['a', Infinity], ['b', 1], ['c', 0], ['d', 1], ['e', Infinity]], 3);\n// => 'a' and 'e' are always included, 'c' is never included\n```\n\n---\n\n`.pickMulticombination(collection, count)`\n\nPicks a combination of values with repetition from a collection. Preserves the order of the values.\n\n| argument | description |\n| ---: | :--- |\n| `collection` | An array-like or iterable object to pick from. |\n| `count` | A number as the count of the values to pick. |\n\nReturns the picked values as an array.\n\n```javascript\nlet values = JustMyLuck.pickMulticombination(['a', 'b'], 8);\n// => e.g. ['a', 'a', 'a', 'a', 'a', 'b', 'b', 'b']\n```\n\n---\n\n`.pickMulticombinationWeighted(weightedCollection, count)`\n\nPicks a combination of values with repetition from a collection using a weighted probability. Preserves the order of the values.\n\n| argument | description |\n| ---: | :--- |\n| `weightedCollection` | An array-like or iterable object of value-weight pairs. A value-weight pair is an array where the first item is the value and the second item is a number as the weighted probability for this value to be picked. |\n| `count` | A number as the count of the values to pick. |\n\nReturns the picked values as an array.\n\n```javascript\nlet values = JustMyLuck.pickMulticombinationWeighted([['a', 1], ['b', 3]], 8);\n// => e.g. ['a', 'b', 'b', 'b', 'b', 'b', 'b', 'b']\n```\n\n```javascript\nlet values = JustMyLuck.pickMulticombinationWeighted([['a', Infinity], ['b', 1]], 4);\n// => ['a', 'a', 'a', 'a']\n```\n\n```javascript\nlet values = JustMyLuck.pickMulticombinationWeighted([['a', 0], ['b', 1]], 4);\n// => ['b', 'b', 'b', 'b']\n```\n\n---\n\n`.pickMultipermutation(collection, count)`\n\nPicks a permutation of values with repetition from a collection.\n\n| argument | description |\n| ---: | :--- |\n| `collection` | An array-like or iterable object to pick from. |\n| `count` | A number as the count of the values to pick. |\n\nReturns the picked values as an array.\n\n```javascript\nlet values = JustMyLuck.pickMultipermutation(['a', 'b'], 8);\n// => e.g. ['a', 'a', 'b', 'b', 'a', 'a', 'b', 'a']\n```\n\n---\n\n`.pickMultipermutationWeighted(weightedCollection, count)`\n\nPicks a permutation of values with repetition from a collection using a weighted probability.\n\n| argument | description |\n| ---: | :--- |\n| `weightedCollection` | An array-like or iterable object of value-weight pairs. A value-weight pair is an array where the first item is the value and the second item is a number as the weighted probability for this value to be picked. |\n| `count` | A number as the count of the values to pick. |\n\nReturns the picked values as an array.\n\n```javascript\nlet values = JustMyLuck.pickMultipermutationWeighted([['a', 1], ['b', 3]], 8);\n// => e.g. ['b', 'b', 'b', 'a', 'b', 'b', 'b', 'b']\n```\n\n```javascript\nlet values = JustMyLuck.pickMultipermutationWeighted([['a', Infinity], ['b', 1]], 4);\n// => ['a', 'a', 'a', 'a']\n```\n\n```javascript\nlet values = JustMyLuck.pickMultipermutationWeighted([['a', 0], ['b', 1]], 4);\n// => ['b', 'b', 'b', 'b']\n```\n\n---\n\n`.shuffle(collection)`\n\nShuffles a collection.\n\n| argument | description |\n| ---: | :--- |\n| `collection` | An array-like or iterable object to shuffle. |\n\nReturns the shuffled collection as an array.\n\n```javascript\nlet values = JustMyLuck.shuffle([1, 2, 3, 4, 5]);\n// => e.g. [4, 3, 2, 5, 1]\n```\n\n---\n\n`.shuffleInPlace(array)`\n\nShuffles an array in place.\n\n| argument | description |\n| ---: | :--- |\n| `array` | An array-like object to shuffle. |\n\nReturns the same array but shuffled.\n\n## plugins\n\nWrite your own plugins to extend the library.\n\n```javascript\nimport JustMyLuck from 'just-my-luck';\n\nJustMyLuck.extend({\n  color() {\n    return `rgb(${[0, 0, 0].map(() => this.integer(0, 255, true)).join(',')})`;\n  },\n});\n```\n","readmeFilename":"README.md"}