@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
1 lines • 1.81 kB
Source Map (JSON)
{"version":3,"sources":["../../src/shared/eventBus.ts"],"names":["subject","Subject","sharedSubject","asObservable","pipe","fromEventBus","pushToEventBus","stream","Observable","subscriber","add","subscribe","next","data","error","err","complete","publishToEventBus","action"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AAEA,MAAMA,OAAO,GAAG,IAAIC,aAAJ,EAAhB;AAEA,MAAMC,aAAa,GAAGF,OAAO,CAACG,YAAR,GAAuBC,IAAvB,CACpB,qBAAI,WAAJ,CADoB,EAEpB,uBAFoB,CAAtB;;AAKO,SAASC,YAAT,GAAwB;AAC7B,SAAOH,aAAP;AACD;;AAEM,SAASI,cAAT,GAA0B;AAC/B,SAAQC,MAAD,IAAiC;AACtC,WAAO,IAAIC,gBAAJ,CAAsBC,UAAU,IAAI;AACzCA,MAAAA,UAAU,CAACC,GAAX,CACEH,MAAM,CAACI,SAAP,CAAiB;AACfC,QAAAA,IAAI,EAAEC,IAAI,IAAIb,OAAO,CAACY,IAAR,CAAaC,IAAb,CADC;AAEfC,QAAAA,KAAK,EAAEC,GAAG,IAAIN,UAAU,CAACK,KAAX,CAAiBC,GAAjB,CAFC;AAGfC,QAAAA,QAAQ,EAAE,MAAMP,UAAU,CAACO,QAAX;AAHD,OAAjB,CADF;AAOD,KARM,CAAP;AASD,GAVD;AAWD;;AAEM,SAASC,iBAAT,CAA8CC,MAA9C,EAAyD;AAC9DlB,EAAAA,OAAO,CAACY,IAAR,CAAaM,MAAb;AACD","sourcesContent":["import { Subject, Observable } from 'rxjs';\nimport { IAction } from './action';\nimport { share } from 'rxjs/operators';\nimport { tag } from 'rxjs-spy/operators';\n\nconst subject = new Subject<IAction>();\n\nconst sharedSubject = subject.asObservable().pipe(\n tag('event-bus'),\n share()\n);\n\nexport function fromEventBus() {\n return sharedSubject;\n}\n\nexport function pushToEventBus() {\n return (stream: Observable<IAction>) => {\n return new Observable<never>(subscriber => {\n subscriber.add(\n stream.subscribe({\n next: data => subject.next(data),\n error: err => subscriber.error(err),\n complete: () => subscriber.complete(),\n })\n );\n });\n };\n}\n\nexport function publishToEventBus<T extends IAction>(action: T) {\n subject.next(action);\n}\n"],"file":"eventBus.js"}