UNPKG

@actyx/sdk

Version:
114 lines (113 loc) 4.62 kB
import * as t from 'io-ts'; import { DoPersistEvents, DoQuery, DoSubscribe, DoSubscribeMonotonic, EventStore, RequestOffsets } from '../internal_common/eventStore'; import { MultiplexedWebsocket } from './multiplexedWebsocket'; import { AllEventsSortOrders, PersistedEventsSortOrders } from './types'; export declare const enum RequestTypes { SourceId = "/ax/events/getSourceId", Present = "/ax/events/requestPresent", PersistedEvents = "/ax/events/requestPersistedEvents", AllEvents = "/ax/events/requestAllEvents", PersistEvents = "/ax/events/persistEvents", HighestSeen = "/ax/events/highestSeenOffsets", Connectivity = "/ax/events/requestConnectivity" } declare const ValueOrLimit: t.UnionC<[t.NumberC, t.LiteralC<"min">, t.LiteralC<"max">]>; export declare type ValueOrLimit = t.TypeOf<typeof ValueOrLimit>; export declare const PersistedEventsRequest: t.ReadonlyC<t.TypeC<{ minEventKey: t.UnionC<[t.NullC, t.ReadonlyC<t.TypeC<{ lamport: t.NumberC; psn: t.NumberC; sourceId: t.StringC; }>>]>; fromPsnsExcluding: t.ReadonlyC<t.TypeC<{ psns: t.ReadonlyC<t.RecordC<t.StringC, t.NumberC>>; default: t.UnionC<[t.NumberC, t.LiteralC<"min">, t.LiteralC<"max">]>; }>>; toPsnsIncluding: t.ReadonlyC<t.TypeC<{ psns: t.ReadonlyC<t.RecordC<t.StringC, t.NumberC>>; default: t.UnionC<[t.NumberC, t.LiteralC<"min">, t.LiteralC<"max">]>; }>>; subscriptionSet: t.TaggedUnionC<"type", [t.TypeC<{ type: t.LiteralC<"empty">; }>, t.TypeC<{ type: t.LiteralC<"all">; }>, t.TypeC<{ type: t.LiteralC<"or">; subscriptions: t.ReadonlyArrayC<t.ReadonlyC<t.TypeC<{ semantics: t.StringC; name: t.StringC; sourceId: t.StringC; }>>>; }>, t.TypeC<{ type: t.LiteralC<"tags">; subscriptions: t.ReadonlyArrayC<t.ReadonlyC<t.TypeC<{ tags: t.ReadonlyArrayC<t.StringC>; local: t.BooleanC; }>>>; }>]>; sortOrder: import("./types").EnumType<PersistedEventsSortOrders>; count: t.UnionC<[t.NumberC, t.LiteralC<"min">, t.LiteralC<"max">]>; }>>; export declare type PersistedEventsRequest = t.TypeOf<typeof PersistedEventsRequest>; export declare const AllEventsRequest: t.ReadonlyC<t.TypeC<{ fromPsnsExcluding: t.ReadonlyC<t.TypeC<{ psns: t.ReadonlyC<t.RecordC<t.StringC, t.NumberC>>; default: t.UnionC<[t.NumberC, t.LiteralC<"min">, t.LiteralC<"max">]>; }>>; minEventKey: t.UnionC<[t.NullC, t.ReadonlyC<t.TypeC<{ lamport: t.NumberC; psn: t.NumberC; sourceId: t.StringC; }>>]>; toPsnsIncluding: t.ReadonlyC<t.TypeC<{ psns: t.ReadonlyC<t.RecordC<t.StringC, t.NumberC>>; default: t.UnionC<[t.NumberC, t.LiteralC<"min">, t.LiteralC<"max">]>; }>>; subscriptionSet: t.TaggedUnionC<"type", [t.TypeC<{ type: t.LiteralC<"empty">; }>, t.TypeC<{ type: t.LiteralC<"all">; }>, t.TypeC<{ type: t.LiteralC<"or">; subscriptions: t.ReadonlyArrayC<t.ReadonlyC<t.TypeC<{ semantics: t.StringC; name: t.StringC; sourceId: t.StringC; }>>>; }>, t.TypeC<{ type: t.LiteralC<"tags">; subscriptions: t.ReadonlyArrayC<t.ReadonlyC<t.TypeC<{ tags: t.ReadonlyArrayC<t.StringC>; local: t.BooleanC; }>>>; }>]>; sortOrder: import("./types").EnumType<AllEventsSortOrders>; count: t.UnionC<[t.NumberC, t.LiteralC<"min">, t.LiteralC<"max">]>; }>>; export declare type AllEventsRequest = t.TypeOf<typeof AllEventsRequest>; export declare const PersistEventsRequest: t.ReadonlyC<t.TypeC<{ events: t.ReadonlyArrayC<t.ReadonlyC<t.TypeC<{ semantics: t.StringC; name: t.StringC; timestamp: t.NumberC; tags: t.Type<string[], string[] | undefined, unknown>; payload: t.UnknownC; }>>>; }>>; export declare type PersistEventsRequest = t.TypeOf<typeof PersistEventsRequest>; export declare const getSourceId: (multiplexedWebsocket: MultiplexedWebsocket) => Promise<string>; export declare class WebsocketEventStore implements EventStore { private readonly multiplexer; readonly sourceId: string; private _present; private _highestSeen; constructor(multiplexer: MultiplexedWebsocket, sourceId: string); offsets: RequestOffsets; queryUnchecked: () => never; subscribeUnchecked: () => never; query: DoQuery; subscribe: DoSubscribe; subscribeMonotonic: DoSubscribeMonotonic; persistEvents: DoPersistEvents; } export {};