observable-subject

Observable subject event bus
Installation
npm install @flexbase/observable-subject
or
yarn add @flexbase/observable-subject
Usage
import { Subject, subjectManager } from '@flexbase/observable-subject';
const subject: Subject = { key: Symbol() };
await subjectManager.register(subject);
const subscription = subjectManager.subscribe<number>(subject, async context => {
await new Promise(_ => setTimeout(_, context.value));
});
await subjectManager.notify(subject, { value: 1000 });
subscription.unsubscribe();