{"_id":"@basementuniverse/asobi-client","_rev":"15-055efcf34bf7b03c12ca795c2272a1dc","name":"@basementuniverse/asobi-client","dist-tags":{"latest":"1.11.2"},"versions":{"1.0.0":{"name":"@basementuniverse/asobi-client","version":"1.0.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.0.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"7ee7aad8fff4cf5b6fafc38ecea9d11f188d18f3","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.0.0.tgz","fileCount":13,"integrity":"sha512-FrdBxhHf+00XuHvkwFPFrcio85eIFRPy7PBkLQE4gjzr8IcK0Q3y/7BYqaNptK+seEpvBiEyGd2i8VH3hwrqbQ==","signatures":[{"sig":"MEUCICLP/iK6D//9GquUPbr3ErbDKrgNgQAceeWJSzThUUqsAiEAgSDLao7UOm22P1ISkVwOt6UrRoe1b0PA0ebc4udMKgk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":189727},"main":"build/client.js","gitHead":"bd4784ef23e2bb0e26809a9ac24495f347c9a66f","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.0.0_1735333175178_0.7654268101992441","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@basementuniverse/asobi-client","version":"1.1.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.1.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"906a9e6c822c4f2dde2fa212129bb672dee89d02","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.1.0.tgz","fileCount":13,"integrity":"sha512-skp+en0lj/wQW6L/XqW2DpPfKF1lJbmPokh+9ANRH6U636KcTjMmaVWYj8D55Trz+sI2vPB+XcxtLT/B5WQBaw==","signatures":[{"sig":"MEUCIQDFjPNnPQLpRQDZEA7odo5Y1nR4K0JHTd+LE/SFjlwQSQIgND8h3YJMmaPisBxXmSjYCwZX3UQMnwibNt2RDUgdOQs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":189727},"main":"build/client.js","gitHead":"42844de93561c0dc6aebb75460b5640818334a7c","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.1.0_1735501398439_0.7934208392157029","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@basementuniverse/asobi-client","version":"1.2.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.2.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"ab596db73309db8c9668d8b8224027e30d0ead8c","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.2.0.tgz","fileCount":14,"integrity":"sha512-4l21RHTddUtkQLM0AX9O+Q4d2nnW6Sey1OfpbkzwUe1pFUaCrJjof9ZoBTINRKuCaROVNbEl7Oo1EkjWa2pTGQ==","signatures":[{"sig":"MEUCIQCh0NMXmbem0pIUSMzgRIaE3B5YkGQnzZVJdfMr2Y4ptQIgLV4zIdiMinxn/7jlPyN3XPp2vL1FPbiH7fyvHPZ6i74=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":193648},"main":"build/client.js","gitHead":"a2def0533662964aa49f289e041e540107234d34","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.2.0_1736358955382_0.4431337299853664","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@basementuniverse/asobi-client","version":"1.2.1","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.2.1","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"2d650cad6cd0663b799f24ab2d8cb8bf8c5a3b9d","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.2.1.tgz","fileCount":14,"integrity":"sha512-X1KUSnMOsBTRx+l7Ak93dAqwjbN9t/EjBIWOJ0TFKCGoVCu3d0WbpJ+aGPup544FVuogIx5/bBBjkb/6E66jIg==","signatures":[{"sig":"MEUCIQCX8sNQwCmy6EASrGh2w3J72eK8Y4He7n6bReJ3DMWY1QIgCtKySyaNIM3ZMLFQ+FmTj/pxpJDtV3654gS3qEjC7+0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":193648},"main":"build/client.js","gitHead":"7af2441620f03013ec82db2584d1d6bed605c526","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.2.1_1736364138850_0.617163117081488","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@basementuniverse/asobi-client","version":"1.3.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.3.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"9c44bf55e32aecbb7da3dee2b52d179a917b2dcf","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.3.0.tgz","fileCount":14,"integrity":"sha512-w87j+lC7ftDktWs1tcfLsf2YCiPcWvGLEJfJeXrm9CIONLfmdyMlEpgsTEQYOb75l83JHR4eTjiAROcC2r6N1w==","signatures":[{"sig":"MEYCIQDyujTL+CXJlIwRJgf6WUEzvAEbisDop7HdCYcdIYjb7AIhAPZ300715zRuTiaRN7EgA7qyvUQF6S2YqTTFb+o+wK9y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":193648},"main":"build/client.js","gitHead":"c0f0e94f73c66568f87f8e64a6c3616277b4f311","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.3.0_1736619050597_0.37628831495240145","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@basementuniverse/asobi-client","version":"1.4.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.4.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"9a1c1e2670e19ed565219de156d00de84f8de372","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.4.0.tgz","fileCount":14,"integrity":"sha512-BFcZB6GJbhEGD/7QmvkkXl1Saqwjzn2GmM79wsHwl99xadvXYMstRwsXEspGLePshjsYdwVmUKdX4L7qpREjbw==","signatures":[{"sig":"MEUCIDKRu5zH/P3hc4gaf4svK9+Eab7cvYPu8v1hEemYyIG+AiEA3Y+eFZRBnsdSDfrFcpy/YzRWbAg49cK883euJt1SgTc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197063},"main":"build/client.js","gitHead":"d25a0f26b9c0c7e9c2b18dafdbc81b06fcc33e7d","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.4.0_1736704221550_0.24565610003817384","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@basementuniverse/asobi-client","version":"1.5.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.5.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"eae876596317025bc8f41b6e572d6af2fc0b0e55","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.5.0.tgz","fileCount":14,"integrity":"sha512-Cjs2IYv8GnryWVwV1mF7KYOp7KFRlDmKzQHsfLBonWxQnTQ0i7djGFaZcMGOT4EOMNpOwMh65ejESp53MHoKKA==","signatures":[{"sig":"MEQCIBnrs7QlZj9dgBu5OtHg2A5L2CenodxhT43kGjr2Hu3uAiAmIF/CTGHpgkS5ljhO8MmTstbVr35LC2b3ybUG+TnVeA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197063},"main":"build/client.js","gitHead":"1ed04e02478f65943afa0196ae0f2f5a9017c75c","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.5.0_1736806848500_0.4987827253116861","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@basementuniverse/asobi-client","version":"1.6.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.6.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"e036a7905ae38b84a8a22f7a0d8169373c099634","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.6.0.tgz","fileCount":14,"integrity":"sha512-aOSPlYoI6ITpAADr1Py6u1r2eEfUkwiaWpd5F7ce6XZiFYhkyjklaVtPQgw8Dd/7yzMrGdaBFCD/JEjCEeRieQ==","signatures":[{"sig":"MEUCIAyx6jBpl0dao08UQAtQwZNSqQdTJrqt6Kryr34M3eVlAiEAu4hfO8E9DM1JRIEEkZMr04ZJIk6BePwnlmSyfdpM1kQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197117},"main":"build/client.js","gitHead":"5f3412a87949263659dd0325d546250777b91477","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.6.0_1737035791416_0.4826885414569604","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@basementuniverse/asobi-client","version":"1.7.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.7.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"aca11c361f8bc9232210a22dd0f3db98ed7a46a3","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.7.0.tgz","fileCount":14,"integrity":"sha512-C0Ja1QdMu0llT5OJrv4l4YIYiZxSy7foGQxuPqwbDRKKZoK2Ah6UnzASsI1sD3i/ENorhBeke/QGLXDZD9sXig==","signatures":[{"sig":"MEUCIGFE806b0CxRnpGXMKHqXq8LgoOaNzN+I0UaHIIxyD88AiEAwFWA+4w6TsVm+xvIl82IRhLE7ElF1wPKvNDC9pHzWNE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197117},"main":"build/client.js","gitHead":"40f09608ed9051d15d55eaf059ff385bb19ba5fe","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.7.0_1737070304170_0.37123642669477275","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@basementuniverse/asobi-client","version":"1.8.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.8.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"9c3d2fe5cc6a03eb3017f55eac3105f76ce3b6d2","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.8.0.tgz","fileCount":14,"integrity":"sha512-4FYSECcKiT2C7VU4RJ57UsvYj2QrunLsWvHkParI3HIyb1ufEKxweuax5rp1j58q6Pv1ITRFrJSqc15AEmBVFw==","signatures":[{"sig":"MEQCIE9vBh5iNjDOIzH7XAtkBYEQ9Sb9DLj4Ex6y8vDluX9aAiAibZMUtTzTs4UlhNYLMPVyIFSp0thb08iVypPcHGQZ/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197117},"main":"build/client.js","gitHead":"f56e34b8a7e9181f2dad1214c8adc0f1eec8dec0","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.8.0_1737120452360_0.9860349158122117","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@basementuniverse/asobi-client","version":"1.9.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.9.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"40f794e48c75a967635d839fb7f37bdb03a0e30e","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.9.0.tgz","fileCount":14,"integrity":"sha512-IwTuLlTVMxdr1I/33BUHg4kZ/cA3Ow7Hfc707g/y5/o3I0hDve5Xgs+5I6OKYeLqfMz32DYxR+61l9eSnstahQ==","signatures":[{"sig":"MEUCICWGWOFFBuaaPeoWoh6RV7r2eR4FTDqVS/e7O0f1qFnfAiEA526JYRemwaWzEP3KPQm3sOnGSXVyoWtGD3viypFooQA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197368},"main":"build/client.js","gitHead":"a4340da92e706bc6777fa2bfc588db7e2887b371","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.9.0_1737233574617_0.6713608135307578","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@basementuniverse/asobi-client","version":"1.10.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.10.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"c70cf2d03c6201511aee5fcde375cc3d3bfcca6f","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.10.0.tgz","fileCount":14,"integrity":"sha512-x8VRWs1vaDgmRR9qZdA6rdbkG+uTjCLy9ZoSZd1JmRthWk0xkqPZp1a1Ri4coafdnkM3rpJ8nXkxfsh7ko1vOg==","signatures":[{"sig":"MEQCIEtUIYzknTq+gQ77xImMaDK2vrmcslsmDmWK+D8bHsZVAiA/LllZMrWnIaIMI2uMBsFjFDfQcJoBndCivVw+oJIGtw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":198755},"main":"build/client.js","gitHead":"b6776f772f08ea3435cc00a401bb0b88e94a45da","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.10.0_1737325345540_0.17276615654042105","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"@basementuniverse/asobi-client","version":"1.10.1","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.10.1","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"9e170695d144b7222323ce2fb67acfca850705a1","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.10.1.tgz","fileCount":14,"integrity":"sha512-iIzHvzAo8huMOi7je5c4QFFMv6yR3kVfoaB2rYr9f7yx6S+vEkiFKERQAF7Y9sfcrEE95tR2Dc1q0sK5MUkQMQ==","signatures":[{"sig":"MEYCIQCN6qUXX98sWLMCoeD1mnThBENDnKKl8zzWLZB+8FW7owIhAMEUxgoelFQPJbF16rkjPb3cF7CxE6z1CWxIMqieg/4A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198851},"main":"build/client.js","gitHead":"defaca06399e2351eef06290e95139d3170ceb12","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.10.1_1737899060870_0.3742802062077648","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@basementuniverse/asobi-client","version":"1.11.0","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.11.0","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"f4264c99e8d8fd3ca99ad784a2bf70b37e9dca82","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.11.0.tgz","fileCount":14,"integrity":"sha512-jq1neYsBXvNXsw/eHrlvqD6tljGNDAknLSQUf7jTj+9Qrsde5P+lxLAK43dCKs+KDQaH/N69YJ9aOKj9eDVbtg==","signatures":[{"sig":"MEUCIFAGDPcEAE9MHXVWCRcppqUwg3vtywrORVm2dR4LbshWAiEAtcKPWJwlmNgjepjj7XqRlh26TcerGAOS+DoY9WgH1Wo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198851},"main":"build/client.js","gitHead":"465357a551b70a66bcbd5d8325cfd2f4b1f692bc","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.11.0_1738238225597_0.4502866820668685","host":"s3://npm-registry-packages-npm-production"}},"1.11.1":{"name":"@basementuniverse/asobi-client","version":"1.11.1","author":{"url":"https://gordonlarrigan.com","name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com"},"license":"MIT","_id":"@basementuniverse/asobi-client@1.11.1","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"homepage":"https://github.com/basementuniverse/asobi#readme","bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"dist":{"shasum":"d66245133056b51d3f503248816bbe1a8c99286a","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.11.1.tgz","fileCount":14,"integrity":"sha512-AWEgcJo1jz+PquEQh0kTnCmeE42X5aRPXY8Kw+fSOks9JkSMtGn15UCmDZYcMcLfm2zt8gGCEO88Np4MUh4OcQ==","signatures":[{"sig":"MEYCIQDTdSGwgJBqrClWAHshYsQHC7MQ81/Nn+jWdeXOjMCMwAIhALmgRFovLviW9RrY5EqrdaQMsa8pPKmeX6oCqRM3YYCI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198851},"main":"build/client.js","gitHead":"17d3640d88bfb711df1f96df87c94bdd46332254","scripts":{"build":"webpack"},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"repository":{"url":"git+https://github.com/basementuniverse/asobi.git","type":"git"},"_npmVersion":"10.9.2","description":"A multiplayer turn-based game client","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@basementuniverse/jsonpad-sdk":"^1.6.2","@basementuniverse/jsonpad-realtime-sdk":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.3.2","ts-loader":"^8.0.7","typescript":"^4.9.4","@types/node":"^18.11.12","webpack-cli":"^4.1.0","clean-webpack-plugin":"^4.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/asobi-client_1.11.1_1738238739327_0.7741748892339078","host":"s3://npm-registry-packages-npm-production"}},"1.11.2":{"name":"@basementuniverse/asobi-client","version":"1.11.2","description":"A multiplayer turn-based game client","author":{"name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com","url":"https://gordonlarrigan.com"},"license":"MIT","homepage":"https://github.com/basementuniverse/asobi#readme","repository":{"type":"git","url":"git+https://github.com/basementuniverse/asobi.git"},"bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"main":"build/client.js","scripts":{"build":"webpack"},"dependencies":{"@basementuniverse/jsonpad-realtime-sdk":"^1.2.1","@basementuniverse/jsonpad-sdk":"^1.6.2"},"devDependencies":{"@types/node":"^18.11.12","clean-webpack-plugin":"^4.0.0-alpha.0","ts-loader":"^8.0.7","typescript":"^4.9.4","webpack":"^5.3.2","webpack-cli":"^4.1.0"},"_id":"@basementuniverse/asobi-client@1.11.2","gitHead":"5f0b45408a33e0b6b543af830db2708ce0900b6d","_nodeVersion":"18.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-7lohl4/3JeCKjMpuCr77tNVsBFkUy6JvNUovwK+Zxdro4GmrHrTxWA+Eg8adS8Uoa0sUJT9x7EvjIQ/AfmXmzw==","shasum":"180fb85cfe5b3c630baef2c3c5023ec555ad1123","tarball":"https://registry.npmjs.org/@basementuniverse/asobi-client/-/asobi-client-1.11.2.tgz","fileCount":14,"unpackedSize":198851,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA7OTVy0nyW8y9zpJUB2Nfc5YiIF9Y/nvVZZU3ZTHsYQAiBOoqtZ0rmR4Nx7L5F/k8KVAEV9LF/aM2oYjV+OLXeLdA=="}]},"_npmUser":{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"},"directories":{},"maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/asobi-client_1.11.2_1738692560127_0.8318544935914478"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-27T20:59:35.087Z","modified":"2025-02-04T18:09:20.495Z","1.0.0":"2024-12-27T20:59:35.385Z","1.1.0":"2024-12-29T19:43:18.594Z","1.2.0":"2025-01-08T17:55:55.555Z","1.2.1":"2025-01-08T19:22:19.027Z","1.3.0":"2025-01-11T18:10:50.794Z","1.4.0":"2025-01-12T17:50:21.754Z","1.5.0":"2025-01-13T22:20:48.672Z","1.6.0":"2025-01-16T13:56:31.596Z","1.7.0":"2025-01-16T23:31:44.456Z","1.8.0":"2025-01-17T13:27:32.524Z","1.9.0":"2025-01-18T20:52:54.806Z","1.10.0":"2025-01-19T22:22:25.742Z","1.10.1":"2025-01-26T13:44:21.091Z","1.11.0":"2025-01-30T11:57:05.755Z","1.11.1":"2025-01-30T12:05:39.597Z","1.11.2":"2025-02-04T18:09:20.315Z"},"bugs":{"url":"https://github.com/basementuniverse/asobi/issues"},"author":{"name":"Gordon Larrigan","email":"gordonlarrigan@gmail.com","url":"https://gordonlarrigan.com"},"license":"MIT","homepage":"https://github.com/basementuniverse/asobi#readme","repository":{"type":"git","url":"git+https://github.com/basementuniverse/asobi.git"},"description":"A multiplayer turn-based game client","maintainers":[{"name":"basementuniverse","email":"gordonlarrigan@gmail.com"}],"readme":"# Asobi - turn-based game framework - client\n\nA multiplayer turn-based game client for browser games.\n\n## Installation\n\nUsing NPM (e.g. for server-side Node.js or client-side use with a bundler like Webpack):\n\n```bash\nnpm install @basementuniverse/asobi-client\n```\n\nTo use it in the browser, you can include it directly from a local file or CDN.\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@basementuniverse/asobi-client/build/client.js\"></script>\n```\n\n_(Note: it is recommended to specify a version number in the URL to ensure that your game doesn't break if a new version is released, e.g. `https://cdn.jsdelivr.net/npm/@basementuniverse/asobi-client@x.y.z/build/client.js`)_\n\n## Usage\n\n```js\n// First we need to create an instance of the client...\nconst client = new AsobiClient({\n  /**\n   * Your client-side token for jsonpad.io\n   *\n   * This will be publically visible to anyone who plays your game, so it\n   * should be secure\n   *\n   * i.e. it should have read-only permissions for the games list\n   */\n  jsonpadClientToken: '<YOUR JSONPAD TOKEN>',\n\n  /**\n   * The id or pathname of the jsonpad.io list which will contain game sessions\n   */\n  jsonpadGamesList: '<YOUR JSONPAD LIST PATHNAME>',\n\n  /**\n   * The URL of the Asobi server that this client should connect to\n   */\n  asobiServerUrl: '<YOUR ASOBI SERVER URL>',\n});\n\n// Fetch a list of games\nconst { page, limit, total, games } = await client.fetchGames({\n  // these fields are all optional\n  page: 1,\n  limit: 10,\n\n  // valid values are: started, finished, status\n  order: 'started',\n\n  // valid values are: asc, desc\n  direction: 'desc',\n\n  // valid values are: waiting_to_start, started, finished\n  status: 'waiting_to_start',\n});\n\n// Fetch a game\nconst game = await client.fetchGame('<GAME ID>');\n\n// Fetch the current state of a game using a player's token\n// This will include hidden state for the specified player\nconst game = await client.fetchState('<GAME ID>', myToken);\n\n// Create a new game with the specified initial state, and join the game\n// as the first player\nconst [game, myToken] = await client.createGame(\n  'My Player Name',\n  {\n    // my player data\n  },\n  {\n    // game data\n  }\n);\n\n// Join an existing game as the 2nd, 3rd, 4th etc. player\n// (up to the max number of players)\nconst [game, myToken] = await client.joinGame(\n  '<GAME ID>',\n  'My Player Name',\n  {\n    // my player data\n  }\n);\n\n// Make a move in a game\nconst game = await client.move(\n  '<GAME ID>',\n  myToken,\n  {\n    // move data\n  }\n);\n\n// Handle events\nclient.addEventListener('game-created', event => {\n  const game = event.detail;\n\n  // A new game was started\n  // game.lastEventType will be 'game-created'\n  // game.lastEventData will be set to null\n});\n\nclient.addEventListener('player-joined', event => {\n  const game = event.detail;\n\n  // A player joined a game\n  // game.id will contain the id of the game that the player joined\n  // game.lastEventType will be 'player-joined'\n  // game.lastEventData will be set to the player object\n});\n\nclient.addEventListener('player-moved', event => {\n  const game = event.detail;\n\n  // A player made a move in a game\n  // game.id will contain the id of the game in which the move was made\n  // game.lastEventType will usually be 'player-moved', but might be 'game-finished' if the\n  // last move caused the game to finish\n  // game.lastEventData will be an object containing the move data\n  // The server might add further data to lastEventData depending on how it's configured\n});\n\nclient.addEventListener('timed-out', event => {\n  const game = event.detail;\n\n  // The game has been configured with turn or round time limits, and the time limit has been reached\n  // game.id will contain the id of the game in which the turn or round timed out\n  // game.lastEventType will 'timed-out'\n  // game.lastEventData will be set to null\n});\n\nclient.addEventListener('game-finished', event => {\n  const game = event.detail;\n\n  // A game has finished\n  // game.id will contain the id of the game that finished\n  // game.lastEventType will be 'game-finished'\n  // game.lastEventData will be an object containing the move data\n  // The server might add further data to lastEventData depending on how it's configured\n});\n```\n\nSee the [Asobi server README](../server/README.md) for a reference of types.\n\n## Number of players, time limits, etc.\n\nThe Asobi server can be configured to support games with a fixed number of players, or a range of players.\n\nTo set the number of players in a specific game session, set the `numPlayers` property in the game data:\n\n```js\nconst [game, myToken] = await client.createGame(\n  'My Player Name',\n  {\n    // my player data\n  },\n  {\n    // game data\n    numPlayers: 4, // this must be between min and max (as configured on the server)\n  }\n);\n```\n\nThe server can also be configured to support time limits for joining a game, making a move, completing a round, and completing the game. These time limits are measured in seconds.\n\nTo set time limits for a specific game session, set the `joinTimeLimit`, `turnTimeLimit`, `roundTimeLimit`, and `gameTimeLimit` properties in the game data:\n\n```js\nconst [game, myToken] = await client.createGame(\n  'My Player Name',\n  {\n    // my player data\n  },\n  {\n    // game data\n    joinTimeLimit: 60, // seconds\n    turnTimeLimit: 30,\n    roundTimeLimit: 300,\n    gameTimeLimit: 3600,\n  }\n);\n```\n\nUse `0` or `null` for no time limit. Omit the property to use the server's default time limit.\n","readmeFilename":"README.md"}