{"_id":"@andreybutenko/dutyscheduler","_rev":"3-583226b3ab76ace9d1ee04e67fadcb69","name":"@andreybutenko/dutyscheduler","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@andreybutenko/dutyscheduler","version":"1.0.0","description":"A Javascript library for creating duty schedules.","main":"index.js","scripts":{"test":"jest"},"keywords":["duty","scheduler"],"homepage":"https://github.com/andreybutenko/dutyscheduler","repository":{"type":"git","url":"git@github.com/andreybutenko/dutyscheduler.git"},"author":{"name":"Andrey Butenko"},"license":"Apache-2.0","devDependencies":{"jest":"^23.6.0"},"gitHead":"c70e898f238cbb05662381eadcbe1da824b6c832","_id":"@andreybutenko/dutyscheduler@1.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"andreybutenko","email":"andrey_butenko@hotmail.com"},"dist":{"integrity":"sha512-lmRfSn2IWqa0bpc9SEd1epI5ylEPEAMUBVLAv+l2wwABYlOpOmPMue2pdYEaFn6Vnx2eET9RFABEU+KvPEw41w==","shasum":"f2c782a0527d66d4bdb1cb18ffe8a6f1bd4f7bc7","tarball":"https://registry.npmjs.org/@andreybutenko/dutyscheduler/-/dutyscheduler-1.0.0.tgz","fileCount":10,"unpackedSize":27384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKAAZCRA9TVsSAnZWagAAssYP/jmMDm2Otddniy2Km2Wt\nI2lbUtlWwIa+RKt3LHngBl4d4ijJXuDgkvaIcxRA0eT3II1pyEpFDLhyUaQ9\nGZ2rLKBIoXdQAxuVGbaxGx0VCFrtNomRRsyKnDF2gzsqa9av0eK+O0s4e5Hm\nG/MPA6LoeutJxtebZ6KhOM5QHwXquWFQYxJgT3WKIzs56BpHnuuw8Zs7jr3N\nTUu5iJqvLVzT053R3GKOXPu6hnsvxYISx0IrLkn2hI/eD/5SJYSs1nFtVKPV\n3UlUk+is1nOoLUgQN7NCjz0upy7CMVUqLfMk72/fxMYFERTRQRy0rHGsh+3x\nizJ9gUpKkAiquit10MHUWefwSBmjZZpJZZqb00k7ws4USv6z3mcQisam2hCO\nURVKh4dxsZ/QmrhEsm0PQ2FBnBg+b9scj3m2yKkOGJCf6fkrHmmseABOWkE0\nFBp+FlzcnZZSF+y6Yq7PTFu3kgA6JtWx7iu8evbCAyNU1H5/s4JhAH8Ny4T5\npSnNdvjfn4w9N1a3cdup9qRiCNtZXjAmshO4v+bn9kCt46u0bdsqKiZ0E10j\n2BBAQQLZBpgRZnGHhFYjbYmjYXizNhMbIffi8qo4TmF2VeI6uRGSBy+IM8Ty\nfY9teqoOuEn0VyBkalKgvI7pyDXWFYTrLs40xiH/Xkp1uIC0pIYjaxIGxyy5\n7jvY\r\n=6qO1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCk3SM1sVa3lX0JIaG31RConmnnQvJSB0y4VvHTNE8KNQIhAM4IhDkMPFC6zF37Dp01ds4SqXras24QTFsX+QZ/FDG0"}]},"maintainers":[{"name":"andreybutenko","email":"andrey_butenko@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dutyscheduler_1.0.0_1546125336787_0.40936269843161854"},"_hasShrinkwrap":false},"1.0.1":{"name":"@andreybutenko/dutyscheduler","version":"1.0.1","description":"A Javascript library for creating duty schedules.","main":"index.js","scripts":{"test":"jest"},"keywords":["duty","scheduler"],"homepage":"https://github.com/andreybutenko/dutyscheduler","repository":{"type":"git","url":"git@github.com/andreybutenko/dutyscheduler.git"},"author":{"name":"Andrey Butenko"},"license":"Apache-2.0","devDependencies":{"jest":"^23.6.0"},"gitHead":"b4708be71852493d735e5da024562d79e6b828cd","_id":"@andreybutenko/dutyscheduler@1.0.1","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"andreybutenko","email":"andrey_butenko@hotmail.com"},"dist":{"integrity":"sha512-rdZv5ILd4NLk8ih4B6/wy6Yb6pGcpUeHVR5BBn5wVoiGw1h9qIrLJkcP7xdg7G2Q490ua2RUNdXhcD7SFKe4WQ==","shasum":"68e1dd549fbd2166a704b46cd04f6fb94d061e49","tarball":"https://registry.npmjs.org/@andreybutenko/dutyscheduler/-/dutyscheduler-1.0.1.tgz","fileCount":10,"unpackedSize":27524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKAC6CRA9TVsSAnZWagAADNUQAKHLawpcEfX3LMfupbn+\nG7D/AvyR9NpZonarLRCx0Fkr1XzwdaEdgTFj2+22Jwuk3Fdg+C1Qw0pPBGjl\nauLCIgQ7oWuUnglAvvjHWXJ+HmDacdMJ8DtrC2oOEb111zxNY82MWvOHYbS4\nP6DnSMZIQaLsX0acYx+R8GyWJ6dWVULoDkCDZUOAbjJeYw0y8G6hUfRTzRqn\nuZr/qAPa+1Bmiq5yJwfUQ95afRfbzvtV5QPc3YKBMrWce5uE5AeJhs5YCTl+\nQ7DaRShILRi7dIWaG2/Oee5LMs78ecHH45lYeykW+6toFG44uBwuwzVZIyVO\n08MBKqwmAdskfbGw0wBjWee/W5iVQBuVXSTVgQZ7NlNS1d7nlImeNwoPte35\nFDam4jEkP+tXQO5+NCC/mHICpv+78VUkzQGrC8nD52jgC0UucguN6CNbG9fq\n3it/YsI0aGvPXOZVVUQPQVOqCUm03e02bU3H4+zZDI3RcTbAhDlNe7qnBEEB\nQA09q0cU76vvyoEYaXjVcX9eFquMKgp1gLXvw3XtOIfzdc8dRWD0SVWc9UMK\neGRW8U+lZXC7airtW4oUuXfyOKnZBLDZ3VoWW2i2kGxPjqURXoRHcJUV8t3v\nbF8/OXSdG2jrqH3J6M+xzWp66hOCnIx4g7mps04sNpAZ3LT5DE8CiZjwU3tt\niQyt\r\n=PVcV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBO/hxTNrAj4ULEqsQrIaIM1k3KCzbQk7JryFyf36I4PAiA9WQ+q0+ERn3uxEARxNJq/9/tgxyKMTmjn8/Bvh/uSUg=="}]},"maintainers":[{"name":"andreybutenko","email":"andrey_butenko@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dutyscheduler_1.0.1_1546125497947_0.8392806952895902"},"_hasShrinkwrap":false},"1.0.2":{"name":"@andreybutenko/dutyscheduler","version":"1.0.2","description":"A Javascript library for creating duty schedules.","main":"index.js","scripts":{"test":"jest"},"keywords":["duty","scheduler"],"homepage":"https://github.com/andreybutenko/dutyscheduler","repository":{"type":"git","url":"git@github.com/andreybutenko/dutyscheduler.git"},"author":{"name":"Andrey Butenko"},"license":"Apache-2.0","devDependencies":{"jest":"^23.6.0"},"gitHead":"b4708be71852493d735e5da024562d79e6b828cd","_id":"@andreybutenko/dutyscheduler@1.0.2","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"andreybutenko","email":"andrey_butenko@hotmail.com"},"dist":{"integrity":"sha512-QrIyid7N8nhHi8eYOtuDWIIaQ1E5V/saykXufwmaSB+b0XamJpwvp4ghkgDMpi6oiMWTaSZ9IdRnO4ZDalBQVg==","shasum":"e16866463d8c4f0391cfe73b2d72ed4aa86129f6","tarball":"https://registry.npmjs.org/@andreybutenko/dutyscheduler/-/dutyscheduler-1.0.2.tgz","fileCount":10,"unpackedSize":27524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKAElCRA9TVsSAnZWagAA27AP/iLMOUfUODVWHgQGwQ27\n1a29cBwPRPFLVZCWf+KSPYcOxP6z537ySPtrwAOmJZekymV9NhOlYEkiv3x7\neWz52D2seoGcYY80t1r5PdbUk5gObBV2q1wRgTFXHzNAo9V8wuloKT+oz8Ne\nmDcGDplp0y0sTSP9ON7E1CgZ6pI1As5rRe3mGs5xCbLyucL5vYrZRfZnTTCm\nTeS4f7cSLAAbuDk31sJFRyoQaR/OBtPSEV8ULym2/4TW1H6N+2ZkzjycZULq\nor/rudAOiXv3jTe9QBweZP/6btr+/aQLL54Ju6sSbg5nH9uxmcVI8tqWHb5s\nqVDmfsWztsku78gEmKo4ssxqqyTnp0Nmc/Vghsj0UqcqU0c4+m/AQhVBNG6O\njAGTRuk03wF/DhZ6i5VpkOZ+53vkOvPFUk/Dd6Nd8A4erbZqr+ATZZoD4n7Y\nFvHbhwkh3H5esxe79JBIJd8WGLkC7mpfBcs6K1ONAUc8BPWpdGuXPJAXTJeJ\nguWu1iUKPvPIPz12NAldkwBoFrDAhbwkoPqvZ4H/ux4YpOUT6s5/nPb/PuZz\nBkR47eEqAKutl0OJdEcisgkippHcFXVB+PopXdQ6HLOTj0RBnIGlSI9mVDUW\nfVsAPRu5uGY2SOQfutpyK/9m88ep3foLW5enpED+muUiBeeDMzvQ6wzatjU3\nYYsy\r\n=gPoe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCU2/ONvkvPcZZ0Utye4nvl89IX3tU/i+0O6Usf/9Sc8QIhAP/4MOYCjuvA5G2xR51jjbj+jmT7w0Q2oD32nK269Bf7"}]},"maintainers":[{"name":"andreybutenko","email":"andrey_butenko@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dutyscheduler_1.0.2_1546125605078_0.20985479704214227"},"_hasShrinkwrap":false}},"time":{"created":"2018-12-29T23:15:36.618Z","1.0.0":"2018-12-29T23:15:36.917Z","modified":"2022-04-04T14:02:17.326Z","1.0.1":"2018-12-29T23:18:18.115Z","1.0.2":"2018-12-29T23:20:05.246Z"},"maintainers":[{"name":"andreybutenko","email":"andrey_butenko@hotmail.com"}],"description":"A Javascript library for creating duty schedules.","homepage":"https://github.com/andreybutenko/dutyscheduler","keywords":["duty","scheduler"],"repository":{"type":"git","url":"git@github.com/andreybutenko/dutyscheduler.git"},"author":{"name":"Andrey Butenko"},"license":"Apache-2.0","readme":"# Duty Scheduler\r\n\r\nA Javascript library for creating duty schedules. [View on NPM](https://www.npmjs.com/package/@andreybutenko/dutyscheduler) and install with: \r\n\r\n```npm i @andreybutenko/dutyscheduler```\r\n\r\n## Example Code\r\n\r\n```javascript\r\nconst DutySet = require('./models/DutySet.js');\r\nconst Person = require('./models/Person.js');\r\n\r\nconst dutySet = new DutySet(6, 2);\r\ndutySet.addPerson(new Person('Andrey', [false, true, true, true, false, true], dutySet));\r\ndutySet.addPerson(new Person('Korra', [true, false, false, false, true, true], dutySet));\r\ndutySet.addPerson(new Person('Anna', [false, true, false, true, false, false], dutySet));\r\n\r\nconsole.log('SCHEDULE: \\n', dutySet.calculateSchedule());\r\nconsole.log('AVAILABILITIES: \\n', dutySet.getAvailabilities());\r\n```\r\n\r\n### Result\r\n\r\n```\r\nSCHEDULE:\r\n [ [ 'Korra', 'Andrey' ],\r\n  [ 'Andrey', 'Anna' ],\r\n  [ 'Anna', 'Andrey' ],\r\n  [ 'Andrey', 'Korra' ],\r\n  [ 'Korra', 'Anna' ],\r\n  [ 'Anna', 'Korra' ] ]\r\nAVAILABILITIES:\r\n [ [ 'Korra' ],\r\n  [ 'Andrey', 'Anna' ],\r\n  [ 'Andrey' ],\r\n  [ 'Andrey', 'Anna' ],\r\n  [ 'Korra' ],\r\n  [ 'Andrey', 'Korra' ] ]\r\n```","readmeFilename":"README.md"}