UNPKG

@actyx/sdk

Version:
26 lines (25 loc) 1.03 kB
import { Observable } from '../../node_modules/rxjs'; import { EventKey, FixedStart, MsgType, SerializedStateSnap, Where } from '../types'; import { EventStore } from './eventStore'; import { Events } from './types'; export declare type StateMsg = { type: MsgType.state; snapshot: SerializedStateSnap; }; export declare type EventsMsg = { type: MsgType.events; events: Events; caughtUp: boolean; }; export declare type TimeTravelMsg = { type: MsgType.timetravel; trigger: EventKey; }; export declare type EventsOrTimetravel = StateMsg | EventsMsg | TimeTravelMsg; export declare type SubscribeMonotonic = (session: string, subscriptions: Where<unknown>, attemptStartFrom: FixedStart) => Observable<EventsOrTimetravel>; /** * Create a new endpoint, based on the given EventStore and SnapshotStore. * The returned function itself is stateless between subsequent calls -- * all state is within the EventStore itself. */ export declare const eventsMonotonic: (eventStore: EventStore) => SubscribeMonotonic;