@dwwoelfel/lds
Version:
Logical decoding server for PostgreSQL, monitors for new/edited/deleted rows and announces them to interested clients.
38 lines (37 loc) • 1.15 kB
TypeScript
export interface Options {
slotName?: string;
tablePattern?: string;
sleepDuration?: number;
temporary?: boolean;
}
interface CollectionAnnouncement {
schema: string;
table: string;
}
interface RowAnnouncement {
schema: string;
table: string;
keys: Array<string>;
}
export interface InsertCollectionAnnouncement extends CollectionAnnouncement {
_: "insertC";
data: {};
}
export interface UpdateCollectionAnnouncement extends CollectionAnnouncement {
_: "updateC";
data: {};
}
export interface UpdateRowAnnouncement extends RowAnnouncement {
_: "update";
data: {};
}
export interface DeleteRowAnnouncement extends RowAnnouncement {
_: "delete";
}
export declare type Announcement = InsertCollectionAnnouncement | UpdateCollectionAnnouncement | UpdateRowAnnouncement | DeleteRowAnnouncement;
export declare type AnnounceCallback = (announcement: Announcement) => void;
export interface LDSubscription {
close(): void;
}
export default function subscribeToLogicalDecoding(connectionString: string, callback: AnnounceCallback, options?: Options): Promise<LDSubscription>;
export {};