@kurrent/kurrentdb-client
Version:
KurrentDB gRPC NodeJS Client SDK
45 lines (44 loc) • 1.56 kB
TypeScript
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 {};