UNPKG

@aimee-blue/ab-service-kit

Version:
1 lines 1.4 kB
{"version":3,"sources":["../../../src/shared/sockets/prepareWaitForCompletionFn.ts"],"names":["prepareWaitForCompletionFn","results","timeout","completedOrTimedOut","pipe","connect","waitForCompletion","toPromise"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEO,SAASA,0BAAT,CACLC,OADK,EAELC,OAFK,EAGL;AACA,QAAMC,mBAAmB,GAAG,wCAC1BF,OAAO,CAACG,IAAR,CACE,mCADF,EAEE,+BAAe,WAAf,CAFF,CAD0B,EAK1B,CAL0B,CAA5B;AAQA,SAAO;AACLC,IAAAA,OAAO,EAAE,MAAMF,mBAAmB,CAACE,OAApB,EADV;AAELC,IAAAA,iBAAiB,EAAE,YAAY;AAC7B,aAAO,MAAMH,mBAAmB,CAC7BC,IADU,CACL,4BAAYF,OAAZ,EAAqB,cAAG,WAAH,CAArB,CADK,EAEVK,SAFU,EAAb;AAGD;AANI,GAAP;AAQD","sourcesContent":["import { Observable, of } from 'rxjs';\nimport { defaultIfEmpty, timeoutWith } from 'rxjs/operators';\nimport { whenCompleted } from '../whenCompleted';\nimport { publishReplayStream } from '../publishStream';\n\nexport function prepareWaitForCompletionFn(\n results: Observable<unknown>,\n timeout: number\n) {\n const completedOrTimedOut = publishReplayStream(\n results.pipe(\n whenCompleted(),\n defaultIfEmpty('completed' as const)\n ),\n 1\n );\n\n return {\n connect: () => completedOrTimedOut.connect(),\n waitForCompletion: async () => {\n return await completedOrTimedOut\n .pipe(timeoutWith(timeout, of('timed-out' as const)))\n .toPromise();\n },\n };\n}\n"],"file":"prepareWaitForCompletionFn.js"}