UNPKG

@message-in-the-middle/core

Version:

Framework-agnostic middleware pattern for message queue processing. Core package with all middlewares.

25 lines (24 loc) 1.18 kB
import { InboundMiddleware, OutboundMiddleware, MessageContext } from '../types'; export interface MetricsCollector { increment(metric: string, tags?: Record<string, string>): void; timing(metric: string, value: number, tags?: Record<string, string>): void; gauge(metric: string, value: number, tags?: Record<string, string>): void; } export interface MetricsInboundMiddlewareOptions { prefix?: string; } export declare class MetricsInboundMiddleware<T = any> implements InboundMiddleware<T> { private readonly metricsCollector; private readonly prefix; constructor(metricsCollector: MetricsCollector, options?: MetricsInboundMiddlewareOptions); process(context: MessageContext<T>, next: () => Promise<void>): Promise<void>; } export interface MetricsOutboundMiddlewareOptions { prefix?: string; } export declare class MetricsOutboundMiddleware<T = any> implements OutboundMiddleware<T> { private readonly metricsCollector; private readonly prefix; constructor(metricsCollector: MetricsCollector, options?: MetricsOutboundMiddlewareOptions); processOutbound(context: MessageContext<T>, next: () => Promise<void>): Promise<void>; }