@schemeless/event-store
Advanced tools
Comparing version 2.2.0-rc.7 to 2.2.1-rc.0
@@ -22,3 +22,3 @@ "use strict"; | ||
const mainQueue = makeMainQueue_1.makeMainQueue(eventFlows); | ||
const sideEffectQueue = makeSideEffectQueue_1.makeSideEffectQueue(eventFlows); | ||
const sideEffectQueue = makeSideEffectQueue_1.makeSideEffectQueue(eventFlows, mainQueue); | ||
yield eventStoreRepo.init(); | ||
@@ -25,0 +25,0 @@ const mainQueueProcessed$ = mainQueue.processed$.pipe(Rx.concatMap(([doneEvents, eventTaskAndError]) => __awaiter(void 0, void 0, void 0, function* () { |
@@ -22,1 +22,2 @@ /// <reference types="better-queue" /> | ||
}; | ||
export declare type mainQueueType = ReturnType<typeof makeMainQueue>; |
/// <reference types="better-queue" /> | ||
import { CreatedEvent, EventFlow, SideEffectsState } from '@schemeless/event-store-types'; | ||
export declare const makeSideEffectQueue: (eventFlows: EventFlow[]) => { | ||
import { mainQueueType } from './makeMainQueue'; | ||
export declare const makeSideEffectQueue: (eventFlows: EventFlow[], mainQueue: mainQueueType) => { | ||
processed$: import("rxjs").Observable<{ | ||
@@ -5,0 +6,0 @@ state: SideEffectsState; |
@@ -20,3 +20,3 @@ "use strict"; | ||
const logger_1 = require("../util/logger"); | ||
const makeSideEffectQueue = (eventFlows) => { | ||
const makeSideEffectQueue = (eventFlows, mainQueue) => { | ||
const sideEffectQueue = RxQueue_1.createRxQueue('sideEffect', { | ||
@@ -30,3 +30,3 @@ concurrent: 1, | ||
if (!eventFlow.sideEffect) { | ||
logEvent_1.logEvent(event, '🌠', 'SE:NA'); | ||
logEvent_1.logEvent(event, '🌠', 'SideEffect:N/A'); | ||
done(); | ||
@@ -37,4 +37,9 @@ return { event, state: event_store_types_1.SideEffectsState.done }; | ||
try { | ||
yield eventFlow.sideEffect(event); | ||
logEvent_1.logEvent(event, '🌠', 'SE:OK'); | ||
const nextEvents = (yield eventFlow.sideEffect(event)); | ||
logEvent_1.logEvent(event, '🌠', 'SideEffect:Done'); | ||
if (nextEvents === null || nextEvents === void 0 ? void 0 : nextEvents.length) { | ||
nextEvents.forEach((nextEvent) => { | ||
mainQueue.push(nextEvent); | ||
}); | ||
} | ||
done(); | ||
@@ -41,0 +46,0 @@ return { event, state: event_store_types_1.SideEffectsState.done }; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const event_store_types_1 = require("@schemeless/event-store-types"); | ||
const makeSideEffectQueue_1 = require("./makeSideEffectQueue"); | ||
@@ -7,8 +8,10 @@ const FailSideEffect_event_1 = require("../mocks/FailSideEffect.event"); | ||
const mockStore_1 = require("../mocks/mockStore"); | ||
const event_store_types_1 = require("@schemeless/event-store-types"); | ||
const spy = jest.spyOn(FailSideEffect_event_1.FailsSideEffectEvent, 'sideEffect'); | ||
const mainQueuePush = jest.fn(); | ||
describe('makeSideEffectQueue', () => { | ||
it('should retry until fail', (cb) => { | ||
spy.mockClear(); | ||
const sideEffectQueue = makeSideEffectQueue_1.makeSideEffectQueue([FailSideEffect_event_1.FailsSideEffectEvent]); | ||
const sideEffectQueue = makeSideEffectQueue_1.makeSideEffectQueue([FailSideEffect_event_1.FailsSideEffectEvent], { | ||
push: mainQueuePush, | ||
}); | ||
sideEffectQueue.processed$.subscribe((r) => { | ||
@@ -35,3 +38,5 @@ if (r.state === event_store_types_1.SideEffectsState.fail) { | ||
spy.mockClear(); | ||
const sideEffectQueue = makeSideEffectQueue_1.makeSideEffectQueue([FailSideEffect_event_1.FailsSideEffectEvent]); | ||
const sideEffectQueue = makeSideEffectQueue_1.makeSideEffectQueue([FailSideEffect_event_1.FailsSideEffectEvent], { | ||
push: mainQueuePush, | ||
}); | ||
sideEffectQueue.processed$.subscribe((r) => { | ||
@@ -38,0 +43,0 @@ if (r.state === event_store_types_1.SideEffectsState.done) { |
{ | ||
"name": "@schemeless/event-store", | ||
"version": "2.2.0-rc.7", | ||
"version": "2.2.1-rc.0", | ||
"typescript:main": "src/index.ts", | ||
@@ -24,3 +24,3 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@schemeless/event-store-types": "^2.2.0", | ||
"@schemeless/event-store-types": "^2.2.1", | ||
"better-queue": "^3.8.10", | ||
@@ -53,3 +53,3 @@ "debug": "^4.2.0", | ||
}, | ||
"gitHead": "f9889337672206e9504b4372ea6c987c8fb3f1e0" | ||
"gitHead": "d0b6ffb4ef701ec2795b32372201cbcb33f98f73" | ||
} |
75055
1508