UNPKG

@schemeless/event-store-react-native

Version:

React Native compatible build of the [`@schemeless/event-store`](../event-store) runtime. It mirrors the Node.js implementation but swaps the internal queue implementation to [`react-native-better-queue`](https://github.com/YahyaASadiq/react-native-better

31 lines (26 loc) 915 B
import type { Observable } from 'rxjs'; import type { CreatedEvent, EventObserverState, EventOutputState, IEventStoreRepo, SideEffectsState, } from '@schemeless/event-store-types'; import { makeMainQueue } from './queue/makeMainQueue'; import { makeReceive } from './queue/makeReceive'; import { makeReplay } from './makeReplay'; import { makeSideEffectQueue } from './queue/makeSideEffectQueue'; export interface EventOutput<Payload = any> { state: SideEffectsState | EventOutputState | EventObserverState; error?: Error; event: CreatedEvent<Payload>; } export interface EventStore { mainQueue: ReturnType<typeof makeMainQueue>; sideEffectQueue: ReturnType<typeof makeSideEffectQueue>; receive: ReturnType<typeof makeReceive>; replay: ReturnType<typeof makeReplay>; eventStoreRepo: IEventStoreRepo; output$: Observable<EventOutput>; } export * from '@schemeless/event-store-types';