@highloop/feedback-internal
Version:
17 lines (14 loc) • 354 B
text/typescript
export let createObservable = <T>() => {
let listeners: ((d: T) => unknown)[] = [];
return {
register: (listener: (d: T) => unknown) => {
listeners.push(listener);
return () => {
listeners = listeners.filter(l => l != listener);
};
},
fire: (data?: T) => {
listeners.forEach(l => l(data));
}
};
};