{"_id":"repond","_rev":"40-744ac075e6c5d71d4febc6eab665791d","name":"repond","dist-tags":{"latest":"1.2.6"},"versions":{"0.9.1":{"name":"repond","version":"0.9.1","keywords":["state","items","entities","react","listener","event","reaction","respond"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.9.1","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"5c2762ecb1d4158d917ec2da959231b3fbd60277","tarball":"https://registry.npmjs.org/repond/-/repond-0.9.1.tgz","fileCount":27,"integrity":"sha512-Go7J/qJnWBcEEm0SPuOQIsAOu8ErSzE9zyP12AhO/pQPqcxTuSglJLxV8rmgnvOdKMV/zXltXNVPBhps9xMqvw==","signatures":[{"sig":"MEUCID1xU18O520ddhaAVSAFh93mJitNlG+NeG+EWE00Izs4AiEA2CoRimlQVcal0mHLqvz6MlMQOE+lj9iIIeT5fCdX2eI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDPm2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+oA//VNarj54BGB0gGmp1cxnprjOw3H9j4EsmYz8PGbWMa0IgSBF3\r\nT66awK5NkBxmIGjmxfpe250X2fVWUV6VtbUDiKFIQaDGMKJlIrIdwbkuZ1rC\r\nmpF+/9F3V1Ym2j70pyIaxCyh6c6ugnMgvgT0LEvAZm15ow1CQfg8N5dJCURe\r\ntu2qXPYKWTmjSHh/5gZZG+RvPwyPdRr518xTp1VKRJzRISN0F7pvLGubD2Z3\r\nGCpXuIIKrxcDquN+IDqwhVjgX3LOHPMf52CjiOctrxsbdYk2sZC4JICcAujz\r\nQH61/aQU5lEXSDk3LqpxB5COYwCjL879en1xaXvPTutqrZDbC5D9/7tMZL78\r\nQdtojqXdMpBq6GgQz3yYlurGD1ib3AvGCYwxupExBGyYJg36iF8FILkbsb8g\r\nlP8FHP6LMuMY+s6hUvodbL5OOTx2b0yEbHhdx1IVopXk0u3b1HNZ1bJZW/zo\r\nh5ObJ7cd9gVzykmNSuGTHP5gC4kwaDMz31RYZe0THrJAfwQFEVQEMhtqslso\r\nYbQdy7F9DpGN7GpEfJxeQ70buf/h3naJcXYq8RSExpDuw/7gxnpIDPeaGSAs\r\n6770JNuXRtALidGsrGCuqMYpSI3aerLjJndh6zgo7jNMBTXgz0DBtutf8YWK\r\nLHwJGfRvm+T65m/3L6hqvXSq9EQiqtXj/Ok=\r\n=5lHy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e371b52af976f541920004e2e06e54739a3971cb","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"8.11.0","description":"realtime state management focused on items and reactions","directories":{},"_nodeVersion":"16.16.0","_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","chootils":"^0.3.8","typescript":"^4.6.2","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.9.1_1678571957893_0.7771676048133338","host":"s3://npm-registry-packages"}},"0.9.2":{"name":"repond","version":"0.9.2","keywords":["state","items","entities","react","listener","event","reaction","respond"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.9.2","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"1ca7b33b7f925dd9974c0b208f764958d844213d","tarball":"https://registry.npmjs.org/repond/-/repond-0.9.2.tgz","fileCount":27,"integrity":"sha512-57GNbTOFk/lZE9TYPXnpbMc7x/gUHzEYznOmFwwQMU9Ni6PiX4FpA5xhlLjYEXc8sV2T3tqgl3jGkWYEF3Q2mw==","signatures":[{"sig":"MEYCIQCHsDSxyK/kRr6fhRujDbMUvUGVZKPsVTs2/n1q7dBzcAIhAJKlH13OJjWOEcB6s2PbF7GAHPswW+vWh5/Gu2+MPvkx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":195937},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"aef8a439f63d04bab52611eae3dc31a60b05b399","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"8.11.0","description":"realtime state management focused on items and reactions","directories":{},"_nodeVersion":"16.16.0","_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","chootils":"^0.3.8","typescript":"^4.6.2","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.9.2_1691245249448_0.6826748004910883","host":"s3://npm-registry-packages"}},"0.9.3":{"name":"repond","version":"0.9.3","keywords":["state","items","entities","react","listener","event","reaction","respond"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.9.3","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"76c220952620de84304409ab33bcc17849ad597a","tarball":"https://registry.npmjs.org/repond/-/repond-0.9.3.tgz","fileCount":27,"integrity":"sha512-vqzRzqprDQHGxQQRcxQ+LsRg3pB48QjWfLR2Ry32cPe0spteX9werMAkg1kSOTtDp055xFYPmbi88NvqMuDGRg==","signatures":[{"sig":"MEYCIQCoEO9SqcKvlAUfPWT/QGlL4ih5cJJ82FL3bdLzBQ/qiwIhAPemc9VyqYhJNBo9VGXtBLtmF631b52Pjouh4xuNkffP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":196704},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7bb6095cbabca8637b718592db71044ea11620b4","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.1.0","description":"realtime state management focused on items and reactions","directories":{},"_nodeVersion":"20.9.0","_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","chootils":"^0.3.9","typescript":"^4.6.2","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.9.3_1700989241321_0.9123018028192478","host":"s3://npm-registry-packages"}},"0.10.0":{"name":"repond","version":"0.10.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"b51198cf10239f8e37885538da271d0d8ba1c216","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.0.tgz","fileCount":42,"integrity":"sha512-WIMSktF4mEArf5x5nvadT7zBeyWb2Bq1CV5x0vFR6ZFwaIuiUfp869KXHFs6cw9nu7OCzMrf9R2NEqoWmYKyZQ==","signatures":[{"sig":"MEUCIQDgfNINP5v9FZCMENUI+geIqhSR6IqRdDAXU4T+mnXyOwIgXOXIrHpbFqfeCJRCyR4EA/I637w/ilYaXAH0Yng7+Fw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305237},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"8348db9b6dbdb983cf8d55d71b7462c49d24c019","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.0_1701498212529_0.006695466407441675","host":"s3://npm-registry-packages"}},"0.10.1":{"name":"repond","version":"0.10.1","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.1","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"61fd9d5aa745f2b64d1f917f671262aa07a036ae","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.1.tgz","fileCount":42,"integrity":"sha512-yWfj354VEnfschF6Rm/+KbVEds7h6gl/HrKhlbDphQYC4TDGJx5TLMo86sSwzA3A8SFr2mKD90P5is8MFGtMug==","signatures":[{"sig":"MEQCIADZFZ7mJyO94jjYO69WBS9wYNAtPRxg/4WL132x2QcDAiBHLOYl4vofVm+ssOLxFnJipaVKh2n/Oa4Acva4n1nWqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":300778},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"52377a1995def7dcddcde17f80f285f3ada56a88","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.1_1701502005650_0.20791983366486444","host":"s3://npm-registry-packages"}},"0.10.2":{"name":"repond","version":"0.10.2","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.2","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"f1269229d6773b17a6f6fbc502b43ebfe88f8bd3","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.2.tgz","fileCount":42,"integrity":"sha512-bRrKIab6z3LUM18gLZ+5wODdQUyyexWEQOXs0+hk1FinAah/LWZj+CXHXA/O4elyYOPw71Ssak8QdZhdi+3Xiw==","signatures":[{"sig":"MEUCIQC8Q46EQoW9qHUwfBUxGKV7M+MPeKVch7P5bhbsoayLjAIgNVfcxr/TCX6gzVgbLnAqtsfF0hw0AAfV94zIubbZfkU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":300778},"main":"dist/index.js","types":"src/index.tsx","gitHead":"101c7fcf0d400573c4d3c93b5667d9c5cf5c54b5","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.2_1701504214894_0.7237470849303993","host":"s3://npm-registry-packages"}},"0.10.3":{"name":"repond","version":"0.10.3","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.3","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"f98b623b89e4ec89ddc37cd9c7d1bca2f66a9036","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.3.tgz","fileCount":42,"integrity":"sha512-7KM5Ln3HxXbGFftcBAlhyYgvRQi+bXqmMi3X6g/YZxeF0Zzbq4XQIZjot7qTcapa201ozrrf7CfFkEd4IELZAg==","signatures":[{"sig":"MEQCID2EajXh447y1ha5wh48jaVKJPJlaPN6KLALIHv660F0AiASR/7OaGnCPulrIvrAB73tz+1ax+Q04ecK9VcSbT+vaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":300777},"main":"src/index.ts","types":"src/index.tsx","gitHead":"961c2ffc5f711625c032efd2912abdccba7cb6ec","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.3_1702105096679_0.41257681556993764","host":"s3://npm-registry-packages"}},"0.10.4":{"name":"repond","version":"0.10.4","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.4","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"2767b7566bb2e9f072c83b7a8e0eec6861fd750a","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.4.tgz","fileCount":42,"integrity":"sha512-HJaTw3CxG6ahbwnB5Ei+l+ryG0mMGl/76nPdGKpJ86t3j0tvl4zVrMEEG3cS0NpeYXCsMichhUOL/mDIPRXYnQ==","signatures":[{"sig":"MEUCIQCUnYAq9TFtHMqJDBkJjN1Ym8X+xHkk53+7Gc3WiQfbMAIgcwpybZZJ2fmPfTHqxzUBKg2T1RHiaLnmfVHJ7PzXxMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":300778},"main":"dist/index.js","types":"src/index.tsx","gitHead":"2aa0938fda1d1d3b9e39c598f6f8f4273e5cea86","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.4_1702110646313_0.564592267674664","host":"s3://npm-registry-packages"}},"0.10.5":{"name":"repond","version":"0.10.5","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.5","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"3784a214e89a3132c3cbb0153b658efa8d79d8e1","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.5.tgz","fileCount":42,"integrity":"sha512-/j3VE9hOv7cusSvIz0hXTlqVXKbjvKsBa2rPV4w7r0KpyvIQnsYCvEMywdgideIzgjOm8MEu3Svac3vWGWkwvg==","signatures":[{"sig":"MEUCIQDUTcKnh9QWBbGU03VR3ZAu1zWgcoMFQhGZWI1kK2E+5wIgeZDX4HTV8gMkvNgD+2hNJDcs8XHRNfDyMdHF84T59lg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":300938},"main":"dist/index.js","types":"src/index.tsx","gitHead":"0ad1db24ef86e1b12274f72a269ee7a3ddec7c4e","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.5_1702178203354_0.32821801894847313","host":"s3://npm-registry-packages"}},"0.10.6":{"name":"repond","version":"0.10.6","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.6","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"cad2a4b0fd11d9f0e427e0ddf404d2888467e1e4","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.6.tgz","fileCount":42,"integrity":"sha512-15e8q6d4stxWFg6hdTAVncRtVye6ZdShu/d5ys4M7Daj0GMYZZw/gbxic9aCVZ0arTZoB4NHh5pISlhRg5e1hA==","signatures":[{"sig":"MEUCIQD1j77+K6O4Ab/1V4gwprGgwIwyQzYGgjXu1ZNzxmw3YAIgFqlLvYjD5eorMnzb/GBUCMRsSAl/GGvSB0fj0z96V8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":300993},"main":"dist/index.js","types":"src/index.tsx","gitHead":"7da871c4329d6558dc1f82f16b06243d37665c48","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.6_1702182813198_0.7263054947611354","host":"s3://npm-registry-packages"}},"0.10.7":{"name":"repond","version":"0.10.7","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.7","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"d5324daef2aa78e6f815097bccbfaf9c7e390b16","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.7.tgz","fileCount":42,"integrity":"sha512-GTiR43PvoQlpwBnowi9bUUYJ0iu0Xby5sth1utPhHhzJ+lDjdaaYmRd9zbaLEp/FyNHM+KLOG6nP4qH7+l9GqQ==","signatures":[{"sig":"MEYCIQD2CujY3QDmIqVV1rcNQeoL+kk5p7HJnaasJqCT2ZUItQIhAOvYBoAceYDmSQBIWOgT8C0uvUHj8BNDiJKtoB1Yc0D9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":301337},"main":"dist/index.js","types":"src/index.tsx","gitHead":"2a93c5e5b1d9a99567261b306c5a26091b037e47","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.7_1702183565130_0.5925373199865827","host":"s3://npm-registry-packages"}},"0.10.8":{"name":"repond","version":"0.10.8","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.8","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"e23af7c357a47ed03766ec5dab151c0b9f150629","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.8.tgz","fileCount":42,"integrity":"sha512-dzxhQ8n4ZCH4ENJX1uY5dRubHUfQ5Nq0pwd6FmxQoDp6H5loCk6DeFcYYQl0mCOq3+MAK+0e+YKCQYoluPDvbQ==","signatures":[{"sig":"MEYCIQDd9aAdWZJpngwcnVb2ii2PyR29cc9QbvYSbm7VUY2DAQIhAN3G5S10XXkKW7xgV++IA7kRQgb2jBnxMcRlDnZfPFTY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":302285},"main":"dist/index.js","types":"src/index.tsx","gitHead":"88b0afa747809e95a7693b48ef9f144c88db4fec","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.8_1702551190264_0.6492358581901922","host":"s3://npm-registry-packages"}},"0.10.9":{"name":"repond","version":"0.10.9","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.10.9","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"17565a10d79a561f2d88562302a1098b1e41bca1","tarball":"https://registry.npmjs.org/repond/-/repond-0.10.9.tgz","fileCount":42,"integrity":"sha512-whW2gI6r5k81CGmNTQxlvM9BF7NPsR5fZacqxUS5uw4Oq3/CNX7oRkmuyAB1axWNzat8DpRsPscSSxP0bsjhsg==","signatures":[{"sig":"MEYCIQCpa+2ZCFuONak/cXHKNAWoqoys6pcDLkDiS9UYVD4iTAIhAPQDfzKc0AtlPdw+Hy/9A/OZmhPkDgWtXBz0ky6X8+7D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":302894},"main":"dist/index.js","types":"src/index.tsx","gitHead":"8cb4a4003faecc5dea250f239b0c84e19f097909","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.10.9_1708249682579_0.07911695206972391","host":"s3://npm-registry-packages"}},"0.11.1":{"name":"repond","version":"0.11.1","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.11.1","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"0de9d4ed406efc2a54cd078b32ce1117ee123f57","tarball":"https://registry.npmjs.org/repond/-/repond-0.11.1.tgz","fileCount":42,"integrity":"sha512-nW0AuxxuCk1B10MHKs2ciIqA8ZEsJoLqEQMsmEx+9GCgkexf+CraANNj2P+7N4HZfalLoySDj7x3fL2HwcKfHg==","signatures":[{"sig":"MEUCIGVDnejz5A2Fd10fIaFxUmAe/it8EoVpZAzgYfNz9EmgAiEAsLLwq2zVkfY5dAWg6z0KnvN6ceV59ZxPPkolIa83K44=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":306436},"main":"dist/index.js","types":"src/index.tsx","gitHead":"f217278e8b3a736d43c6d4e62068c540987f665e","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.11.1_1708763017318_0.651196256782069","host":"s3://npm-registry-packages"}},"0.11.2":{"name":"repond","version":"0.11.2","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.11.2","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"464dc612a54dbaed26f7146d08a3657987528ce4","tarball":"https://registry.npmjs.org/repond/-/repond-0.11.2.tgz","fileCount":42,"integrity":"sha512-+yY890AvA/8zOtRC4gMQkx0CxKc15GDEeUInEKLnt3n9ya2Az+4KTcvXbwIDY9E7xrLtNl37X06GCi3sI8tzkA==","signatures":[{"sig":"MEYCIQD30dG6hRow2SraW6Gz2JCI9YkqhlY84wAuI5uJNGvppAIhAObSttJEkhaJ+29My+Ev4TnO+6c1NHD4vauH+G9Pg0jI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308013},"main":"dist/index.js","types":"src/index.tsx","gitHead":"dc05a1d5d775b5239a9c3bed7cc2fab34c5dfcc4","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"// scripts":{"build":"npx tsc","prepare":"npm run build"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.11.2_1708896413292_0.20085016067138772","host":"s3://npm-registry-packages"}},"0.12.0":{"name":"repond","version":"0.12.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.12.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"9ff5509ecc8cd45848b11d798c22aab781566906","tarball":"https://registry.npmjs.org/repond/-/repond-0.12.0.tgz","fileCount":62,"integrity":"sha512-m+wJz9kxwfkTgCBgjfJvMvZ2QTaxeONbb27d+C6L9PAmvMyt9VKbE0emzABoZaeMmVnDjKIojuHpVpbhuL/N/Q==","signatures":[{"sig":"MEYCIQC7cvQIyESIsAwk7+QQ6zxlF3aI4jU3Voz26+tx+ryKFQIhALYGnT76auAILsGxIGrjn44ZO52VK72GrDMvHPIAwBQI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":369942},"main":"dist/index.js","types":"src/index.ts","gitHead":"6afbdb332f435b54cc46ec6853f0418b01de81f2","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.12.0_1709716939436_0.6148647316238092","host":"s3://npm-registry-packages"}},"0.13.0":{"name":"repond","version":"0.13.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.13.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"9249bf392db7a4c8c791433896e59a7066eba5ef","tarball":"https://registry.npmjs.org/repond/-/repond-0.13.0.tgz","fileCount":64,"integrity":"sha512-YmO/qilGT+KUUiuD9DvzlCN7PFtdhaXZN240Q2UNGhQHaMSaiSsTFwo1mJZa2j3oPO3QnN+TS4crz5rH4/s4nA==","signatures":[{"sig":"MEUCIQCMOVaT4DJ43XVIcAKmuggWwl5NIx6QVWtw54KOe16HkAIgYKwloy7ClB2kA8qp22ZROnXHkNXcGFmHx5xtMNVjFZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":343690},"main":"dist/index.js","types":"src/index.ts","gitHead":"457fe21e3fb8d1035ebd15052e5c8dee6265c559","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.13.0_1709958914158_0.05789379776286108","host":"s3://npm-registry-packages"}},"0.14.0":{"name":"repond","version":"0.14.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.14.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"3a9313423d9b74f292afe80475af71d38a284c34","tarball":"https://registry.npmjs.org/repond/-/repond-0.14.0.tgz","fileCount":85,"integrity":"sha512-yD7mU2yTab2KD3X1Ts8XcMhJJMhSyuXqyhYnQKJ34zcobR5iU5jrzL9V0fUZe6sa5XgU8djIu/lPmdcUi6N6bw==","signatures":[{"sig":"MEQCIGopp3Lurau5CyeVwxgIkqI/fe9LmpcNi6tnbDF/VN91AiAiATchP7n9pmWiCDwYAmt/hh7KEzLJ/USBBG3fvP65gw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396258},"main":"dist/index.js","types":"src/index.ts","gitHead":"b6773b4cdc87906fd3fe7a7deca26691f507e954","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.14.0_1710399648030_0.570618674222308","host":"s3://npm-registry-packages"}},"0.14.1":{"name":"repond","version":"0.14.1","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.14.1","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"6d2b7a96c7734f9b06d2b47103ae70f5d00f3081","tarball":"https://registry.npmjs.org/repond/-/repond-0.14.1.tgz","fileCount":85,"integrity":"sha512-evyCryAsZ0JLEPZ8RrosqVd8dXIdr4Hv+TwIWmq1cNGjjVPFcnb7MAAC59vFm3q5onf5e0kdHezasSmH8jY7ig==","signatures":[{"sig":"MEUCIQD9uWR3tVNJVWkh67QN/fgwtPFseA2XixOBL/wtPS1kWAIgOl77ZfNz5nSxCnL/jlKZTkWMjQtFDgrBESyYhy9yrKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396706},"main":"dist/index.js","types":"src/index.ts","gitHead":"425100872bb074fdfa5acb6769d1f80daa635054","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.14.1_1710450647269_0.9557882340382489","host":"s3://npm-registry-packages"}},"0.14.2":{"name":"repond","version":"0.14.2","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.14.2","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"9a2574fdf60cf093e9c2d7b95f12686ff78d8811","tarball":"https://registry.npmjs.org/repond/-/repond-0.14.2.tgz","fileCount":85,"integrity":"sha512-PUV88APyluz3vQKuY9O+/QCOn6IhCH6sQQDPvK//tJsy4jlb2CWNWFcPENn+CdQvEH2mse7tcKqiMbJ+7/HUEg==","signatures":[{"sig":"MEUCICd4Ue0QFPFHOUNwtN3yrJkFKtNU9YMEQ/N/dagKV9xGAiEApA1VXkJpc7nLZBu9SPfKqI6Z3alFPw4cL0AYSYuGCDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396838},"main":"dist/index.js","types":"src/index.ts","gitHead":"5656349052fe18a48c6d4331cebc88ef75a1d0f4","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.14.2_1710451400640_0.004853128656698846","host":"s3://npm-registry-packages"}},"0.14.3":{"name":"repond","version":"0.14.3","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.14.3","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"4ff6e35af29622d9d1862c9036342830b4bb5fa5","tarball":"https://registry.npmjs.org/repond/-/repond-0.14.3.tgz","fileCount":69,"integrity":"sha512-SphdjXT3Jdw8F6IlldkeXKdC8I/rMPWPF28WFt0RiFXKB1zPse857GSkYJTU+MBwgM6LiLAM113K5U/qemuvfQ==","signatures":[{"sig":"MEUCIF6jDRMN2tH3BuqhIFk4A91Gw7yBlQDhIaMWvKid86YeAiEAyijidBYx2Jja1wAYvJpvI654Mjfluv4CCT44bpDh3Ow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":248666},"main":"dist/index.js","types":"src/index.ts","gitHead":"524d4ee2b410a63756aea48cf2196b4b952f5a65","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.14.3_1710456443773_0.19077009536010903","host":"s3://npm-registry-packages"}},"0.15.0":{"name":"repond","version":"0.15.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.15.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"be909b82b724ec8c7c9dd3d36816b017a8069105","tarball":"https://registry.npmjs.org/repond/-/repond-0.15.0.tgz","fileCount":69,"integrity":"sha512-6OzvbaxcPZiLZU7bXO3IfS9db1WAzr/yDnldL8UVrGpA41CiZWJNIFpVIwHhteUgiyjevTSGx/BdIc/6ChtwJg==","signatures":[{"sig":"MEYCIQCriGdYPiPt6LSm2aZC968y64zQN3GBsimJm0gD+u9ATQIhANHyTw00Cji4MUcr/UT6yYcjdq3Dt3ZJCTeIHhM3IZak","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":253901},"main":"dist/index.js","types":"src/index.ts","gitHead":"f7b85ff86eda5cc95bc2c593e151b6e04714db67","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.15.0_1712310427284_0.4832673393286244","host":"s3://npm-registry-packages"}},"0.15.1":{"name":"repond","version":"0.15.1","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.15.1","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"390060bd83ca3a1d302a4ea3de1ed083b0d45226","tarball":"https://registry.npmjs.org/repond/-/repond-0.15.1.tgz","fileCount":69,"integrity":"sha512-0vyx6cyf24wuzCrlBr4AarsYXTcmjPUxifv/PqBzY0AGYN5G/5Ryuy5rU9FEa21K84lLXN7HWsK2DpzAtDYDRQ==","signatures":[{"sig":"MEYCIQCa5tajd8gZm8ECpiJcNu31c+INQCASlfbL5UJD0drHgAIhAKqmKXtO2FkPwlS1aPx2BCbw7PCT0hNSWsjNu8QvZf5g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":254098},"main":"dist/index.js","types":"src/index.ts","gitHead":"7212d41e3c112a2073fcfe7210b05d21bd74df77","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.15.1_1712322422502_0.24735387046979018","host":"s3://npm-registry-packages"}},"0.16.0":{"name":"repond","version":"0.16.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.16.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"92fefd6223d2a01b7a3bc7b15fbeb70ec804455d","tarball":"https://registry.npmjs.org/repond/-/repond-0.16.0.tgz","fileCount":69,"integrity":"sha512-4BasisAAeCMvNNY8N/SW0eSNRMHzvUUv4woEXVx+X+KCvj0KtFFH/5xTlqfHBpURCa+JzfgDqE1pG0sFsqfM5w==","signatures":[{"sig":"MEUCIAhHQ0I9RQu89ob+3pOSPHXkfcUjMrVWl1KdMTznR3OVAiEA4/wSGiOeHXYWYba96VG2kTKmHYVKSiMqWkgH0SHVUHQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255252},"main":"dist/index.js","types":"src/index.ts","gitHead":"1304e14b663f3de4208f70f666acceca2160cc84","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.16.0_1713687173396_0.25484517283244457","host":"s3://npm-registry-packages"}},"0.17.0":{"name":"repond","version":"0.17.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.17.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"0f1c0d1870396407d9b657e7454da0217feda442","tarball":"https://registry.npmjs.org/repond/-/repond-0.17.0.tgz","fileCount":69,"integrity":"sha512-i/+L3CxteHm67Og/q3oiaKWDXFpvuApTEWJpLgSDEWi5/bOG40oPFMfvjsXpnEtKjSVL/8k/9WDtbpRJakrJsA==","signatures":[{"sig":"MEYCIQCi8qyaFG2ES91GTdJ+VsGqBbNlGokInkrgsMwX1A9moQIhAM2168+DUIdE6RbaBlxzduC6ZfE2haOX/DQ10IlCPXrP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":258117},"main":"dist/index.js","types":"src/index.ts","gitHead":"f842a3a94614b629a726621afedeaa5532b790c0","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.17.0_1713792677554_0.46273234711032596","host":"s3://npm-registry-packages"}},"0.17.1":{"name":"repond","version":"0.17.1","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.17.1","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"c61ccff2f00757239b3e112bf9f2cfe881e36d61","tarball":"https://registry.npmjs.org/repond/-/repond-0.17.1.tgz","fileCount":69,"integrity":"sha512-+8q9hGgbWFUeAdATMzSHaclMPEgVlxwwCHtyRPAJBUK7nHKtul/7Cedem35HlXHExECv3G1v1yeNmaKXAs0tTA==","signatures":[{"sig":"MEUCIQDHw4qraIF85Tqwwqi2Xz7EkV4MJ/OqnT7psJ+WFDoiQwIgNYh8k9hERsPt3aJFxNdzvpvxVaBETb9LLkTEQTblMlc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":258181},"main":"dist/index.js","types":"src/index.ts","gitHead":"70459712d5409a5ddc6daeae081e9e4cce1f1ddd","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.17.1_1713826054483_0.5325594408642125","host":"s3://npm-registry-packages"}},"0.17.2":{"name":"repond","version":"0.17.2","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.17.2","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"cabe81ce7062e5f4257330730d494f43adc52ea9","tarball":"https://registry.npmjs.org/repond/-/repond-0.17.2.tgz","fileCount":69,"integrity":"sha512-5V4pyj0rgrfyfsROzQrn1HOJa/l/Ks93FxMl/zIhD3Dlxs2jgzRD72vYLmnXKBnmdfRYTnV/s3+Dtu3/HvRKJw==","signatures":[{"sig":"MEUCIQCzf3eA2UjwPenHMcxD1Ol4MP5YVcIdkYQpB5WbfM6lwgIgTXBjQ82ZeHzQigyLm9cLk1tLUBhvoUl2TzLe+mvKujs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":259904},"main":"dist/index.js","types":"src/index.ts","gitHead":"eb2293070e668e636883e390a95e6ad8b3e3c973","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.17.2_1714144920458_0.7195190758840253","host":"s3://npm-registry-packages"}},"0.17.3":{"name":"repond","version":"0.17.3","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.17.3","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"b6f9bc1bdfe591d1de91fa9a7c7df630f028526f","tarball":"https://registry.npmjs.org/repond/-/repond-0.17.3.tgz","fileCount":69,"integrity":"sha512-uHUils+NHw/JNrtd7bgLEyxNdccnD55DTI9nqH9Rrs3Sylh5Nzatuh7PnvSVaXPZimtCKwqGH0s5b0xeLi319w==","signatures":[{"sig":"MEYCIQCz47/PQcSp8wEhzKDaQocGwzRBh88UK1Idm1WxAfzsjwIhANQyMfx8K+KlWWBZZEOeD7heZT4+c8+6Cod1J33mFTJ9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":261070},"main":"dist/index.js","types":"src/index.ts","gitHead":"e2400d1b24ee2ab7359d9d014bf4aa83cfb2e8ad","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.17.3_1714811577565_0.4654816135624531","host":"s3://npm-registry-packages"}},"0.17.4":{"name":"repond","version":"0.17.4","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.17.4","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"4f59bbc8c4382ef44bd83789cc83914b7918a051","tarball":"https://registry.npmjs.org/repond/-/repond-0.17.4.tgz","fileCount":69,"integrity":"sha512-VxCS0uC755klw9PsEyTV4DSKDtgAOzcj4GRc5Ty2IgfccNM35aR4Jm6zxxXxZOWsbP6Y+mmLiFjAIunyOAGoxg==","signatures":[{"sig":"MEYCIQDreHi8UlznHXjNYt/XY0jzIui53kc+zZPR9Hx9shgoEgIhAO2XISz3pXp1VbQNhi/ksV7YEQwXesGkLaxt54GV8YXd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":260949},"main":"dist/index.js","types":"src/index.ts","gitHead":"d33d0e9e370761008cd4eeb8829cbc2cc5daa4ac","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.2.4","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.17.4_1715080452880_0.7279353079876949","host":"s3://npm-registry-packages"}},"0.17.5":{"name":"repond","version":"0.17.5","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@0.17.5","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"994ef0412d7c97c5d2d635942832e3bce2371253","tarball":"https://registry.npmjs.org/repond/-/repond-0.17.5.tgz","fileCount":69,"integrity":"sha512-ZGbmkVVeAuPP5t6o51siwW2ipZkrSlK+NQVd6JNgnxSElAW2VgK1UoWg2qW3pYRVPEK5EDodIaFTGHn1N5Bqgg==","signatures":[{"sig":"MEYCIQDraq/K6u3pYGVYSvrTEnxyoA8prL5tZ7gO/71kfOHv0wIhAL6jMPrMxWQOlIu0IGwY6BG0fECrdjE0OU6kr+XG3Jbu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":260388},"main":"dist/index.js","types":"src/index.ts","gitHead":"321f24f7cab80f1b989e49fe8d57bf1a8f508e98","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_0.17.5_1726574447039_0.627035104643445","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"repond","version":"1.0.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@1.0.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"8d5f5f45a968b010fd38474dfc155f16772bb953","tarball":"https://registry.npmjs.org/repond/-/repond-1.0.0.tgz","fileCount":57,"integrity":"sha512-fp8oXgBOf+fsc2j92zdrv4PgADjydb6wBvg1mcUWkKuSwwu83sPi4Rkln0UIU6MYRnmnd6U9a1w23NgKgLmb6w==","signatures":[{"sig":"MEYCIQCCCaVkxYzQmJS8oGW7eOWCK7vgbL1G+N454tvva8RvSAIhALzIESEtzq9NnUBp3yYjUZbgC1fctNnAZBZ6gEEtL3Do","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229910},"main":"dist/index.js","types":"src/index.ts","gitHead":"8b4addafdf23034bfe8bce0ce2572ce09aa1976e","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_1.0.0_1739039419763_0.22363858281574767","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"repond","version":"1.0.1","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@1.0.1","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"47785d83bf951e270dcf7ac5175c22a7e80bed50","tarball":"https://registry.npmjs.org/repond/-/repond-1.0.1.tgz","fileCount":57,"integrity":"sha512-LGLieJm1GpiJG4o5kP2zHsDr3xjdq8hnaaQh+B00TyHh57rLJo0MirIETU9HLeDjHlPuPaBVvWFPOS8+kSLyaA==","signatures":[{"sig":"MEQCIEyd4vwmT+d7Bq/QPxZ2zSmvnW3ccYp7rv9cJKKZ1sMLAiAPmmAYO2aywK+pj8PM2Jrp6yQT6aN4XxPvX6/aifFaBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229928},"main":"dist/index.js","types":"src/index.ts","gitHead":"b23a5cc270c2dc9cabd9589609b886e7eafe16f0","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_1.0.1_1739040062800_0.016937953023503205","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"repond","version":"1.1.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@1.1.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"9456ea74da9b6abe2d4441e18e2af722808096d0","tarball":"https://registry.npmjs.org/repond/-/repond-1.1.0.tgz","fileCount":57,"integrity":"sha512-CuTHYybtaeeAkLGjiW0JinEhtGEHQE1Ww9u37XUpvrIypWt3PiEo5ntvwkpZXy+ig3PbUH3lB/Oy0PPuX4yPGQ==","signatures":[{"sig":"MEQCIBy9VeEBohGn67zuPySD6bVLhqfvN3pubiFsTOcgGYuwAiBa3AEe5wKsmol9YoUTx5FLgjJIL6glrfAOe9BZ4JmyaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237831},"main":"dist/index.js","types":"src/index.ts","gitHead":"2fe96248521a3a449d9548d715c839f74a000060","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_1.1.0_1740480073204_0.13397777499493135","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"repond","version":"1.2.0","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@1.2.0","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"df1e6e78b0c5eedd62629020f2f18d29bdb0b7e8","tarball":"https://registry.npmjs.org/repond/-/repond-1.2.0.tgz","fileCount":57,"integrity":"sha512-h/gLvYFjzuBl6Zy8Moh8F8qgDxeNWm8/7j0fzdmiCQd1BQfnitmsC3IB1Stzl8ye4aIOx24kN7RFLe/fLzx1kQ==","signatures":[{"sig":"MEYCIQCWBLWR6ARRpphhqiU3o7r3x8dePaQGgcBVQyeWHh8VBQIhAJ0XZjq3AljB4EYBeJwrhad4N74EdBHhKnAe4IZth9Wj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":248906},"main":"dist/index.js","types":"src/index.ts","gitHead":"4a04dbc90ee612b046793122412d8b2613c15ce6","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_1.2.0_1740649243583_0.4229453257605442","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"repond","version":"1.2.1","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@1.2.1","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"8908edbe100ab16cdc47308c6360d50efe4d49e4","tarball":"https://registry.npmjs.org/repond/-/repond-1.2.1.tgz","fileCount":57,"integrity":"sha512-FJCjiXj6WSizf0X7kKMn1DOTq7uuRK2VEblDwNWGMinTNHz7spePr0ExpWxxuHGyrc4yBuHSkY28ZAhHNoegnQ==","signatures":[{"sig":"MEUCIGgQ2PZn5+pJOD1WYMBSr84bf1msqQRkZdFhvkq8YmHTAiEAz+R6obiuOjIcDh9satm7uzc2rR0xGbfjzpFFxIKJmXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251982},"main":"dist/index.js","types":"src/index.ts","gitHead":"32564ca31deeeb1489affac6fac0e4619bc66295","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_1.2.1_1740852280935_0.0326319009217555","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"repond","version":"1.2.2","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@1.2.2","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"095fc721123221948ef63aa1df83c613ecc0c327","tarball":"https://registry.npmjs.org/repond/-/repond-1.2.2.tgz","fileCount":57,"integrity":"sha512-BJ5aT8bnrtQOeWdImIzSrIN8C8cy+0ZO4a8/WHiSGZ5M/jO3FDGJGWD8wHj/uUagaRAIBBv2e8YpdJfRtI8o4A==","signatures":[{"sig":"MEUCIQDn3JVXahs3xbK+x9WX1EKaNqcuXg6W99H1S0IHde4o6wIgDlNSdKhOs0tRBsnmOsEfWa6WcU4IBgaO4fDFFN6t6iU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252991},"main":"dist/index.js","types":"src/index.ts","gitHead":"8f97ad169ade011077d6eed840113aeb8ce97efe","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_1.2.2_1740856904638_0.9097980174258664","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"repond","version":"1.2.3","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@1.2.3","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"3e2db0ac1556e196b0f3eb448a6f06c1939a70e5","tarball":"https://registry.npmjs.org/repond/-/repond-1.2.3.tgz","fileCount":57,"integrity":"sha512-NSFcTKJKIsJrbcPipOYIb2Pp/BJ+HLTJxS+tIJhSA5nxfcbhXKmMhlzocXgVUqMnVx5yiEaPL4Fc+7ITSuq3yA==","signatures":[{"sig":"MEYCIQCgYqvHadNW6an0carqVkewiobbspNfhBGHxGkTNg/pegIhAMWudtayZ2n83Msd8TNCfXUavpKp4NT8DVG7Y99FYRRV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253157},"main":"dist/index.js","types":"src/index.ts","gitHead":"1a354b24a368928a3c4b6faf8d92892842de63fa","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_1.2.3_1740885078252_0.9114962201716141","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"repond","version":"1.2.4","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@1.2.4","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"3642c554762deb1163ad880fd5e8d32165625860","tarball":"https://registry.npmjs.org/repond/-/repond-1.2.4.tgz","fileCount":57,"integrity":"sha512-BBHLbtMV82/fGKqFXj+C7XUBM6BHqU/755kl4eF9sJEdDJ8ULDm2vhOQmNxuLFCkjEL0aGvVMBDqOXe1MPNWRQ==","signatures":[{"sig":"MEQCIFULAqS+0PlRftnBN3CkxVmnlTuXU6MRAqtgx4ZWjxrcAiAgcSlliVMA9ErAcEYC+RKtcRrj1dxK2XWosQz1ibHI5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251866},"main":"dist/index.js","types":"src/index.ts","gitHead":"7c608ff49e583b960608c50e62bf8d6a4e1283fc","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_1.2.4_1740896038851_0.1398490574893856","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"repond","version":"1.2.5","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","_id":"repond@1.2.5","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"homepage":"https://github.com/HugoMcPhee/repond#readme","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"dist":{"shasum":"dca337fadaf847a7b9f25116f835f905f6a57166","tarball":"https://registry.npmjs.org/repond/-/repond-1.2.5.tgz","fileCount":57,"integrity":"sha512-YcIvfY56uZOpv6eLCiofEsdZRj6QTTl9yCfJ60in0lyb6cj8fVqkM1j72kZWIItMXrzxxJcPODQUN7FAWCyfuA==","signatures":[{"sig":"MEYCIQCD3H2IwwYBFOsfq6hQb6+F4iZUelP3cr8vEYvlvkDALAIhAI3eHHqHPuEUGq1og0IyeStsCOlzszHEJp8bFyRbC3WS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251886},"main":"dist/index.js","types":"src/index.ts","gitHead":"dfdd7268405891c94d9d08c5a17c12995e1e569c","scripts":{"build":"npx tsc"},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"prettier":{"printWidth":120},"repository":{"url":"git+https://github.com/HugoMcPhee/repond.git","type":"git"},"_npmVersion":"10.8.2","description":"respond to items state in realtime","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","chootils":"^0.3.9","typescript":"^5.1.6","@types/react":"^17.0.42"},"_npmOperationalInternal":{"tmp":"tmp/repond_1.2.5_1740901256271_0.6566134874419562","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"repond","version":"1.2.6","description":"respond to items state in realtime","main":"dist/index.js","types":"src/index.ts","scripts":{"build":"npx tsc"},"repository":{"type":"git","url":"git+https://github.com/HugoMcPhee/repond.git"},"keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"author":{"name":"Hugo McPhee"},"license":"MIT","devDependencies":{"@types/react":"^17.0.42","react":"^18.2.0","typescript":"^5.1.6","chootils":"^0.3.9"},"prettier":{"printWidth":120},"gitHead":"dbd34de2188d93eda5b6c40a90aa71cc3bad502a","_id":"repond@1.2.6","bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"homepage":"https://github.com/HugoMcPhee/repond#readme","_nodeVersion":"22.20.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-lqTLoCmmSpRASjUCIabrnYgEY1A5VZUMSGB58bBfuRciFY0UwcBNMvKYcZIr9zYmSuUrmMzWh6YtxxGPMFtBrQ==","shasum":"a57b6d05b326019fc9a54a2909196c0396314d6c","tarball":"https://registry.npmjs.org/repond/-/repond-1.2.6.tgz","fileCount":60,"unpackedSize":308388,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDyMwauiUTCmQDjRRXdVs+91WScT3si/n901lx5JEmuxwIgVB0PMFDGdICLwsAS1DWXT1TRY7eGpfO8eS28uaksx58="}]},"_npmUser":{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"},"directories":{},"maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/repond_1.2.6_1761037778113_0.9458759526073541"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-11T21:59:17.892Z","modified":"2025-10-21T09:09:38.471Z","0.9.1":"2023-03-11T21:59:18.045Z","0.9.2":"2023-08-05T14:20:49.656Z","0.9.3":"2023-11-26T09:00:41.591Z","0.10.0":"2023-12-02T06:23:32.761Z","0.10.1":"2023-12-02T07:26:45.915Z","0.10.2":"2023-12-02T08:03:35.129Z","0.10.3":"2023-12-09T06:58:16.981Z","0.10.4":"2023-12-09T08:30:46.545Z","0.10.5":"2023-12-10T03:16:43.533Z","0.10.6":"2023-12-10T04:33:33.400Z","0.10.7":"2023-12-10T04:46:05.348Z","0.10.8":"2023-12-14T10:53:10.527Z","0.10.9":"2024-02-18T09:48:02.772Z","0.11.1":"2024-02-24T08:23:37.480Z","0.11.2":"2024-02-25T21:26:53.438Z","0.12.0":"2024-03-06T09:22:19.612Z","0.13.0":"2024-03-09T04:35:14.367Z","0.14.0":"2024-03-14T07:00:48.212Z","0.14.1":"2024-03-14T21:10:47.457Z","0.14.2":"2024-03-14T21:23:20.858Z","0.14.3":"2024-03-14T22:47:24.004Z","0.15.0":"2024-04-05T09:47:07.464Z","0.15.1":"2024-04-05T13:07:02.752Z","0.16.0":"2024-04-21T08:12:53.610Z","0.17.0":"2024-04-22T13:31:17.793Z","0.17.1":"2024-04-22T22:47:34.626Z","0.17.2":"2024-04-26T15:22:00.623Z","0.17.3":"2024-05-04T08:32:57.722Z","0.17.4":"2024-05-07T11:14:13.069Z","0.17.5":"2024-09-17T12:00:47.287Z","1.0.0":"2025-02-08T18:30:19.929Z","1.0.1":"2025-02-08T18:41:03.014Z","1.1.0":"2025-02-25T10:41:13.371Z","1.2.0":"2025-02-27T09:40:43.774Z","1.2.1":"2025-03-01T18:04:41.220Z","1.2.2":"2025-03-01T19:21:44.841Z","1.2.3":"2025-03-02T03:11:18.465Z","1.2.4":"2025-03-02T06:13:59.150Z","1.2.5":"2025-03-02T07:40:56.470Z","1.2.6":"2025-10-21T09:09:38.297Z"},"bugs":{"url":"https://github.com/HugoMcPhee/repond/issues"},"author":{"name":"Hugo McPhee"},"license":"MIT","homepage":"https://github.com/HugoMcPhee/repond#readme","keywords":["state","items","entities","react","listener","event","reaction","respond","redux","zustand"],"repository":{"type":"git","url":"git+https://github.com/HugoMcPhee/repond.git"},"description":"respond to items state in realtime","maintainers":[{"name":"hugomcphee","email":"hugo.mcphee.public@gmail.com"}],"readme":"# Repond\n\n**High-performance, entity-optimized state management with declarative reactive effects**\n\nRespond fast to item states - built for real-time applications with hundreds or thousands of entities.\n\n[![npm version](https://img.shields.io/npm/v/repond.svg)](https://www.npmjs.com/package/repond)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n---\n\n## Why Repond?\n\nRepond solves a specific problem: **managing state for entity-heavy applications** where you need:\n\n- **Real-time performance** without Redux's spread overhead\n- **Built-in entity handling** without custom Zustand patterns\n- **Declarative effects** that automatically respond to state changes\n- **Scales independently of total item count** (only processes what changed)\n- **Type-safe state access** without importing stores\n\n**Perfect for:**\n- Drag & drop systems with animated positions\n- 3D games with characters, items, and levels\n- Real-time dashboards with many entities\n- Event-driven architectures\n\n---\n\n## Quick Start\n\n### Installation\n\n```bash\nnpm install repond\n```\n\n### Basic Example\n\n```typescript\nimport { initRepond, addItem, setState, getState, makeEffects, initEffectGroups, startEffectsGroup } from \"repond\";\n\n// 1. Define your store\nconst playerStore = {\n  newState: () => ({\n    position: { x: 0, y: 0 },\n    health: 100,\n    name: \"\" as string,\n  }),\n  newRefs: () => ({}),\n};\n\n// 2. Initialize Repond\ninitRepond(\n  { player: playerStore },\n  [\"default\"], // Step names - \"default\" is used when no step is specified in effects\n  { enableWarnings: false } // Optional config (default: warnings disabled)\n);\n\n// 3. Create declarative effects\nconst gameEffects = makeEffects((makeEffect) => ({\n  logPosition: makeEffect(\n    (playerId) => {\n      const player = getState(\"player\", playerId);\n      console.log(`Player ${playerId} moved to`, player.position);\n    },\n    { changes: [\"player.position\"] }\n  ),\n}));\n\ninitEffectGroups({ gameEffects });\nstartEffectsGroup(\"gameEffects\");\n\n// 4. Use it!\naddItem(\"player\", \"player1\");\nsetState(\"player\", { position: { x: 10, y: 20 } }, \"player1\");\n// Console: \"Player player1 moved to { x: 10, y: 20 }\"\n```\n\n### React Integration\n\n```tsx\nimport { useStore } from \"repond\";\n\nfunction PlayerComponent({ playerId }) {\n  // Re-renders when health or position changes\n  const player = useStore(\"player\", playerId, [\"health\", \"position\"]);\n\n  return (\n    <div>\n      <p>Health: {player.health}</p>\n      <p>Position: {player.position.x}, {player.position.y}</p>\n    </div>\n  );\n}\n```\n\n---\n\n## Core Concepts\n\n### 1. State Structure\n\nState is organized as **ItemTypes → Items → Properties**:\n\n```typescript\nItemType \"player\"\n  ├── Item \"player1\"\n  │   ├── health: 100\n  │   ├── position: { x: 10, y: 20 }\n  │   └── name: \"Hero\"\n  └── Item \"player2\"\n      ├── health: 85\n      └── ...\n```\n\n### 2. State vs Refs\n\n| **State** | **Refs** |\n|-----------|----------|\n| Serializable (JSON) | Non-serializable |\n| Persists across sessions | Temporary, session-only |\n| Game data, positions, settings | DOM elements, Three.js objects, callbacks |\n\n**Example:**\n```typescript\nconst enemyStore = {\n  newState: () => ({\n    health: 100,\n    position: { x: 0, y: 0 },\n  }),\n  newRefs: () => ({\n    mesh: null as THREE.Mesh | null, // 3D model reference\n  }),\n};\n```\n\n### 3. Effects: Three Approaches\n\n#### Declarative Effects (Recommended)\nStatic effects defined upfront, can be started/stopped as groups:\n\n```typescript\nconst gameEffects = makeEffects((makeEffect) => ({\n  handleDeath: makeEffect(\n    (playerId) => {\n      const player = getState(\"player\", playerId);\n      if (player.health <= 0) {\n        console.log(\"Game over!\");\n        removeItem(\"player\", playerId);\n      }\n    },\n    { changes: [\"player.health\"] }\n  ),\n}));\n\ninitEffectGroups({ gameEffects });\nstartEffectsGroup(\"gameEffects\");\n```\n\n#### Imperative Effects (Runtime-Decided)\nTemporary effects created at runtime:\n\n```typescript\nstartNewEffect({\n  id: \"temporaryListener\",\n  changes: [\"enemy.position\"],\n  run: (enemyId) => {\n    const enemy = getState(\"enemy\", enemyId);\n    updateEnemySprite(enemyId, enemy.position);\n  },\n});\n\n// Later: stopEffect(\"temporaryListener\");\n```\n\n#### React Effects\nEffects tied to component lifecycle:\n\n```typescript\nfunction GameManager() {\n  useStoreEffect({\n    changes: [\"player.score\"],\n    run: (playerId) => {\n      const score = getState(\"player\", playerId).score;\n      if (score > 1000) {\n        showVictoryScreen();\n      }\n    },\n  });\n\n  return <div>Game Running</div>;\n}\n```\n\n### 4. The Step System\n\nControl the **order** effects execute:\n\n```typescript\n\"physics\" → \"gameLogic\" → \"rendering\"\n```\n\n**Two phases per step:**\n- `duringStep`: Loops until no changes (max 8 iterations)\n- `endOfStep`: Runs once after duringStep\n\n**Example:**\n```typescript\nmakeEffect(applyPhysics, {\n  changes: [\"player.velocity\"],\n  step: \"physics\",\n  atStepEnd: false,\n});\n\nmakeEffect(renderScene, {\n  changes: [\"player.position\"],\n  step: \"rendering\",\n  atStepEnd: true,\n});\n```\n\n---\n\n## API Reference\n\n### Configuration\n\n```typescript\n// Initialize with optional config\ninitRepond(\n  { player: playerStore, enemy: enemyStore },\n  [\"default\", \"physics\", \"rendering\"],\n  {\n    enableWarnings: true, // Show internal warnings (default: false)\n  }\n);\n```\n\n**Config Options:**\n- `enableWarnings` (boolean, default: `false`): Enable internal warnings for debugging\n  - Warnings include: duplicate effect IDs, missing item types, effect replacement notifications\n  - Disable by default to keep console clean during development\n  - Enable when debugging effect registration or state issues\n\n### State Management\n\n```typescript\n// Add item\naddItem(\"player\", \"player1\");\n\n// Set state (batched automatically)\nsetState(\"player\", { health: 90 }, \"player1\");\n\n// Get state\nconst player = getState(\"player\", \"player1\");\n\n// Get previous state (before last update)\nconst prevHealth = getPrevState(\"player\", \"player1\").health;\n\n// Remove item\nremoveItem(\"player\", \"player1\");\n\n// Get refs (non-serializable data)\nconst mesh = getRefs(\"enemy\", \"enemy1\").mesh;\n```\n\n### Effects\n\n```typescript\n// Declarative effects\nconst effects = makeEffects((makeEffect) => ({\n  effectName: makeEffect(runFunction, { changes: [\"itemType.prop\"] }),\n}));\n\ninitEffectGroups({ groupName: effects });\nstartEffectsGroup(\"groupName\");\nstopEffectsGroup(\"groupName\");\n\n// Imperative effects\nstartNewEffect({\n  id: \"myEffect\",\n  changes: [\"itemType.prop\"],\n  run: (itemId, diffInfo, frameDuration) => { /* ... */ },\n});\n\nstopEffect(\"myEffect\");\n```\n\n### React Hooks\n\n```typescript\n// Get reactive state (re-renders on change)\nconst player = useStore(\"player\", playerId, [\"health\", \"position\"]);\n\n// Get entire item state\nconst enemy = useStoreItem(\"enemy\", enemyId);\n\n// Effect tied to component lifecycle\nuseStoreEffect({\n  changes: [\"player.score\"],\n  run: (playerId) => { /* ... */ },\n});\n```\n\n---\n\n## TypeScript Setup\n\nExtend `CustomRepondTypes` for full type safety:\n\n```typescript\n// stores/index.ts\nexport const playerStore = {\n  newState: () => ({\n    position: { x: 0, y: 0 },\n    health: 100,\n  }),\n  newRefs: () => ({}),\n};\n\n// types.ts\ndeclare module \"repond/declarations\" {\n  interface CustomRepondTypes {\n    ItemTypeDefs: {\n      player: typeof playerStore;\n      enemy: typeof enemyStore;\n    };\n    StepNames: [\"default\", \"physics\", \"gameLogic\", \"rendering\"];\n  }\n}\n```\n\nNow get **full autocomplete** for typed strings:\n\n```typescript\nsetState(\"player\", { health: 100 }); // \"player\" autocompleted\ngetState(\"player\").health; // .health autocompleted\n```\n\n---\n\n## Performance\n\n### Key Characteristics\n\n- **O(changed items) complexity**: Performance scales with what changed, not total item count\n- **Selective processing**: Only processes items that actually changed\n- **Automatic batching**: All setState calls batched per frame\n- **Scale**: Handles 1,000s to 10,000s+ items efficiently\n\n**Example**: In a game with 10,000 entities, if only 5 move per frame, Repond only processes those 5.\n\n**Performance breakdown:**\n- `setState()`: O(1) - direct property assignment\n- Diff calculation: O(changed items × changed properties)\n- Effect execution: O(changed items × effects watching those properties)\n\n### Benchmarks\n\n| Items | Updates/Frame | Performance |\n|-------|---------------|-------------|\n| 100 | 10 | ~0.1ms |\n| 1,000 | 50 | ~0.5ms |\n| 10,000 | 100 | ~1ms |\n\n*Actual performance depends on effect complexity*\n\n---\n\n## Advanced Patterns\n\n### Event-Driven Architecture\n\nGeneric event systems work seamlessly with Repond's declarative effects:\n\n```typescript\n// Event handler only sets state (no app-specific logic)\neventBus.on(\"player.damaged\", (playerId, damage) => {\n  const currentHealth = getState(\"player\", playerId).health;\n  setState(\"player\", { health: currentHealth - damage }, playerId);\n});\n\n// Effects handle side effects automatically\nmakeEffect(\n  (playerId) => {\n    if (getState(\"player\", playerId).health <= 0) {\n      triggerDeathAnimation(playerId);\n      removeItem(\"player\", playerId);\n    }\n  },\n  { changes: [\"player.health\"] }\n);\n```\n\n**Benefits:**\n- Event system doesn't need app-specific knowledge\n- Same effects run regardless of how state changes\n- Easy to integrate with external event systems\n\n### Avoiding Synchronous Reads\n\nsetState is batched, so use local variables:\n\n```typescript\n// ❌ Bad: getState won't reflect setState immediately\nsetState(\"player\", { score: 100 });\nconsole.log(getState(\"player\").score); // May not be 100 yet\n\n// ✅ Good: Use local variable\nconst newScore = 100;\nsetState(\"player\", { score: newScore });\nconsole.log(newScore); // Definitely 100\n```\n\nOr wait for next frame via effects:\n\n```typescript\nsetState(\"player\", { score: 100 });\n\nmakeEffect(\n  () => {\n    console.log(getState(\"player\").score); // Now updated\n  },\n  { changes: [\"player.score\"] }\n);\n```\n\n### Parameterized Effects\n\nCreate effects that vary based on parameters:\n\n```typescript\nconst childEffects = makeParamEffects(\n  { parentId: \"\", childId: \"\" },\n  (makeEffect, params) => ({\n    syncPosition: makeEffect(\n      () => {\n        const parentPos = getState(\"parent\", params.parentId).position;\n        setState(\"child\", { position: parentPos }, params.childId);\n      },\n      { changes: [`parent.${params.parentId}.position`] }\n    ),\n  })\n);\n\n// Start with specific parameters\nstartParamEffect(\"childEffects\", \"syncPosition\", {\n  parentId: \"parent1\",\n  childId: \"child1\",\n});\n```\n\n---\n\n## Common Gotchas\n\n### 1. Effect Infinite Loops\n\nDon't modify the same state you're watching:\n\n```typescript\n// ❌ Infinite loop\nmakeEffect(\n  (id) => {\n    setState(\"player\", { x: getState(\"player\", id).x + 1 }, id);\n  },\n  { changes: [\"player.x\"] }\n);\n```\n\n**Solution**: Watch different properties or add guards.\n\n### 2. Type Inference\n\nUse `as` for proper TypeScript inference:\n\n```typescript\n// ✅ Good\nnewState: () => ({\n  name: \"\" as string,\n  count: 0 as number,\n})\n\n// ❌ Bad: Types inferred as literals\nnewState: () => ({\n  name: \"\",  // Type: \"\"\n  count: 0,  // Type: 0\n})\n```\n\n---\n\n## Comparison to Other Libraries\n\n| Feature | Repond | Redux | Zustand | MobX |\n|---------|--------|-------|---------|------|\n| **Entity optimization** | Built-in | Manual | Manual | Manual |\n| **Performance scaling** | O(changed items)* | O(subscribers) | O(subscribers) | O(observables) |\n| **Declarative effects** | Yes | Middleware | Manual | Reactions |\n| **Type-safe string access** | Yes | No | No | No |\n| **Framework agnostic** | Yes | Yes | Yes | Yes |\n| **React hooks** | Included | External | Built-in | Built-in |\n| **Serializable state** | Required | Yes | Yes | No |\n| **Learning curve** | Medium | High | Low | Medium |\n\n\\* Repond processes only items that changed, regardless of total count. Redux and Zustand can achieve similar performance with proper selector memoization, but Repond makes this optimization automatic for entity-based state.\n\n---\n\n## Examples\n\n### Drag & Drop System\n\n```typescript\nconst draggableStore = {\n  newState: () => ({\n    position: { x: 0, y: 0 },\n    targetPosition: { x: 0, y: 0 },\n    isDragging: false,\n  }),\n  newRefs: () => ({\n    element: null as HTMLElement | null,\n  }),\n};\n\n// Animate toward target\nconst animationEffects = makeEffects((makeEffect) => ({\n  smoothMove: makeEffect(\n    (itemId) => {\n      const state = getState(\"draggable\", itemId);\n      const newPos = {\n        x: lerp(state.position.x, state.targetPosition.x, 0.1),\n        y: lerp(state.position.y, state.targetPosition.y, 0.1),\n      };\n      setState(\"draggable\", { position: newPos }, itemId);\n    },\n    { changes: [\"draggable.targetPosition\"], step: \"animation\" }\n  ),\n}));\n```\n\n### 3D Game Entities\n\n```typescript\nconst characterStore = {\n  newState: () => ({\n    position: { x: 0, y: 0, z: 0 },\n    health: 100,\n    isAlive: true,\n  }),\n  newRefs: () => ({\n    mesh: null as THREE.Mesh | null,\n  }),\n};\n\n// Update 3D mesh when position changes\nconst renderEffects = makeEffects((makeEffect) => ({\n  updateMesh: makeEffect(\n    (charId) => {\n      const char = getState(\"character\", charId);\n      const mesh = getRefs(\"character\", charId).mesh;\n      if (mesh) {\n        mesh.position.set(char.position.x, char.position.y, char.position.z);\n      }\n    },\n    { changes: [\"character.position\"], step: \"rendering\", atStepEnd: true }\n  ),\n}));\n```\n\n---\n\n## Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n---\n\n## Documentation\n\n- [CLAUDE.md](CLAUDE.md) - AI agent context and comprehensive reference\n- [DOCUMENTATION_CLARIFICATIONS.md](DOCUMENTATION_CLARIFICATIONS.md) - Design decisions and clarifications\n\n---\n\n## License\n\nMIT © [Your Name]\n\n---\n\n## Acknowledgments\n\nBuilt for real-time applications where performance matters and entity management is key.\n\nSpecial thanks to the React, TypeScript, and state management communities for inspiration.\n","readmeFilename":"README.md"}