pg-trx-outbox
Version:
Transactional outbox of Postgres for Node.js with little Event Sourcing
48 lines (47 loc) • 1.37 kB
TypeScript
import type { OutboxMessage } from '../../types.ts';
export declare abstract class BaseAdapter {
baseHandleMessage(message: OutboxMessage): Promise<{
meta: {
pgTrxOutbox: {
time: number;
libuv: {
max: number;
min: number;
mean: number;
stddev: number;
};
beforeMemory: NodeJS.MemoryUsage;
afterMemory: NodeJS.MemoryUsage;
uptime: number;
cpuUsage: NodeJS.CpuUsage;
};
};
status: "fulfilled";
value: unknown;
error?: unknown;
} | {
meta: {
pgTrxOutbox: {
time: number;
libuv: {
max: number;
min: number;
mean: number;
stddev: number;
};
beforeMemory: NodeJS.MemoryUsage;
afterMemory: NodeJS.MemoryUsage;
uptime: number;
cpuUsage: NodeJS.CpuUsage;
};
};
status: "rejected";
reason: any;
error?: unknown;
}>;
abstract handleMessage(message: OutboxMessage): Promise<{
value: unknown;
meta?: object;
error?: unknown;
}>;
}