@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
1 lines • 992 B
Source Map (JSON)
{"version":3,"sources":["../../src/shared/ofType.ts"],"names":["isOfType","type","action","ofType","filterFn","bind","undefined","stream","pipe"],"mappings":";;;;;;;;AAEA;;AAEO,SAASA,QAAT,CACLC,IADK,EAELC,MAFK,EAGQ;AACb,SAAOA,MAAM,CAACD,IAAP,KAAgBA,IAAvB;AACD;;AAEM,SAASE,MAAT,CAAmCF,IAAnC,EAAoD;AACzD,QAAMG,QAAQ,GAAGJ,QAAQ,CAACK,IAAT,CAAcC,SAAd,EAAyBL,IAAzB,CAAjB;AACA,SAAQM,MAAD,IAAqC;AAC1C,WAAOA,MAAM,CAACC,IAAP,CAAY,uBAAOJ,QAAP,CAAZ,CAAP;AACD,GAFD;AAGD","sourcesContent":["import { IAction } from './action';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nexport function isOfType<T extends IAction>(\n type: T['type'],\n action: T | IAction\n): action is T {\n return action.type === type;\n}\n\nexport function ofType<T extends IAction>(type: T['type']) {\n const filterFn = isOfType.bind(undefined, type);\n return (stream: Observable<T | IAction>) => {\n return stream.pipe(filter(filterFn)) as Observable<T>;\n };\n}\n"],"file":"ofType.js"}