mirror of
https://github.com/moghtech/komodo.git
synced 2026-07-19 18:19:56 -05:00
14 lines
375 B
TypeScript
14 lines
375 B
TypeScript
export function createObservable<Message>() {
|
|
const subscribers = new Set<(message: Message) => void>();
|
|
return {
|
|
subscribe: (callback: (message: Message) => void) => {
|
|
subscribers.add(callback);
|
|
return () => {
|
|
subscribers.delete(callback);
|
|
};
|
|
},
|
|
publish: (msg: Message) => {
|
|
subscribers.forEach((cb) => cb(msg));
|
|
},
|
|
};
|
|
} |