{"_id":"@alpha-manager/core","_rev":"7-27015d37ff250278e1c5289cbea50e89","name":"@alpha-manager/core","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@alpha-manager/core","version":"1.0.0","description":"docs not written yet","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"AndiTheMudkip"},"license":"ISC","dependencies":{"body-parser":"^1.19.0","capture-console":"^1.0.1","express":"^4.17.1","later":"^1.2.0","socket.io":"^2.2.0"},"_id":"@alpha-manager/core@1.0.0","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-LgVhfIBRJBwNlcCa8EEmAddX+XRWIOiRug+aHjrHh64Wr/DwUFEZrwUr0wcLWTRONruW9RkYCVRjLibhAWgW7A==","shasum":"0eb4466fd87dd5ba030371e2d8364079b693fdcb","tarball":"https://registry.npmjs.org/@alpha-manager/core/-/core-1.0.0.tgz","fileCount":3,"unpackedSize":5514,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJde35ECRA9TVsSAnZWagAAjmUP/Rlm/7uFCF8juDOLCTIr\nlIyzNYgO2PAbdQaHNOA53CxKrQbRBtnLyddNm3Q8q9lHlx3uumHIUfFCGe2l\nILLhBESuDP7oCIQnNYFsheE+8ud+XIKl9cLrilnwCpxio9fU4qnNOVUgBr2/\nTiqUFLSFNAW6cQOCLNd3BdHNfgliNHh/68RvyI8B66Qoh1pStG/tRe1W0yni\ny3zaD88A93XkSdHuzECgvWhPxSKjkkCASsFgNhz0uyj1wgK9Vqle4atF1p94\nWiQ3QCxxPkD+hYLEp08zniYLHudylrgkU3XUzGTCjHVAGZecH/TzfdWoC07h\nkEjGVJrtPO0thlrp2y6vhhAW69ItLwsIfTmHODIS3lZA6t3gjAkHcCFOX4GR\nFX6I1jqTNRAIrfWu9RCAN+PUf0cJ2SjHvFSam8VoWQlvxLxjFxFYa2/zqw3U\nLLum300rmPON/6fLIXBR4cUl26+LKxHr7mNTqDvo6Tc761ImAr6g+h4m3YmF\nbMw4Q/XnXdFSPrYiAU5FT1emrIsuQzVOXD7af/YoeXQ7PN6iAuoilsp1smYO\nj8Td5dgOsfSdK5pp7p4GFcoafzYP6lckGkbGVFwUDgHCgxeRrXDzFZcsnToz\nTu5971TDTQ7J7TCxRnazRm2913xT1lrp0vPBpEKU/EGGy3LWYIz8JjcEkhFW\nrOkl\r\n=A2Q8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHZ7nnuQcQyvlS8vCIBgzVXKUgu5kl5857ghbBkGxIYjAiEAmasF1sGMl+0vXSJY6D++pPugXSH64SjSY1mIBzk7BDo="}]},"maintainers":[{"name":"andithemudkip","email":"andithemudkip@gmail.com"}],"_npmUser":{"name":"andithemudkip","email":"andithemudkip@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.0_1568374340042_0.1697612912027342"},"_hasShrinkwrap":false},"1.0.1":{"name":"@alpha-manager/core","version":"1.0.1","description":"docs not written yet","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"AndiTheMudkip"},"license":"ISC","dependencies":{"later":"^1.2.0"},"_id":"@alpha-manager/core@1.0.1","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-BDM5WCli22EnMZQ3hzWNganZpCzm1G/fMKqT/MEYfjPoILdApAdDEL7DeoGsss6otxw04+vXG2jOpDulT37hIg==","shasum":"ce5746123fa7103c56439d21358380cc5add0687","tarball":"https://registry.npmjs.org/@alpha-manager/core/-/core-1.0.1.tgz","fileCount":3,"unpackedSize":5398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJde36fCRA9TVsSAnZWagAAxesP+QEObsLSwc5c6OtH1SMz\njRLnYb7nd1p0TqPmdVepLt3HXni2iFJV6TZ1u0IOAyAFjU3suPc63Gbnp2O1\nC+9y2PfS1HLmdClGFiPrdgZSi4ea0L9KJMClRzshiATK8QTUShzmDE7ZnojN\n8DG1ySclnno6+vaWE9M7AQgCTqQIhcP5kYDm6oIZ1iHpINaxyHwt64VWZigY\nXfLk1rwtTffW6cFY5VqJyOn5a8lSdWwSNGzriZ14hzvSX+zvzH+d+64EmaAZ\nhoeLOAU4tWIlxEaMHkp5Z7AR9alBD07eEGFATybLXotDCrRdUC/17HxBrrDc\nLd1C1Y+VajpN+AH6Dj/hpF7ViGj8K8RBAe819shcUW2D+nS7fpR8zhD47Rl2\nBT+0kHWG3ONdazAhapAuwtH9QXML4TCilvoB9Y0UEwO/A2UAknExerKm05XF\nW+ZZZdoaw6j8H0f2g1lyHp9QV4sfNX6+nUWZ9ekdpJTATjDp7UvQK73cqNfI\na9Hp+8EpJCCPxe5Du7VYsNDummNrHsUkQp737fvy+EDc7D05iM4BqLT9PnpL\n3lDfig8wzTvovYhnB8GdcZr+Ik2LoJI+HhXH1P3NJ03f/Ed0jYyN4aIIspgU\n+vHSuUQyTghmA+A2TWJmeMzzC5N5/vjE+R5mYtU8a/d01OyATlaKAl5fkmCG\nqqno\r\n=bHS0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG/8gK7oHmAVCvV3RpKh4LbIHV3NAP8JUbhq3o/OZhVXAiASJ/C3Iwg/S9jOuZDRpOlOJSUyxCgv0+8L0lXG8OHmRQ=="}]},"maintainers":[{"name":"andithemudkip","email":"andithemudkip@gmail.com"}],"_npmUser":{"name":"andithemudkip","email":"andithemudkip@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.1_1568374431335_0.032295926025175614"},"_hasShrinkwrap":false},"1.0.2":{"name":"@alpha-manager/core","version":"1.0.2","description":"docs not written yet","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"AndiTheMudkip"},"license":"ISC","dependencies":{"later":"^1.2.0"},"_id":"@alpha-manager/core@1.0.2","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-kS5silWLrItkbV9R+PdjEpds0XpuCWUZ5ClkaH7kyLZn2RFz51XjtUu+r6uyOjuCi5Z6ieR/ybh+lsGkT85pjw==","shasum":"fd29c56d7c599144278ccbcc5b9219ac347954f6","tarball":"https://registry.npmjs.org/@alpha-manager/core/-/core-1.0.2.tgz","fileCount":3,"unpackedSize":5630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJde42CCRA9TVsSAnZWagAA94oP/iE7C9+HDswQA+IY6Gs0\nLmTCTJRw2gw5/8OMm2DQhmoaiMAJEKyqhh2zXgzp0MTc1+6wyp+0tIKK5VN8\nxmJOGcUYMEX4s+LknamgdOs6J6n2sZrGCb54w2PIhVBYwC4e7LY4bwJyQ+cf\nFwk+v/za12jfyvvj+pnpq6aJRhklSg+VzynUoRLtcuAHrEiaS+BLR0aeprWr\nJzW7BCTbBqBoeTnwneefJUKt/fbpE+fD/Hv8rrhC8cg5AFe193x011wyeqms\n10WW33df9gxnfUmQOJN90kf6jKRJI1DQx7WUEUFpgLJnQuIyIoGOikVQ4ffi\nmirN0Z0TEMPjnvF2Bqtf9YXYmMkHL31+pk2zSF7Stpo5KFYPqXhfLB4kAVYA\n/yAGGOyW6FVA2Tg4iXRSW2dcypA+LdH7vy+lbcAxF9YJGZg0+OUBpB9eQmf8\nfgSOmUNUHK+efHuA3tyQru49WTWqdPPWMUkxvx7HcA0FLdrdDvPlsrqeetKC\nPyUOiiEHngImvNtkv90Imln4yhnhTgN8pgJ1L0wMrEQiC5aoga4l0Tt1Eg90\n8u6ydKkI0N7uLXQ9AYnSKovXZPlM6WwfKiSyfQ7LH3fW8cds80+Yn57eQXrZ\nH5y8VxqZXzt0GQRe/u7aYtWCfKOFXLiNgZa1Uu3XHs00aWO5bYejvEqSaJsO\nUjds\r\n=LRNm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLpl1yVSCnrwZ/vLHzNCtIoOV+qJGR1+EqKpET6laTswIgD6uijt+MnVO5yVIJfOUKxrbQRuXrvOJ9NDaqOzORIR4="}]},"maintainers":[{"name":"andithemudkip","email":"andithemudkip@gmail.com"}],"_npmUser":{"name":"andithemudkip","email":"andithemudkip@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.2_1568378241689_0.7248449491958711"},"_hasShrinkwrap":false},"1.0.3":{"name":"@alpha-manager/core","version":"1.0.3","description":"Alpha Manager is a superpowered utility for creating tasks.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"AndiTheMudkip"},"license":"ISC","dependencies":{"later":"^1.2.0"},"_id":"@alpha-manager/core@1.0.3","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-SJYuKgxtzg7J9Gw1mIo3v4iAwsJEzXOXRC5K9sCk44B0iQ+LVpbTdf8GeEd/KSKnZ6IVuvC2SCNaCM+5Hlp/qA==","shasum":"0b05d941620c117e0c9a3b4807d23c2ec64b7662","tarball":"https://registry.npmjs.org/@alpha-manager/core/-/core-1.0.3.tgz","fileCount":3,"unpackedSize":5836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdfND3CRA9TVsSAnZWagAAUw0P/iLywFXb67PZRju954wv\nIZJSMyZaAnZtUH0oN3L6sqCz+tcTo+KhMrANHi0k7DiKngrq0AuoMRdwGswi\nD5Iva/JYgDh+pk6pSfr9VNqQShp51MyOIGIsU8Ezya0dr6p3jgJrJkXT2Shh\nQIevAET7RObS6w7Z/lJCl5Vc8HbH4BFtJeMO3IEwPVOQl8CpWFcOfAe9VUIo\nB4PKbJytoV017oQ1dQJDkmiO7PWd1ZswWN/xh6EEjhwmPC119D1ff5IlgLPx\nzN3aGzoQVeBvl2qQe8RV6z0g0GlKHWcpA1zE3k3TeWBaq27CM6fOXQV6hEzq\n0B2eoBxvGoSHYfJSfyUAoq5pr31athDlG7pabsl53q8h+QjMEckcPRARCBtS\nbNEMt+At778vEL78Y6mif9F0ylAED7jBXXHpfUZgNB5pjkRNtnXg+D5SY4Pp\njqypK9h+kf6x/M3RE5Xytxr4safXKxHBxgJ/F5C7QRi+TjwXgXo76vkWhuUQ\nFqkdQNpccj/Rjc7BtSgXbwopp7MTwTz9e8W7B5nCOFG1cuQUbFTYdx612eJa\nBTrncfrB1ulC8nkmH54A6P/K93D2IZDDcENJvpm1gRwlj5rTmwqtr6tDjiTH\nY+8ggWYfD6qkymIovGkMlhMKNKRGgYqki8++D4uuCm0/eV26WlqCf3gILVp2\ng9sc\r\n=xJpT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDJb6qT2INzmGGS/plGNZNnQhUHLkcw/2lEUN/+DvlzoAiEAs5QYW1IeLWU5UQkp5w3lOfDeYb5SFfPWe4qFfk8f8hQ="}]},"maintainers":[{"name":"andithemudkip","email":"andithemudkip@gmail.com"}],"_npmUser":{"name":"andithemudkip","email":"andithemudkip@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.3_1568461046783_0.008480417927994699"},"_hasShrinkwrap":false},"1.0.4":{"name":"@alpha-manager/core","version":"1.0.4","description":"<img src=\"https://docs.google.com/uc?id=19WjY3lqAcLrO1jEBJJV73OyY7bAo3n-2\" alt=\"alpha logo\" style=\"zoom:25%;\" />","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"AndiTheMudkip"},"license":"ISC","dependencies":{"later":"^1.2.0"},"_id":"@alpha-manager/core@1.0.4","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-OROxy9/u+3KZPWBfHRRdM3Ld0tnu8N1m7sIfNJPFeS8M6N5ViDQlGfgiTsNGzms2e+XTJJ+WC9bBsPgg+r6ZUQ==","shasum":"e648639b600ba470b08c3243d7bf37be05b4cecb","tarball":"https://registry.npmjs.org/@alpha-manager/core/-/core-1.0.4.tgz","fileCount":3,"unpackedSize":13975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdg4h5CRA9TVsSAnZWagAAEWUP/iMY8rIKVx2a8JLDIn3W\nsMxFfkxw4ALPGeEI9t/ugO7CwbH+i5rnPo3fVdZDuo9OWeECGH6OHNz7gegQ\n5noTjh/G1F/Ud+20a9aZiC4A1SZug4UqywZLzHjQVrNMEQMyHByBrL6kMjmq\nos19jGrHBkMsf8HkfnOo868bq1yL/5/Q16vbNIxgQbVvnnrrwIeS32bM449b\n9hOJUskHk/WLPZ15gATFAHaUSfwvidBSfw8NCZ5vELIhQKwBfVlfaP8u+mgd\nF/M0/BIqrnwDZaxvN9MMNeT5fGq7Yrsf9ykt6MizUYuzfnNY4MKcc5miPbIq\nebs+NDEPhlQPQ8OYrLWsYJH0EgRw4iBGunQ+KfzcGjWO43ylUjVYNM8YGgEv\nncxN7tnLWp+m+NAFeeyaVe7C3YlWt03+CDFZ+W1daOnfCsQJPtZa6JN1jcrx\nHJ3f7iAfeizv/7mzKecUL11YYwvrvyaz6r9/e+yK2iRggFqceFdjb5nAJLf0\n2TV57r7pz1ouc2nwxAIhZnf4sY4CWUTzDzXrsNEcxVOKhCOLB809y8zOxHaq\nG4msI1wMgotSR+B082IVSsQBbDArKPywgBNPsXJVfFwhKEBVWFMDaXmpeXIy\nm/CRbeR+bSboOCVUatZkc+OMWthpIj/vMsvmkUyBQPc43CyD+VPLWj1kAulL\nuIlX\r\n=iID7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDB604hP7Xb3BMeSy1B487J4nupDlmIftHQBG9yxiuSAIgNg9JHGR3ZC0KnsA48KVm6y0M/bRmNNYCbpyyUZkCYus="}]},"maintainers":[{"name":"andithemudkip","email":"andithemudkip@gmail.com"}],"_npmUser":{"name":"andithemudkip","email":"andithemudkip@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.4_1568901241179_0.12742296262466168"},"_hasShrinkwrap":false},"1.0.5":{"name":"@alpha-manager/core","version":"1.0.5","description":"<img src=\"https://docs.google.com/uc?id=19WjY3lqAcLrO1jEBJJV73OyY7bAo3n-2\" alt=\"alpha logo\" style=\"zoom:25%;\" />","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"AndiTheMudkip"},"license":"ISC","dependencies":{"later":"^1.2.0"},"_id":"@alpha-manager/core@1.0.5","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-WwPhaPfp8HUsWdYR1jOnEx0xba0OVf5qsTv7cqsGQwr3iZVsuB4OUYwj+OzV8Fu2q1v3RlhqYEbZ073vQ09QTg==","shasum":"8f80f3de3b5d8e2bbd46e24134d1e725b50f7cc1","tarball":"https://registry.npmjs.org/@alpha-manager/core/-/core-1.0.5.tgz","fileCount":3,"unpackedSize":13973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdg4jOCRA9TVsSAnZWagAAdHQP/0OP+uQcetWPv8hCQ4p5\n2PoVPzmfSFGHPtVNHCDEwOGFVKcdb4MmwQ8T7wWv7d+/9++7oDt/hTuZoOC2\nQqmOEpSnzMPkfXGQaxUNRaQgNO5+iUvH2/7zBd28isNV1V0tf0neg6JU2rNd\nzxivgrC2PLU0bt3kW3pidI3NdWV+7aGs3I7KBwvvnzb2s8Vqev1FexXU/HAu\nZoI59vnQKOQS95CQFvDHwHD60QNDggQUsCSy9OW2+dL/uxZZHzCrPxEXrGd6\nuJeKGJjhZwsBhr31na8UjYU+rrU3gmLN6z7zrHUS9DRx6yN90PLaGNrwtSC4\ngS82b7F6vZjtmRgRxUgbpXa4I2uiyfl+BI1/csOdYawwpr2VdgrCI/4zWP2N\nb7vIf6L90ADuRubw1GGujkAB5pyTf0EiO5t8qVcYu6+8rvDWL54aD1tNG53G\ns2GHlgbcOonID0KuGri7KxDHPBd+qVinVwQ16QcED36Hi0acYpux2QseJlnN\nUsDG6ZHamyW+k/VtKCv8H8Xm8h77sqG6TqsJs2+QhWL+OX9c/FdFGVH2rXS4\nTCwzTEjWLNR3vp04LENCdcNg5IXNocqJq2qdtIB/8anAQtSccjobMDMBkknQ\nkaOd6Ra1CO54QwYkkx2SsSBXQ5Y3Icy0bXqLywWKphkLUNKfg2hTPVcon13E\nIE13\r\n=ryPa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCceLAUnZMao6i0e1Hxc18oapowNAnH4cXCoGdeBrrlQgIgXIPUqhyGTeUxlYV5UQnIyWUOAinmzr7xZI870iGyzb4="}]},"maintainers":[{"name":"andithemudkip","email":"andithemudkip@gmail.com"}],"_npmUser":{"name":"andithemudkip","email":"andithemudkip@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.5_1568901325622_0.34343256401441"},"_hasShrinkwrap":false},"1.0.6":{"name":"@alpha-manager/core","version":"1.0.6","description":"<img src=\"https://docs.google.com/uc?id=19WjY3lqAcLrO1jEBJJV73OyY7bAo3n-2\" alt=\"alpha logo\" style=\"zoom:25%;\" />","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"AndiTheMudkip"},"license":"ISC","dependencies":{"later":"^1.2.0"},"_id":"@alpha-manager/core@1.0.6","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-SPdo2XMMkcS83HwUqfb/jX0Jhf5vUBarEb4cutxdv2ERd4+9KiMRgV86Iby2hLd4ni8AlkduYPuNS0AgV2ZA8Q==","shasum":"06dfb806b7b8beb1a3c6f92435de8aa186d874ba","tarball":"https://registry.npmjs.org/@alpha-manager/core/-/core-1.0.6.tgz","fileCount":3,"unpackedSize":14013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdg4olCRA9TVsSAnZWagAAm2wP/3O9iR6TP+KJccZLvHaq\n66TGhMLI4OvNaZwcdPQ+iGow+c3MPbQztR8H8tf8eGi9Q0V9pHfS+e5k7Wb1\niyWpYHfw0flaMptEH9Vn/umWydOM6MgFKmpQPVja/FQlzQLCJbs7QSgBibvS\nAF0f/ki2NT7a6aFuYuy2amDGe0D/5By+ZQ0fTgaydNh0XXh2IaR41I8xqLYe\ndh4CF8OJVs1xnRhdV0Obkk4ASKIjQg4s7iRkVhfBa6kNvczkAREe7s+oRilB\ni3kTIBi4e6xRMWOxw/zdniru/psNz33gIgCtMylTZRcpvUcCBANDyRB6m0yg\nMe6MyVo5wdyZjKzvjwrISAX6XoeiHwa5oJ/Ioky4OTrfjSFc20yDPkN4RvfF\n0nCX9VtBBXtEdtllqevb9AizHUD3RLnwWxx3vHxtmGNvCL6MpYoMZVJ9RzL7\n4p4uRKzwCVvb2YESY8PvEhdH+hMgJRlRaYxNZ8QLFIGdbm91EyLkXT+DnwcF\n3QgxTYl+NXzs0T7hb0hw6qPip8GI5FRZ8r7EhPNRbp8uSue1FcHsrenVE//8\nm8HO6QSFJNIWBWR9HITtVu9BVHqlnjrxEUPL270e3HeDCpJ8Ogmrcd2RH4OY\ntRi+MTYe0RMef1DgoC1jzqWnmjAbPxAnPVdGExJpXS7QHTjqMDZZBtDK+mN5\n/2GY\r\n=Bvo2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEa1oYPVC2rSTUkw7tLDJkC0kiP028aR7zJnpXo5zm/ZAiEA8tHJ8IBQeiJ7xn/KxLZlzOyBj1EJi+cMCnBWClvE0fQ="}]},"maintainers":[{"name":"andithemudkip","email":"andithemudkip@gmail.com"}],"_npmUser":{"name":"andithemudkip","email":"andithemudkip@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_1.0.6_1568901668942_0.4650948657877052"},"_hasShrinkwrap":false}},"time":{"created":"2019-09-13T11:32:19.799Z","1.0.0":"2019-09-13T11:32:20.164Z","modified":"2022-04-04T13:37:59.358Z","1.0.1":"2019-09-13T11:33:51.441Z","1.0.2":"2019-09-13T12:37:21.829Z","1.0.3":"2019-09-14T11:37:26.945Z","1.0.4":"2019-09-19T13:54:01.315Z","1.0.5":"2019-09-19T13:55:25.761Z","1.0.6":"2019-09-19T14:01:09.062Z"},"maintainers":[{"name":"andithemudkip","email":"andithemudkip@gmail.com"}],"description":"<img src=\"https://docs.google.com/uc?id=19WjY3lqAcLrO1jEBJJV73OyY7bAo3n-2\" alt=\"alpha logo\" style=\"zoom:25%;\" />","author":{"name":"AndiTheMudkip"},"license":"ISC","readme":"# Alpha Manager [core]\r\n\r\n\r\n\r\n<img src=\"https://docs.google.com/uc?id=19WjY3lqAcLrO1jEBJJV73OyY7bAo3n-2\" alt=\"alpha logo\" style=\"zoom:25%;\" />\r\n\r\n## Introduction\r\n\r\nAlpha Manager is a superpowered utility for creating and scheduling tasks.\r\n\r\n##### Key features\r\n\r\n* Friendly, chainable API\r\n* Only 1 dependency\r\n* Support for interacting with social medias\r\n* Compatible with [@alpha-manager/web-interface](https://www.npmjs.com/package/@alpha-manager/web-interface), a web interface that allows you to manage your tasks from any device, using a visual interface\r\n\r\n## Getting started\r\n\r\n### Installation\r\n\r\n```sh\r\n$ npm i --s @alpha-manager/core\r\n```\r\n\r\n### Quick Start\r\n\r\n```js\r\nconst alpha = require ('@alpha-manager/core');\r\n\r\nconst simpleTask = new alpha.Task ()\r\n\t.do (() => {\r\n        console.log ('this code will be executed every 5 minutes');\r\n    })\r\n\t.every (5).minute ()\r\n\t.start ();\r\n```\r\n\r\nYou don't necessarily have to chain the methods, but this is how Alpha was intended to be used.\r\n\r\nFor example, you could\r\n\r\n```js\r\nconst simpleTask = new alpha.Task ();\r\nsimpleTask.do (() => {\r\n    //...\r\n});\r\nsimpleTask.every (5).minute ();\r\nsimpleTask.start ();\r\n```\r\n\r\n### Scheduling\r\n\r\nAlpha uses [later.js](https://bunkat.github.io/later/) for scheduling, so I recommend reading their docs for more info about it.\r\n\r\n##### What Alpha does is harness the power of [later.js](https://bunkat.github.io/later/) while making it more flexible, modular, and friendly.\r\n\r\nYou can also use a **Cron** expression, instead of the chainable functions. For example:\r\n\r\n```js\r\nconst simpleTask = new alpha.Task ()\r\n\t.do (() => {\r\n        console.log ('this code will be executed every 5 minutes');\r\n    })\r\n\t.schedule.cron ('0 */5 * * * *')\r\n\t.start ();\r\n```\r\n\r\nis the same as the one before, or you can use the **plain text expressions**, such as\r\n\r\n```js\r\nconst simpleTask = new alpha.Task ()\r\n\t.do (() => {\r\n        console.log ('this code will be executed every 5 minutes');\r\n    })\r\n\t.schedule.text ('every 5 mins')\r\n\t.start ();\r\n```\r\n\r\nI strongly recommend reading the [later.js](https://bunkat.github.io/later/) docs, because that library is at the heart of Alpha.\r\n\r\nWe use the `.start ()` function to schedule the task.\r\n\r\n\r\n\r\n#### Pausing / Resuming a task\r\n\r\nA task can be easily paused and resume by using the `.pause ()` and `.resume ()` methods.\r\n\r\nAlternatively, `.togglePause ()` can be used if the task needs to be toggled.\r\n\r\nTo find out if a task is paused or not, we can look at the `.isPaused` property of it.\r\n\r\n```js\r\nconst myTask = new alpha.Task ()\r\n\t.do (() => ...)\r\n    .every (1).hour ()\r\n\t.start ();\r\nconsole.log (myTask.isPaused) // false\r\n\r\nmyTask.pause ();\r\nconsole.log (myTask.isPaused) // true\r\n\r\nmyTask.resume ();\r\nconsole.log (myTask.isPaused) // false\r\n```\r\n\r\n\r\n\r\n#### Immediate tasks\r\n\r\nImmediate tasks are executed as soon as `.start ()` is called. We can set a task as immediate by calling `.immediate ()` on it.\r\n\r\nWe can find out if a task is immediate by looking at its `.isImmediate` property;\r\n\r\n```js\r\nconst myTask = new alpha.Task ()\r\n\t.do (() => ...)\r\n    .every (1).hour ()\r\n\t.immediate ()\r\n\t.start ();\r\nconsole.log (myTask.isImmediate) //true\r\n```\r\n\r\n\r\n\r\n### Receivers\r\n\r\nIn certain situations you may want your recurring function to pass data to a receiver function once it's done, this is useful when interacting with social media platforms which we will discuss later.\r\n\r\nTo add, or `subscribe`, a function or platform to a task, we use the `.to` method of the task.\r\n\r\n```js\r\nconst simpleTask = new alpha.Task ()\r\n\t.to ((actionObject) => {\r\n        console.log (actionObject);\r\n        /*\r\n        actionObject will be\r\n        {\r\n        \tmyProperty: 5,\r\n        \tdone: [Function]\r\n        }\r\n        */\r\n    })\r\n\t.do (actionObject => {\r\n        console.log ('this code will be executed every 5 minutes');\r\n        actionObject.myProperty = 5;\r\n        actionObject.done ();\r\n    })\r\n\t.every (5).minute ()\r\n\t.start ();\r\n```\r\n\r\nAlpha automatically passes an action object to the function you give to `.do`, all you need to do is add your own properties to that object and call `.done ()` on it. That object is then sent to all the receivers of the task.\r\n\r\n\r\n\r\n##### Adding multiple receivers\r\n\r\nWe can do this by either passing them all to `.to`:\r\n\r\n```js\r\n.to (myFirstReceiver, mySecondReceiver)\r\n```\r\n\r\nor calling `.to` multiple times.\r\n\r\n```js\r\nmyTask.to (myFirstReceiver);\r\nmyTask.to (mySecondReceiver);\r\n```\r\n\r\n\r\n\r\n##### Unsubscribing receivers\r\n\r\nIf you need, you can later unsubscribe a receiver function by calling `.unsubscribe` on the task and passing the function/s to that.\r\n\r\n```js\r\nmyTask.unsubscribe (myFirstReceiver);\r\n```\r\n\r\n```js\r\nmyTask.unsubscribe (myFirstReceiver, mySecondReceiver);\r\n```\r\n\r\n\r\n\r\n##### Events\r\n\r\nReceivers can send events back to the task, this is useful, for example, when a platform has posted some content and it needs to send back the post ID and whatnot.\r\n\r\n```js\r\nconst simpleTask = new alpha.Task ()\r\n\t.to ((arg, sendEvent) => {\r\n        console.log (arg);\r\n        sendEvent ('customEvent', 'Successfully console.log-ed the action object')\r\n    })\r\n\t.do (actionObject => {\r\n        actionObject.done ();\r\n    })\r\n\t.onEvent ('customEvent', data => {\r\n        console.log (data); //\"Successfully console.log-ed...\"\r\n    });\r\n\t.every (5).minute ()\r\n\t.start ();\r\n```\r\n\r\nA task can have multiple event listeners, depending on what the function/s and platform/s passed to `.to` send back.\r\n\r\n\r\n\r\n#### Naming a task\r\n\r\nTasks can be given names by calling `.name (str: String)` on them, which will set their `.displayName` and `._id` to that string. This is especially useful when using the [@alpha-manager/web-interface](https://www.npmjs.com/package/@alpha-manager/web-interface).\r\n\r\n\r\n\r\n## Platforms\r\n\r\nCurrently, the only official platform implementation is the [@alpha-manager/fb](https://www.npmjs.com/package/@alpha-manager/fb) module, which is a feature-rich wrapper for the Facebook API that can be passed as a receiver function, you can read more about it on its NPM/GitHub page.\r\n\r\n\r\n\r\n#### Creating a platform (advanced)\r\n\r\nIf you wish to extend Alpha and create wrappers for different social media networks, you can do so by extending the Platform class.\r\n\r\nFor example:\r\n\r\n*(Twitter doesn't have a module yet, but it should in the future).*\r\n\r\n```js\r\nconst alpha = require ('alpha');\r\n\r\nclass Twitter extends alpha.Platform {\r\n    constructor () {\r\n        super ();\r\n        this.name = \"Twitter\"; // used by the web interface, can be left blank but it is recommended to give your platform a name\r\n        this.requiredConfigs = {\r\n            consumer_key: 'string', // can be any type supported by `typeof` OR 'any'\r\n            consumer_secret: 'string',\r\n            access_token_key: 'string',\r\n            access_token_secret: 'string'\r\n        }\r\n    }\r\n    onConfig (obj) {\r\n        // do something with the config object\r\n    }\r\n    execute (actionObject, sendEvent) {\r\n        // this is called everytime the task runs, do something with the action object\r\n        // that the user created and called `.done ()` on in `.do ()`\r\n        // you can also send events to the task by using the sendEvent function,\r\n        // for example: sendEvent ('error', 'something bad happened');\r\n    }\r\n}\r\n\r\n// then the user can just do\r\n\r\nconst twitterPlatform = new Twitter ().config ({\r\n    consumer_key: '',\r\n    consumer_secret: '',\r\n    access_token_key: '',\r\n    access_token_secret: ''\r\n});\r\n\r\nconst myTask = new alpha.Task ()\r\n\t.to (twitterPlatform)\r\n\t.do (obj => {\r\n        obj.done ();\r\n    })\r\n\t.every (5).minutes ()\r\n\t.start ();\r\n```\r\n\r\n\r\n\r\n## For the full experience, I recommend you check out the other modules\r\n\r\n* Check out [@alpha-manager/web-interface](https://www.npmjs.com/package/@alpha-manager/web-interface), a web interface that allows you to manage your tasks from any device, using a visual interface\r\n* Check out the [@alpha-manager/fb](https://www.npmjs.com/package/@alpha-manager/fb) module, which is a feature-rich wrapper for the Facebook API that can be passed as a receiver function\r\n\r\nAlso, you are more than welcome to contribute and create your own modules that work with Alpha!","readmeFilename":"README.md"}