[Persisted] Make broadcast subscriptions granular by key (#4874)

* Add fast path for guaranteed noop updates

* Change persisted.onUpdate() API to take a key

* Implement granular broadcast listeners
This commit is contained in:
dan 2024-08-06 01:30:52 +01:00 committed by GitHub
parent 966f6c511f
commit 686d5ebb53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 95 additions and 42 deletions

View file

@ -41,7 +41,10 @@ export async function write<K extends keyof Schema>(
}
write satisfies PersistedApi['write']
export function onUpdate(_cb: () => void): () => void {
export function onUpdate<K extends keyof Schema>(
_key: K,
_cb: (v: Schema[K]) => void,
): () => void {
return () => {}
}
onUpdate satisfies PersistedApi['onUpdate']