Skip to content

Commit 4649321

Browse files
feat: add subscribe method to SharedValuesManager for listening to shared data changes
1 parent 926c1f6 commit 4649321

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/SharedValuesManager.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,4 +282,22 @@ export class SharedValuesApi<T extends SharedValue, V, R = T> {
282282
});
283283
return all;
284284
}
285+
286+
subscribe<S extends string = string>(sharedCreated: SharedCreated, listener: AFunction): void;
287+
subscribe<S extends string = string>(key: S | SharedCreated, listener: AFunction, scopeName?: Prefix) {
288+
let keyStr!: string;
289+
let prefixStr!: string;
290+
if (typeof key === "string") {
291+
keyStr = key;
292+
prefixStr = scopeName || "_global";
293+
}
294+
else{
295+
keyStr = key.key;
296+
prefixStr = key.prefix;
297+
}
298+
this.sharedData.addListener(keyStr, prefixStr, listener);
299+
return () => {
300+
this.sharedData.removeListener(keyStr, prefixStr, listener);
301+
}
302+
}
285303
}

0 commit comments

Comments
 (0)