UNPKG

@kurrent/kurrentdb-client

Version:
45 lines (44 loc) 1.56 kB
import type { Filter, RegexFilter, PrefixesFilter, Position, AllStreamSubscription } from "../types"; interface FilterOptionsBase { /** * Sets how often the checkpointReached callback is called. * Must be greater than 0. */ checkpointInterval?: number; /** * A callback invoked and await when a checkpoint is reached. * Set the checkpointInterval to define how often this method is called. */ checkpointReached?: (subscription: AllStreamSubscription, position: Position) => Promise<void> | void; /** * The maximum number of events that are filtered out before the page is returned * Must be greater than 0, if supplied. */ maxSearchWindow?: number; } interface RegexOptions extends FilterOptionsBase { /** * A regex to filter by. */ regex: string; } interface PrefixesOptions extends FilterOptionsBase { /** * A list of prefixes to filter on. */ prefixes: string[]; } interface PrefixesOptions extends Omit<PrefixesFilter, "filterOn" | "checkpointInterval"> { checkpointInterval?: Filter["checkpointInterval"]; } export type FilterOptions = RegexOptions | PrefixesOptions; export declare const streamNameFilter: { (options: RegexOptions): RegexFilter; (options: PrefixesOptions): PrefixesFilter; }; export declare const eventTypeFilter: { (options: RegexOptions): RegexFilter; (options: PrefixesOptions): PrefixesFilter; }; export declare const excludeSystemEvents: (options?: Omit<RegexOptions, "regex">) => RegexFilter; export {};