UNPKG

@arturwojnar/hermes-postgresql

Version:

Production-Ready TypeScript Outbox Pattern for PostgreSQL

19 lines (18 loc) 1.1 kB
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; }