@arturwojnar/hermes-postgresql
Version:
Production-Ready TypeScript Outbox Pattern for PostgreSQL
19 lines (18 loc) • 1.1 kB
TypeScript
import { JSONValue, Options, PostgresType, TransactionSql } from 'postgres';
import { ConsumerCreationParams } from '../common/ConsumerCreationParams.js';
import { HermesSql, IOutboxConsumer, MessageEnvelope, PublishOptions, Stop } from '../common/types.js';
import { OutboxConsumerState } from './OutboxConsumerState.js';
export declare class OutboxConsumer<Message extends JSONValue> implements IOutboxConsumer<Message> {
private readonly _params;
private readonly _createClient;
private _state?;
private _sql;
private _sendAsync;
constructor(_params: ConsumerCreationParams<Message>, _createClient: (options: Options<Record<string, PostgresType>>) => HermesSql, _state?: OutboxConsumerState | undefined);
getCreationParams(): ConsumerCreationParams<Message>;
getDbConnection(): HermesSql;
start(): Promise<Stop>;
queue(message: MessageEnvelope<Message> | MessageEnvelope<Message>[], options?: PublishOptions): Promise<void>;
send(message: MessageEnvelope<Message> | MessageEnvelope<Message>[], tx?: TransactionSql): Promise<void>;
private _publishOne;
}