UNPKG

@aimee-blue/ab-service-kit

Version:
1 lines 2.45 kB
{"version":3,"sources":["../../../src/shared/logging/logEpic.ts"],"names":["logEpic","epic","paramsRaw","fn","commands","ctx","rest","params","logEvents","logger","maybeLogIncoming","input","maybeLogOutgoing","output","incomingName","name","outgoingName","pipe","prefix","Utils","setFunctionName"],"mappings":";;;;;;;AAAA;;AAEA;;AAQO,MAAMA,OAAO,GAAG,CACrBC,IADqB,EAErBC,SAFqB,KAGf;AACN,QAAMC,EAAE,GAAG,CAAC,GAAG,CAACC,QAAD,EAAWC,GAAX,EAAgB,GAAGC,IAAnB,CAAJ,KAA+D;AAAA;;AACxE,UAAMC,MAAM,GAAG;AACbC,MAAAA,SAAS,EAAEH,GAAG,CAACI,MAAJ,CAAWD,SADT;AAEb,SAAGN;AAFU,KAAf;AAKA,UAAMQ,gBAAgB,GAAG,+DACvBH,MAAM,CAACI,KADgB,yDACP,IADO,EAEvBJ,MAAM,CAACC,SAFgB,CAAzB;AAKA,UAAMI,gBAAgB,GAAG,gEACvBL,MAAM,CAACM,MADgB,2DACN,IADM,EAEvBN,MAAM,CAACC,SAFgB,CAAzB;AAKA,UAAMM,YAAY,GAAI,YAAWP,MAAM,CAACQ,IAAP,IAAed,IAAI,CAACc,IAAK,EAA1D;AACA,UAAMC,YAAY,GAAI,WAAUT,MAAM,CAACQ,IAAP,IAAed,IAAI,CAACc,IAAK,EAAzD;AAEA,WAAOd,IAAI,CACTG,QAAQ,CAACa,IAAT,CACEP,gBAAgB,CAAC;AACfQ,MAAAA,MAAM,EAAEJ;AADO,KAAD,CADlB,CADS,EAMTT,GANS,EAOT,GAAGC,IAPM,CAAJ,CAQLW,IARK,CASLL,gBAAgB,CAAC;AACfM,MAAAA,MAAM,EAAEF;AADO,KAAD,CATX,CAAP;AAaD,GAhCD;;AAkCA,SAAQG,gBAAMC,eAAN,CAAuB,WAAUnB,IAAI,CAACc,IAAK,EAA3C,EAA8CZ,EAA9C,CAAR;AACD,CAvCM","sourcesContent":["import { Utils } from '@aimee-blue/ab-shared';\nimport { AnyEpic } from '../kit';\nimport { conditionalOperator } from '../conditionalOperator';\n\nexport interface ILogEpicParams {\n name?: string;\n input?: boolean;\n output?: boolean;\n}\n\nexport const logEpic = <E extends AnyEpic>(\n epic: E,\n paramsRaw: ILogEpicParams\n): E => {\n const fn = (...[commands, ctx, ...rest]: Parameters<E>): ReturnType<E> => {\n const params = {\n logEvents: ctx.logger.logEvents,\n ...paramsRaw,\n };\n\n const maybeLogIncoming = conditionalOperator(\n params.input ?? true,\n params.logEvents\n );\n\n const maybeLogOutgoing = conditionalOperator(\n params.output ?? true,\n params.logEvents\n );\n\n const incomingName = `commands@${params.name || epic.name}`;\n const outgoingName = `results@${params.name || epic.name}`;\n\n return epic(\n commands.pipe(\n maybeLogIncoming({\n prefix: incomingName,\n })\n ),\n ctx,\n ...rest\n ).pipe(\n maybeLogOutgoing({\n prefix: outgoingName,\n })\n ) as ReturnType<E>;\n };\n\n return (Utils.setFunctionName(`logEpic.${epic.name}`, fn) as unknown) as E;\n};\n"],"file":"logEpic.js"}