{"_id":"@zuzjs/flare","_rev":"39-b3c40caa01a0d3c7ac3b5f5a3e8a7487","name":"@zuzjs/flare","dist-tags":{"latest":"0.2.41"},"versions":{"0.2.1":{"name":"@zuzjs/flare","version":"0.2.1","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.1","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"a27f851e9c5604d9ebbadecb4f562eaef9fed447","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.1.tgz","fileCount":7,"integrity":"sha512-6nQZ/HazdreibbUhjKfWmMx/9n/8tipjPkf6lLOYwyPkjKo1dONYC7K2E2ZdFPhfYDAznwgue/0tkaKgBYIBQA==","signatures":[{"sig":"MEQCIF8DB78wBHZD9h+uBzxNQ99y1AiAZ0bfgGXmqfpxaSwKAiAp1jxEN4OdsMfUPJHTFQc6wkMYpZ8/qFQM5XnXDoEEWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52435},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bce6690622449b1701a5cba66bdbe89dac82de72","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.7","@zuzjs/core":"^0.3.8"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.1_1773357723633_0.47752435033285234","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@zuzjs/flare","version":"0.2.2","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.2","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"06827b9ecae4f36da1d3bdf3bcd72a9a048a1657","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.2.tgz","fileCount":7,"integrity":"sha512-jseUz6urp0H2xF9a6aZMmJFBMURbP1hRAkbiMN3v4rjjiT+DXZXq6ejpR73VH6DoqXdJDHjtN+aqCPL1qP7N/w==","signatures":[{"sig":"MEUCIQDBy8Z2FTxnn/3vp8HOzTVvmlFCDeD9nMrqN3/VpoNU1QIgSrwfMJKnnCjr+FdYBUzu3VxWNRf1LgtIVo8yTLB3f7w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185381},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e6ff0ece0842b853cc1d2432fb153c7b5e71370c","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.2_1774801160405_0.5637228431956685","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@zuzjs/flare","version":"0.2.4","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.4","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"d799762e6ca0ce053b216fedc6fb76b8daf24e21","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.4.tgz","fileCount":7,"integrity":"sha512-gRhTRZgkOL3KinWRWlTm8WzYBOSS7ika7eyza0hKH77PJCQIVM4VWeEeNVEgqVcxW+TO4J8+P2YWeTQFG8KFyA==","signatures":[{"sig":"MEUCIGHuQFOSQgyvbCaxmE0XXH8eZdle+Fm4ICy8mkx28MrXAiEAjzUNPp7YVPNKLks1EcZSbgkIWMDWBdqrrNnDoibO3hM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228294},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7c338fe30967ec6ea1557169025e4a6c87f9c370","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.4_1775581255489_0.09034481902818703","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@zuzjs/flare","version":"0.2.5","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.5","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"cc9fee25f8a368bfa2e465345df18916279fecc4","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.5.tgz","fileCount":7,"integrity":"sha512-ZDG9uZgAKFmYeozTSbFrPW7hfFCN1XkV46xG9aRp5Tjrz54usO7QiGWBpuOpl5fjJg/e0OeMi0tzXIL7Ibe4Bg==","signatures":[{"sig":"MEQCIGwcD7PcTPj4LBwTUmogku7ZSRlQKfr1kgnV9P7bC8isAiAfX1eToWc4mResBggakCylpY5bM41SXiqcAG03cepM4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261181},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b2916bc7c7eaf3e71689201a68e3b64080eb6419","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.5_1775658413619_0.13644584248041647","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@zuzjs/flare","version":"0.2.6","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.6","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"ad2fdcea563e83dee98c920f23b5eab3c6c257d1","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.6.tgz","fileCount":7,"integrity":"sha512-JXWIaVoYHMYGG+ExpPDeCGXqu0oU5vnw3f4gRFqN1/lNTBRJDkiIRXUTY/8m/oF5b9+5xLRJ1vpXrF2/mk6HMA==","signatures":[{"sig":"MEUCIQCBi2R1qb9bP7ccQYzZGPR5GY9raG9SEsntug3fhtljNgIgRaJhnZRAciFl72fhbkPxtow8IxxwXS+zAG9VYeR2nlM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273855},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"772b753367a19f1c3a506b523c560a42615883c8","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.6_1775666500099_0.6831044369852586","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@zuzjs/flare","version":"0.2.7","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.7","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"b6efc61267e5922083112aea03da6f1c70d47a37","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.7.tgz","fileCount":7,"integrity":"sha512-cHUuGd6S5bSuAM2GfNmUsD46Fl9zS4sv/fNli+3IjIc89cD1Fw7CAI1Eh7/UwGL4CJAcQP0Sbmr5b2iV/VBuqw==","signatures":[{"sig":"MEUCIQD4gOKnzbo5rUjZgSV4BcdBm7JAehk0NIe1mDdCmMN8ugIgJCH0uJvCdjwx+flnzvRMoU2cp1+l9am1HK0F5qE7SI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289150},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ce12511d899e24811d880426e417b5f8155827cf","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.7_1775741215212_0.9579241838216934","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@zuzjs/flare","version":"0.2.8","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.8","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"a68f5d709b5e1a17f520e44789cecb0d6912d99f","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.8.tgz","fileCount":7,"integrity":"sha512-lVpPupfAcx9PmvtMKq/2U0imTkXtuS9P9omO18+OGFeHjmyd7wqt5Gbf6nxVJpYG6qaqkSsY3JVK49O3YdAetw==","signatures":[{"sig":"MEUCIQCjR5aXpzLv+RWeljlBcSlbdoiDp4KSnEhelxROMWHCXgIgTtykbKW+SmV0jJSbE712AW4HgHnmGWE4uboyMCeXWfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297646},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"5f4e523c5d12ae44d95d2a72dc00f26d803f14e5","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.8_1775813068786_0.9932273920213996","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@zuzjs/flare","version":"0.2.9","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.9","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"7aa6ce2b4480df7e55053f9368156ede6ec87084","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.9.tgz","fileCount":7,"integrity":"sha512-LOE7aBAY3QZAqimCBbA1RhvO9pY8Hp0IzrxsZhyZDIgmnfvV0vH6ahOEMJFFO4ETAMLA9iH0TTb9K+lOkpMgWQ==","signatures":[{"sig":"MEUCIC2wng3ZEgIYRlHlVRdt9x5wcLzoiigKiC7QS1Cf6H3mAiEAieD7V8NuhdFi0nIoux5sVFNa7wlimzzMGgujpjCMsco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298068},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4856a12d26dabfb1dd5ea1fd0e6f395b26d500ac","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.9_1775914894941_0.1585463251100543","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@zuzjs/flare","version":"0.2.10","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.10","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"85bb46a804ff807732dd0fc88a9c2cb4bb8c4455","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.10.tgz","fileCount":7,"integrity":"sha512-fDqEDUYFPHAb6w1xuilB4g24v04OFZtKiULh1rGQB1HK5K2BRFWXQqyFLc0vlMEfQyYxEy/opIIp0BhtpQp2pQ==","signatures":[{"sig":"MEQCIFXN/VsJJLGF21K0tEsOpuEka+u8bvNAF6XWoyUMJD9lAiAq1tyfHGEZw1RG1Xbp1xKxtoMIN9lpxVxFKgynDi/tVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308892},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"589dd295f41e54dcbf8e92b7e88aa8c503ef9cc4","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.10_1775942846723_0.4972612872303763","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@zuzjs/flare","version":"0.2.11","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.11","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"42bbd5a461845cee1f5666cc307043efc129e0c0","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.11.tgz","fileCount":7,"integrity":"sha512-46VblqvaCMv4biP5bxtgk+lwQ6W3xSk3QwuoXOEHwblt8OaT6zli1SYyhN8SGdwdjZ3ZEs7uXFF0M9wJ7WlZlA==","signatures":[{"sig":"MEYCIQDZzMOG92ge7lQ7y8PxBD2uFas4uHnIa0CPp2tfhGFOCgIhALeYgn6gRRe/yKenBPsw5vxbU2CwNh8LhDonHYmjbC9Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":313398},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d4bd719fd46738ca471bb4c0b7e88ed1e9ded984","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.11_1776109919016_0.23541091898044075","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@zuzjs/flare","version":"0.2.12","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.12","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"50a75d9a07771c7f8a907c979455fb7e0eedf204","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.12.tgz","fileCount":7,"integrity":"sha512-kRUtIsIL6BrC4glGMdwwEeNC6/cgWdvbcbaHVNWC60iN4EDvqmCAK4aeeiWC+FFU83EJ9/mecwwvOlVvOG1tlQ==","signatures":[{"sig":"MEUCIDxJtw/dbZVWhlV9qmcvuojcxwA+zYqJRat7j8X+VkmqAiEAxotmJeZ0DGQSsiUjWLL3+NJLSgB3MN7apXdrBhvUIJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":313398},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d4bd719fd46738ca471bb4c0b7e88ed1e9ded984","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.12_1776177386210_0.755042122829551","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@zuzjs/flare","version":"0.2.13","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.13","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"769f909e5feece8ea60c5a56c96e34e28e4e123f","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.13.tgz","fileCount":7,"integrity":"sha512-RO8iks2fUVyVKIKUxj3e23gC1YQEr6+iooosdtNPxPJ9AOXPU7oOudBBYSnMjbIajeG4y18UqJckQGGDsEQ+rw==","signatures":[{"sig":"MEQCIFbabY78/Ppi9TjZ3qjOTSb8bgTp8+rkoZPFYhnYrdMFAiAK62knSdj2/rpcmLxcAeTG9oKe9R1/QWxRrv1wsiUnkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301275},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a98c6e683d5ca599f33f12899500259022a5b469","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.13_1776272853811_0.6519448880125029","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@zuzjs/flare","version":"0.2.14","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.14","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"f213a2b7ced23fbd908cc498b47571d737fe4080","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.14.tgz","fileCount":13,"integrity":"sha512-loZ7JfKp8fvKkj2Jvvd4pQAXaCFONu8xEtVwea44aRSVmehcdDnFb6K6YUENW0QbysNVDNIJhud4GyAAqzl2Fg==","signatures":[{"sig":"MEQCICWmEhvmOs37EbFGnu7tNCqT+irEKgxEKJg/6P16TQa8AiBaXh+mA3K4zscWqaFSXbi1zkcJEMiWQbKUxaGOuxrevg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311142},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"69b96bb84e425aeeffa1226221b5899c3eb353ac","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.14_1776365718361_0.9994979863763704","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"@zuzjs/flare","version":"0.2.15","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.15","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"f37b0b48d026e3945ccb3dd73f4a0ebe91fc6880","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.15.tgz","fileCount":13,"integrity":"sha512-l30A9nce7moplyud/N702M9eyRpSCKdMNseJ9lzPaimDy8olA87TQMjFRuEo3moRDxo15Bmaba6ZXFq0SYpd7Q==","signatures":[{"sig":"MEYCIQCusf7VSd0pFVIvf/sGkmexy8d1d85tbrGzoFiV5erXigIhAIGc6QiNrj1UomIMAdoWf8nuwjKL6HnN4Q7Mfb6BN6Sl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312366},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"4217b813356f330db7236e42a66b71f560d7fe76","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.15_1776366527295_0.7435846402274939","host":"s3://npm-registry-packages-npm-production"}},"0.2.16":{"name":"@zuzjs/flare","version":"0.2.16","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.16","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"c8563b4801e36a99f73835d9c1b8f4e067ad12fb","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.16.tgz","fileCount":25,"integrity":"sha512-m0qdBW2YeQsBYgbwge0hdka749kSpoRx6TSQAp6eznMig3VnKRjXmPpP0A8WIsr+81JZHXVHOYL6txn48f0/GQ==","signatures":[{"sig":"MEUCIGi7Cogaiy+cgmn8Dnn+0XYUKJUPJUbx/xZH1ZC6AuQ6AiEAnzLy8tfMrk39NcMD0h17koDJewAW/knxpYPJMjOnYRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333371},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"05b33331e34c4b5c611dc083d39f148060bb663c","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.17","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.16_1776408017626_0.9324859284990912","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"name":"@zuzjs/flare","version":"0.2.17","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.17","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"8e0a9fa923cdec7a773fbbe98ed94eecc31d4332","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.17.tgz","fileCount":25,"integrity":"sha512-Y5SHpNg96nyNJnj7viGfqVg+ww6kg7nggkftMLxLa3qnC8v+j5k43kFUXuhzKixZpWOyHAJB5MOqyxhDYmONpg==","signatures":[{"sig":"MEUCIQDFQM9867iM9dfjaDbolaDWuaS/c0AQdM7J4OdjPRu2uQIgBr18clKSYqT2s6cCQaoOKS0MjzU7Uft+TyXYnEIAoMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":339514},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"dcce998684570750dfe09ecc6cc1438e6e90fd36","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.18","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.17_1777361917961_0.08366572743377176","host":"s3://npm-registry-packages-npm-production"}},"0.2.18":{"name":"@zuzjs/flare","version":"0.2.18","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.18","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"1ca70c8f361629a7e12447a300ac88ec0da7bdac","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.18.tgz","fileCount":25,"integrity":"sha512-tk94QLegMX6ouaA5XVUKnyg45+LwpYyKipvvhjYFix9JbIzK74DJnxSMAlvHx356pxh6Z/4ZDOscBijU0sSilQ==","signatures":[{"sig":"MEYCIQDMXqfDC46QvsNpQ/QkhEQHocANm1XABk2Ug/RSYXBRKwIhAMGXMrbSlfUe3Sbl8CJeYbuRwJmU0XGZPe0R/6dpsqTV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429176},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"f384bb383f8fb2e0bcaf50da4f640351d6c69e52","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.19","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.18_1777899551310_0.9402049742204066","host":"s3://npm-registry-packages-npm-production"}},"0.2.19":{"name":"@zuzjs/flare","version":"0.2.19","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.19","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"e2d2f60ac387540f3612f60b49e94076fc39fbeb","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.19.tgz","fileCount":25,"integrity":"sha512-lqFOOiIPde07OZmpzk1QKFBAYNInW8n4D7HUvgXEH3KlCey9iWFu/LghqOHZshs7dgjLgt+z0+hO2S+LLExWXg==","signatures":[{"sig":"MEUCIQD5M4j+7bQJ2BEGONgpD99L8mQssXz+tU5xqGL9TZ90MgIgbQq+FulnX/WHIZBdMPz9GoaYCgynLxKoX+iA4szzCHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429176},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"88a2816872f953a5bb440fca8002695ef8dd7e86","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.19","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.19_1778088563439_0.6243674314783598","host":"s3://npm-registry-packages-npm-production"}},"0.2.20":{"name":"@zuzjs/flare","version":"0.2.20","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.20","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"6dfba06f188f54abfbd416a57c8ac6841bcdfaeb","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.20.tgz","fileCount":25,"integrity":"sha512-c/VRMhDoJ/LJXdUByfW3bLT4fihQUhMi3Km+zb0t8lZ6069jLSgulpROA1p4sE7uA1qSplj2tLSOOyc58nT/Hg==","signatures":[{"sig":"MEUCIQDhzUiQbuSqjMLI1sA1BgPh9pL/2C2CcQVUi0f+oBRqEgIgbvnt5GM7nUSA5MYN4RRGSz3QuLeN+5xeuLiYpO3boKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429594},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"9c7e6c30932b6f2cd67a12493b49a70f12a2c2bf","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.19","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.20_1778424293312_0.21819670363662236","host":"s3://npm-registry-packages-npm-production"}},"0.2.21":{"name":"@zuzjs/flare","version":"0.2.21","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.21","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"9922970cc30fd1cbb2076bf65f3d2401d262fd38","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.21.tgz","fileCount":25,"integrity":"sha512-Fjww7IIUnqEEV98kdgyj48no/cKfjp7QvFp+KdoiCSYyWNOYZ/Uu+HbUDO90jia3o3iENAgibotQRFCsoVZhig==","signatures":[{"sig":"MEYCIQCqmUs/nAVNrwQL5vdLARxGl33mlkngHczzwFTSuuz2yQIhAPfIIzr+x7HWH6zGolzDgRlM6qUPJoiXQD+I1iWZeYZP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442041},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"8a1b25614b75fd6bd064d7ffc7c1f239bdd8d138","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.19","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.21_1778767859010_0.7898164324330919","host":"s3://npm-registry-packages-npm-production"}},"0.2.22":{"name":"@zuzjs/flare","version":"0.2.22","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.22","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"10476141edd796733d21750848002beef0c2e4be","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.22.tgz","fileCount":25,"integrity":"sha512-bizShfweA0c88vLg5GXsvQhc27sWtgc3KNYy76P30TBIkbAQXCrLt57H0yhLCUL09gpO5Bse4+lqtjJuMe3ANg==","signatures":[{"sig":"MEUCIQCrv7SAkZF8aSJ/B6hZdSJ2pWxmqDszajtReIMbsnzsXwIgENmiYZ5sc/KqEQvqEiuwrpo6o280EBSDaOx5GHrT0FQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452731},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"8c7a83b12a6a40f058b43c3d1e5ec38a8341401c","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.19","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.22_1779032770718_0.001177912424403349","host":"s3://npm-registry-packages-npm-production"}},"0.2.23":{"name":"@zuzjs/flare","version":"0.2.23","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.23","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"7ee3bbe278235304d21cd9010d13614a50a6250b","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.23.tgz","fileCount":25,"integrity":"sha512-ldQfrMwvVgYpk5KUPB+05iiThyVzC/65w6t8+0Lkh9zlE72s3/cO31Gw3y8j1JtzFtxvQAR25pf5/Jx9stWT2w==","signatures":[{"sig":"MEUCIQC3y4SmpbCr5Iju2vJ3bsx/heinZQqsMLPF54EaoNoYiwIgFdak9sBfP9CnNvP4u9+TwOT1s0X5PSd+/edNXw0foWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457738},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"777cf71efd193aef566b784cf2e7e4bbc0a8136b","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.19","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.23_1779253685722_0.5773614109034486","host":"s3://npm-registry-packages-npm-production"}},"0.2.24":{"name":"@zuzjs/flare","version":"0.2.24","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.24","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"bba7b1bd1b95f5a24b38cc7af8f53cf3bb06d007","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.24.tgz","fileCount":25,"integrity":"sha512-vl/lzw9osAZKMb7iOnCQ9BEliplkEIXb+htCVK0O/S6AoyDS15B0JkOZLF8mbZK1GxjcpK/jrTz0FvoVL5YK5Q==","signatures":[{"sig":"MEQCIHPsaeTfvbB2xGUt/jsA5c3xJd21R4rmU54T0oBD5xbpAiA8c+IZtMNrl3pclybTwlMlofptT0QWed45NHeTr05mZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":467133},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"4ade589efeb397b3890f515bef501bf5873652c3","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.22","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.24_1780858146118_0.1479844087109714","host":"s3://npm-registry-packages-npm-production"}},"0.2.25":{"name":"@zuzjs/flare","version":"0.2.25","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.25","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"247ea8f2f806572f9d784a08fa3507abe9368f0c","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.25.tgz","fileCount":25,"integrity":"sha512-sdYDb8udPYSMcRf1n3D8+Cll2e8LMVJFD+M2vGChXbvEiMKjhCpLGjIxRw82n+502nHdn2UXrgbjD3P/vVpSpg==","signatures":[{"sig":"MEYCIQCzGWAzAZB6Q/cvvkNvu1j8Z2jvx+FJyOdkZVimOnrr0QIhAOj6QA+wgEL8Od9kXboGDJmCUazBaeLUzATqTiB/YgY9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":467207},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"78c12eb42d66c96f2d2fd7398c7951ebeb3e9b21","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.22","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.25_1780949871382_0.052364549859611476","host":"s3://npm-registry-packages-npm-production"}},"0.2.26":{"name":"@zuzjs/flare","version":"0.2.26","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.26","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"302c81613f4a68a47b639e265e9f2b14ff77c8a8","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.26.tgz","fileCount":25,"integrity":"sha512-jMVh6V/rxqxRsmDiLK3Tguu4c2cYX7Y+mG4Z1tCDUu394GruQwDtiRvOPjnqZ5mxW6Dwgc94EW7KxZVejMHtOw==","signatures":[{"sig":"MEUCIQDg9QdoIbJKayx5nBoludjxXZuWoFZ0EuzzAhMVty15cgIgHPGzeiVUw0l8lvSB/PoXYwzX2RQJeY7rFA3LoTn1gFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471669},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"3994c1f7b0d14a94865a304e1802aa3837658ff9","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.23","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.26_1781041073009_0.694782465493091","host":"s3://npm-registry-packages-npm-production"}},"0.2.27":{"name":"@zuzjs/flare","version":"0.2.27","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.27","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"c0acd6e5059d1625822c5662a56215788e634ab2","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.27.tgz","fileCount":25,"integrity":"sha512-H9hleiCv9Rpp4qDX31tQpCm3sdUTnKcF526KnjSbydpenio/VewW+v1plj6XVjQn1LSPf8AOkjCYSFFlf36SRA==","signatures":[{"sig":"MEQCIF+Vi+dXLdHqeaNKkMasLcroIRrE0yde8TcN5VUabxZtAiAUXcqUF5pXILSdnDABFdMHRqRdvhVkbWtxijikUYWb1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490182},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"067d8e21ae056ea29f5d738daa7a1d62712037a7","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.23","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.27_1781103881665_0.624149598917074","host":"s3://npm-registry-packages-npm-production"}},"0.2.28":{"name":"@zuzjs/flare","version":"0.2.28","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.28","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"bc4f88646e1325e8735e0fd4265f347d3ed79eb6","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.28.tgz","fileCount":25,"integrity":"sha512-f85OHVOeA4qWXExzQMXEHyyp/9vY7sJOpS+GVoJ5o49CN8JCpX/XNkVSJIVAfpgjw0MgSJ5oqM7xnrquM3ptxQ==","signatures":[{"sig":"MEUCIFyNnK3rVq1N1j8RtNCBaGvc5rBd7FrsywKPFuZhYQUoAiEA9BBPoLnrKTl+6A1FWjbm4jJr+j8Goj+0gUgUeVvdl8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490150},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"3627d803eef485b30daa6076ce937cccf2632276","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.23","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.28_1781124668509_0.004746044647534253","host":"s3://npm-registry-packages-npm-production"}},"0.2.29":{"name":"@zuzjs/flare","version":"0.2.29","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.29","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"7bf6a266c83546a672c3286cbdedf5a8056b5a86","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.29.tgz","fileCount":25,"integrity":"sha512-vTnMGqKJvVNgsNuslLsPZ5u8h+yT0Jl3KfVY9cpnX78vcTCLQXw13t/HYm/iGOqBbuo50vENF2vmyIAoP+5Quw==","signatures":[{"sig":"MEYCIQDga1V6jYTTBMHycsWMu1hwqxuSEUok6kAar9ybySWfcgIhAPI4XsP4ivzs9GigVOQhXrqhzO8ax90WKFxorWzxE9sx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490212},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"58a5f33ec471b9e69f7c58b2fa0b68825d4664fe","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.23","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.29_1781205189542_0.018549166253526428","host":"s3://npm-registry-packages-npm-production"}},"0.2.30":{"name":"@zuzjs/flare","version":"0.2.30","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.30","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"cad6ffa4b3d90b5883e23f04d8566a39484ab684","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.30.tgz","fileCount":25,"integrity":"sha512-t1i8zAK2niEdazuNgiLLqLLvychpY2btlqLS85fpQ/bLt1k1oMEkHjBxcRrzLOt1qkajheu3aER5fLz1J3wQxw==","signatures":[{"sig":"MEUCIEWq0DlV1Sp+Gy7Flteikgmf5KrGw4T84/kbupxPD5rOAiEA4w4SpddAbYZqz5xcVVZqbuGCJ6aYjshxttW+N/u1Jcs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491017},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"0d47d73b5a9d9f406ada3fc2a6b4077106e4ca65","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.23","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.30_1781354190454_0.8186925873128599","host":"s3://npm-registry-packages-npm-production"}},"0.2.31":{"name":"@zuzjs/flare","version":"0.2.31","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.31","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"68dd032aa54600fc05cf5da8e65840062263b276","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.31.tgz","fileCount":25,"integrity":"sha512-KO1umK8EapEUjtWqH+3UFQG9+6oLUsQd/9R2plELus/JvDZW8WlMAHatWdLV4S7cWiVZwkfa7bYyDYYJUK+IYA==","signatures":[{"sig":"MEYCIQC0OUYZs2lgPkLhbWUz/Uo71QQEXjJrW3xSQU318tBfWQIhAIQLx6yBjok/8t9mGFeeIisZKM/wcoJRNFwwZHrm/Y0i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491425},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"96e580f2c760a09cfa7fcf06d23cb6eecbc87439","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.23","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.31_1781379177619_0.276412538809357","host":"s3://npm-registry-packages-npm-production"}},"0.2.32":{"name":"@zuzjs/flare","version":"0.2.32","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.32","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"fb8075c8756d56a56c47194b0fc31fe36e79f478","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.32.tgz","fileCount":25,"integrity":"sha512-m2I1wCWtWeizBKUteub1UY3qDZ0CYYQtJ0gYafsqY62K/xu/Sn34zQHYo7xLBWZoQW2PJRboHC3+bKQERieF/g==","signatures":[{"sig":"MEUCIDj3Sh4nZBl+E/W69LbNQ8UxIhvU3HpaWKeWRV7x3UmrAiEA+UaCqGcKmT3HvudWOQyi9CfQc+PKx7Sw6fUZ3cKD7Xo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491779},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"db9b6707b182c1464a63c90eff91337ee83911fb","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.23","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.32_1781465515777_0.7588671675635321","host":"s3://npm-registry-packages-npm-production"}},"0.2.33":{"name":"@zuzjs/flare","version":"0.2.33","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.33","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"2ce7c29094b78b9511a8959fb6ff6188a62b2c6f","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.33.tgz","fileCount":25,"integrity":"sha512-OlwmhDTjW4GVBPFFQrMRtZ66GyUY4QetcKGMRyITnLt5GylJROKatCg+i5PrOFJHw1INX+Wo+KjIW/yYwJhxsg==","signatures":[{"sig":"MEUCIQCiD+RSyC/N22rE/Sof9JTmdyNIQ130/OF89Qewq9AiAQIgOgpWDwR7YSqMQaAzLTVpU6ub3NX18pwaHYmQ6Y0IJe4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494970},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"93f061fa1a144d236fe6b3682cea3fc5bd22192c","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.25","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.33_1781905863829_0.6752109450527697","host":"s3://npm-registry-packages-npm-production"}},"0.2.34":{"name":"@zuzjs/flare","version":"0.2.34","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.34","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"6989ab50d0292c88e3d4ec7b889b521d4af4f99a","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.34.tgz","fileCount":25,"integrity":"sha512-j66KMMtyC/acu4NskIGrMk05EBtV+gf3fHPCe1fnNcX2xXVqoDr04LqVBbwVEGo0f10NsTnpi5a+7EjpiU/VFA==","signatures":[{"sig":"MEYCIQDY7XDI9vI0OGXLdFccoHvKpodLGHFZKYF5hA56hI4TwwIhAObO8QYB2zjUSgdJjzc3Zql6TUQ6oOgaSu+HctINnqDi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495088},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"43fb20e40512de3290d5ef63d336e21571ea0f4b","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.25","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.34_1782150008822_0.3329225631950783","host":"s3://npm-registry-packages-npm-production"}},"0.2.35":{"name":"@zuzjs/flare","version":"0.2.35","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.35","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"f8db45dd81c79982103d0c275dad0d3e4d6af33a","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.35.tgz","fileCount":25,"integrity":"sha512-Vgl/OEq8w/Hxr0CxCCaqbEfg1oZgxgamWqGKBbRg4W/8Kxu/FNRTcxg0bFkwixA77zxBwzLtBNdubcdcXiD77w==","signatures":[{"sig":"MEYCIQCmJeou9sOYrNSO75ZVjhVWGDQesq8XMCuwLIXYhHeulAIhAKSL7bX2mP0kO/7RFMXFMfrifQu3LTk53wIh3KFffoe2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495374},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.9","@zuzjs/core":"^0.3.26","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.35_1787034392752_0.763084914677139","host":"s3://npm-registry-packages-npm-production"}},"0.2.37":{"name":"@zuzjs/flare","version":"0.2.37","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.37","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"69604c3b7d5c66aa3c126ff4db6d887318634012","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.37.tgz","fileCount":25,"integrity":"sha512-rKI0nHWqLi5t79F4q7ZbTEHMhzd9U7M/w44zzVj35Yl8L6ovXY+G+qdJHiYNt4P1YAxngZc8LKCxs85OhF79dg==","signatures":[{"sig":"MEQCIDeVVfH0KkjLR0rIp9CukckqPpVqUA/WMvRBY22QxvHnAiBsDVOJUGGiJ5x5gx8eO9LyySu2P4EZuEZib6AXGCTndw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":498129},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"92d0ebff2df4168795885e265b768bde30caecd9","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.10","@zuzjs/core":"^0.3.26","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.37_1788642968919_0.4794727952859974","host":"s3://npm-registry-packages-npm-production"}},"0.2.38":{"name":"@zuzjs/flare","version":"0.2.38","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.38","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"eef638b15706269d4ce371b233132219c108b1b2","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.38.tgz","fileCount":25,"integrity":"sha512-ZpmrmeYkCUp9RI1/OFgypPZ8fmtpSOnXU7Dwclstzr5qRYw0cbKhHy28s8M/IHr85F5wyeBns4RZJ961WIjuAg==","signatures":[{"sig":"MEUCIGjQeGVHV+60C51aQPW8BbVrCM6TVbYqUfH2nG3M3TPJAiEA+Q2vuPD+U3YdW4WC2VN+5QIa5IF8VduP5zvenRFuBqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBQTlcyj8VCut0hdXQD8B8ShrIj1J+AiA0UUXBnFQp6dAiEAs1SXLHF9tQGxM9DX9JkVjc+430/NqyPeco9USIoFUJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":500331},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"3931f953df4985b2c7397668f6e46dcce59f06be","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.10","@zuzjs/core":"^0.3.26","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.38_1789655386460_0.8276271679415277","host":"s3://npm-registry-packages-npm-production"}},"0.2.39":{"name":"@zuzjs/flare","version":"0.2.39","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.39","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"29c518797933b29c3afae8c962ca872c5f8c01a4","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.39.tgz","fileCount":25,"integrity":"sha512-CvmmlYvXXKhlq0PPMhPd7gJZ3js+dxtfzATVe386XZ2hQk/LOgwM0H/hwi0q/tmij5uqOgVmx6Q23HDS+nPPsg==","signatures":[{"sig":"MEUCIDtn6CZdppWNOrfLNQQs3zY6sdaZrJtJ1W+qwZLNeQzHAiEAlFQpX/1fT9pJEuM7uCy2XYO1Qk/FaCp35DSHmO0ArDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIErHraiqB8RVodWG9VHM8inHBiMMvKb7nVm33x6ffPgqAiEA5SngopXH6s5LTxSjWdP+p7NqqD00fRJKS4Qk7LETlO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":502975},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"38624ef1bce09b6fe09a888ac1783e5e15184fb4","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.10","@zuzjs/core":"^0.3.26","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.39_1789761115100_0.08259257126537412","host":"s3://npm-registry-packages-npm-production"}},"0.2.40":{"name":"@zuzjs/flare","version":"0.2.40","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare@0.2.40","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"cec3035efd490d8fb36ae9694db17a69f10d731c","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.40.tgz","fileCount":25,"integrity":"sha512-qs5joNDQD6CON764zQ7tP0e/XgiabPi7Q0FHqPFCuHUaQzmhfLWNS40fkA40SKfHO7NoFpUUqgIZ9qazuJQ0gQ==","signatures":[{"sig":"MEUCIQCNiqLvL9IAG4dhuriHalZyXg/e0LHTfsZezYbH1J/ioAIgX3j+pJ4rSvHLf5U5Otx50McvMn9bJ5m6Cwk786vCk1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCVuzCzSIpdNpH3mede8tbgp5GWMqlrTtvJQ5VDklEF9QIhAN0+Ll3EY0uYNM2C/9L0prM8+AHkFbbvX8Vqsz7+osEL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":503911},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"ab148afeb1f1d79915888ec57e08c03fa4b45718","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.10","@zuzjs/core":"^0.3.26","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/flare_0.2.40_1789997336798_0.5283884822784721","host":"s3://npm-registry-packages-npm-production"}},"0.2.41":{"_id":"@zuzjs/flare@0.2.41","bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"dist":{"shasum":"0fb22ef906f22561842dab76c9f3de1f176c3455","tarball":"https://registry.npmjs.org/@zuzjs/flare/-/flare-0.2.41.tgz","fileCount":25,"integrity":"sha512-rOB8Uhv+LsR4xx76kTFT7lscXYdVsSN4mfrNaIO9QQ4ZofvqN4dj2sAITJLpvXcqL87brhPM330Hg83rtrWcOg==","signatures":[{"sig":"MEQCIHfzkCxBsFa4AkJNDSBz5FRQ4FB/iczqGCB8db9vtt8KAiAm5QHfxuRBy+jnJcPDWwILi8F25T3kL7o1An6lR7OqPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCndqQhLVXMrdQMI1WwF4nC61tBx80nI62BCNPMtucakQIgX+F56vut8rvYVVZVITwjFes4mw5cBPHZyaDn3r3iCIs="}],"unpackedSize":503635},"main":"./dist/index.cjs","name":"@zuzjs/flare","type":"module","types":"./dist/index.d.ts","author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"module":"./dist/index.js","engines":{"node":">=18.17.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"8b3a145be411aee61b6490ad98dbd2c269221d12","license":"MIT","version":"0.2.41","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"homepage":"https://flare.zuz.com.pk","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"_npmVersion":"11.4.2","description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","directories":{},"maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"sideEffects":["reflect-metadata"],"_nodeVersion":"24.3.0","dependencies":{"@zuzjs/auth":"^0.1.10","@zuzjs/core":"^0.3.27","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/flare_0.2.41_1790220875225_0.02912143321180838"}}},"time":{"created":"2026-03-12T23:22:03.520Z","modified":"2026-09-24T03:34:35.489Z","0.2.1":"2026-03-12T23:22:03.796Z","0.2.2":"2026-03-29T16:19:20.562Z","0.2.4":"2026-04-07T17:00:55.650Z","0.2.5":"2026-04-08T14:26:53.791Z","0.2.6":"2026-04-08T16:41:40.276Z","0.2.7":"2026-04-09T13:26:55.345Z","0.2.8":"2026-04-10T09:24:28.933Z","0.2.9":"2026-04-11T13:41:35.075Z","0.2.10":"2026-04-11T21:27:26.874Z","0.2.11":"2026-04-13T19:51:59.229Z","0.2.12":"2026-04-14T14:36:26.399Z","0.2.13":"2026-04-15T17:07:33.967Z","0.2.14":"2026-04-16T18:55:18.525Z","0.2.15":"2026-04-16T19:08:47.472Z","0.2.16":"2026-04-17T06:40:17.789Z","0.2.17":"2026-04-28T07:38:38.097Z","0.2.18":"2026-05-04T12:59:11.498Z","0.2.19":"2026-05-06T17:29:23.597Z","0.2.20":"2026-05-10T14:44:53.493Z","0.2.21":"2026-05-14T14:10:59.216Z","0.2.22":"2026-05-17T15:46:10.873Z","0.2.23":"2026-05-20T05:08:05.875Z","0.2.24":"2026-06-07T18:49:06.261Z","0.2.25":"2026-06-08T20:17:51.561Z","0.2.26":"2026-06-09T21:37:53.150Z","0.2.27":"2026-06-10T15:04:41.812Z","0.2.28":"2026-06-10T20:51:08.656Z","0.2.29":"2026-06-11T19:13:09.731Z","0.2.30":"2026-06-13T12:36:30.609Z","0.2.31":"2026-06-13T19:32:57.764Z","0.2.32":"2026-06-14T19:31:55.909Z","0.2.33":"2026-06-19T21:51:03.968Z","0.2.34":"2026-06-22T17:40:08.966Z","0.2.35":"2026-08-18T06:26:32.941Z","0.2.37":"2026-09-05T21:16:09.083Z","0.2.38":"2026-09-17T14:29:46.558Z","0.2.39":"2026-09-18T19:51:55.184Z","0.2.40":"2026-09-21T13:28:56.894Z","0.2.41":"2026-09-24T03:34:35.321Z"},"bugs":{"url":"https://github.com/zuzjs/flare-client/issues"},"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","homepage":"https://flare.zuz.com.pk","keywords":["core","zuz","zuz.js","zuz flare","zuz flare client","zuzjs"],"repository":{"url":"git+https://github.com/zuzjs/flare-client.git","type":"git"},"description":"Official JavaScript/TypeScript client for ZuzFlare Server - Self-hosted real-time database","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"readme":"# ZuzFlare Client\n\nOfficial JavaScript/TypeScript client for ZuzFlare Server.\n\n[![npm version](https://badge.fury.io/js/%40zuzjs%2Fflare.svg)](https://www.npmjs.com/package/@zuzjs/flare)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Installation\n\n```bash\nnpm install @zuzjs/flare\n```\n\n## Maintainer Rule\n\nWhen adding or changing any public SDK API, update this README in the same commit and add a usage example for that API.\n\n## Quick Start\n\n```ts\nimport { connectApp } from '@zuzjs/flare';\n\nconst app = connectApp({\n  endpoint: 'https://flare.zuzcdn.net',\n  appId: 'my-app',\n  apiKey: 'app-api-key',\n});\n\nawait app.collection('users').doc('alice').set({\n  name: 'Alice',\n  email: 'alice@example.com',\n});\n\napp.collection('users').onSnapshot((snapshot) => {\n  console.log('snapshot', snapshot);\n});\n```\n\n## Public API Usage Examples\n\n### Core Instance\n\n```ts\nimport { connectApp, getFlare, disconnectFlare } from '@zuzjs/flare';\n\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\nconst same = getFlare();\ndisconnectFlare();\n```\n\n### Bulk Writes (Memory Efficient)\n\n`addMany`, `updateMany`, and `deleteMany` process data in bounded chunks so very large input streams can run without loading everything into memory at once.\n\n```ts\nconst users = app.collection<{ name: string; plan?: string }>('users');\n\n// Add many from an array\nconst addResult = await users.addMany(\n  [{ name: 'Alice' }, { name: 'Bob' }],\n  {\n    batchSize: 500,\n    concurrency: 8,\n    onProgress: (p) => {\n      console.log('addMany', p.processed, p.total, p.percent);\n    },\n  },\n);\n\n// Update many by id\nconst updateResult = await users.updateMany(\n  [\n    { id: 'user_1', data: { plan: 'pro' } },\n    { id: 'user_2', data: { plan: 'team' } },\n  ],\n  { continueOnError: true },\n);\n\n// Delete many by id\nconst deleteResult = await users.deleteMany(['user_3', 'user_4']);\n\nconsole.log({ addResult, updateResult, deleteResult });\n```\n\n```ts\n// Stream input from an async source (best for huge datasets)\nasync function* rows() {\n  for (let i = 0; i < 1_000_000; i += 1) {\n    yield { name: `user-${i}` };\n  }\n}\n\nawait app.collection('users').addMany(rows(), { batchSize: 1000, concurrency: 4 });\n```\n\n### Auth Config And State\n\n```ts\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nawait app.ensureCsrfProtection();\nconst config = await app.loadAuthConfig();\n\nconst offConfig = app.onAuthConfigLoaded((next) => {\n  console.log('auth config loaded', next.providers);\n});\n\nconst offState = app.onAuthStateChanged((session) => {\n  console.log('auth state', session?.uid);\n});\n\nconst legacyOffState = app.onAuthStateChange((session) => {\n  console.log('legacy listener', session?.uid);\n});\n\nconsole.log('csrf cookie name', app.getCsrfCookieName());\nconsole.log('csrf token', app.getCsrfToken());\nconsole.log('current user', app.getCurrentUser());\n\noffConfig();\noffState();\nlegacyOffState();\n```\n\n### Email Password Auth\n\n```ts\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nawait app.createUserWithEmail('alice@example.com', 'StrongPassword123!');\nawait app.createUserWithEmailAndPassword('bob@example.com', 'StrongPassword123!');\n\nawait app.signInWithEmail('alice@example.com', 'StrongPassword123!');\nawait app.signInWithEmailAndPassword('bob@example.com', 'StrongPassword123!');\n\nawait app.signInOrCreateWithEmail('carol@example.com', 'StrongPassword123!');\nawait app.signInOrCreateWithEmailAndPassword('dave@example.com', 'StrongPassword123!');\n\nawait app.auth('<access-token>');\nawait app.refreshAuthSession();\nawait app.signOut();\n```\n\n### Email Verification And Recovery\n\n```ts\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nconst verifySent = await app.sendEmailVerification('alice@example.com');\nawait app.verifyEmailWithCode('alice@example.com', '123456');\nawait app.confirmEmailLink('<link-token>', 'alice@example.com');\n\nconst recoverySent = await app.sendAccountRecovery('alice@example.com');\nawait app.recoverAccountWithCode('alice@example.com', '123456', 'NextStrongPassword123!');\nawait app.recoverAccountWithToken('<recovery-token>', 'NextStrongPassword123!');\n\nconsole.log(verifySent, recoverySent);\n```\n\n### OAuth Helpers\n\n```ts\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nawait app.signIn('google');\nawait app.signInWithGoogle();\nawait app.signInWithGitHub();\nawait app.signInWithFacebook();\nawait app.signInWithDropbox();\n\nconst redirectResult = await app.handleSignInRedirect();\nconsole.log('oauth redirect result', redirectResult);\n```\n\n### SSR Token\n\n```ts\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nconst ssr = await app.issueSsrToken(120);\nconsole.log(ssr.token, ssr.expires_in);\n```\n\n### Push APIs\n\n```ts\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nawait app.setupPushServiceWorker();\nawait app.requestPushPermission();\n\nconst { token } = await app.acquireBrowserPushToken();\nawait app.registerPushToken({ token, platform: 'web', topics: ['news'] });\n\nawait app.enableBrowserPush({ topics: ['marketing'] });\n\nawait app.sendPushNotification({\n  title: 'Hello',\n  body: 'Welcome back',\n  topic: 'news',\n});\n\nawait app.unregisterPushToken(token);\n```\n\n### Burst Stream API (Chat, Group Chat, Activity Feeds)\n\nUse `stream()` to keep a live in-memory list with batched updates.\nThis avoids one render per incoming change during message bursts.\n\n```ts\nconst messageStream = app\n  .collection('messages')\n  .where({ roomId: 'room-1' })\n  .latest()\n  .limit(200)\n  .stream({\n    flushMs: 24,        // collapse burst updates into short windows\n    maxBatchSize: 200,  // force flush when queue gets large\n    insertAt: 'start',  // keep latest-first lists stable for chat UIs\n    maxDocs: 200,\n  });\n\nconst stop = messageStream.subscribe((rows, meta) => {\n  console.log('rows', rows.length, 'ready', meta.ready, 'reason', meta.reason);\n});\n\n// Read current snapshot any time (works well with external-store patterns)\nconst currentRows = messageStream.getSnapshot();\n\n// Optional subscription-level error hooks\nmessageStream\n  .onError((err) => console.error('stream error', err))\n  .onPermissionDenied((err) => console.error('permission denied', err));\n\n// Cleanup\nstop();\nmessageStream.close();\n```\n\n### Pagination Patterns (Stream vs Manual)\n\nUse one of these based on UX needs:\n\n- Stream page window: realtime for the current page; rebuild stream when page changes.\n- Manual cursor paging: deterministic `load more` and stable history.\n- Hybrid: stream first page (latest data) and fetch older pages manually.\n\n#### 1) Stream Page Window (offset-based)\n\n```tsx\nimport { useEffect, useMemo, useState } from 'react';\nimport { collection, Collections, useLiveQuery } from '@zuzjs/flare';\n\nconst PAGE_SIZE = 25;\n\nexport function ContactsPagedStream() {\n  const [rows, setRows] = useState<any[]>([]);\n  const [loading, setLoading] = useState(true);\n  const [page, setPage] = useState(0);\n\n  const contacts = useLiveQuery({\n    onData: (data, meta) => {\n      setLoading(!meta.ready);\n      setRows(data as any[]);\n    },\n  });\n\n  const query = useMemo(() => {\n    return collection(Collections.Contacts)\n      .where({ sheet: '!= null' })\n      .orderBy('_seq', 'desc')\n      .limit(PAGE_SIZE)\n      .offset(page * PAGE_SIZE);\n  }, [page]);\n\n  useEffect(() => {\n    contacts.buildStream(query);\n    return () => contacts.closeStream();\n  }, [contacts, query]);\n\n  return (\n    <div>\n      <div>{loading ? 'Loading...' : `Rows: ${rows.length}`}</div>\n      <button onClick={() => setPage((p) => Math.max(0, p - 1))}>Prev</button>\n      <button onClick={() => setPage((p) => p + 1)}>Next</button>\n    </div>\n  );\n}\n```\n\nNotes:\n\n- This keeps only one live page at a time.\n- Realtime inserts can shift offset pages; this is expected for live data.\n\n#### 2) Manual Cursor Pagination (recommended for stable \"load more\")\n\n```tsx\nimport { useEffect, useState } from 'react';\nimport { collection, Collections } from '@zuzjs/flare';\n\nconst PAGE_SIZE = 25;\n\nexport function ContactsManualPagination() {\n  const [rows, setRows] = useState<any[]>([]);\n  const [loading, setLoading] = useState(false);\n  const [cursor, setCursor] = useState<number | null>(null);\n  const [hasMore, setHasMore] = useState(true);\n\n  const loadInitial = async () => {\n    setLoading(true);\n    const page = await collection(Collections.Contacts)\n      .where({ sheet: '!= null' })\n      .orderBy('_seq', 'desc')\n      .limit(PAGE_SIZE)\n      .get();\n\n    setRows(page as any[]);\n    const last = (page as any[])[(page as any[]).length - 1];\n    setCursor(last?._seq ?? null);\n    setHasMore((page as any[]).length === PAGE_SIZE);\n    setLoading(false);\n  };\n\n  const loadMore = async () => {\n    if (!hasMore || cursor == null) return;\n    setLoading(true);\n\n    const page = await collection(Collections.Contacts)\n      .where({ sheet: '!= null' })\n      .orderBy('_seq', 'desc')\n      .startAfter(cursor)\n      .limit(PAGE_SIZE)\n      .get();\n\n    const next = page as any[];\n    setRows((prev) => [...prev, ...next]);\n    const last = next[next.length - 1];\n    setCursor(last?._seq ?? null);\n    setHasMore(next.length === PAGE_SIZE);\n    setLoading(false);\n  };\n\n  useEffect(() => {\n    void loadInitial();\n  }, []);\n\n  return (\n    <div>\n      <div>{loading ? 'Loading...' : `Rows: ${rows.length}`}</div>\n      <button onClick={loadMore} disabled={!hasMore || loading}>\n        {hasMore ? 'Load more' : 'No more'}\n      </button>\n    </div>\n  );\n}\n```\n\n#### 3) Hybrid (stream latest page + manual history)\n\n```tsx\nimport { useEffect, useMemo, useState } from 'react';\nimport { collection, Collections, useLiveQuery } from '@zuzjs/flare';\n\nconst PAGE_SIZE = 25;\n\nexport function ContactsHybridPagination() {\n  const [liveRows, setLiveRows] = useState<any[]>([]);\n  const [historyRows, setHistoryRows] = useState<any[]>([]);\n  const [historyCursor, setHistoryCursor] = useState<number | null>(null);\n  const [ready, setReady] = useState(false);\n\n  const live = useLiveQuery({\n    onData: (data, meta) => {\n      setReady(meta.ready);\n      setLiveRows(data as any[]);\n    },\n  });\n\n  const liveQuery = useMemo(() => {\n    return collection(Collections.Contacts)\n      .where({ sheet: '!= null' })\n      .orderBy('_seq', 'desc')\n      .limit(PAGE_SIZE);\n  }, []);\n\n  useEffect(() => {\n    live.buildStream(liveQuery);\n    return () => live.closeStream();\n  }, [live, liveQuery]);\n\n  const loadOlder = async () => {\n    const anchor = historyCursor ?? liveRows[liveRows.length - 1]?._seq;\n    if (anchor == null) return;\n\n    const page = await collection(Collections.Contacts)\n      .where({ sheet: '!= null' })\n      .orderBy('_seq', 'desc')\n      .startAfter(anchor)\n      .limit(PAGE_SIZE)\n      .get();\n\n    const next = page as any[];\n    setHistoryRows((prev) => [...prev, ...next]);\n    setHistoryCursor(next[next.length - 1]?._seq ?? anchor);\n  };\n\n  const allRows = [...liveRows, ...historyRows];\n\n  return (\n    <div>\n      <div>{ready ? `Rows: ${allRows.length}` : 'Loading live page...'}</div>\n      <button onClick={loadOlder}>Load older</button>\n    </div>\n  );\n}\n```\n\nTip:\n\n- For feeds/chat, hybrid mode usually gives the best UX: live top of list + stable older history.\n\n#### React.js Example\n\n```tsx\nimport { useEffect, useMemo, useState } from 'react';\nimport { connectApp } from '@zuzjs/flare';\n\ntype Message = {\n  id: string;\n  roomId: string;\n  text: string;\n  createdAt: number;\n};\n\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nexport function RoomMessages({ roomId }: { roomId: string }) {\n  const [rows, setRows] = useState<readonly Message[]>([]);\n  const [ready, setReady] = useState(false);\n\n  const stream = useMemo(() => {\n    return app\n      .collection<Message>('messages')\n      .where({ roomId })\n      .latest()\n      .limit(200)\n      .stream({ flushMs: 20, maxBatchSize: 250, insertAt: 'start', maxDocs: 200 });\n  }, [roomId]);\n\n  useEffect(() => {\n    const stop = stream.subscribe((nextRows, meta) => {\n      setRows(nextRows);\n      setReady(meta.ready);\n    });\n\n    return () => {\n      stop();\n      stream.close();\n    };\n  }, [stream]);\n\n  if (!ready) return <p>Loading messages...</p>;\n\n  return (\n    <ul>\n      {rows.map((m) => (\n        <li key={m.id}>{m.text}</li>\n      ))}\n    </ul>\n  );\n}\n```\n\n#### React Storage Queue Hook (Start/Pause)\n\n```tsx\nimport { useMemo } from 'react';\nimport { connectApp } from '@zuzjs/flare';\nimport { useStorage, Status } from '@zuzjs/flare/react';\n\nconst app = connectApp({\n  endpoint: 'http://localhost:8080',\n  appId: 'my-app',\n});\n\nexport function StorageUploader() {\n  const storage = useMemo(() => app.storage(), []);\n\n  const upload = useStorage(storage, {\n    onItemComplete: (item, result) => {\n      console.log('uploaded', item.objectKey, result.url);\n    },\n    onItemError: (item, err) => {\n      console.error('upload failed', item.objectKey, err.message);\n    },\n  });\n\n  const onSelect = (event: React.ChangeEvent<HTMLInputElement>) => {\n    const files = Array.from(event.target.files ?? []);\n    if (!files.length) return;\n\n    upload.addToQueue(\n      files.map((file) => ({\n        file,\n        bucket: 'attachments',\n        key: `uploads/${Date.now()}-${file.name}`,\n        contentType: file.type || 'application/octet-stream',\n        access: 'public',\n      })),\n    );\n  };\n\n  return (\n    <div>\n      <input type='file' multiple onChange={onSelect} />\n\n      <div style={{ display: 'flex', gap: 8, marginTop: 12 }}>\n        <button onClick={() => void upload.start()} disabled={!upload.hasPending || upload.running}>\n          Start\n        </button>\n        <button onClick={upload.pause} disabled={!upload.running}>\n          Pause\n        </button>\n      </div>\n\n      <ul>\n        {upload.que.map((item) => (\n          <li key={item.id}>\n            {item.objectKey} - {item.progress}% - {Status[item.status]}\n          </li>\n        ))}\n      </ul>\n    </div>\n  );\n}\n```\n\n`addToQueue(...)` auto-starts uploads by default.\n\nManual mode example (only upload when `start()` is clicked):\n\n```tsx\nconst upload = useStorage(storage, {\n  autoStartOnAdd: false,\n});\n\nupload.addToQueue([\n  {\n    file,\n    bucket: 'attachments',\n    key: `uploads/${Date.now()}-${file.name}`,\n  },\n]);\n\nawait upload.start();\n```\n\nNotes:\n\n- Queue items expose `item.objectKey` (not `item.key`) to avoid React prop-name conflicts.\n- `addToQueue(...)` input still uses `key` because it maps directly to `putObject({ key })`.\n- `addToQueue(...)` starts processing immediately unless `autoStartOnAdd: false` or the queue is paused.\n- `pause()` stops scheduling new uploads; it does not cancel an already in-flight request.\n- Call `start()` again to continue with remaining queued items.\n\n#### Next.js Example (Client Component)\n\n```tsx\n'use client';\n\nimport { useSyncExternalStore } from 'react';\nimport { connectApp } from '@zuzjs/flare';\n\ntype Message = { id: string; roomId: string; text: string; createdAt: number };\n\nconst app = connectApp({\n  endpoint: process.env.NEXT_PUBLIC_FLARE_ENDPOINT!,\n  appId: process.env.NEXT_PUBLIC_FLARE_APP_ID!,\n  apiKey: process.env.NEXT_PUBLIC_FLARE_API_KEY,\n});\n\nexport default function RoomStream({ roomId }: { roomId: string }) {\n  const store = app\n    .collection<Message>('messages')\n    .where({ roomId })\n    .latest()\n    .limit(200)\n    .asStore({ flushMs: 20, maxBatchSize: 250, insertAt: 'start', maxDocs: 200 });\n\n  const rows = useSyncExternalStore(\n    store.subscribe,\n    store.getSnapshot,\n    store.getServerSnapshot,\n  );\n\n  return (\n    <section>\n      {rows.map((m) => (\n        <p key={m.id}>{m.text}</p>\n      ))}\n    </section>\n  );\n}\n```\n\n#### Redux Example\n\n```ts\nimport { createSlice, PayloadAction, configureStore } from '@reduxjs/toolkit';\nimport { connectApp } from '@zuzjs/flare';\n\ntype Message = { id: string; roomId: string; text: string; createdAt: number };\n\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nconst messagesSlice = createSlice({\n  name: 'messages',\n  initialState: [] as Message[],\n  reducers: {\n    replaceMessages: (_state, action: PayloadAction<readonly Message[]>) => [...action.payload],\n  },\n});\n\nexport const { replaceMessages } = messagesSlice.actions;\nexport const store = configureStore({ reducer: { messages: messagesSlice.reducer } });\n\nexport function startRoomMessageStream(roomId: string): () => void {\n  const stream = app\n    .collection<Message>('messages')\n    .where({ roomId })\n    .latest()\n    .limit(200)\n    .stream({ flushMs: 20, maxBatchSize: 250, insertAt: 'start', maxDocs: 200 });\n\n  const stop = stream.subscribe((rows) => {\n    store.dispatch(replaceMessages(rows));\n  });\n\n  return () => {\n    stop();\n    stream.close();\n  };\n}\n```\n\n### External Store Bridge (No Framework Dependency)\n\nThe client also exposes `asStore()` so app code can plug into external-store hooks\nwhile keeping this package free of framework dependencies.\n\n```ts\nconst messageStore = app\n  .collection('messages')\n  .where({ roomId: 'room-1' })\n  .latest()\n  .limit(200)\n  .asStore({ flushMs: 24, maxBatchSize: 200, insertAt: 'start' });\n\n// In app code, pass these to your UI store hook:\nmessageStore.subscribe;      // (onStoreChange) => unsubscribe\nmessageStore.getSnapshot;    // () => readonly rows\nmessageStore.getServerSnapshot; // () => []\n\n// Optional advanced access\nmessageStore.stream.onError((err) => console.error(err));\n\n// Cleanup\nmessageStore.destroy();\n```\n\n### Direct Query Helpers (Knex-Style)\n\n`collection()` query chaining uses object-based logical steps and dedicated operator families:\n\n- Logic: `where({...})`, `and({...})`, `or({...})`\n- `in` family: `in`, `andIn`, `orIn`\n- `notIn` family: `notIn`, `andNotIn`, `orNotIn`\n- `arrayContains` family: `arrayContains`, `andArrayContains`, `orArrayContains`\n- `arrayContainsAny` family: `arrayContainsAny`, `andArrayContainsAny`, `orArrayContainsAny`\n- `some` family (array of objects): `some`, `andSome`, `orSome`\n- `like` family: `like`, `andLike`, `orLike`\n- `notLike` family: `notLike`, `andNotLike`, `orNotLike`\n- `exists` family: `exists`, `andExists`, `orExists`\n- `notExists` family: `notExists`, `andNotExists`, `orNotExists`\n\n```ts\nconst uid = 'bDEgnSqsEDT5qdDdtOX1';\n\nconst boards = await app\n  .collection('boards')\n  .where({ uid })\n  .orArrayContains('team', uid)\n  .orderBy('createdAt', 'desc')\n  .limit(20)\n  .get();\n\nconst sameBoards = await app\n  .collection('boards')\n  .where({ uid })\n  .orArrayContains('team', uid)\n  .get();\n\nconst active = await app\n  .collection('tasks')\n  .in('status', ['todo', 'doing'])\n  .andArrayContainsAny('labels', ['urgent', 'backend'])\n  .andLike('title', '%bug%')\n  .get();\n\nconst boardAccess = await app\n  .collection('boards')\n  .some('team', { uid: 'xyz', role: 1 })\n  .get();\n```\n\n### Advanced Joins And Relations\n\nUse `join()` when you want direct field mapping, including array/object-path sources.\n\n```ts\nconst boardWithLists = await app\n  .collection('boards')\n  .where({ id: boardId, uid: me.uid })\n  .join('lists', {\n    source: 'id',\n    target: 'boardId',\n    as: 'lists',\n  })\n  .limit(1)\n  .get();\n\nconst boardWithTeamMembers = await app\n  .collection('boards')\n  .where({ id: boardId, uid: me.uid })\n  .join('users', {\n    source: 'team.uid', // team: [{ uid, role }]\n    target: 'id',\n    as: 'teamMembers',\n  })\n  .limit(1)\n  .get();\n```\n\nUse `withRelation()` for SQL-style shorthand.\n\n```ts\nconst boardWithTeamMembers = await app\n  .collection('boards')\n  .where({ id: boardId, uid: me.uid })\n  .withRelation('team.uid->users.id', { as: 'teamMembers' })\n  .limit(1)\n  .get();\n\nconst boardWithInlineAlias = await app\n  .collection('boards')\n  .where({ id: boardId, uid: me.uid })\n  .withRelation('team.uid->users.id as teamMembers')\n  .limit(1)\n  .get();\n\nconst boardWithMultipleJoins = await app\n  .collection('boards')\n  .where({ id: boardId, uid: me.uid })\n  .join('lists', { source: 'id', target: 'boardId', as: 'lists' })\n  .join('users', { source: 'team.uid', target: 'id', as: 'teamMembers' })\n  .limit(1)\n  .get();\n\nconst boardWithNestedJoinChain = await app\n  .collection('boards')\n  .join('lists', { source: 'id', target: 'boardId', as: 'lists' })\n  .joinNested('lists', 'cards', { source: 'id', target: 'listId', as: 'cards' })\n  .joinNested('cards', 'comments', { source: 'id', target: 'cardId', as: 'comments' })\n  .get();\n```\n\nNested join options are supported per relation (`where`, `orderBy`, `limit`, `offset`, `select`, and nested `joins`).\n\nJoin alias note:\n- `.join('users', ...)` and `.join('_users', ...)` both resolve to the app auth-users collection (`_flare_auth_users`) on server.\n- Use `_users` when you want an explicit auth-collection relation in query code.\n\n### Data Mapper (Collection + Join Alias)\n\nYou can provide `dataMapper` in `connectApp(...)` to shape inbound rows on the client side.\n\nMapping rules:\n- Base collection rows use the mapper key matching the collection name.\n- Joined rows use the mapper key matching join `as`.\n\n```ts\nimport { connectApp } from '@zuzjs/flare';\n\nconst app = connectApp({\n  endpoint: 'https://flare.zuzcdn.net',\n  appId: 'my-app',\n  apiKey: 'FA_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',\n  dataMapper: {\n    boards: (row) => ({\n      id: row.id,\n      name: row.name,\n      description: row.description,\n      createdAt: new Date(row.createdAt ?? row.created_at),\n    }),\n    team: (row) => ({\n      id: row.id,\n      name: row.authMeta?.additionalParams?.name || 'Unknown',\n      email: row.email,\n      createdAt: new Date(row.createdAt ?? row.created_at),\n    }),\n  },\n});\n\nconst boards = await app\n  .collection('boards')\n  .where({ boardId: '123' })\n  .join('users', {\n    source: 'team.uid',\n    target: 'uid',\n    as: 'team',\n  })\n  .get();\n\n// boards[*] is mapped by dataMapper.boards\n// boards[*].team[*] is mapped by dataMapper.team (join alias)\n```\n\nTip: If your join alias is `team`, define `dataMapper.team` (not `dataMapper.users`) for that join payload.\n\n### Storage API (S3-like)\n\n```ts\nimport { connectApp, FlareStorageSignedAction } from '@zuzjs/flare';\n\nconst app = connectApp({\n  endpoint: 'https://flare.zuzcdn.net',\n  appId: 'my-app',\n  apiKey: 'ak',\n  storage: {\n    /**\n     * Built-in transfer manager — serialises uploads/downloads so calling\n     * putObject / getObject without `await` is always safe.\n     */\n    transferManager: {\n      enabled: true,\n      uploadConcurrency: 1,   // one upload at a time (default)\n      downloadConcurrency: 2, // allow two parallel downloads\n    },\n  },\n});\n\nconst storage = app.storage();\n\nawait storage.createBucket('avatars');\n\n// ── Raw binary upload (default) ──────────────────────────────────────────────\n// By default putObject uploads files via a signed URL as raw binary.\n// This is efficient for any file size and provides upload progress in browsers.\nconst uploaded = await storage.putObject({\n  bucket: 'avatars',\n  key: 'users/alice.png',\n  body: fileOrBlobOrBytes,\n  contentType: 'image/png',\n  onProgress: (p) => {\n    console.log(`uploaded ${p.loaded}/${p.total} (${p.percent}%)`);\n  },\n});\n\nconsole.log(uploaded.key);    // users/alice.png\nconsole.log(uploaded.access); // public (default)\nconsole.log(uploaded.url);    // https://.../storage/public/<appId>/avatars/users%2Falice.png\n\n// ── Base64 upload (opt-in, small files only) ─────────────────────────────────\n// Pass `base64: true` to use the legacy base64-over-JSON path.\n// If the payload exceeds `base64MaxBytes` (default 4 MiB), the SDK\n// automatically falls back to raw signed-URL upload.\nconst uploaded2 = await storage.putObject({\n  bucket: 'avatars',\n  key: 'users/thumb.png',\n  body: smallFileBytes,\n  contentType: 'image/png',\n  access: 'private',   // override the default public access\n  base64: true,         // prefer base64 path\n  base64MaxBytes: 2 * 1024 * 1024, // cap at 2 MiB; larger → raw upload\n});\n\n// ── Pre-encoded base64 (always uses base64 path) ─────────────────────────────\nconst uploaded3 = await storage.putObject({\n  bucket: 'avatars',\n  key: 'users/icon.png',\n  contentBase64: alreadyEncodedString,\n  contentType: 'image/png',\n  // encrypt defaults to false when omitted\n});\n\nconst head = await storage.headObject({ bucket: 'avatars', key: uploaded.key });\nconsole.log(head.access, head.url);\n\nconst file = await storage.getObject({ bucket: 'avatars', key: uploaded.key });\n\nconst page1 = await storage.listObjects({ bucket: 'avatars', prefix: 'users/', limit: 100 });\nconsole.log(page1.objects[0]?.access, page1.objects[0]?.url);\n\nconst page2 = page1.cursor\n  ? await storage.listObjects({ bucket: 'avatars', prefix: 'users/', limit: 100, cursor: page1.cursor })\n  : { objects: [] };\n\nawait storage.copyObject({\n  sourceBucket: 'avatars',\n  sourceKey: 'users/alice.png',\n  destBucket: 'avatars-backup',\n  destKey: 'users/alice.png',\n});\n\nawait storage.deleteObjects({\n  bucket: 'avatars',\n  keys: ['users/alice.png', 'users/bob.png'],\n});\n\nconst signedUpload = await storage.createSignedUrl({\n  bucket: 'media',\n  key: 'uploads/clip.mp4',\n  action: FlareStorageSignedAction.Upload,\n  expiresInSeconds: 300,\n  contentType: 'video/mp4',\n  access: 'private',\n  encrypt: true,\n});\n\nawait fetch(signedUpload.url, {\n  method: signedUpload.method,\n  headers: { 'Content-Type': 'video/mp4' },\n  body: videoBlob,\n});\n```\n\nDirect helpers are also available on the app instance:\n\n```ts\nawait app.createBucket('files');\nawait app.putObject({ bucket: 'files', key: 'docs/readme.txt', body: 'hello' });\nconst doc = await app.getObject({ bucket: 'files', key: 'docs/readme.txt' });\nawait app.deleteObject({ bucket: 'files', key: 'docs/readme.txt' });\n\nconst signedDownload = await app.createSignedUrl({\n  bucket: 'files',\n  key: 'docs/readme.txt',\n  action: FlareStorageSignedAction.Download,\n  expiresInSeconds: 120,\n});\n\nconsole.log('signed url expires at unix seconds', signedDownload.expiresAt);\nconsole.log('signed url ttl seconds', signedDownload.expiresInSeconds);\n```\n\n### Signed URL Download Policies\n\n`token` (for example `st_...`) is only a ticket identifier. Expiry is enforced server-side and returned via `expiresAt` / `expiresInSeconds`.\n\n```ts\nimport { connectApp, FlareStorageSignedAction } from '@zuzjs/flare';\n\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\nconst storage = app.storage();\n\nconst signed = await storage.createSignedUrl({\n  bucket: 'media',\n  key: 'videos/intro.mp4',\n  action: FlareStorageSignedAction.Download,\n  expiresInSeconds: 180,\n  forceDownload: true,\n  allowedOrigins: ['https://app.example.com'],\n  embedOnly: false,\n});\n\nconsole.log(signed.url, signed.expiresAt, signed.expiresInSeconds);\n```\n\nHelper APIs:\n\n```ts\n// 1) Get a direct signed download URL.\nconst url = await storage.getObjectUrl({\n  bucket: 'media',\n  key: 'images/hero.png',\n  expiresInSeconds: 90,\n  allowedOrigins: ['*'],\n});\n\n// 2) Trigger browser download (defaults to forceDownload: true).\nawait storage.downloadObject({\n  bucket: 'media',\n  key: 'images/hero.png',\n  filename: 'hero.png',\n  expiresInSeconds: 90,\n  allowedOrigins: ['https://app.example.com'],\n  forceDownload: true,\n});\n\n// 3) Embed-only URL for media tags (<img>, <video>, <audio>).\nconst embedUrl = await storage.getObjectUrl({\n  bucket: 'media',\n  key: 'videos/trailer.mp4',\n  embedOnly: true,\n  allowedOrigins: ['https://app.example.com'],\n});\n```\n\nNotes:\n- `putObject()` defaults to `encrypt: false` and `access: 'public'`.\n- `uploaded.url` is the stable public object URL shape. Anonymous reads still depend on stored `access` and any storage rules configured on the app.\n- `headObject()` and `listObjects()` also return `access` and `url` metadata.\n- `forceDownload` and `embedOnly` are mutually exclusive.\n- `allowedOrigins` defaults to `['*']` when omitted.\n- `embedOnly` is valid only for download signed URLs.\n\n### Transfer Manager\n\nThe built-in transfer manager queues uploads and downloads so fire-and-forget calls\nremain safe without needing a manual `await` at the call site.\n\n```ts\nconst app = connectApp({\n  endpoint: 'https://flare.zuzcdn.net',\n  appId: 'my-app',\n  apiKey: 'ak',\n  storage: {\n    transferManager: {\n      enabled: true,\n      uploadConcurrency: 1,   // default — uploads are serialised\n      downloadConcurrency: 2, // allow two downloads in parallel\n    },\n  },\n});\n\nconst storage = app.storage();\n\n// All three uploads are queued and executed one at a time — no race conditions.\nstorage.putObject({ bucket: 'files', key: 'a.png', body: blobA });\nstorage.putObject({ bucket: 'files', key: 'b.png', body: blobB });\nstorage.putObject({ bucket: 'files', key: 'c.png', body: blobC });\n\n// Or await them individually for ordered results.\nconst [resA, resB] = await Promise.all([\n  storage.putObject({ bucket: 'files', key: 'a.png', body: blobA }),\n  storage.putObject({ bucket: 'files', key: 'b.png', body: blobB }),\n]);\nconsole.log(resA.key, resB.key);\n```\n\n### External AWS SDK Init From Flare `/aws` Config\n\n  bucket: 'media',\n  key: 'uploads/clip.mp4',\nimport { connectApp } from '@zuzjs/flare';\n\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nconst aws = await app.getStorageServerAwsConfig('storage-server-id');\n\nconst s3 = new S3Client({\n  endpoint: aws.endpoint,\n  region: aws.region,\n  forcePathStyle: Boolean(aws.forcePathStyle),\n  credentials: {\n    accessKeyId: aws.accessKeyId,\n    secretAccessKey: aws.secretAccessKey,\n  },\n});\n\nawait s3.send(new PutObjectCommand({\n  Bucket: aws.bucket,\n  Key: `${aws.prefix ?? ''}manual/test.txt`,\n  Body: 'hello from external sdk',\n  ContentType: 'text/plain',\n}));\n```\n\n### Template-Based Email APIs\n\n### Security Rules Example (Boards Owner Or Team Member)\n\nFor a `boards` document shape like:\n\n```json\n{\n  \"uid\": \"ownerUid\",\n  \"team\": [\"memberUid1\", \"memberUid2\"]\n}\n```\n\nUse this DSL to allow read for owner or team member, and allow write only for owner:\n\n```txt\nservice cloud.firestore {\n  match /databases/{database}/documents {\n    function isOwner(ownerUid) {\n      return auth != null && auth.uid == ownerUid;\n    }\n\n    function isTeamMember(teamUids) {\n      return auth != null && auth.uid in teamUids;\n    }\n\n    match /boards/{boardId} {\n      allow read: if isOwner(resourceData.uid) || isTeamMember(resourceData.team);\n      allow create, update, delete: if isOwner(resourceData.uid);\n    }\n  }\n}\n```\n\nTip: if you set owner uid at create time, prefer checking `requestData.uid` on create and `resourceData.uid` on update/delete.\n\n## Internal Collection Aliases\n\nThe client can use public collection names for server-managed collections.\nThe server maps these names to internal `_flare_*` collections automatically for reads, writes, queries, subscriptions, and rules-related lookups.\n\nPrefer the public names in SDK code:\n\n| Public name | Internal collection |\n| --- | --- |\n| `users` | `_flare_auth_users` |\n| `sessions` | `_flare_auth_sessions` |\n| `auth_fields` | `_flare_auth_fields` |\n| `email_links` | `_flare_email_links` |\n| `email_outbox` | `_flare_email_outbox` |\n| `email_verifications` | `_flare_email_verifications` |\n| `password_recoveries` | `_flare_password_recoveries` |\n| `push_tokens` | `_flare_push_tokens` |\n| `push_outbox` | `_flare_push_outbox` |\n| `index_suggestions` | `_flare_index_suggestions` |\n\nExample:\n\n```ts\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nconst me = await app.collection('users').doc('alice').get();\nconst activeSessions = await app.collection('sessions').where({ uid: 'alice' }).get();\nconst pushTokens = await app.collection('push_tokens').where({ uid: 'alice' }).get();\n\nconsole.log(me.data(), activeSessions.docs.length, pushTokens.docs.length);\n```\n\nEmails are sent only through app-level templates stored in `_flare_email_templates`.\n\nTemplate placeholders use `{key}` syntax and are replaced from `values`.\n\nIf template has `includeVerificationLink: true`, server generates a link in `_flare_email_links` and injects:\n\n- `{verificationLink}`\n- `{verifyUrl}`\n- `{verificationToken}`\n\n```ts\nconst app = connectApp({ endpoint: 'https://flare.zuzcdn.net', appId: 'my-app', apiKey: 'ak' });\n\nconst sendRes = await app.sendEmail({\n  to: 'alice@example.com',\n  tag: 'team_invite',\n  values: {\n    displayName: 'Alice',\n    inviterName: 'Bob',\n    teamName: 'Product',\n  },\n});\n\nconsole.log(sendRes.sent, sendRes.tag, sendRes.verifyUrl);\n\nconst verifyRes = await app.verifyEmailLink({\n  token: '<token-from-link>',\n  tag: 'team_invite',\n  email: 'alice@example.com',\n});\n\nconsole.log(verifyRes.verified, verifyRes.tag);\n```\n\n## Template Collection Example\n\nExample document in `_flare_email_templates`:\n\n```json\n{\n  \"tag\": \"team_invite\",\n  \"enabled\": true,\n  \"subject\": \"Hi {displayName}, you are invited to {teamName}\",\n  \"text\": \"Hello {displayName},\\n\\n{inviterName} invited you.\\n\\nOpen: {verificationLink}\",\n  \"html\": \"<p>Hello {displayName}</p><p>{inviterName} invited you.</p><p><a href=\\\"{verificationLink}\\\">Accept</a></p>\",\n  \"includeVerificationLink\": true,\n  \"verifyUrl\": \"https://app.example.com/accept?token=__TOKEN__&appId=__APP_ID__&tag=__TAG__\",\n  \"verificationTtlHours\": 72\n}\n```\n\n## Links\n\n- Server package: @zuzjs/flare-server\n- Documentation: https://flare.zuz.com.pk\n\n## License\n\nMIT\n","readmeFilename":"README.md"}