@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
1 lines • 2.04 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/shared/epics/reportErrorsToCloud.ts"],"names":["reportError","errorAction","source","version","Promise","all","error","payload","reportErrorsToCloud","events","ctx","pipe","Apps","ERROR","err","logger"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA,MAAMA,WAAW,GAAG,MAAOC,WAAP,IAA0C;AAC5D,QAAM,CAACC,MAAD,EAASC,OAAT,IAAoB,MAAMC,OAAO,CAACC,GAAR,CAAY,CAAC,mBAAD,EAAY,sBAAZ,CAAZ,CAAhC;AACA,SAAO,wBAAa;AAClBC,IAAAA,KAAK,EAAEL,WAAW,CAACM,OADD;AAElBL,IAAAA,MAFkB;AAGlBC,IAAAA;AAHkB,GAAb,CAAP;AAKD,CAPD;;AASO,MAAMK,mBAAmC,GAAG,CAACC,MAAD,EAASC,GAAT,KAAiB;AAClE,MAAI,yBAAJ,EAAkB;AAChB,WAAO,kBAAP;AACD;;AAED,SAAOD,MAAM,CAACE,IAAP,CACL,oBAA0BC,kBAAKC,KAA/B,CADK,EAEL,yBAASZ,WAAW,IAClB,gBAAKD,WAAW,CAACC,WAAD,CAAhB,EAA+BU,IAA/B,CACE,2BAAWG,GAAG,IAAI;AAChBJ,IAAAA,GAAG,CAACK,MAAJ,CAAWT,KAAX,CAAiB,iCAAjB,EAAoDQ,GAApD;AACA,WAAO,kBAAP;AACD,GAHD,CADF,CADF,CAFK,EAUL,gCAVK,CAAP;AAYD,CAjBM","sourcesContent":["import { Apps } from '@aimee-blue/ab-contracts';\nimport { from, empty } from 'rxjs';\nimport { mergeMap, catchError, ignoreElements } from 'rxjs/operators';\nimport { ofType } from '../ofType';\nimport { appName, appVersion } from '../app';\nimport { appsLogError } from '../apps';\nimport { isDevBuild } from '../isTest';\nimport { BackgroundEpic } from '../kit';\n\nconst reportError = async (errorAction: Apps.IErrorAction) => {\n const [source, version] = await Promise.all([appName(), appVersion()]);\n return appsLogError({\n error: errorAction.payload,\n source,\n version,\n });\n};\n\nexport const reportErrorsToCloud: BackgroundEpic = (events, ctx) => {\n if (isDevBuild()) {\n return empty();\n }\n\n return events.pipe(\n ofType<Apps.IErrorAction>(Apps.ERROR),\n mergeMap(errorAction =>\n from(reportError(errorAction)).pipe(\n catchError(err => {\n ctx.logger.error('💥 Couldnt send error to Cloud', err);\n return empty();\n })\n )\n ),\n ignoreElements()\n );\n};\n"],"file":"reportErrorsToCloud.js"}