{"_id":"@rivalis/core","_rev":"162-7e69116277af6cf6cc375e9bc0717d20","name":"@rivalis/core","dist-tags":{"latest":"8.0.0"},"versions":{"0.0.1":{"name":"@rivalis/core","version":"0.0.1","keywords":["rivalis","game","multiplayer","server"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@0.0.1","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/kalevski/rivalis-core#readme","bugs":{"url":"https://github.com/kalevski/rivalis-core/issues"},"dist":{"shasum":"85e854434591416fe040210fefe38b971074ad6c","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-0.0.1.tgz","fileCount":13,"integrity":"sha512-VOwAA2cqMgxB2ykMbVCIbT5C4KMTSNv4f76dr2DcpHnBVqq3vDoE/qx2are+gBB/L1PTd9C3FxjUagXJg/DvCA==","signatures":[{"sig":"MEQCIAbOjDIpL5oxH077MoTjcoeBDFoPu9ebNksH7NiZfSykAiBZ0/KcVxqOpmJBVLbivdtrt1JU3NWOH7WipvI6f1r5bQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0mAgCRA9TVsSAnZWagAArGgP/1xH54PDRnZY/LyJLnGk\n14dXXsu11yJUL1HR20Tw5sVKbQAm12E1CZYpfuhBanSHv+hxEP3AShGHLDhG\nA1vWq25juT+hRpQEils+RUoD89kERLI1EbdIStyOmskve6RYaKu555MzRmix\nOgcY54+vPznhLBfr92LFOyQhVYXMvAh8v1Rh3fMfp++FdCgXZE7w8BRbDhOB\nQc8dal01nS1cGiELZ2mqVAfQpOIgEtwzPqdUuU27GwkuRPnkvJomn8VfPe2k\nbFYeHT9oXjYFT57vpfMyHWelhx7r8xy65aWo8ari8YNFOhdypY5+DCwfO7LE\nO0yFzGGThrO0kxP6el1xWA2TOlTDluuC0Rt9CMIhmXHb3SD63shn2Ibm4u3G\nwqA7q8H1ZGSVTm5JgcER7MBgwHCyunKNaP8VhFyQ+KWdk1ti0XFClH3oa5x6\neNAyKwv5bLpm7YM/Z30KbZFhUy8fdC99/bqXdmjVPrDHf/8N/sv5uhLJdG07\nlBZIHa+8kotl6r16Yl6Cahst/OPcI9FuFZ2xFLuyWsYmZGwAX4RJ1qP/Ob5L\n4UQLckKBUyHDekHsG31BFpwiHSMnhWasQYCGTxU/XiyiB3eZFePV+nTdxyaA\nXRLMDJOnwanZGH+nHkoN2gIGT2rnV3QL7VqJEHpRSodGfqfPAPqgdB2LdXh1\nFrMD\r\n=B+OS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"d1f1f14bd36111c9ef18968f0f17c026e7da9cc2","scripts":{"dev":"npm run test && nodemon -w src -w example --exec babel-node --inspect dev/index.js","test":"npm run test:linter && npm run test:unit","start":"npm run dev","test:unit":"mocha --require @babel/register","test:linter":"eslint src","prepublishOnly":"npm run test && npm run prepublish:build && npm run prepublish:typeGen","prepublish:build":"npx rmdir-cli lib && babel src --out-dir lib","prepublish:typeGen":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/kalevski/rivalis-core.git","type":"git"},"_npmVersion":"6.13.4","description":"Rivalis, scalable & scriptable  multiplayer game server core library","directories":{},"_nodeVersion":"12.16.1","dependencies":{"md5":"^2.3.0","uuid":"^8.3.2","signals":"^1.0.0","eventemitter3":"^4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^8.2.1","sinon":"^9.2.1","eslint":"^7.15.0","nodemon":"^2.0.6","@babel/cli":"^7.12.10","@babel/core":"^7.12.10","@babel/node":"^7.12.10","@types/node":"^14.14.12","@babel/register":"^7.12.10","@babel/preset-env":"^7.12.10","@babel/eslint-parser":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/core_0.0.1_1607622688000_0.3279457051941561","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@rivalis/core","version":"0.4.0","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@0.4.0","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"67691877aa941a6f040eb7ae6eddbd2da72cad35","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-0.4.0.tgz","fileCount":68,"integrity":"sha512-iuD/tVA4fmz8+oqz6egAMJT0VdA48ElEwG5pB1An+ZIlplPvFlL2nMKcl5sCwJIKJ5DOp3DDGBO8Svnf6GPJ1A==","signatures":[{"sig":"MEUCIA5mRQ3Ebxs0r0d/PeGi9Fz7X2+Xi88n+Xh/PJtc36NwAiEA/80LVM/D2CHB3EH0DsSK0SsJUJNFyEp2LL04mIWpfGk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":142117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLE5uCRA9TVsSAnZWagAAb+0QAJTdd/53lXUiKnANdLDb\nbyjYP0PelHy9iPyPLmqLt7p5RJrSRtS5jYm3GI89kWo5tQQJIqEiuUS95vfm\n37nqS83tTlNV5ySTYRNSQ4fKnT8k7j3suK0WZj1kxkbljyTeEYTs+pFTi40E\nCtHSHz5vSUZH94vGnP0ADB04avWWG6kiNNELvhdVQN97QLWKaVYNT3jEJ0o7\ncccdQc9MdEOqfs6AaHDUHaqjn0pMwoDfRQKRu4qpFmWJmimzMHpSkCywTJ0D\ngxzGvgOmOL4B2cFOPH5qnUcjJXYCO7nygxhBt4lddd6Q+4ntekMfmb4VEC0j\nSCkF0gOVfIr7CA/yRZd60OMeWSHXNcfL9CYp74ki0KlCy90spk6LmLT1CI9K\nzrcSERxSvN2w50PYM0YfTlSRAtlJnQ3UOzrdr6Kf1syEG8PalD64UXKRRklP\n7SirGbZKKfxtDP+VVhcbCIaZRbjog9RiuZdfEkvpHEcmfdsTjilm/1P4Nn+o\nCyg9RBbz0yjIUP7tHX2i45IfrczuKcK0xfKjuy5w0l7FekNG4q6A+UotmhAM\n5JSx2vv/7MX2MVS4fxBU5RDTQVhLDTGW8NV63onJchbJBYSDgwRz3jFkervU\n224GhsB3KcNjAzkgBilPfcBS0HWlhDbc09E1iVF/g349qAhBqg7sKTxj7/mj\nSEOL\r\n=U+M3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"85329f238082bdd12e721baaece0f96f63898888","scripts":{"test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"mocha --recursive --require @babel/register","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.10","description":"Rivalis, scalable & scriptable multiplayer game logic framework","directories":{},"_nodeVersion":"14.15.4","dependencies":{"uuid":"8.3.2","signals":"1.0.0","eventemitter3":"4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.0","mocha":"8.2.1","sinon":"9.2.4","eslint":"7.19.0","parcel":"1.12.4","@babel/cli":"7.12.13","@babel/core":"7.12.13","@babel/node":"7.12.13","@types/node":"14.14.25","@babel/register":"7.12.13","@babel/preset-env":"7.12.13","@babel/eslint-parser":"7.12.13","@babel/plugin-proposal-class-properties":"7.12.13"},"_npmOperationalInternal":{"tmp":"tmp/core_0.4.0_1613516398190_0.38883076402326755","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@rivalis/core","version":"0.5.0","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@0.5.0","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"d9d7e0fd80be3c83a074732cd2da4de73b1fba13","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-0.5.0.tgz","fileCount":95,"integrity":"sha512-5dAlKUBwfgZVhNCCMMFM07JU4azC9v2iYq9Pn1u9AAuMpLWD4CGQDNAn/E4RVfKi6kNJMCfOF2OSAk5g5BSjgA==","signatures":[{"sig":"MEUCICExmErd4vuaOnkvOu+Cbxt3av7eEllTKGRCeHnp4KROAiEAq3PKBAVQXv1PxA2vAcbsh7gbfhLVNXaGgoYsmvpeQdQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0z/hCRA9TVsSAnZWagAACb4QAJU/BIgP5Et8xCZRbOCd\n0Hq1R+buAUpN9cTf7i3aJE+dJT5Ds7N098mmqGpJugRQwEMMxJ0fKdTGCoXq\n3D5a5SxA99MTUdQgtGQUIyI3FkpdduH+8ZL3JcTY9/i99HmrtavRDiPGfY+m\n3J5D+pvr4172qMh7c4y3G9rfFEZ5CEAQIr2Poftd0lYuyR8wMkERus6iposJ\nbWZlzsPN184UlNp9tNJnrMCSuOnVm1FdQM+7a/UTViBc4z/VgnHeiEF6GuH+\naIa4tgAyfUXhHGZhnm2lG3Yx5gscHgeq+GPC5xTMRXMT1xDqXo9Nq5U1+4up\n0icRVHGYYGFcqsSMI3wBqH9qXMnw9jtK2olS4Ai6BcISK4ZsdOR6iUPGzru4\n5rnU+dzbX9T+FDXrDS9M/VTceHyrt8ZiEKLrS7zZ1INn0wE2HBYtpAn9O8nj\nbQ7Hb5mp0YG3otn7gAAh4yKN3wuWLj0y4d6Sh4uVQ4atD1dvzqDvHAQhF2MT\nX14r1iFiuyADQcl42jEtLT6rFeJS0GIIyV0tTMHw+A+CDWUj+oRRmfEUkGQo\ncp7BQ+SzQz5R4F2Ksy6b8p4lT5jFR/SlqDfp7FLWdS8MVv7R1w7sUgOUTDfv\nVdgOqvZ+YzkeeQR3f+MKjlngG+qYJfherqSIVkgp4lTuDN73zwf86P8G9dHL\nRwIx\r\n=v52v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"bc99360498321bb1f3c4ed7d01b736beba1c357c","scripts":{"dev":"nodemon -w src --exec npm run build","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","start":"npm run dev","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.13","description":"Rivalis, scalable & scriptable multiplayer game logic framework","directories":{},"_nodeVersion":"14.17.0","dependencies":{"eventemitter3":"^4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","jest":"^27.0.4","eslint":"^7.29.0","nodemon":"^2.0.7","@babel/cli":"^7.14.5","@babel/core":"^7.14.6","@babel/node":"^7.14.5","@types/node":"^14.17.3","@babel/register":"^7.14.5","@babel/preset-env":"^7.14.5","@babel/eslint-parser":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/core_0.5.0_1624457185022_0.607568744490731","host":"s3://npm-registry-packages"}},"0.5.5":{"name":"@rivalis/core","version":"0.5.5","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@0.5.5","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"f001eae68bfda4c8f815e651f929a79430d6af26","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-0.5.5.tgz","fileCount":98,"integrity":"sha512-1Wcl1kZrtehL75Jq9yyjior7LO5MO6hvmb2BKDbkVUVqiPnP9AvDCWxIYrtkOY6Ume/7RISy1GRJl9shShUf2A==","signatures":[{"sig":"MEQCIFtm++UxgvFS/mkQMO1Z8zENO0FdPshFsoxTeYWfcOSoAiAA37pKEaMjDu92Ds8pEihyWpwybGToepPqEMrlmd7eTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1RcACRA9TVsSAnZWagAASBcP/1NQ69aQVs3t5A83/xEu\nGdZGVz6N3kDtRim84j4j8GIB69NtLhsvPmhrVTxSb7gqFlmN6BJNOuRQo0LG\nT/dYvMY0YavP+6duKBLAecUWm9Ctu8R7uwGMM1qI8Ahzh0b0fi76VoOUdlzY\nA0sDewqmZOy7VkZgpcb73kEcg34kMP2UrRWcp1GwQUDjyWrJD2jgOHfhJdzQ\nx0cdlcA07yIWQrwaCZyBqHTubdBfUtUDp5A6MiMCPF9/DItsqi91WuWnZhkW\nOjaAQX6f+nOka+JBvXpBsQQzWzEzknwlLaEkjkyXhvkKpLT/FOjZunnPQyqF\n4P996//qpxsetlzqzJ6/eE5p43vqrwjWFnLf/+RY6uI3FkVjgvBqCyKRh2HW\nOsijI/vozxHWN8ulNzg8vO+7ESvxCNfEaBdMvVlNYhWV6g9OugR6rzG4QGdQ\nOGaCa6l/F6k5xftbiOTkdkru6S0IMIXe2vSQGk66r8mDIWWVIPdHRbSPpRzx\n0IhbZfZJ+Oe+Kf4u53Fp8RLpAQtpthVal5G/eirkwkYOdgEUU0YJv2OHEXq4\nvsHd2unrNHi9HjCg0YPpZdzmY1lJPDFbS1x/VFwGbaRsCoG39SYXQ6tgMmdN\nUhwfWJ0Xm7kuAhtPZmY2vuMpUKUepG/NxvtB9QeMH3IdrK2dcxVHZ0qrGoZM\nYKAD\r\n=oZEe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"348970ec5bc54a614dfd57becd7d3f7da6ce0c73","scripts":{"dev":"nodemon -w src --exec npm run build","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","start":"npm run dev","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.13","description":"Rivalis, scalable & scriptable multiplayer game logic framework","directories":{},"_nodeVersion":"14.17.1","dependencies":{"eventemitter3":"^4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","jest":"^27.0.4","eslint":"^7.29.0","nodemon":"^2.0.7","@babel/cli":"^7.14.5","@babel/core":"^7.14.6","@babel/node":"^7.14.5","@types/node":"^14.17.3","@babel/register":"^7.14.5","@babel/preset-env":"^7.14.5","@babel/eslint-parser":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/core_0.5.5_1624577792312_0.7435070323368334","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@rivalis/core","version":"0.6.0","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@0.6.0","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"f6f66aa34f700db0f737c289cea2e0e2ef3e1981","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-0.6.0.tgz","fileCount":105,"integrity":"sha512-Mq+g7ASZl4peRfrpcg5XnyDZ9WQLV7Vrt16QLDPn+IBvOAAClrpkA+XN9NuMWaGp1+zco3P0S2VQcpYDxGpTCQ==","signatures":[{"sig":"MEUCIQCtp/i+e1MdvfQmjYHsTWS3PZoL5sawgdJEhQSUuOMo1QIgCaFOyCEcEDs9aECP/HpZpBUo+okSvHrLlZ40W4Nvy1Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":195098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1fAECRA9TVsSAnZWagAAHkMP/1E9/vszzZ+xF/iFxt8r\nkFiT5a23zyVb97XtWvMbIN59BKTZ730GrRN0olQ2RNnKHUYxZAAhzacwCs8t\n0ULkB0fsaXvCaJPWFEOxYSPQbViz+wzZKuwnRMjOaEcHfHFYXk/kYAP+vVkj\nFIxmSNksBneUqGUMbkBvuXELdoa1po1o2ZGdJsgUrglRGieQy7tIMKjE3Z3b\nVWvpBk2UwlxabPm3Pfs5WYY3MnpucdAeF8W4lNq8Dg2P3T21xle+sZ15q5MY\nnngr43iCcAsCMSLPZMtFeE+20/TbsKGUuYr9fF5cNiOUQr3Pun4jwiNPhnJY\nC/ZhnCrZCxdigH38b+hjjEJr1swvJTswGcdW6Iw+t6ZTDweqIcbR2I8a90Vk\nOpoDvS0JXYUzjQFKTBbFjeUvtTHT7m8upoo4vbRmRYDMpVKzhY4vzKiE0uaQ\njDLbXmIesKn6auLGbgQDbGAyLaYHFPTm+vljqzF3h0tpw8xsq4a71/KQ0mAK\nIB4C3n3Xf3F//fqrqsE2CVVTizikmPiztxqgIAYYIKoNA0t4q7toy6FlBMIW\nyvuALA21CIw+wxVZtcdDg5OqWX4nB7na3bmPYvjGmQK/Lb7cfMo6QeZYNCBv\nswcVna2s1ZqLRmH2Vd7FAWMIoyAtRmuH0GuMUmZgIK2+MaPOPOr8EahBvNqx\nkvEd\r\n=TsjD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"11bf39065b51f3ca65a7117313bb5dbcd1fedf1a","scripts":{"dev":"nodemon -w src --exec npm run build","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","start":"npm run dev","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.13","description":"Rivalis, scalable & scriptable multiplayer game logic framework","directories":{},"_nodeVersion":"14.17.1","dependencies":{"lz-string":"^1.4.4","eventemitter3":"^4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","jest":"^27.0.4","eslint":"^7.29.0","nodemon":"^2.0.7","@babel/cli":"^7.14.5","@babel/core":"^7.14.6","@babel/node":"^7.14.5","@types/node":"^14.17.3","@babel/register":"^7.14.5","@babel/preset-env":"^7.14.5","@babel/eslint-parser":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/core_0.6.0_1624633347859_0.9084051578348202","host":"s3://npm-registry-packages"}},"0.6.11":{"name":"@rivalis/core","version":"0.6.11","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@0.6.11","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"551665c99d68355326a383a6634bc79a7ba3db89","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-0.6.11.tgz","fileCount":107,"integrity":"sha512-qgT9h/ot6eV9Y94A/jbVXx4qqZ0AR/gMFgFcJafcO4ubiidhDkEd8vSbpEy42HLiGIY0pY0Axz2CbPMNBOsDAw==","signatures":[{"sig":"MEYCIQCfFZl+nEpb0z+lsilynR2ljyFAUO2c5NKb3AB883yOfAIhALGP52W9aNNVO3wWyKgZ8lJLhEECuI7FE6/CGQW2PjAM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":198308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3InICRA9TVsSAnZWagAAK3wP/j0gRQkRx9o+CWOp6GHE\nrF5i+7a9jtD8CBNu4qlJ9Iz5v4LZTaSme8A5xePDvRTiUhFOtEg/NeMGOYaY\nrS8pQJaDU/Nf1q4nRKuXQZ0f+YBIaK/CZ4ASd7KSVJY4T8XdIKQcYWyOQ+y7\ns/qTGlXmOelAJxW7y5SicOogI24oA19npeBQg/ikAScqc2EGpiHZJ27MiSFD\nUZD/xIAY4BK+fLZVqdhyk/Q/S8mGmb1SrOBl5kyPHaZSHrxt/4yG8CQlJ1zR\nWUNnmM0al9w4utyav4RSELb8iT/ME9huUjeOBHmfoPgqX2LLlB+4ii+67vOl\nahvt8o3XWggXHZirwOC5Osd8oyAHc5st//nErQqvMugRjA6D+QmDjcg0PvM2\n827dMNds3Dvg/1QESY9BXV1CIskjEpQi150T94QFZwPiGkfaGg+e6qiIZSE3\nbmum5Ht5xwMeIwyLomG4EtjdP+n147icXGb+t58CFpu5mhj1rtLeVObQHutm\n3nNJ/c8GUvn4gkGG9IInltqzNSl8H5ZZY3+KphptgswQpivE5BOYdJ6NNz4Y\njvMlxu9Y2bcJgTeuDwCMd1HCU0Kh+nZ/pIR0wMYNzxoZETsWWMmQli/Mu5CR\ncbFsO6TXKgBiXvc7zaufLjnUGXFrncT/OGtg+Ljaux+QcyesoIX+TpIuPyoV\n7Nwz\r\n=TpD8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"96b5654d4c5e53073173f1fbe0754cb51a9f5357","scripts":{"dev":"nodemon -w src --exec npm run build","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","start":"npm run dev","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.13","description":"Rivalis, scalable & scriptable multiplayer game logic framework","directories":{},"_nodeVersion":"14.17.1","dependencies":{"lz-string":"^1.4.4","eventemitter3":"^4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","jest":"^27.0.6","eslint":"^7.29.0","nodemon":"^2.0.9","@babel/cli":"^7.14.5","@babel/core":"^7.14.6","@babel/node":"^7.14.5","@types/node":"^14.17.3","@babel/register":"^7.14.5","@babel/preset-env":"^7.14.5","@babel/eslint-parser":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/core_0.6.11_1625065927544_0.06957896262241126","host":"s3://npm-registry-packages"}},"0.7.16":{"name":"@rivalis/core","version":"0.7.16","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@0.7.16","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"010e7a430318f39fc9df5de2aed43c0e1d4acfbf","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-0.7.16.tgz","fileCount":119,"integrity":"sha512-0GMMw4fXoXKqkclUu5VaEXczkmvyZRTnrGSUIToyYFp03+FYioJyjmBvIKjJcnh1ao9Bu67Ay2MWPuhAINjfgg==","signatures":[{"sig":"MEYCIQDo3iwEmEUhdoqk0Sw7JD/JrRBSdhPmem14M7uMeXN5cwIhAPMYSGO8we8im05cfQSvlBwmskq2ncb8gIRS8Xnn5EWv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":217111,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4D4tCRA9TVsSAnZWagAAqIcP/RqcqJpKTHLqGVBKY7xA\nba0de6cIzbHXo1Cv8tMgAlamURv8ymmxHOcn/K6EysrcuLhPG4nfsusOnHJt\n9U1/Cy9j56ewKGhXYE/B2fDqCap3VcxwQDE90rmryVHc7IycLUs9bq1mgsbk\nPEAf+dW3tekesHLWSNAzinP2oqQpDnGl3jNzkRGgNYvg1LJHosyIR0afF0Nn\nClmUm9mRKj2kpiD0KlRO0AK8eft/MGOPKE4T0JlzXYE6nPt7eq9SlvTxNl9o\n6Isr0Nnapff7icVTuErTf0c14pk3OBYnIYQ8icD/n4Jm/zVP2wxMEO3uPucE\n9SCqY2vo6F9hP6NdlRc+DaqTOdBgGk3RIm8NPIlg45BpxwsOam40ul8kq7Nb\nD4GrewRhH1q0IUoEqrheMY3TEX6FiIPiW2oaBwEbuDG0tRBI4yGukCqb+V+z\nwLsAJQm+ZdNAYyP2Agu/iJz2eq0gisU8cY3e1B9X2e/HkO8a8zlZIhSTlGM0\nhW8NYcJWJUL2pkGHMXHe+X5QIGm48s3H5NyCWkt4fXdoDM/OxJfOj01WiN/E\nRDhKQqMsvTOkBZKtnjJBDXEzQfOFuREw145rrwDVuBg8QWDWeWqd5bu+rXm+\nKnKCDNmKzdLFUpr3vV5C5S+6mxhXEdudVlkr+simxiETj2kggYtvCakXIh6t\nDIsC\r\n=KUPW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"d1da783204f53de72ed5c872c420a1d16c5f7dfc","scripts":{"dev":"nodemon -w src --exec npm run build","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","start":"npm run dev","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.13","description":"Rivalis, scalable & scriptable multiplayer game logic framework","directories":{},"_nodeVersion":"14.17.1","dependencies":{"lz-string":"^1.4.4","eventemitter3":"^4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","jest":"^27.0.6","eslint":"^7.29.0","nodemon":"^2.0.9","@babel/cli":"^7.14.5","@babel/core":"^7.14.6","@babel/node":"^7.14.5","@types/node":"^14.17.3","@babel/register":"^7.14.5","@babel/preset-env":"^7.14.5","@babel/eslint-parser":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/core_0.7.16_1625308716401_0.9160696172995877","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@rivalis/core","version":"1.0.0","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@1.0.0","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"0111519d54bc54070693de86fc9a8bc5fa1f6a48","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-1.0.0.tgz","fileCount":128,"integrity":"sha512-Mjg9XGZI9DYEVa6AYButQ2SaQOFxvssgfxMsCMfESgoxILnxNB/OkLNRPcN/ufXlMFPHiXvtlJhKiKQR/Eef9Q==","signatures":[{"sig":"MEUCIH/QQMfsrATs899wPmVGp9eC5QINQC4F0y7mv0/q+PZ2AiEA9e7WYUwNJBFkrK91b4uZfMIVY4tFXHY5TQx/nM2xpyI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":231207,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg41dLCRA9TVsSAnZWagAA0ZkQAKGyYFN2v3hWCRYuLb1H\nxDXAx6YqFFOtMfueax9yzJ6tOi2rnm7jg1lB+RQxQWAlVYWNCELxCW2s9Y/Q\nyytlyT5l5zCs/Ez4WwDH1GurpKr5mO41Yi/sEV+jmUabal/Zd4jq5UtjkYuP\nqqzybYExLctKF/ErUBdjqJq3x34iYfHUFhckWhYQJtoVMzlOv0/8wqGNlxNQ\n7Pird7fQwZ+yxY9h2+wBJvj8PDwNhJdFrznNRHYH8j0hkqhthiUoUfKvZdrs\nPH7CEtdHKNd/CnlCx+RKE9BYmnHIWPNVjC6DiViZWZGIlVB6I05vxWgo8kU/\nD9c9IEkxWtVawFWVaR81er2siv4rBFVG3gLXztAINW+J7tnW7G75NcptzoNj\nntoLZGV84ejOj5HD1zUo9Jsi+7TcmldpjTQGGdqV4yGcixyzJw0V27ocNs1X\nRIlNDgFfiTnEAj3rsXHjEzX2p//WY10cHpPooEseYaIkW1+aszLBUVJgZfHU\n+h7to6ji/UmIryVV5oXt0LjT3ft8KM0o05xdPIwDSpveYEC6ihqtUCLZy1Zy\n+OzFXb4QFhfq0MXy01Enrl03v+TTCC/iyNUF6CemnLHsWFMfyxWLZzeVwKwY\nnajvEneFFry789CDyuikvKKCbLGGONR55KmrfIu3Twgno4IQnjX2Vuq24tRP\nefnj\r\n=OZYX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"d4db25bf58be66b5ea33dfbf5236ced63b33f170","scripts":{"dev":"nodemon -w src --exec npm run build","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","start":"npm run dev","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.13","description":"Rivalis, scalable & scriptable multiplayer game logic framework","directories":{},"_nodeVersion":"14.17.1","dependencies":{"lz-string":"^1.4.4","eventemitter3":"^4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","jest":"^27.0.6","eslint":"^7.29.0","nodemon":"^2.0.9","@babel/cli":"^7.14.5","@babel/core":"^7.14.6","@babel/node":"^7.14.5","@types/node":"^14.17.3","@babel/register":"^7.14.5","@babel/preset-env":"^7.14.5","@babel/eslint-parser":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.0_1625511754914_0.0843722702574703","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@rivalis/core","version":"1.0.3","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@1.0.3","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"5ddb134377b947fd05b1cde08cba17dcab56c8dd","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-1.0.3.tgz","fileCount":128,"integrity":"sha512-BRPaQXURiEDFYRodlpJiPxjyr2RyMEx9AAXibv3Z4NC9JxL/mrXmGaHLA34b6SPo8YqhHhZ+hmDRq17oBihj9w==","signatures":[{"sig":"MEQCID1owIAtI909QMaOG2PzzDp7sOF7HjQLK1Umesce+q+XAiBAca/d1GLNt0y9ROsiU1FBsNpQOReRj7H1hHUFyQjcDw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":234374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg42lNCRA9TVsSAnZWagAAtecQAIjknClczhT9hgWxuISa\nZMJ5qV2J5TMF5YeUHTY/7Jvv9SMwkuFO/aQomKd5ZWBrEhaRJyxUyb3UNaO3\nSLNBaQN8RGEBN5o+VTwhamr+FTwo9he9IUbDauWTPIRd48EXu5ffwakbyhqj\nNApe6kdAUF6uf8vlIZGGvUtNf9LGjMdmmORLm53F1Dll4cbjFnPerhtkNO/H\nqhNf+OjE3YtMxzgyXJnOLENY0yX0brI+yeoO7QdzA/25XktqeghIpaRmctpg\nMdHIzxYqhGuuPc125o4kAHTgpLVcprQIU7XNxGt7ntk0u/8uVRp7Dc6Ve7Pj\n8AaYLZ2TYV72OK58kKL+83ajIlhq765wRsOOx+ExI/kmZPyWXBFjdGzUYXxW\nNFpSWoMYoDuoTcCTC/SpjbsXQRZ5/yu1fU+83Svy1AGniZVp4OAu+O1heBQ0\nu/ihJzXbn+1kRStAolqeT98GqcRhidOROBMW0HzP9tST/wcigTijtcjSjb1Z\nh5XzBrSF5YnOtXtEU2xZaK3mb0MCuLQLv8BHsG7J8505CDh7ATu6+z0DbrhP\n8VV/jZTsUbjeYBE2EUDmmqNuOAH2C/sIZDn7mVgpQO0TAVS39/iESSDXtDnr\nHj2q9+AXbvrYmJU1QoxKASTaN/tSm6JeeO5z4OfkLch8V2XdeXff/eUKQ4fB\nGXkl\r\n=jARC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"4a2a00af3520370f5121a5e62ccd6d386c7abf47","scripts":{"dev":"nodemon -w src --exec npm run build","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","start":"npm run dev","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.13","description":"Rivalis, scalable & scriptable multiplayer game logic framework","directories":{},"_nodeVersion":"14.17.1","dependencies":{"lz-string":"1.4.4","eventemitter3":"4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.4","jest":"27.0.6","eslint":"7.30.0","nodemon":"2.0.9","@babel/cli":"7.14.5","@babel/core":"7.14.6","@babel/node":"7.14.7","@types/node":"14.17.3","@babel/register":"7.14.5","@babel/preset-env":"7.14.7","@babel/eslint-parser":"7.14.7","@babel/plugin-proposal-class-properties":"7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.3_1625516364521_0.33185483228843404","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@rivalis/core","version":"2.0.0","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@2.0.0","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"aac3e1b927b17618358bb7713d37fd90a56bc467","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-2.0.0.tgz","fileCount":136,"integrity":"sha512-juiZfv4tP0PlQ+Y2OA139Y5z19TlhrkzdLbnhmTO7aj6iJhY2ipy0Ex3P49ZkW8M2R6sbbu+IFSqv7NZ97Avhg==","signatures":[{"sig":"MEYCIQCQVhmfUJ96s2zyKmrep7JSfz5l0tv9r4V8ImhwdXeBTwIhAOHOgdyZY4WM8GQ27pBgLPcUN+SPoo8W7s4eQKbUgcB6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":262845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGE+SCRA9TVsSAnZWagAARtAP/2krogrFhfrLqq4hK37O\n1qsSGyosZo6UIVWfjBLnGCC2zvMq0cSyexdEq8E1KRhVvIAxHJ3v2qn0eiYS\n/JWlGUIh/6pZBQ8+2bTQ6TEyS63V6abFqunbdAKJCI4EvPJl8/PHk+kd6tJw\nQbGA1KIDboyveuTK/QNt4RyEYgMYFUby5fgDs6Vq5sH0x/ZIxpkoyzdg1Wgo\nzb4jzOHooPYdQ5VhdZ5Myoxdmb2qyeaaF42Rjjsry+lQebo3tJ0qhlmfPY8o\nXZmJbE9hYJhL+NIL+JUXMeRYR0oTQy3HOp8GcPb0oRlugwoWI5ijhLMw1CPT\n04XgcIXgeAweKPxOMq37gCJDWK0Tw/xvQ3eDoxyDXjVpGNT42UT5w/uOLuda\nRSUH8bTiEJev5zooD2mvSrb+dTTmTu7Kg0beo9e+8j2FhLH61ei1ErlKzNcU\nY/AqjuHh8KAoB6SvNA/LcvRXXVCsgkswTLhbp+66rJdY9vNM1u2rRz5FjiL5\nVJZMrV8zYIoquBznZ0vDI494EUhVmIsJaqZg/pAEhhyZa3d91w5iBw9gN55m\nW2S4GhMVEmc/kulECCGyD2X+j7dPlBd3q+rIVp1zoZwFmzToCGo/LYapnInI\nEC9cxR8lb2ijD3Jmr/EHYQqsuUZcnvRJk7Eq4I8CoVEPGXd5AfBf5EU7zSG4\nUmoe\r\n=80My\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"15303ceb1c115f772999832c6b50713944d2c964","scripts":{"dev":"nodemon -w src --exec npm run build","demo":"nodemon -w demo --exec babel-node --inspect demo --unhandled-rejections=strict","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","start":"npm run dev","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.14","description":"Rivalis, scalable & scriptable multiplayer game logic framework","directories":{},"_nodeVersion":"14.17.4","dependencies":{"uuid":"^8.3.2","signals":"^1.0.0","lz-string":"1.4.4","eventemitter3":"4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.4","jest":"^27.0.6","eslint":"7.30.0","nodemon":"2.0.9","@babel/cli":"7.14.5","@babel/core":"7.14.6","@babel/node":"7.14.7","@types/node":"14.17.3","@babel/register":"7.14.5","@babel/preset-env":"7.14.7","@babel/eslint-parser":"7.14.7","@babel/plugin-proposal-class-properties":"7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/core_2.0.0_1628983186563_0.8621719903866945","host":"s3://npm-registry-packages"}},"2.1.9":{"name":"@rivalis/core","version":"2.1.9","keywords":["rivalis","game","multiplayer","framework","distributed"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@2.1.9","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"a4435a52c489bfbe652224dd6c158ce54907c1b9","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-2.1.9.tgz","fileCount":140,"integrity":"sha512-TcE5lMCd76iSOebQ6X+MJKoWkNl4j5ZUrUXu5SH3zbWOB6VTt+VVZlV8yIRNsNVvzp+dz21VsN4vgnM4Dfz1Zw==","signatures":[{"sig":"MEYCIQDdUJBvyfHydWzNQIMJDZjY9tMSLNoJ7IBV9LRGI6ez7QIhAIT0zFfhmHvk/tFy8aitRJF/nGhaHwRyNX8/QlnUhW+R","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":270008},"main":"lib/index.js","gitHead":"97a52df72eefe56cbd7444b5437c63a9685795e0","scripts":{"dev":"nodemon -w src --exec npm run build","demo":"nodemon -w demo --exec babel-node --inspect demo --unhandled-rejections=strict","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","start":"npm run dev","build:src":"npx rmdir-cli lib && babel src --out-dir lib","build:tsd":"npx typescript -d --allowJs --emitDeclarationOnly --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.15","description":"Rivalis, high performance & scalable framework for real-time applications","directories":{},"_nodeVersion":"14.18.1","dependencies":{"uuid":"8.3.2","signals":"1.0.0","lz-string":"1.4.4","eventemitter3":"4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.4","jest":"27.0.6","eslint":"7.32.0","nodemon":"2.0.12","@babel/cli":"7.14.8","@babel/core":"7.15.0","@babel/node":"7.14.9","@types/node":"14.17.11","@babel/register":"7.15.3","@babel/preset-env":"7.15.0","@babel/eslint-parser":"7.15.0","@babel/plugin-proposal-class-properties":"7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.9_1635243733728_0.09667168292188189","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@rivalis/core","version":"3.0.0","keywords":["rivalis","real-time","framework"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@3.0.0","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"a3dbdf89255a9f243ab59c8f997638dd72be3d0c","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-3.0.0.tgz","fileCount":75,"integrity":"sha512-lN/z86VHWBmbN1cojEjLdRftF/MtFcAOjh1aixJLzQJsq703HPgmwMZlJOrW6pU2/FJqzXPGuOZMTA1n2toI0g==","signatures":[{"sig":"MEUCIQCFBq8kfCoTlrVWgIbWVriovg59NfRxjao8COVB4y3PdwIgJuYUi3sC0Y8r6ZQT4EitK8yLVMf/3/R34iotSjX2VmY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":215508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhn2ewCRA9TVsSAnZWagAAI5sP/159IuVlNX9lNdhruljX\nGXSYXJENr3+tzctg2dHhOQ8XjJjr4HKRiq+BB8vNml5AL6GfC6Kzd+CvogDF\nZFEzRurIvv/RGrztxdF1UPgZbmO2MUuu3noPxG6GW65QGGYmiXYHDBwdl/93\niJshvWSlyW3dM29QaTtRBveqg5hmrrqkuUtfkZuKm9cAhlg9K6KZyploWO5a\nOfk9QI7Tglm5S+ZgnbJ6XOnZ4gtSwboGZuwOJmsmuMh5BBwMlCONuntyMZ7q\nsznoNUPZa4wavt/bCjsJKJZPpDRPBE9xLLDcyLUXZo+zSVANflA2DpfQ7Ni4\nSnCHtvX3kfsP8p39G1uoTlicYmZPWOgQBJwwt9oKRECj6lkUU1gmnuQlht2R\nFfW1zaW5sFRONj2GQr72zWc9JCUCmSJScGS0QHwo3WUpgzaPnJmUlGDfWGro\nM6iDP7AawjyYqOITgbxmsmrq6rsUemFEDcPewx1I60lIZOBGsV7tuy/EM6B3\njGOfpctWzQqbrSODWrXY4BPpWnC4FOAjIxoUZMRqhA3eODfTuO15b2hj+VbO\n7B5taojqEdv0P/tFzCPAoWtRFycTiMm6nNKjUB+bdRteGr9CKFW2O9Io7+ZS\nbqJHseP1inaKJBXv6DSciNYKUS7kIohcZsF9uWAmxcPHJYpoq3BVybuWcSiX\nKVBp\r\n=yl/H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","type":"module","gitHead":"bfd8f5871747d53c9595a35012e6e6d270e0d1ae","scripts":{"dev":"nodemon -w demo --inspect -w src --exec babel-node --unhandled-rejections=strict --experimental-specifier-resolution=node demo","test":"npm run test:linter","build":"npm run build:src && npm run build:tsd","build:src":"babel src --out-dir lib","build:tsd":"tsc -d --allowJs --types eventemitter3 --emitDeclarationOnly --outDir ./lib src/*.js","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.15","description":"NodeJS framework for building real-time applications","directories":{},"_nodeVersion":"14.18.1","dependencies":{"signals":"^1.0.0","protobufjs":"^6.11.2","eventemitter3":"^4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.2.3","eslint":"^8.2.0","nodemon":"^2.0.14","@babel/cli":"^7.16.0","typescript":"^4.4.4","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/eslint-parser":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/core_3.0.0_1637836719885_0.3101988679048244","host":"s3://npm-registry-packages"}},"3.1.5":{"name":"@rivalis/core","version":"3.1.5","keywords":["rivalis","real-time","framework"],"author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@3.1.5","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://github.com/rivalis/rivalis-core#readme","bugs":{"url":"https://github.com/rivalis/rivalis-core/issues"},"dist":{"shasum":"42930c248d86a3a62e28e47b20a2729407b1a53d","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-3.1.5.tgz","fileCount":51,"integrity":"sha512-qGXNPZIiVHTAWIFTLb3AYSlYYIhKK4PYuRd//eyJPwAMuFh0MD9XKFJXH+GE0Eqtc0F8c2Yn2Ldno7xyYyTDLg==","signatures":[{"sig":"MEYCIQCYAXV4YbIYl6q1veL4+tykv6mKHfODd8aL2n5zFatpKQIhAJbUaObAXBOlujJ8JfYYl3+E8VlzcfgX8jfaX9IegJC0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99386,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhn+7GCRA9TVsSAnZWagAAJNoP+gJiZnEInaJgHm3+rlo2\njPdYpzisr8yKyYJ4qKmK7Ld4d18ixJYiJhmjqCgCChVLmRhq+vayU2FqCGC5\n2tNn4m9HHiypmeObg6NmcbKgobF3f3ZjGoYuqFLG7McW75OirLBoCK8tbqlf\nLCIOoq/m+88fJEKxl7ww617tYFELwe2qk4FUrkaikO7ezJc51DrdCfh26k+N\nBdAUe+fVe1BTZP74Hz/2Tt459uk2lA1b2WBwhtwPshrNNuBjV+92t1UGOHCy\nurxcuhk1/1TOYcgKWJNN4iM3liFiNAt9tD5uaXNW9XM2mXi1UNbrQ+Wd+1nv\nD8uTt1MuyJKq1DJQpmL5LCzvekBbHp0D7YxpVLqz+fR3jjHmatxWWp8WAbFN\n54syptSdA8M1N04A//1Wui6e+txU5G9Jyrdu0FkWuYzMiNcu/qHjyNLgQ8Fx\n5h48SLy0NmQ7gxEMcc5gGNmFt0Cr4XSb59fv3IbNFoTm4uhvJ85m4p2sfgKf\n/gI1SPRJYruoNyQ2IKJIQSHN4QDBKh/YBpGMSabnzyD98q7cu0JB1cFcyJYU\nrq4AbI5SJZ1BtiA7+GXVnmZh3UkhucJksvzSEwchG38Ea/YLnrxYsiw2sUfR\nNKD3Q9O3cciY+1iTVFgAPM1mIpZR5BMloKc2Bo0iqCdBYhNRfHAaIwr0YfFl\nCzY7\r\n=dHXt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"0b0fc4da932b824656d4d4a7020b4240d18557d6","scripts":{"dev":"nodemon -w demo --inspect -w src --exec babel-node --unhandled-rejections=strict --experimental-specifier-resolution=node demo","test":"npm run test:linter","build":"npm run build:src && npm run build:tsd","build:src":"babel src --out-dir lib","build:tsd":"tsc -d --allowJs --types eventemitter3 --emitDeclarationOnly --outDir ./lib src/*.js","test:linter":"eslint src","prepublishOnly":"npm run build"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis-core.git","type":"git"},"_npmVersion":"6.14.15","description":"NodeJS framework for building real-time applications","directories":{},"_nodeVersion":"14.18.1","dependencies":{"ws":"^8.2.3","signals":"^1.0.0","protobufjs":"^6.11.2","eventemitter3":"^4.0.7"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.2.0","nodemon":"^2.0.14","@babel/cli":"^7.16.0","typescript":"^4.4.4","@babel/core":"^7.16.0","@babel/node":"^7.16.0","@babel/preset-env":"^7.16.0","@babel/eslint-parser":"^7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0"},"_npmOperationalInternal":{"tmp":"tmp/core_3.1.5_1637871302195_0.3707179642869427","host":"s3://npm-registry-packages"}},"4.6.1":{"name":"@rivalis/core","version":"4.6.1","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.6.1","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"7024754405508419050d84fdea658d72e5ab319a","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.6.1.tgz","fileCount":24,"integrity":"sha512-eSeDk4894zZVv80OGpzd2vbGhe9vz5bChs6lFZ5AGpLjvmf37orBPeMc8m8eBhAASe0h775m/QbjjCn1H216Jg==","signatures":[{"sig":"MEUCIQDHkcSk8FMr2E05EMRilzjytlbo+eoKSG3+3rV5i6/qyQIgO3MvK7SffKqNjUPBqC5QLABzZ1MKHjwFTps993rhe4o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuy5UCRA9TVsSAnZWagAArikP/3TAkY69vi/ACZDTIlfK\nnDb6nI6/mv0YLLwm5jJ43PCCS/YeTzcMkSzjTQUJZeXf7LQyQ4XkK1F1TSxL\nZ65mFTJdA7VNGD7/m6zJeDmb8U0qgV28xNmYAuHyToDpT9HSwCVMhrcwqwdX\ns7L7PrGEdjCfIZ4TaanBak/kxgkB1p4R0kcE918NE/z6ncDXTm+jsY+Kou8s\nQabx4VIRoMvgjl4JUmP9HuPdbn1b51vZHasJarj9f+qpfmoE0pCEFOwwQEst\n03oJE47LY+TP84pie4iy2s5j4JN7ANX1f1XzA1zwsUQ4+cHLT7jof2dioeLa\ntAcGeQYLZW5JcEk7kCvrlJtLf7FXc/T79iv6/cHSoo9nNh9iFBhgtXnkGj+u\nIf48RWNO+AgpGAsmjD3lBwhbgkwLK73s9Lg4GP0uIMP96IRKu2TCe2c1u7+/\n+Ofi4/tCTfQBiYFWU+IDffFZO+p+pXqpsvShTIOdRrocjYLp9YNt3KivMKJc\nqna1W05t3Mmdjp+N1yJ3h3vuT7+//9lFQ4kZFVOIyxCWc5WmrFcRaDcUBN5n\nHoL+kqtyfu9JukilDxX9T71aauP37Z8RkrFfRZoA3xA5cEXaOW0H8IGX/RLw\nS9f/33j+pFRPQZpq7R4uHNt3iae0WnELZNAXMDUy9i1Rfumu5oYKHAJnUv86\nQKKe\r\n=X3wy\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"e1485d1e4548c483409f32c62d053f175539b72f","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.1.0","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.0","dependencies":{"@rivalis/data":"1.0.1","@rivalis/utils":"1.7.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.6.1_1639657044484_0.5327227732264497","host":"s3://npm-registry-packages"}},"4.6.2":{"name":"@rivalis/core","version":"4.6.2","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.6.2","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"3e942ef24eba7d9ae8f23b88a0598d808fad4759","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.6.2.tgz","fileCount":24,"integrity":"sha512-P0ae3FZteW5SuPrKBoyd8UG5EAoJvdHP6ecOGnVJtwx7mAH7Q8sBusD38yp6zk4eRHnoHSG1I+sOvlihhSbRVQ==","signatures":[{"sig":"MEUCIQCsFcdZlejaRrAGYJ4aqrDee1trUokQfu6vJXswfODA6gIgQdw4btB2hnA6A1TXSyJ2p2/ub9M3crEDknh24ureAPc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuy+TCRA9TVsSAnZWagAAKH0P/j44PEY2BbCCYhXdiYOj\nZaYur5e3xK3jZgCeW93y3n0xT6E0i1/ZTshHSbTuEHtxcIIe2KBNaOasLHsE\nSJ7qBXxKg3D/TmXYQ/WhYFZA3ZpVPaVmaCvafUvITA6J3J8Fm8QnuPqlanSf\n5lwFEbMOZNiVp8jKyLJSRKJj8AQRXAqxPdBi6DSYxLk2cH3zw0cCdO0WUNWS\nvRHj12ZUGea1Li+7ojc3VnsLG/t6zMwQfatwqUY7xgex0LbFD6273/XwId1/\n4OISym7ETULJsbjnAszr71wCiFMa3wX9EXFF/qenIMimk+fNZQt0BDrtmNLk\nzTzudwrCWAraYP02GGExYZCj8AtBoXqHdPRTkO+zlUktm0W6gb++PvHYz9OR\nf+ywqGgJfLS59c+idz/lXPauhyD+r9ukoG3uol+EbrgU+KRgxNx7fspUAlkC\nhALfE2jR+kUr3p07lNBlpHg8IgoCPiVxVrNeXY2J0PIsZpTVxHm4jNzOO7bt\ntOVSWPYumYZCo3By/D0Jz94jm8o2YhiTUNRNFP7vBSDZN5itGReHhAddqBLv\nu3moHo4712SmRdQ3F6ODjcQKGo2UxZXvx3fvT+FNYza6aTBWl6lZzdNf4XSD\n9IqZTRfRMkuW6K8W3Q0ldtZOwA62o6Miaaln/VZ205t8clxga/fLKQRRvxZA\n8Pzt\r\n=40Iw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"e1485d1e4548c483409f32c62d053f175539b72f","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.1.0","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.0","dependencies":{"@rivalis/data":"1.0.2","@rivalis/utils":"1.7.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.6.2_1639657363290_0.4672933938005128","host":"s3://npm-registry-packages"}},"4.6.3":{"name":"@rivalis/core","version":"4.6.3","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.6.3","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"45385ac82d9f9eb438400b673beabeb0804b7785","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.6.3.tgz","fileCount":24,"integrity":"sha512-d1RhoIw8Sdff0S/Gvy7n2tvdMDj1bbdL4c37Z34vlVqX7IvfXwiwvkieQ16kLQP+sKw9MVDPDO3BrVB16c26RQ==","signatures":[{"sig":"MEQCIDdXABUjYWRUUyNC+ajEbe2qK9W6M6CfBoOrCbbAFmQnAiALKUJQZ/qo8koP+CgFs+z0mmj4oM2Nh0vGGsBoFX4cYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhu0dXCRA9TVsSAnZWagAAT1MP/j3Cp+WZqdi08P0QKDGp\nid13m79RCTYIVYfF0ox0LAyw65JiAHbkjYeJ4rVHRThB2R4Bm8rfS1mQpKCO\nmj4N16/SEsl84SWdubB4J9r21Aey9md3zPwPywRAHcWH0xYBtNVDf3EqTgZj\nv4XAxdR+ZOd4X/8sIxY2hGG3SWkYO2O+jKxlhXE0s4Ux6yr5wPHEKezqHP8B\ndWL6BZzgVjf8G49a8rla95es6ce4NefzkP5MmcazJTe2mlmJx9t0yEqrAy/H\nOmadMCwB/ystJVQSZ2hlqHMX/uSp9RQSL4781VeIG15LbDX1qYpMGFF+TzV5\nXWLngY+5rGtYAbVNDIrv8dDs4dYlTaRkHzM1/jXxdHCs030eokDC4hKT0vQi\nl8u2jY6K0kphG5hwFKEdFATCBD8VfGNv4pqxLHGwtUiUTM/GMe2bfZg8GLGj\nVQMisNb2HSpJH2w8N52OPqf0BqknmEE0P7DiMogmG8uho83+ACiDRjwBXG5Q\ni/R7FKhfN9Qj+xxsM5wofKKHzdvsVjyRn58DmFVOVKFWm9y6yF7F+tGDV4TV\nkYIEe6QPOqM+Sr5LD+fTuGhtIxkowCg0OdrUR/p3LlGebHA0lg3okxRXZ/3d\n9ZgP+/CPE8d6dTHnSWtpWM6IvwR4kWHoUsk+L3WcZlb9lcBl3XJ9T7ScKVJb\nQqnE\r\n=+zbP\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"544c670c4cbfe469ae6432410f6ae501c474e0eb","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.1.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.1","dependencies":{"@rivalis/data":"1.0.2","@rivalis/utils":"1.7.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.6.3_1639663447054_0.37871265960965905","host":"s3://npm-registry-packages"}},"4.6.4":{"name":"@rivalis/core","version":"4.6.4","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.6.4","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"58ab4e037ce1ea75854e07ea472f940f82aaa479","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.6.4.tgz","fileCount":24,"integrity":"sha512-G5iU55eJQNHWxrGyoMHKS8Jz3j+97/weJin4WF8CTbLITBowQFcxlvgLmLYEvZexcIm3uSmW8tcQ6m5cgSoXhw==","signatures":[{"sig":"MEQCIQDNIdGlRm10rwoXdnPCJfILWcDkIMpQKArjskU/eenxNAIfTFmCs1C3M0uGlkzpGODCKK03O5QnWGwAeu9R/t4wkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhw5CxCRA9TVsSAnZWagAAAn8P/jjhF/1DMQi2kvjZBdur\nY7ICLrsl0MfKGiCpvsj2xhXrh007IFDfBPn7g3Q7qHxEyIDGmJQnJq0PAokD\nmAE3TtfA8tsBJ4/VfxqbZHLuREWPhrpadd3AA19AEmENH5NTGy51dWru8Loc\nD9+fCu4ed+tGRY3mlpfkiNaBOTzEOv4kkt6RSiSlHBWpkeCdnk0G47OEyysh\ne2OaLHmYDyn4vFyc+wo0gTMOx9KkQxhobwi/H9351yMWBD8sUaq8yI/IMw4Q\nRRnpBqfWdNCKartoX16ZubjuOeVBkjtdlWdnSbOnw6J2eHxM2n0W/1Sb9ve/\nxJMxW+8MFKmk4jvzhJQ01sPtLKS4Oya3986PjnawmYMr+78kl7ZWL0uhebki\nS/MMeoJbXpXBW/1SOhC7mtM+YtlGBT0Xg4/w7la6tjbI/OVIg8SDNGHb9lOc\ndS2Y/+rXbIr7B6bZ+TAk/lqc3SbH2mreSdCFE5srhdCaYnZsr1thwo7G6BVE\n0XAyaKvwHKvD5sEblp565TF9ZLoIzOuHfejGKenNs8D0LQ5oGQFfWcQ70Srg\nqjbE6qaD+O3DTBNIhEW8YY07nQITACy6D+QCnx786uHzzS6nyeUColIkF8wR\nkq8iJyzaX6xIkgy6qxTpHYSFsBRaM1dlt4jTq8noVKu07JuwgA4jpRypxw/A\nHNny\r\n=f9HE\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"9f2c4e897688fa549ab1286b0aeeae3530ff60ab","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.1.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.1","dependencies":{"@rivalis/data":"1.0.2","@rivalis/utils":"1.7.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.6.4_1640206513538_0.7150392313578879","host":"s3://npm-registry-packages"}},"4.7.5":{"name":"@rivalis/core","version":"4.7.5","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.7.5","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"7a1d3dd7c4c6b7da7e556db8252c848d2d074e77","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.7.5.tgz","fileCount":34,"integrity":"sha512-NLNif3TIhMTCp7pvLk0ZmDNde+yn9whtLzVTJvX188oup9kPx4LlIazH0jCqiPAk87gDE7neFUedGHEp1z1Fhg==","signatures":[{"sig":"MEQCIH3Fm45Y5S1UqRLScSKOkcF7ItTxBe8xnGR5dawGOcJgAiBcO2m5cjeQZFbN6RWfub82Q7QfVidMJ0jbUJ22kLxvVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzItKCRA9TVsSAnZWagAAO1AP/j0PudkEV9v1j15XTlfW\nKfz1EihIJQcrJn9l2T36vIA9wOvYEIww/KjSagEDeCuX5a5EzVnJY0x8B2ct\nEMauhc1Wr4USPQZVZOU3DhfDYYddqF127uQdJ2x317KteNdqdd5l0AO/PqNl\nIv1Ndd8p2I+9edhlkjDfA5UyzzMwPVtv99Q7/jHyP1U7DqIjrbeXWL2+v7Bb\n0ZJ44KgybG5CUy8KBQjj6wlLvOfJCQYMXB7JsRL9XpymH9GWdEdsWAml2L39\nLcSCU7EGOWtPvpqaRPaQKHJ8WtphWja7AJBfniw8pZStq0KxS3icn6KVxpdM\nPHHSrxKhG79kVf3lqa85+46OAeNeP8h5Uhe4odU9Gie4DGeMGI0qOypRth14\nGUPHposk4FOeg/VDSFqyiBq8mH1Og9UB8S0AygX859Y8EhqAO3SbwoTrhvug\nvafTXJufvuqnnNmKjIzEHKidJH0001T9z+bA82I+JD1sKqsimRkafUTpgzxw\nFXT7eaUBdvzhZBz96kG8J/Ujts3GXgCZQVp/YWhR2p0Gv8+HJ/G/ZPKP82YR\nNWhBKoMU45bIn6mnp2BTlaKFYCAWUBPZYXls7NKqmJPHMYDxDMNpZ1LLSgrn\nXcPv9hnXBnBAspJqzu/TFu8ZG6UkI/df3CacAeTGXFwuKYAL/vPiu2Qvs3Lq\nHhIy\r\n=856s\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"1a2c746aa0ae7b20128730211b3fff535877e129","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.1.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.1","dependencies":{"@rivalis/data":"1.0.3","@rivalis/utils":"1.7.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.7.5_1640794954044_0.35174538172127723","host":"s3://npm-registry-packages"}},"4.7.8":{"name":"@rivalis/core","version":"4.7.8","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.7.8","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"86b184f7dbaf2ef2c8373cd5a4462ff7248164c7","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.7.8.tgz","fileCount":34,"integrity":"sha512-YbcItg8Ru+osh5/tVekp0DY/WfMZi3zG7a1vG26XMe95FdtF5NC70UKTOuH3MDXUl6UMLJP++67ZviVp6rIacQ==","signatures":[{"sig":"MEYCIQDwc4B7GrWvFGU82os+9XOYYyBy7RwIp6qVwdkXdoLoFQIhALiS3VCzU1wdWm/q6cJPTJhP4Nk7s8LedHZNds0GlxjI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzLZZCRA9TVsSAnZWagAAyp0P/3w04emS6EFAS9bufOHh\nlqau1DOvDvsJMa+daCPAIOI7KLM8ReQMnvTPcFw2gc0rezjQD8teKH/0+0fI\n+5bLGRJgQZoFdrlUL63yzAU2s+++KyYHLC4OLf6hHrOmzU6DLzFu3ZFKRtEf\nwyyT0gz2gm4VjhmBnwoOQAmFRifvkqR0oPW8XH1QtCic6uW1S08130JxdNGg\nnkpk2GpsVxXxYBvyfbBDvsav/kKEZBJxMK54OcRoRq+5tR5OWZzt6NKKUR3r\n757X7rRUGWMkku8ig283aw9LgmAmQPh74sFhLhJWREYnWGhT8+jZA07Q3oTm\nolSNZdGmWDEEADNIf+rllzUIhknXrmVfJ+I/QgCBQrKe1S3NPJsZlLRLg+0y\nrKdUzlXteZ8sbDCTirgOXH2cvJM+K3wjDP4Iw9B0DGmeKKmIuZDzgTPT5HGi\nNwfFfTTjIGNo2kNdUGARiue/yJB6EL7XGZBq9wCNzBaRiqa92mDzu0F1tvjS\nyeXFXTBmokJKZhg+SOIPIT5J7k0FbMxjUqzWOLeeUYzUCRkxzADRZlvVnIJt\nZLlnXIDDyDtKynfj4xdNor7APfZSFirZGLrxuJMajBuBdfd+v/UMPtoqsrHK\n8UH0nC7osjyWSmuQNGHYGZPYgN1DfdawWCueoBoSPSTQlob7khhthcmB0+RO\nr+HI\r\n=NE7D\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"ae9e5f596da1efcd7878e0a811ffe0024215e753","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.1.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.1","dependencies":{"@rivalis/data":"1.0.4","@rivalis/utils":"1.7.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.7.8_1640805977708_0.36777025021399745","host":"s3://npm-registry-packages"}},"4.8.8":{"name":"@rivalis/core","version":"4.8.8","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.8.8","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"357b85a56768c0c5dcdd96941099de372264d2fd","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.8.8.tgz","fileCount":34,"integrity":"sha512-D5//NpkQqGmJEde3SHk6g6zKH6KoCSVza39KaMZNs3elcYmTnuFdsgpgLBxPi1rPAZ9/4+CPtyzgUqQB2Z2nsg==","signatures":[{"sig":"MEYCIQDEY+MMt0YByrlDT0yiqAzM4tDvEIK6AmPqeFCr7Lz6FwIhALmS+ds4G+MTpYBV2w+CCGpnb264KrwaXek97rbqeauC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh00c6CRA9TVsSAnZWagAAJMQP/jnTZsLPb/8aBnw0JBxb\niOnMBmhfdX/BMilGsxqthZQB62APz6/qSYAKnx8ZLOKQyUyiJgzIGCg2atG5\n26SqJtB88LIAvDecwoEBRN/HruCF02+tbDVO96+Kxk9NsWGxrkspeLFzvW0H\nW4rDQOGZT9zSiRM41TflaOO5rY/z39PAZRE5bqPkM2i0T6fPAqg3ofyMaizc\n07wM+JjSTP+LSNgOVINKp3q+jGW3UuBJshONcUExoVIg0vF1/o+VrImdtXeX\nLAbkuZcflrIqEDpOTE7cL/fMJ6lm/cJINn20BxOrXg3dbIzi6V3aI0tUkFz4\ngdKQcJNWwYLdvTQJPVPHi7Kt4zLGub4F/OEFfEs4KvsLN1jilXH4KB2C8pKA\nhEPUmJhQ4z+wwITl8OqKBV1NHqPYCWYplidl3SZDuH0GvSVMuzwtRKHi8vc2\nVZG16zCPeC9GDlGNHUSQIHUuDWu0F4GWbapdskYzxPasmGZNtFMBC2lZT6B6\ncpjxNC3ETMqARSqj3c7XhhTdS6QnTB4p2mk1Wq+/2I30K5cnPkJGq870F3kx\nEvcKNj309mI2v/NABDl20X89vVRtNlnTibriOGcfeWlgoSgBcG4FfW0naS56\n43V6mjtL1lOQR/begMpSNYtSfyVAluafRaif867huHWBmTddlORSXlQz0RoJ\nTwgV\r\n=qNeR\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"a999cd47638b83ce4b06b5b99a77d4ad9a497be6","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.1.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.1","dependencies":{"@rivalis/data":"1.0.4","@rivalis/utils":"1.7.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.8.8_1641236282584_0.09076528961086172","host":"s3://npm-registry-packages"}},"4.11.8":{"name":"@rivalis/core","version":"4.11.8","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.11.8","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"fbd06f8fbebdccd3a71d1621c01a01e90074f40b","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.11.8.tgz","fileCount":34,"integrity":"sha512-GIqLSJC2e7bTnOzQCs+goYpr8aWar1UcIqvNyKFLuqge2cHGqSobD7z/fb/VjPECp20621Apym6xPy2YHwCo1Q==","signatures":[{"sig":"MEUCIQDvhuWiy5Jj/CMb5klQ3M+YCkwhE41mwH0zPReHo2U69QIgQkaA+HsedYw63lRLk2d7mVWiu34zsskdgTyRbZXfxSg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4Jc8CRA9TVsSAnZWagAAPaIQAKLdBd7qOBAQzQqHdf42\n/2il2oKtLuilGYEmTWyILhiqNdtLwwWKRmbAM9lghZgwcH9/2I2vRXEYFept\nMZF+jt0w9diLqWE/0kJM5CZj8TBFWbHyRfVqyKYVSUhWTnFfewLYUEWie7EA\nnXCJTp5Xqc1z2AEMipZ/c8EB+qsCRslA+tT21pJinWaT4bPO2aDA9weDAcqR\nnj8AELxZ6CSiwJ252y5XW4/7+zKNpNSxzVz9ss05zYn7MvA6whGY/aXR0So2\npwy5s5jTNztCvZPOyr2oPH74WGEGDGrpKhaZzM34Bhrp13W1MrTFLwAKUUzF\n3pJYS1ttMfTmELitKe8qq9T9A3Asn7VgM0zbz2SL99APnyxCyltN1J3qxE6/\nNCeGUbo9i/wIYaTA6OQl+PQUVEfdEQWn23ReCM9jxUFtnWdWciEbKjTZJHb5\n5yD9etF9gEuk0P2k+NQ8NScAj1mtBBCJyPtWjWKKxZhyiQV2O5tHkZMBV7NE\nEpjybMXvuIq5FRj64YTLDIu8gW737CZSI8KHiV/bupybz/o2ls0V/Wg2gIiI\n/o8/ATOh11YB8OHfdwggiJEA9rRLH5cxmLwQjXwPWDV2CN91RxEVlAVAWV/6\nE+8LVFfe8dPWWzHzml8Aws4EtOXAv4tdL6VrolATg3siOVHWj7crFgSeNgHN\nZDvQ\r\n=DrV9\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"5fbdcf205cf2cb846213e55f3b70a61e65fe644e","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.1.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.1","dependencies":{"@rivalis/data":"^1.0.5","@rivalis/utils":"^1.7.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.11.8_1642108732148_0.8512736142525734","host":"s3://npm-registry-packages"}},"4.11.9":{"name":"@rivalis/core","version":"4.11.9","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.11.9","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"a73b933087e3e00638ea64cc852188c575fc6880","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.11.9.tgz","fileCount":34,"integrity":"sha512-7eqFxOMiz5AI5IkoMTboFSqgkLwb/9Q3zbCjOu/75GBP1q7jfwhVbmP2VOUptwBxz81o8QB63wI+rR1tUONhuQ==","signatures":[{"sig":"MEYCIQCc/N1k4pXMBRvR3D0uFLpf6Y7PdX6JA6fn7aH5UVIbCwIhAIThWR5FGw/3hJ910tjqfCg7L4R3EHj9g7bYdjYZcJIA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8qzECRA9TVsSAnZWagAADUwP+gKZBTh6mSS8NDbRPW8a\np3XN3oEmeY0MF0S84+fu51v4rmI0DutfSbmUruCIKQ1PIlG79BMLd4TLIW9S\n0LisMRadE4Adzo5TlKkqWo1mxpDygxIMX68FRlJICv3+ekdI3H8iVZQfQvef\ncgQB5p6y7p+KYzCyOjTPtDSa3+hw4q5zSxtm+CsSbIk9X7RFqBEHbCEfyF3X\n7y0QnzhqbF3fww/dI9sApjAHcJmJ5jFFlNAIX2ICF3VD4aR4pTvQ6L+CAUGg\nVcwAhISrrCFAZyZ+qemIzdDaWjSxV8ysjSibBTalurefdkrtCAH6ltdfiuEB\nXr13jCxQ6N6Re71wFlmrFLsNJ3dKPLU6KHrJDw5UyjASpHv/vcyxtFoyoC8r\ngvj3f5CgsEAxEVGaY1odZkZUPlLrnoioUTZehIWUvm5w5iknsuA0blJKC8Nb\nW/A8Ywfyem9ncva1z+M7FMifwV+c3p7VDLiKeg2NcIH5fvUZQfA7HY9VAqSs\nR7E7OskpENdIcerzdoR/lrYAIKHwdM2uE9ircxURYxmEgnfvhYJ8sK9Ztomj\nsfL/+bH66DCQ9/AJk97x6kdfSwt+maCH4/tmOHNDjOv0pAQIFGKOzxFypUSO\nwYt0pr57qHZgKa5Pv8EKR9Kt5cdbNdYd7oAaV0Mj9SrtQ0CTK+Lmmc6UfuG+\n8Gv7\r\n=zT8s\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"894ab55f81ff15102addf2596b9e8245f6e70198","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.3.0","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.0","dependencies":{"@rivalis/data":"^1.0.5","@rivalis/utils":"^1.8.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.11.9_1643293892762_0.8189387089748148","host":"s3://npm-registry-packages"}},"4.11.10":{"name":"@rivalis/core","version":"4.11.10","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.11.10","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"74f6fd0d67527170e03edaba54afe11eefbcf37d","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.11.10.tgz","fileCount":34,"integrity":"sha512-3IS6OrM1usXRK59bXvZy6vrC2COcEal22aKmr/tAfL8vD8a4F47s2dyQfEOYSP8tOaSwNRO/VwNT/cw0rLQimQ==","signatures":[{"sig":"MEUCIQD1olOb6ihdOZZTfNVRRZARKiblZefj3lEnX4QIhCJz+gIgD9HRoZo/w2oIYt+cF5DIuFMAREGVZ3YVR5X5HD2OFJs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65934,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+Y3bCRA9TVsSAnZWagAAtuwQAISe+yx68k3hkWM4GyU7\n/jECxHgNqgn2KWpgkHvBqURqhiPnn9mxGV0LUqdzMoblNL6If7Wb/U+1pGLj\nKewQlM9iNX3/1MsUofU55HB0+IWtiS1LeS3ljaD5glmh+gHmKUuG1OanCuov\nIrv+oWIhe3+rjsxbhyLdCxXEzN8ceavfATDHEB5W3pw1iu1WXjoj1sCJuk9t\nnYpVB4+ZZylnplUIP01fMxlSwRCG+8C4hxxaM5ChCZfsgoIUFxl6THOEnCT7\noIjc/dC36aKqiIVQPruQJ0Ca5ZXNqSSYSCM78rskQJFv8F4Due9C+n8xsaGv\ngyz4Qf/2Y5XnhCvbioK5J2eVT8BriA61pG2K8X8HivYGtnkkctW2UoRWVqMU\nRlzP6pi6MO3We46OfnemcospeLhvRr/s6tQi3sp8qjlpsnLIVaU13lzoFLf+\nj2A1F6sE+7RzeP0HxBQgytt/cy2qbQS76UGsBY2xIq0STx6Vszdc2kaVUSLA\nmrMXZLmbMc9rjIbRaFNKO937tcEP/PreP19hplgo33U/14RCDLmP95Esbo1o\nEMLgu/gy5I/GjL18LvYRGO3kIoZ38ZmEQHBJo6kLkU+NYn+rv5lmKiaN/gl6\naPN9PCjpmyCIp9YpHSu7qavzviOJM0iZYi4ds6RaOyjBiwcF+0oKQgzDHE8D\naaAR\r\n=AwOd\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"84feb30dddf4e396abcfa93f634670b3f34e47be","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.3.0","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.0","dependencies":{"@rivalis/data":"^1.0.5","@rivalis/utils":"^1.8.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.11.10_1643744731711_0.8017196596721814","host":"s3://npm-registry-packages"}},"4.11.15":{"name":"@rivalis/core","version":"4.11.15","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.11.15","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"cbe95d2ad7943fdbb4967b551548f937b5cdb1df","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.11.15.tgz","fileCount":34,"integrity":"sha512-6rUicaePCcO5g3Blc07u+EG8A0rGZPOa/rufozhGpcrGf5Q7AqSRt3CSXqaBYTCgRFU7liitvm/8XQrGVevQMw==","signatures":[{"sig":"MEUCIQC7GFqbCv7QwRekhFhRtpiDoFknjbM7ufJj+dUwyFAWPQIgBofUifIjwRU8u/C9VBsNamK8c4pa34I5qsi971nPa5c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiATKHCRA9TVsSAnZWagAAL9UP/j03FhHmR8u/ekqTGR7J\nbHkT4n9Ok5S7geNqM0BSMlLKihmXo9kmm6SY2DX4Fl8sMRi/vr2RFtYG1lV9\n1PN738FYYyD90+a5XDsIJ6fOGswwFfUjvLDqY9/4mqNMjRnuiLM5XE8AOGnB\n2WoEVJlXE6ZFW/c/IQuK3j3plkRYGG/Axu4oSy44TnmFw+qQMbrpgK8TNc3d\n9reDwb28Fr1XCh7xp3vD1bXCpEETAPOyxMllYQFt/8FrEvxdMUCmI2pOwHtN\nlkh3bRl/m0ZDAGSgNC+Apv0ZpgnyBPvxYc1TVG2gLpnryBu9dSxSDEahOoT6\nuJUxHWnhsgDO+LJf/SM8tn2wFmQYc9AW+W/N8GmixJs3X4Yt8YzfJPQdywh5\nA7R0bFwPAc3lxoQOXaU4rvvIcNiSfUj2oMSlJX17s6nqCyD5E/Hqg1vpvJ+w\nVgmQ7MNoFXU9ZcyNFnaQtdSP0aO3jyiJ7WCNxxE3ce6nCE7J1WL+nS6UxvqU\nt/hVsc6ht2R0nUtpdnhr9/ehep/DWrqeBVuesYmN2zkZXvKRatAM0EOoVEsk\nfOo9owJx2NaqmvVxvuiFxQVpF5nukrCaZVcMLLKlnYuoAluxZcVxjWuwZKC+\n0+91NJhuWBI09rCssx2ts7iSt3iJiR1rLteKliTvsgYaIsGhrurgTtSkw1ew\ng5+3\r\n=P+yr\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"3f2edf0eb079ba1ee833d8592d937c57688e3f21","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.3.0","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.0","dependencies":{"@rivalis/data":"^1.0.5","@rivalis/utils":"^1.8.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.11.15_1644245639488_0.4948994616950817","host":"s3://npm-registry-packages"}},"4.11.16":{"name":"@rivalis/core","version":"4.11.16","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.11.16","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"008d650d92bd7772aed5fb1e645342848ae92def","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.11.16.tgz","fileCount":34,"integrity":"sha512-EDhc7C8N3AY5uDJxhtkiM2Jec0XmpLV3tdaz6C3g3HUWgHBfwYXtc1DIg6GR06c9QAtOPT/Ax0M1wIgyB24y7Q==","signatures":[{"sig":"MEQCICd8hmhkvvhh+qG+A10uXP3+DsG+vXvQZS+T4aDaBFQbAiBX3zpVs6inBNUzwx2QabZGwTuSx6hHC57bQ0RcWvyALQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiATMSCRA9TVsSAnZWagAAvLoQAIU7sG17kNbPVrxc6ebO\nelODYInmrOxshY88JGTXq8Ct/pZgt55kZpe+ulTj76NOy/YXGWlzNuPQk6Bw\nip4oOWFLy6Q9lFFDPBw79vvllu6HGrgCjEuEsgJgUoCMQ774NB/B4m3Ou7W+\nJ/thXaHIavSWF0irtiIeCOb5tuAkxYSKL0zsWCj4wwNb3AtO3AmRgHRJ9KBP\nfyM08UVIRtL0SpEiQNiL/yW8tbPyOiXITzdlbTJvlowG0cBsfGPUp2Mvxuo/\ndny8uPFI0BuKlvRL09csIqsvYH2tdgxeFVnxQNxwmRh8Ce3GaNnKSJgHj0lP\nsngdxY1OEdDM5xLjJe6cXaBmrwaUDicCvZnzJNFt0Lt6pKdilbfMoUc+g5p6\nleHTmdANfkZWhHXHvhRRs4v+snoWEJ4SMVHE0P4YCItaLw98em0MMbXPfRly\nnoByJsiaC5FduI2N4nNUPWT4KZF57/ZaE9AL1aF2YLwUivzROVaHIKy2QHca\n5RW8mi1HsqncNlElv2QjBfdkyRDB9zPBp4sOGlJJmzE80L2yvBSWwLbM/Uso\nF1ypuxc9yzrSme1kQ5UC8tA06DuZaCB9yIeMvVUoElwyH6gfap1CGdy75rB+\nLrB0CiXCEZhATBdiO6ArEyifopfcfTA0vyhXPKZI2oKr+4lrweeyO4v1skiR\nKJrg\r\n=27zm\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"4f0e2ca3a515d6f5c5333a20c7203dfc67b0d084","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.3.0","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.0","dependencies":{"@rivalis/data":"^1.0.5","@rivalis/utils":"^1.8.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.11.16_1644245778815_0.3010323787584013","host":"s3://npm-registry-packages"}},"4.11.17":{"name":"@rivalis/core","version":"4.11.17","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.11.17","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"ca45bfee5a11ccc8e342b7f6573fc5438ffbcd4b","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.11.17.tgz","fileCount":34,"integrity":"sha512-CUlwiXWTy0+Cbk+YAxnZEp9ZsIaTpGLW555g/hT50xsaX6EyJbWJIRBPXe/Ed6G0ou8eFPEuMWsRZPqhkVGzYg==","signatures":[{"sig":"MEUCIHM6CEX6NKWJzSKP9NbYoD582xBEQopg2fRQFNPERX7yAiEAgOAO6gBr6hkNj9g4IbxzDStGEigEQYJWso/FbKKLoaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAYKGCRA9TVsSAnZWagAAkfQP/28boNgUNOMG1Cyv3gS/\n5Imaw+tZ7gikSYn3HfWw06bzEFIZjvR8Oj3v5Ple0TCZJmtbDRRW+MJHvDLa\n32Dww0lJeqq401HLboUSlGmw2ntE1xY2BRp2QmfRb+cDPbMYtZ1I3Ni7BIS0\nEgynB0rQM73myYIjdGHqsUUB6iBS+JafkcHv/sL84jib/u6AVH+BPVp79Axp\npe64DeLubxErseDtrLASEVxe5EgQyvRjB9GSCvfF5KpKNSdjQ4GdESujy5bU\nDRtW8B7++xAOu+hcpBOK3CasyXEAMcoSgXA51bg+kkjsyS+IIWMU7DwmpnQ+\njlIqcoCVpceG1UhJ0RNzT2UiIG5tS8GxDyikMGDI4WhBNxcCSSGsLsNsAyF7\n8Uc9eZi29oPtKzf6v7cm30ywxFVuk790PcMrsoP8ixR1BY/eVASdLVIt9Qje\nzbljHRUlxnFtAEUsBNfrXDBEjwFzsklT3uP+Nd5JZxCRpCfhu2OFtA/AnU3A\n/FSyakYNilKq0I4T+VqnUiD3K6VAEqDPMohDMgzBRin3n7zlxq/rH1aFIy1B\niH3NTi7M/fqRRqsy4loMDQeJfbdLqmdPogaL1LuOQDs4TQ9jJT/rpOYWAyA2\nQoyc7mmZCJqRWTi7+97YnK8PVZ9hy4gLmaUj5t24+W5bYkMPE6Gchv3RvR+l\npTv1\r\n=ypCd\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"6dbe9688c8246afd9d724a74325fd3afc80b7c8a","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.3.0","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.0","dependencies":{"@rivalis/data":"^1.0.6","@rivalis/utils":"^1.8.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.11.17_1644266118136_0.1740220837374422","host":"s3://npm-registry-packages"}},"4.11.18":{"name":"@rivalis/core","version":"4.11.18","author":{"name":"Daniel Kalevski"},"license":"MIT","_id":"@rivalis/core@4.11.18","maintainers":[{"name":"kalevski","email":"kalevski@outlook.com"}],"homepage":"https://rivalis.io/","bugs":{"url":"https://github.com/rivalis/rivalis/issues"},"dist":{"shasum":"764ac137beff59aa49fd276fef9b47bd045e8a7b","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-4.11.18.tgz","fileCount":34,"integrity":"sha512-bRBsutFjsjSarUpbvv7tqxebjgSFbLkGnaW40nEUNC87Xml5Nryc/q0wn6v6vY4RKZSThepqBNJoceyaItxBfQ==","signatures":[{"sig":"MEQCICDFnP0VSprzeJD96WwoZV5wpRJpxqKHdalgFW4nNgp0AiA6iO/usfjZ1DpHf54BsyJ0KqxdR9bmrXZQAGCiCXImOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAsWbCRA9TVsSAnZWagAABDcQAJPZz/+LA5WGoKLsLfTD\nPPsHM4yrcCnhZZfhl8wOtpeEToPgH98XQTwlaIoN/Njc9e9r/9H9wu+mZcXB\nHOj6jI0EikH+Dc3x+bDbay8ghhOlJqenwlTk9UcrLoUvF55qds4sJ09bKfyz\nYPXDEZdglgEmypgQhb5fmpYJI7SXhdASrhctVG8hdXRC8o/Sj+8oTEE1rlg3\nWQLkgD2cqIwuR4qPw+lbesh27kBpIPgUE/uWqZuMAtwKUEXG+Dwer4Shjvv3\nt6mA9VshSqJ+/Vx/joxOCW+Yamds3Cqb0w3n3mmHt1fGSpxw8kas1nX7RYHR\nWwyb/7CSQRbBkATu63YBQJwjZ5uVvUq4wxwk4ig1QecuflM0RJalLB5XUodK\nJquiyidbfSNt1YBmeW2TYyskVpxUlJriS+wUHbcwvJNPWp7Yh1HmrUHBQaf8\nbmC6Dqqxe9l+PBWXf+Dpjcc9c0mhjRyYRePIqTuUbp+xhsnKPmjQh0JyIjcE\nHz9CTQMbwhJJv/07XGb5HWLkmdPIHnjy8vqU4piRk9xCMmGR1y6UaOdY6bxA\ndZVwTZVhfL+/0KPmmrNZEcCQCt0ruqEG/VWdvkc0lJhBp+15J9xakzL4JT7e\nWG/SUXHQFYK/VAmLNIJjwAsx6TJEjnjWsjNt8ZBYRx2LpCJUz2ey5FSOpzhT\nsGlL\r\n=Iidd\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true},"main":"lib/core.js","types":"lib/core.d.ts","gitHead":"eb670bec2b1413f4fe0d6f7f15f4c0091009ad1d","scripts":{"dev":"nodemon -e js -w src --exec 'npm run build'","test":"npm run test:linter && npm run test:unit","build":"npm run build:src && npm run build:tsd","build:src":"babel --config-file ./.babelrc src --out-dir lib","build:tsd":"tsc -d --allowJs --types @rivalis/utils,@rivalis/data --emitDeclarationOnly --target es5 --lib ES2015 --outDir ./lib src/*.js","test:unit":"jest","test:linter":"eslint src"},"_npmUser":{"name":"kalevski","email":"kalevski@outlook.com"},"repository":{"url":"git+https://github.com/rivalis/rivalis.git","type":"git"},"_npmVersion":"8.3.0","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"16.13.0","dependencies":{"@rivalis/data":"^1.0.6","@rivalis/utils":"^1.8.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_4.11.18_1644348827254_0.9440579772197326","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"@rivalis/core","version":"5.0.0","keywords":["realtime","websockets","networking","multiplayer","netcode","rivalis"],"author":{"name":"kalevski"},"license":"MIT","_id":"@rivalis/core@5.0.0","maintainers":[{"name":"kalevski","email":"kalevski.dev@gmail.com"}],"homepage":"https://github.com/kalevski/rivalis#readme","bugs":{"url":"https://github.com/kalevski/rivalis/issues"},"dist":{"shasum":"6284d2372a7f5434c8d8f5acfa001625af87964c","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-5.0.0.tgz","fileCount":18,"integrity":"sha512-oYWPDImMMWeOrdfyVyu4FWoeS73fJ3d9leeqL9jt1Ir7zBHDktm6NMLVP5VaTa7NFoDzB7qH3cGTwrz7je2JFw==","signatures":[{"sig":"MEQCIHQ7ci2a15h+eQ2ss/Pd4eTJMSBEZZJteOSasbwoSV0UAiBQyVyF5SPsynpCC1mDLBIfATTDUAUGR5wN7Lczt3nV6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxXlhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYOQ//ZtHxYji8FZiFtNIXQH9umDbtbnEEacLbO1KCseIqbwu1VDB6\r\nJqyI6iUhQwMrxnfNYNaS4GVdcPJYpebLx2CQWxB/M8TaPWFyapX37GpNR/7r\r\nEPgyWgZ3PzR9SM88zbwgL6n410xUXxzLikJVTfukcQmZpVgr70yK1XL2UaSH\r\nrrWadC0PsMlTl9L0EUNS+psmoBJaI/Elp6jYITXbRzwYJ0HNIK0oz5CZm3sR\r\nNhI0j7oYzCOVsPCdsUDFbU8sFgwcuoUYtHzGhHCnVl4zNN5miCxrtHBttszg\r\n54ISFIoaywgEeasvoSS5oL9Y5nhTQU01XoXYHgHWKPF4nQmjADwQWuIjEFjT\r\nNwEvZz4SmCbY6668FNY2mu2qm/WxaWw/WoYbTjzVIb702uOFAZ/KDts7gPF9\r\n9G9WCWV/s1KG30Ajngz8Y3BG5QofCFqNRGZXLpNLoy64w6//32u1qy5QcMkv\r\nEAB1PuiG6DJvnVF9qlCULFnBzqb4Yq+q9MwGsuAnW52qpFPHQWg8VrniKhlC\r\nNKxmoyMOobpYQlxxE+g28xb5mhk5MjlOjkFEG7DRg6PBR2933Z2Rj+krjPIE\r\nL4m+NufYSncN+rzrECyM+Yu0vpkKN85033mnOaazHGPm3Ag/97svOHs2hCuy\r\nPbNw3U9mlkXDbNU7hXRPGiAUmmI7MnlC1yA=\r\n=Ld9Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","types":"lib/main.d.ts","module":"lib/module.js","source":"src/main.js","gitHead":"5bb91373da19b96034b353d237f6a0e0b3563642","scripts":{"dev":"nodemon -e js -w src --exec \"npm run build\"","build":"npm run build:src && npm run build:tsd","build:src":"parcel build --no-source-maps --no-cache","build:tsd":"tsc -d --allowJs --emitDeclarationOnly --types @toolcase/base,@toolcase/logging,@types/ws --target es5 --lib ES2015 --outDir ./lib src/*.js"},"targets":{"main":{"optimize":true},"types":false,"module":{"optimize":true}},"_npmUser":{"name":"kalevski","email":"kalevski.dev@gmail.com"},"repository":{"url":"git+https://github.com/kalevski/rivalis.git","type":"git"},"_npmVersion":"8.19.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"18.12.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"ws":"8.x","@toolcase/base":"1.x","@toolcase/logging":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/core_5.0.0_1673886049401_0.49107571635173763","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"@rivalis/core","version":"5.0.1","keywords":["realtime","websockets","networking","multiplayer","netcode","rivalis"],"author":{"name":"kalevski"},"license":"MIT","_id":"@rivalis/core@5.0.1","maintainers":[{"name":"kalevski","email":"kalevski.dev@gmail.com"}],"homepage":"https://github.com/kalevski/rivalis#readme","bugs":{"url":"https://github.com/kalevski/rivalis/issues"},"dist":{"shasum":"e48a51073db244228923240abfe551df65eab2f2","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-5.0.1.tgz","fileCount":18,"integrity":"sha512-gk22PYnNRqu1psEUEbUS19XndkrWoIyCi80rLzF58CUyEYlpEG86+51zff5AZcfhur8oZXk/6ulmpRfP61oz+Q==","signatures":[{"sig":"MEQCIFhLPGxiunAScdj4DAZUFo0j41eQijuyPPO8Ez0d31t0AiAfcCKC2SxOuYwLpnUxydHQvHBN5q3N2O99QA6150NoQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxX7aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+8w/+Nj3Czjv3T0Ev5IR/dQ0V4MWWPSB3da0OreJZ9+KBtbbalD0+\r\nhmuCqxTTIbXHCPFS1cGK7OxOJ9o4Wv0nJd89Hkbt9qLtUYX8A4isv/EZAYfM\r\nydp40BRG+4PrCgoT5ZfVO0PwbY7/OOxHs7y34l8HZQlsOybSt4LWb4WTWsE5\r\n8TM3Ct+UWVPhU/0gEKNtDnCab8ekiqkhVpKnDgPIE3nhY6vVjD2qVFY5Dbtu\r\nXPnXZHPCWyXgP0OTEemi7Bg/L726EBTDGnCG+87Rze6GXb825m0l80lzKHh2\r\n9TVxnwk1BROqa12tvz7sIEH7uzD42Zza7tqGGQI1XZYKmv0P0GwqahIeig9n\r\nGU8Z1VZDcvF08uCl4BpV6dWQL2jSqzXcF/sEs+AP2EK+fFjMy4GyGrhF2DZw\r\nU7W92yLIAM7owtoe3xBGHOYOmwxIBHdK9ObAvK0lRMimqO1Y7xLFcaiQfGcJ\r\nQPPA94RbA7JbdoKZ8nPAnvX4Bh6Goiu0nf2tdRmBn4TMJMQCm+h5gzGkMAQM\r\n9jsVKOpKf9BX6f1j5HuC2jxq14AVB5gdeXSN0HNghzeBsqOsYpJuHXC/+HNo\r\no+bvAqsIbjNrTcYw8tUm34cRrQRis5DrVhmTjvRmM/XP6sOgAZxZKBHtH6gv\r\nsIEIKMF0muEz1Q1hNyxPL0zmhmpvk2LCw0c=\r\n=XHSf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","types":"lib/main.d.ts","module":"lib/module.js","source":"src/main.js","gitHead":"68c139421db64fb483d1bd96d835a96e6aebbf92","scripts":{"dev":"nodemon -e js -w src --exec \"npm run build\"","build":"npm run build:src && npm run build:tsd","build:src":"parcel build --no-source-maps --no-cache","build:tsd":"tsc -d --allowJs --emitDeclarationOnly --types @toolcase/base,@toolcase/logging,@types/ws --target es5 --lib ES2015 --outDir ./lib src/*.js"},"targets":{"main":{"optimize":true},"types":false,"module":{"optimize":true}},"_npmUser":{"name":"kalevski","email":"kalevski.dev@gmail.com"},"repository":{"url":"git+https://github.com/kalevski/rivalis.git","type":"git"},"_npmVersion":"8.19.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"18.12.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"ws":"8.x","@toolcase/base":"1.x","@toolcase/logging":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/core_5.0.1_1673887450140_0.33397156744570067","host":"s3://npm-registry-packages"}},"5.0.2":{"name":"@rivalis/core","version":"5.0.2","keywords":["realtime","websockets","networking","multiplayer","netcode","rivalis"],"author":{"name":"kalevski"},"license":"MIT","_id":"@rivalis/core@5.0.2","maintainers":[{"name":"kalevski","email":"kalevski.dev@gmail.com"}],"homepage":"https://github.com/kalevski/rivalis#readme","bugs":{"url":"https://github.com/kalevski/rivalis/issues"},"dist":{"shasum":"fe1677f876d59ea54cc6748b8f6315a9930f139e","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-5.0.2.tgz","fileCount":17,"integrity":"sha512-H/wJZYymvzA5TdEEbhQ/F7X1cBGNc+DI1Z1rEbi5ZylI/5FP4E1QMg5YlvdEV9Ibe0cSezZQA/LVXNxZBBrT/Q==","signatures":[{"sig":"MEUCIGREvn1t+eqgxFqwf9AsQGQbEyMh+MFYIhtFQOU1STjVAiEAg/I9YVXWOmYOm+hBdpJDHcG0yR+IgY9INQSb9Q2lAAM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjytTvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKVw/8CFZPJAyeJNmRv45hQ+lvoW0FNseAp9y89boUYMHYhgSwql1V\r\nZx4AcSKA6v/qg/b6RYw7uh6tzYafuJjJGMKVIhpgM8utYiCzNVZMBqteQOQb\r\nlg2gBoXSAvdY1UzAu/vRQkfc8nlW/NYNCH+EIwRu5PFJx/xoJIwtsirKm+A0\r\nQ1eTBqSWZbWvau8kWtg12ESpw73zEy3zElrs1i+jzx9P1BYnG1VJeNmv9N+x\r\n8PJt9b/wg7o/See8K7EbP1rdXVX4yXQzVV4GCi0liw1uHN1fIUk9t9FwzxIW\r\nwkz4letgjLWciqr92KTTET3LUJnoGsfTS4rVuor+A6XgF3c9iu37o2kD9Cea\r\naNBGhBZnyy1CcHzdw1O/gVG7+YW5AVTUbxBksyj18Exd/tMk9XHvCPK4kTqU\r\n7CsjBRiUQNr9NgNyoCGqxR78FPA7UU4t7zZmJ0a+IYjdAgZQkuXAg5WAYjQQ\r\nnBfY+dqIXYKe4rDXLKPd+dG42Y0KNg/JBNwqBNZYiPejmRjbKOwLP6nXQUVe\r\nlEz4Y8wmOdZOQe+B/Of8YEwuRxC59lOEkSEXCB23+Nvciugytpw2DITBsjxt\r\nHjKuyUPuRrTxIprt6OSJ42uUbF69aE95ZJpk9AooX7Im7LrI0ymlzsYQXp9v\r\n6SReub/H804dDUFD9hhe/BVSIcaM4pF9gUk=\r\n=yY9A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","types":"lib/main.d.ts","module":"lib/module.js","source":"src/main.js","gitHead":"93b5d2b666f0a9fbacfbfbef634426431fb9d88f","scripts":{"dev":"nodemon -e js -w src --exec \"npm run build\"","build":"npm run build:src && npm run build:tsd","build:src":"parcel build --no-source-maps --no-cache","build:tsd":"tsc -d --allowJs --emitDeclarationOnly --types @toolcase/base,@toolcase/logging,@types/ws --target es5 --lib ES2015 --outDir ./lib src/*.js"},"targets":{"main":{"optimize":true},"types":false,"module":{"optimize":true}},"_npmUser":{"name":"kalevski","email":"kalevski.dev@gmail.com"},"repository":{"url":"git+https://github.com/kalevski/rivalis.git","type":"git"},"_npmVersion":"8.19.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"18.12.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"ws":"8.x","@toolcase/base":"1.x","@toolcase/logging":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/core_5.0.2_1674237167789_0.14403867737935427","host":"s3://npm-registry-packages"}},"5.0.3":{"name":"@rivalis/core","version":"5.0.3","keywords":["realtime","websockets","networking","multiplayer","netcode","rivalis"],"author":{"name":"kalevski"},"license":"MIT","_id":"@rivalis/core@5.0.3","maintainers":[{"name":"kalevski","email":"kalevski.dev@gmail.com"}],"homepage":"https://github.com/kalevski/rivalis#readme","bugs":{"url":"https://github.com/kalevski/rivalis/issues"},"dist":{"shasum":"4d14e7394f6e43921b94e562168650688c5667b2","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-5.0.3.tgz","fileCount":17,"integrity":"sha512-F7swUNTuUFcN4CV1dv4tzU+arps4P5TbrZKY0b/9K3UdStdXnUwMR1JCfvbjMi6Iur9Z0ZIZXMJQc0lxPBAY5w==","signatures":[{"sig":"MEQCIHWuB4NFR6X464flxGoCW5jERPh+rJhDwEfe57N/VdVyAiBHyD06DgpcORFcge7giw3aSjH/rAVVqQMfOGF6SzdYRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjy+bXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGVBAAoEze64LJaJ7Ap3BW1jfGKd4j/v9DJgOkg6/m7IF7maG+ng7g\r\ntaucKJiGZRxXIt4IFvYqlKhsSLaatIZ1VF/PQloRC4MT8AakQY9++d554sEi\r\nm7OL95VvPy014734hWiujCC7H4LK0vgGJ3N44xabJmg0dWvj43pSk5d2xqSF\r\nOG3mxxtjJ7B/AfyHAPYudvFskacSKxZCzoZH71dm2NwOodLxa9Yrp9OKUuKS\r\nR5afOXikEZEiiSkhE8avUKkdagUe0yfyKnbqD3iQueZxhyf2m7/nBJP8her9\r\nyXOgC8zC0jAGwkrzJ+/p0ZWupw8BqYm1Ewwy1lx6SXRUnKuwPbRzj/hxG5RN\r\nsrj+n75tFarhKenuii+Ozhm/06kPcW6rQT/LjDwLFfp1aqY7vH9Xg4ZZ+O0u\r\nDvGQ8UGeNbXGzV4vxqJQ4wAPCUKNNW5H23kWHAWx0ZjCOqyjEMpzsDpv8cR+\r\nBGJfEpgD1agqdD5dROr5qo7UGm9tuUhV7BnsDenQT++3cPujdVWPoh9Z9rYN\r\njfjTdhwggS7ulDGv4X/3PIRP4B35Gw9xit+sXAG+cpT2U+CkGtWzM/4hQ1qo\r\nLbrIanOxXUv2kGJurFqIfi0twe3f3XeCC46OLt3K4g724S4/v4Thha7jdyGW\r\ngeYBpIeGGfYoFya66WC/A5GfuVUuWBHgJOY=\r\n=wWrc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","types":"lib/main.d.ts","module":"lib/module.js","source":"src/main.js","gitHead":"1a6aca9438ac971b1226d23f88b5a601324af1af","scripts":{"dev":"nodemon -e js -w src --exec \"npm run build\"","build":"npm run build:src && npm run build:tsd","build:src":"parcel build --no-source-maps --no-cache --no-optimize","build:tsd":"tsc -d --allowJs --emitDeclarationOnly --types @toolcase/base,@toolcase/logging,@types/ws --target es5 --lib ES2015 --outDir ./lib src/*.js"},"targets":{"main":{"optimize":true},"types":false,"module":{"optimize":true}},"_npmUser":{"name":"kalevski","email":"kalevski.dev@gmail.com"},"repository":{"url":"git+https://github.com/kalevski/rivalis.git","type":"git"},"_npmVersion":"8.19.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"18.12.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"ws":"8.x","@toolcase/base":"1.x","@toolcase/logging":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/core_5.0.3_1674307286878_0.3370243365379286","host":"s3://npm-registry-packages"}},"5.0.5":{"name":"@rivalis/core","version":"5.0.5","keywords":["realtime","websockets","networking","multiplayer","netcode","rivalis"],"author":{"name":"kalevski"},"license":"MIT","_id":"@rivalis/core@5.0.5","maintainers":[{"name":"kalevski","email":"kalevski.dev@gmail.com"}],"homepage":"https://github.com/kalevski/rivalis#readme","bugs":{"url":"https://github.com/kalevski/rivalis/issues"},"dist":{"shasum":"660a4eaa56f616800bc3aafd432cc8d79b421b26","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-5.0.5.tgz","fileCount":17,"integrity":"sha512-MkhX3TfhQq1m28fBItgdlj1hnurZR9rObwXAEX+duibS3WS27CAg8ZTZ5L3S32lI0peZh+mLKf1q3ulHpbAI+g==","signatures":[{"sig":"MEUCIQC8+SIQKTaN9lmQCLxKJ6WdQmMoUzcjOoW4wk0iIfTyJAIgBlJ0hUvx6Pt2vbuq7FF7VFfCc6S39wQ8Gs46J6w66Oo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzB/dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKfA/+K2JYdt+uCGXm4mwDCt+ewFK0V+yFWajgwMWO1lhtZihz+Upz\r\nY0HJeflBJwFQ/hfgAVyEwwu8l3Lt3OavY7ppirV1/ggpdmVTUI1KaIi9DLCw\r\neW/eQwv9iwd3CSNSbtsQ4A9GaTBZoPx6WzPVZ5cP9VAv5VElwC18zH2uUat+\r\nuA6tTIVz6yrLSNEZlfERCcdnboNQMR82uwyrJfjqPRMPdOm+Zt/Ksigdl/PD\r\n1wH9Um3YFVhdz/LTyuC79yLnMkgNKn84iYRbqyba786N5SVlTjmvWuN+q9Uv\r\nsp0d12CDZro8A+L/G/PvGKX/ZP/lwbGZ7OXbJMgAlz6Pv/LgVDbMoJLjZIZx\r\nqhyJOQdd7n/Dpmt38QyWohaVAT8VKm8O/9NKjelf3i2cgpeAciK3Oxb6whab\r\nxkJ29/vPsZFAtXCWjhTaVvgfN4e6NAQMTlGKL4/HCvzvExMlWNcjOXSAQ3mc\r\nQgWjhj2WDkB/gzZ1cvEoFUNj+6fjlp88s8t5gI2TjpHIn2czoX2NngrY3FaG\r\nx3+HmfBdR5BhLibdjsaSYLqJMw8V+m6eNlOf++XhZRER6YEYZvvhI4muMf5+\r\nlU6rjfmbBmdggsZzMWEzluJvLb6VPG9DsL9UKX6IXXViNUvqyNTkxDU1vK88\r\n8CjSYVY+9JFP2lCdCyL1oHDz9WD1o0CBaMI=\r\n=ZaHg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","types":"lib/main.d.ts","module":"lib/module.js","source":"src/main.js","gitHead":"1a6aca9438ac971b1226d23f88b5a601324af1af","scripts":{"dev":"nodemon -e js -w src --exec \"npm run build\"","build":"npm run build:src && npm run build:tsd","build:src":"parcel build --no-source-maps --no-cache --no-optimize","build:tsd":"tsc -d --allowJs --emitDeclarationOnly --types @toolcase/base,@toolcase/logging,@types/ws --target es5 --lib ES2015 --outDir ./lib src/*.js"},"targets":{"main":{"optimize":false},"types":false,"module":{"optimize":false}},"_npmUser":{"name":"kalevski","email":"kalevski.dev@gmail.com"},"repository":{"url":"git+https://github.com/kalevski/rivalis.git","type":"git"},"_npmVersion":"8.19.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"18.12.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"ws":"8.x","@toolcase/base":"1.x","@toolcase/logging":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/core_5.0.5_1674321885148_0.41449515477175347","host":"s3://npm-registry-packages"}},"5.0.6":{"name":"@rivalis/core","version":"5.0.6","keywords":["realtime","websockets","networking","multiplayer","netcode","rivalis"],"author":{"name":"kalevski"},"license":"MIT","_id":"@rivalis/core@5.0.6","maintainers":[{"name":"kalevski","email":"kalevski.dev@gmail.com"}],"homepage":"https://github.com/kalevski/rivalis#readme","bugs":{"url":"https://github.com/kalevski/rivalis/issues"},"dist":{"shasum":"974e4563c0d9a95c39fa7bcf7b8aff482f6132cc","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-5.0.6.tgz","fileCount":17,"integrity":"sha512-nl6h5btVfXbrUh6h8zKRcKx5yjLMLq4dgZhCbZQy5D2T8X+apmWJCghPkwPJpNoihr915aCiIj4O6hhc5DwsNQ==","signatures":[{"sig":"MEQCIH5LAalwBaIzjkBcdCIf+Q5Gq1w5pD5HlwHG9mamOHAMAiBtOFQO+zt818BO8CcKU3KdR2+7Ict5G6HmGei4k3SI8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65900},"main":"lib/main.js","types":"lib/main.d.ts","module":"lib/module.js","source":"src/main.js","gitHead":"1628929cb643396af1b8faf9261f741c5dcf55cf","scripts":{"dev":"nodemon -e js -w src --exec \"npm run build\"","build":"npm run build:src && npm run build:tsd","build:src":"parcel build --no-source-maps --no-cache --no-optimize","build:tsd":"tsc -d --allowJs --emitDeclarationOnly --types @toolcase/base,@toolcase/logging,@types/ws --target es5 --lib ES2015 --outDir ./lib src/*.js"},"targets":{"main":{"optimize":false},"types":false,"module":{"optimize":false}},"_npmUser":{"name":"kalevski","email":"kalevski.dev@gmail.com"},"repository":{"url":"git+https://github.com/kalevski/rivalis.git","type":"git"},"_npmVersion":"10.9.2","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"23.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"ws":"8.x","@toolcase/base":"1.x","@toolcase/logging":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/core_5.0.6_1744891296336_0.16007688918207275","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@rivalis/core","version":"6.0.0","keywords":["realtime","websockets","networking","multiplayer","netcode","rivalis"],"author":{"name":"kalevski"},"license":"MIT","_id":"@rivalis/core@6.0.0","maintainers":[{"name":"kalevski","email":"kalevski.dev@gmail.com"}],"homepage":"https://github.com/kalevski/rivalis#readme","bugs":{"url":"https://github.com/kalevski/rivalis/issues"},"dist":{"shasum":"149a9e8666023c0f8989e0793ef4caac03d664a4","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-6.0.0.tgz","fileCount":5,"integrity":"sha512-Ollg1/xkYiV1MWvrHzSNrCCY/hjmmmHgPq67vJjhE31GzbrWii3cB6CTjB8jxI7MlZnaYVcE0m/8eYayIAGtAQ==","signatures":[{"sig":"MEUCIQCydSUuXbVIF0KPxELg5c0i0PIyjNosLzltCZktVM0lzgIgK0GOyTc8FNgcBKmM+fovOmyLRsR8GoM1TJmfjY+kTNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122786},"main":"lib/main.js","types":"lib/main.d.ts","module":"lib/module.js","source":"src/main.ts","exports":{".":{"types":"./lib/main.d.ts","import":"./lib/module.js","require":"./lib/main.js"}},"gitHead":"fe292e8ba7273c50b92566e6c36d02be7d243e8f","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"kalevski","email":"kalevski.dev@gmail.com"},"repository":{"url":"git+https://github.com/kalevski/rivalis.git","type":"git"},"_npmVersion":"11.6.0","description":"NodeJS framework for building real-time applications","directories":{"lib":"lib"},"_nodeVersion":"24.8.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@rivalis/handshake":"*"},"peerDependencies":{"ws":"8.x","@toolcase/base":"2.x","@toolcase/logging":"2.x","@toolcase/serializer":"2.x"},"_npmOperationalInternal":{"tmp":"tmp/core_6.0.0_1777390348296_0.6958303620335224","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@rivalis/core","version":"8.0.0","description":"Isomorphic real-time framework for building multiplayer applications","source":"src/main.ts","main":"lib/main.js","module":"lib/module.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","import":"./lib/module.js","require":"./lib/main.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","test":"npm run build && node --test \"test/**/*.test.mts\""},"peerDependencies":{"@toolcase/base":"3.x","@toolcase/logging":"3.x"},"devDependencies":{"@rivalis/handshake":"*"},"keywords":["realtime","websockets","networking","multiplayer","netcode","rivalis"],"directories":{"lib":"lib"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://github.com/kalevski/rivalis.git"},"author":{"name":"kalevski"},"license":"MIT","bugs":{"url":"https://github.com/kalevski/rivalis/issues"},"homepage":"https://github.com/kalevski/rivalis#readme","_id":"@rivalis/core@8.0.0","gitHead":"decc7979f0bda6e9a18d83457ca123c8da5222c1","_nodeVersion":"24.8.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-oFUebEWR7SSxf/4q8pwtHSHJ2ic2jtZM+bd1e1aKr1jR6Ezb4teG7bRBuudvreHxpDXuhmFc+8KGebUpupHqPw==","shasum":"d2713a83ca4b1c02ad0a473238527e318b8c642b","tarball":"https://registry.npmjs.org/@rivalis/core/-/core-8.0.0.tgz","fileCount":5,"unpackedSize":157862,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC8AZWaZUtY/+gLRJh9N8m1KvLA1LmoH49HXtYc3xu3SAIhALug0YwkxqNFwZWFYesNV0gmifclWRt2ZanOpcWugnjE"}]},"_npmUser":{"name":"kalevski","email":"kalevski.dev@gmail.com"},"maintainers":[{"name":"kalevski","email":"kalevski.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_8.0.0_1782351854816_0.4559359983968414"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-10T17:51:27.728Z","modified":"2026-06-25T01:44:15.080Z","0.0.1":"2020-12-10T17:51:28.166Z","0.0.2":"2020-12-10T18:06:55.857Z","0.1.0":"2020-12-11T23:50:41.033Z","0.2.0":"2021-02-08T23:28:55.202Z","0.2.1":"2021-02-08T23:56:37.253Z","0.3.0":"2021-02-10T22:47:31.159Z","0.3.1":"2021-02-10T23:12:33.886Z","0.3.2":"2021-02-12T10:20:22.415Z","0.4.0":"2021-02-16T22:59:58.319Z","0.4.1":"2021-04-01T07:37:31.017Z","0.5.0":"2021-06-23T14:06:25.156Z","0.5.1":"2021-06-23T14:57:22.972Z","0.5.2":"2021-06-23T15:03:17.890Z","0.5.3":"2021-06-23T16:06:00.546Z","0.5.5":"2021-06-24T23:36:32.487Z","0.6.0":"2021-06-25T15:02:28.114Z","0.6.1":"2021-06-25T16:24:43.127Z","0.6.2":"2021-06-27T15:41:48.203Z","0.6.3":"2021-06-27T16:00:44.463Z","0.6.4":"2021-06-27T17:08:56.250Z","0.6.5":"2021-06-27T23:42:57.955Z","0.6.6":"2021-06-27T23:58:39.840Z","0.6.7":"2021-06-28T00:11:13.982Z","0.6.8":"2021-06-28T16:43:15.902Z","0.6.9":"2021-06-29T00:17:35.684Z","0.6.10":"2021-06-30T13:27:34.863Z","0.6.11":"2021-06-30T15:12:07.710Z","0.7.11":"2021-06-30T23:16:09.544Z","0.7.12":"2021-06-30T23:38:37.791Z","0.7.13":"2021-07-01T17:51:52.383Z","0.7.14":"2021-07-01T18:07:57.497Z","0.7.15":"2021-07-02T17:54:16.878Z","0.7.16":"2021-07-03T10:38:36.636Z","1.0.0":"2021-07-05T19:02:35.052Z","1.0.1":"2021-07-05T19:29:03.425Z","1.0.2":"2021-07-05T20:09:39.474Z","1.0.3":"2021-07-05T20:19:24.669Z","2.0.0":"2021-08-14T23:19:46.711Z","2.0.1":"2021-08-15T17:16:38.167Z","2.0.2":"2021-08-15T17:48:32.192Z","2.0.3":"2021-08-15T19:07:06.323Z","2.0.4":"2021-08-15T20:59:41.883Z","2.0.5":"2021-08-15T21:02:50.032Z","2.1.5":"2021-08-24T13:00:28.838Z","2.1.6":"2021-08-25T15:41:08.259Z","2.1.7":"2021-08-26T18:20:29.380Z","2.1.8":"2021-10-26T10:03:13.478Z","2.1.9":"2021-10-26T10:22:13.876Z","2.1.10":"2021-11-03T17:47:31.193Z","2.1.11":"2021-11-03T18:00:55.801Z","3.0.0":"2021-11-25T10:38:40.027Z","3.0.1":"2021-11-25T10:50:13.444Z","3.0.2":"2021-11-25T10:56:23.715Z","3.1.3":"2021-11-25T19:34:13.775Z","3.1.4":"2021-11-25T20:05:25.166Z","3.1.5":"2021-11-25T20:15:02.440Z","4.0.1":"2021-12-01T18:04:00.583Z","4.0.2-alpha.0":"2021-12-01T18:23:52.601Z","4.0.2":"2021-12-01T18:29:30.578Z","4.0.3":"2021-12-01T18:30:37.845Z","4.0.4":"2021-12-01T18:30:46.343Z","4.0.1-alpha.0":"2021-12-01T18:43:56.792Z","4.0.5":"2021-12-01T18:48:49.829Z","4.0.6":"2021-12-01T18:49:16.935Z","4.1.6":"2021-12-01T18:58:08.389Z","4.2.6":"2021-12-01T19:10:39.587Z","4.2.7":"2021-12-01T19:11:15.384Z","4.3.6":"2021-12-01T19:16:49.512Z","4.3.7":"2021-12-01T19:25:00.985Z","4.3.8":"2021-12-01T19:29:11.393Z","4.3.9":"2021-12-01T19:34:40.101Z","4.3.14":"2021-12-01T20:42:54.379Z","4.5.4":"2021-12-01T20:58:24.089Z","4.6.1":"2021-12-16T12:17:24.612Z","4.6.2":"2021-12-16T12:22:43.463Z","4.6.3":"2021-12-16T14:04:07.178Z","4.6.4":"2021-12-22T20:55:13.698Z","4.7.5":"2021-12-29T16:22:34.228Z","4.7.8":"2021-12-29T19:26:17.884Z","4.8.8":"2022-01-03T18:58:02.747Z","4.11.8":"2022-01-13T21:18:52.365Z","4.11.9":"2022-01-27T14:31:32.903Z","4.11.10":"2022-02-01T19:45:31.889Z","4.11.15":"2022-02-07T14:53:59.630Z","4.11.16":"2022-02-07T14:56:18.946Z","4.11.17":"2022-02-07T20:35:18.278Z","4.11.18":"2022-02-08T19:33:47.477Z","5.0.0":"2023-01-16T16:20:49.553Z","5.0.1":"2023-01-16T16:44:10.410Z","5.0.2":"2023-01-20T17:52:47.965Z","5.0.3":"2023-01-21T13:21:27.124Z","5.0.5":"2023-01-21T17:24:45.305Z","5.0.6":"2025-04-17T12:01:36.511Z","6.0.0":"2026-04-28T15:32:28.487Z","8.0.0":"2026-06-25T01:44:14.953Z"},"bugs":{"url":"https://github.com/kalevski/rivalis/issues"},"author":{"name":"kalevski"},"license":"MIT","homepage":"https://github.com/kalevski/rivalis#readme","keywords":["realtime","websockets","networking","multiplayer","netcode","rivalis"],"repository":{"type":"git","url":"git+https://github.com/kalevski/rivalis.git"},"description":"Isomorphic real-time framework for building multiplayer applications","maintainers":[{"name":"kalevski","email":"kalevski.dev@gmail.com"}],"readme":"# @rivalis/core\n\n[![GitHub](https://img.shields.io/github/license/kalevski/rivalis?style=for-the-badge)](https://github.com/kalevski/rivalis/blob/main/LICENSE)\n[![npm version](https://img.shields.io/npm/v/@rivalis/core?color=teal&label=VERSION&style=for-the-badge)](https://www.npmjs.com/package/@rivalis/core)\n[![npm downloads](https://img.shields.io/npm/dw/@rivalis/core?label=downloads&style=for-the-badge)](https://www.npmjs.com/package/@rivalis/core)\n\nThe Node.js server framework for [Rivalis](https://github.com/kalevski/rivalis) — rooms, actors, auth middleware, WebSocket transport, and a binary wire protocol.\n\n## ⭐ Features\n\n- **Rooms** — extend `Room`, bind topics to handlers, broadcast / send / kick.\n- **Actors** — per-connection state with auth-supplied data carried throughout the connection's lifetime.\n- **Pluggable transport** — `WSTransport` ships out of the box; the `Transport` base class lets you add your own.\n- **Pluggable auth** — implement one method (`authenticate(ticket)`) to validate and route every connection.\n- **Built-in defaults that don't need tuning** — token-bucket rate limiting, heartbeats, frame & topic size caps.\n- **Opt-in protections for the rough edges** — origin allow-list, per-IP connection limiting, ticket-via-subprotocol.\n- **Graceful shutdown** — `rivalis.shutdown()` destroys rooms, kicks actors, and disposes transports with a timeout.\n- **TypeScript-first** — strict mode + `exactOptionalPropertyTypes` + `noUncheckedIndexedAccess`. Generic over your auth payload type.\n\n## 🚀 Install\n\n```bash\nnpm install @rivalis/core\n```\n\n`@rivalis/core` declares its dependencies as **peers** so you control the versions:\n\n```bash\nnpm install ws @toolcase/base @toolcase/logging @toolcase/serializer\n```\n\n## 🚀 Hello world\n\nA minimal echo server with one chat room:\n\n```ts\nimport http from 'http'\nimport {\n    Rivalis, Transports, Room, AuthMiddleware,\n    type AuthResult, type Actor\n} from '@rivalis/core'\n\ntype ActorData = { name: string }\n\nclass ChatRoom extends Room<ActorData> {\n    protected override presence = true   // auto-broadcast __presence:join / leave\n\n    protected override onCreate() {\n        this.bind('chat', this.onChat)\n    }\n\n    protected override onJoin(actor: Actor<ActorData>) {\n        actor.send('welcome', JSON.stringify({ youAre: actor.data?.name ?? '' }))\n    }\n\n    private onChat(actor: Actor<ActorData>, payload: Uint8Array) {\n        // Re-broadcast every chat frame to everyone in the room.\n        this.broadcast('chat', payload)\n    }\n}\n\nclass Auth extends AuthMiddleware<ActorData> {\n    override async authenticate(ticket: string): Promise<AuthResult<ActorData> | null> {\n        const name = ticket.trim()\n        if (!name || name.length > 20) return null\n        return { data: { name }, roomId: 'global' }\n    }\n}\n\nconst server = http.createServer()\nconst rivalis = new Rivalis<ActorData>({\n    transports: [new Transports.WSTransport({ server })],\n    authMiddleware: new Auth()\n})\nrivalis.rooms.define('chat', ChatRoom)\nrivalis.rooms.create('chat', 'global')\nserver.listen(8080, () => console.log('ws://localhost:8080'))\n\nprocess.on('SIGINT', async () => { await rivalis.shutdown(); process.exit(0) })\n```\n\n## 🧠 Concepts\n\n### Rivalis\n\nThe entrypoint. Owns one `TLayer` and one `RoomManager`; takes an array of transports and one auth middleware:\n\n```ts\nconst rivalis = new Rivalis<TActorData>({\n    transports: [new Transports.WSTransport({ server })],\n    authMiddleware: new MyAuth(),\n    rateLimiter: undefined,  // omit → default token bucket; null → opt out\n    logging: undefined,      // omit → built-in console reporter\n    maxTopicLength: 256,     // default\n    maxPayloadBytes: 65536   // default 64 KiB — core-level inbound payload ceiling\n})\n\nrivalis.connections   // joined actors\nrivalis.sockets       // open sockets (includes pre-handshake)\nrivalis.rooms         // RoomManager\nrivalis.logging       // LoggerFactory — set rivalis.logging.level = 'debug'\n\nawait rivalis.shutdown({ timeoutMs: 5000 })\n```\n\n### Room\n\n`Room<TActorData>` is the user extension point. Subclass it and override the lifecycle:\n\n```ts\nclass GameRoom extends Room<{ name: string }> {\n    override maxActors = 4              // reject 5th joiner with `room_full`\n    override joinable = true            // flip to false to refuse new joins (`room_not_joinable`)\n    protected override presence = true  // auto __presence:join / __presence:leave broadcasts\n    protected override unknownTopicPolicy = 'drop'  // 'kick' (default) | 'drop'\n\n    protected override onCreate() {\n        this.bind('move', this.onMove)\n        this.bindAny(this.onAnyTopic)   // wildcard fallback (optional)\n    }\n\n    protected override onJoin(actor: Actor<{ name: string }>) {\n        // actor.send() works synchronously from here — no setImmediate needed.\n        actor.send('state', JSON.stringify(this.snapshot()))\n    }\n\n    protected override onLeave(actor: Actor<{ name: string }>) { /* cleanup */ }\n    protected override onDestroy() { /* dispose external resources */ }\n\n    /**\n     * Override to scrub server-only fields out of `actor.data` before\n     * presence broadcasts hit other clients.\n     */\n    protected override presencePayload(actor: Actor<{ name: string }>) {\n        return { id: actor.id, name: actor.data?.name }\n    }\n\n    private onMove(actor: Actor<{ name: string }>, payload: Uint8Array) {\n        // Validate, then broadcast the new state.\n        this.broadcast('state', JSON.stringify(this.applyMove(payload)))\n    }\n\n    private onAnyTopic(actor: Actor<{ name: string }>, payload: Uint8Array, topic: string) {\n        // Receives every frame on a topic that wasn't bound explicitly.\n    }\n\n    private snapshot() { return { /* ... */ } }\n    private applyMove(payload: Uint8Array) { return { /* ... */ } }\n}\n```\n\n**Public API:**\n\n| Method | Purpose |\n|---|---|\n| `bind(topic, listener)` | Register inbound topic handler. Throws on `__`-prefix, `'*'`, or collision. |\n| `unbind(topic)` | Returns `true` if a binding was removed. |\n| `bindAny(listener)` / `unbindAny()` | Wildcard fallback for any unbound topic. Only one wildcard at a time. |\n| `send(actor, topic, payload)` | Unicast. `payload`: `Uint8Array \\| string`. |\n| `broadcast(topic, payload)` | Fan-out to every actor in the room. |\n| `each(fn)` | Iterate the room's actors. |\n| `kick(actor, payload?)` | Disconnect an actor with a close-frame reason (≤123 bytes). |\n| `destroy()` | Tells the manager to destroy this room. |\n\nThe `__` topic prefix is reserved for framework events (`__presence:join`, `__presence:leave`). `bind` / `unbind` reject it.\n\n### Actor\n\nA per-connection handle inside a room. Created by the framework when an actor joins; passed to your lifecycle hooks and topic listeners.\n\n```ts\nactor.id          // 16-char CSPRNG-backed id\nactor.data        // TActorData | null — whatever your authenticate() returned\nactor.joined      // Date\nactor.send(topic, payload)\nactor.kick(reason?)        // payload: Uint8Array | string\nactor.save<T>(key, value)  // per-actor scratch storage\nactor.get<T>(key)\n```\n\n### AuthMiddleware\n\nImplement one method:\n\n```ts\nclass JWTAuth extends AuthMiddleware<{ userId: string; tier: 'free' | 'pro' }> {\n    override async authenticate(ticket: string) {\n        try {\n            const claims = await verifyJwt(ticket)  // returns null on bad sig\n            if (!claims) return null\n            return {\n                data: { userId: claims.sub, tier: claims.tier },\n                roomId: claims.room\n            }\n        } catch {\n            return null\n        }\n    }\n}\n```\n\nReturn `null` to reject (closes with `INVALID_TICKET`). Return `{ data, roomId }` to accept — `data` is stamped on `actor.data`, `roomId` routes the actor.\n\n> **Timing-oracle hazard.** Any secret comparison inside `authenticate` (HMACs, signatures, session tokens) must use `crypto.timingSafeEqual` or an equivalent constant-time comparator. `===` and `Buffer.compare` short-circuit on first mismatch and leak the prefix length over enough samples.\n\nFor migration from the legacy three-method shape (`validateTicket` / `extractPayload` / `getRoomId`), extend `LegacyAuthMiddleware` instead of `AuthMiddleware` — it ships a default `authenticate` that calls the three. `LegacyAuthMiddleware` is `@deprecated` and will be removed in the next major.\n\n### RoomManager\n\n```ts\nrivalis.rooms.define('chat', ChatRoom)        // register a class\nrivalis.rooms.create('chat', 'lobby-1')        // instantiate; pass null/omit to auto-generate id\nrivalis.rooms.get('lobby-1')                   // Room | null\nrivalis.rooms.destroy('lobby-1')               // kicks remaining actors, runs onDestroy\n\nrivalis.rooms.on('create', (id) => { /* ... */ })\nrivalis.rooms.on('destroy', (id) => { /* ... */ })\n```\n\nRooms are **not** auto-created on connect. Your application must `create()` rooms before any actor whose ticket maps to that room id can join — otherwise `authenticate` returns a valid `roomId` but `TLayer.grantAccess` rejects with `room id=... does not exist`.\n\n## 🌐 WSTransport options\n\n```ts\nnew Transports.WSTransport(\n    serverOptions,            // ws.ServerOptions (server, port, path, etc.)\n    queryTicketParam,         // optional, default 'ticket'\n    transportOptions          // WSTransportOptions\n)\n```\n\n| Option | Default | Description |\n|---|---|---|\n| `maxPayload` | `64 * 1024` (64 KiB) | Hard cap on a single inbound frame. Caller-passed `serverOptions.maxPayload` honoured if set; this overrides. |\n| `heartbeat` | `{ intervalMs: 30000, missThreshold: 2 }` | Ping cadence. `false` to disable. |\n| `maxBufferedBytes` | `1024 * 1024` (1 MiB) | Per-socket outbound buffer cap; over the cap, frames are dropped. |\n| `onBackpressureDrop` | – | `(actorId, bufferedAmount) => void` — fires on every dropped outbound frame so you can escalate (e.g. kick the slow actor). |\n| `allowedOrigins` | – | `ReadonlyArray<string> \\| (origin) => boolean` — reject any other `Origin` header before auth runs. Required for CSWSH protection when tickets ride on cookies. |\n| `connectionLimiter` | – | A `ConnectionLimiter` subclass — checked before auth on every new socket. Limiter rejection closes with `CloseCode.RATE_LIMITED`. |\n| `ticketSource` | `'query'` | `'query'` reads `?ticket=` (default, back-compat). `'protocol'` reads `Sec-WebSocket-Protocol` — preferable in production because subprotocol values don't appear in URL access logs or browser history. |\n\nTickets are **never** logged in plaintext — only an 8-char SHA-256 fingerprint.\n\n## 🛡️ Rate limiting\n\nThe default is opt-out: a fresh `new Rivalis({ ... })` ships a `TokenBucketRateLimiter` at 30 tokens / 30-per-second refill. Tune or disable:\n\n```ts\nimport { TokenBucketRateLimiter } from '@rivalis/core'\n\nnew Rivalis({\n    transports: [...],\n    authMiddleware: new MyAuth(),\n\n    // Bigger bucket for high-frequency traffic:\n    rateLimiter: new TokenBucketRateLimiter({ capacity: 120, refillPerSecond: 60 })\n\n    // …or opt out entirely:\n    // rateLimiter: null\n})\n```\n\nThe bucket map is self-bounding so it can't grow without limit under connection\nchurn (or any path that skips per-actor `release()`): idle buckets are swept once\nthey age past `idleEvictMs` (default 60 s), and a hard `maxBuckets` LRU cap\n(default 100 000) evicts least-recently-used buckets. Both are tunable via\n`TokenBucketOptions`; eviction is transparent — an evicted actor's next frame\nsimply re-creates a full bucket.\n\nWrite your own by subclassing `RateLimiter`:\n\n```ts\nclass FixedWindowLimiter extends RateLimiter {\n    private counts = new Map<string, { window: number, count: number }>()\n    override check(actorId: string): boolean {\n        const window = Math.floor(Date.now() / 1000)\n        const entry = this.counts.get(actorId)\n        if (!entry || entry.window !== window) {\n            this.counts.set(actorId, { window, count: 1 })\n            return true\n        }\n        return ++entry.count <= 60\n    }\n    override release(actorId: string) { this.counts.delete(actorId) }\n}\n```\n\n## 🚦 Pre-handshake connection limiting\n\nCap how many sockets a single IP can open per second. Subclass `ConnectionLimiter`:\n\n```ts\nimport { ConnectionLimiter } from '@rivalis/core'\n\nclass IPLimiter extends ConnectionLimiter {\n    private state = new Map<string, { window: number, count: number }>()\n    override check(remoteAddress: string): boolean {\n        const window = Math.floor(Date.now() / 1000)\n        const entry = this.state.get(remoteAddress)\n        if (!entry || entry.window !== window) {\n            this.state.set(remoteAddress, { window, count: 1 })\n            return true\n        }\n        return ++entry.count <= 10\n    }\n}\n\nnew Transports.WSTransport({ server }, null, {\n    connectionLimiter: new IPLimiter()\n})\n```\n\n> Behind a reverse proxy, `request.socket.remoteAddress` is the proxy. Extract the real client address from `X-Forwarded-For` yourself before passing it to your limiter.\n\n## 🧾 Wire format\n\nFrames are binary: `{ topic: string, payload: bytes }`. The framework never inspects `payload`; encode it however you like — JSON, protobuf, msgpack, raw bytes.\n\nThe framework owns these topics (reserved `__` prefix — `bind` / `unbind` reject them):\n\n| Topic | When it fires | Payload |\n|---|---|---|\n| `__presence:join` | An actor joined a `presence: true` room | `JSON.stringify(presencePayload(actor))` (default `{ id, data }`) |\n| `__presence:leave` | An actor left a `presence: true` room | same shape |\n\n## ⚙️ Close codes & kick reasons\n\n`CloseCode` (re-exported from `@rivalis/handshake`):\n\n| Code | Constant | Meaning |\n|---|---|---|\n| `4001` | `INVALID_TICKET` | Bad / missing ticket; auth rejected |\n| `4002` | `INVALID_FRAME` | Non-binary frame received |\n| `4003` | `KICKED` | Server-initiated kick (reason in payload) |\n| `4004` | `ROOM_REJECTED` | `room_full` or `room_not_joinable` |\n| `4005` | `RATE_LIMITED` | Connection limiter rejected (pre-handshake) |\n\n`KickReason` — the strings sent in close-frame payloads:\n\n```ts\nimport { KickReason } from '@rivalis/core'\n\nKickReason.INVALID_MESSAGE    // 'invalid_message'\nKickReason.ROOM_DESTROYED     // 'room_destroyed'\nKickReason.ROOM_FULL          // 'room_full'\nKickReason.ROOM_NOT_JOINABLE  // 'room_not_joinable'\nKickReason.RATE_LIMITED       // 'rate_limited'\nKickReason.SERVER_SHUTDOWN    // 'server_shutdown'\n```\n\n## 🔌 Graceful shutdown\n\n```ts\nprocess.on('SIGINT', async () => {\n    await rivalis.shutdown({ timeoutMs: 5000 })\n    process.exit(0)\n})\n```\n\n`shutdown` destroys every room (kicks remaining actors with `room_destroyed`), then disposes every transport (closes all live sockets with `KICKED + 'server_shutdown'`). The `timeoutMs` is the upper bound for transport disposal.\n\n## 🧪 Custom transports\n\n`WSTransport` is the reference implementation — for anything else (TCP, WebTransport, in-process), subclass `Transport`:\n\n```ts\nimport { Transport, type TLayer } from '@rivalis/core'\n\nclass MyTransport extends Transport {\n    override onInitialize(transportLayer: TLayer<any>): void {\n        // Wire up your socket source. For each new connection, call:\n        //   transportLayer.grantAccess(ticket)        → returns actorId or throws\n        //   transportLayer.handleMessage(actorId, frame)  on inbound\n        //   transportLayer.handleClose(actorId)            on disconnect\n        //   transportLayer.on('message', actorId, fn)      to forward outbound to your socket\n        //   transportLayer.on('kick', actorId, fn)         to close your socket with the reason\n    }\n    override get sockets(): number { /* live socket count */ return 0 }\n    override async dispose(): Promise<void> { /* stop accepting + close all */ }\n}\n```\n\n## License\n\nMIT — see [LICENSE](https://github.com/kalevski/rivalis/blob/main/LICENSE).\n","readmeFilename":"README.md"}