@das3mical/adonis-mercure
Version:
Mercure Hub integration for AdonisJS v6 — publish real-time updates via Server-Sent Events (SSE)
25 lines (24 loc) • 659 B
TypeScript
import type { Algorithm } from 'jws';
export interface MercureConfig {
endpoint: string;
adminToken: string;
jwt: {
alg: Algorithm;
secret: string;
};
http?: {
timeout?: number;
};
}
export interface SendOptions {
private?: boolean;
id?: string;
type?: string;
retry?: number;
}
export interface MercureContract {
generate(payload: Record<string, unknown>): Promise<string>;
generateSubscribeToken(topics: string[]): Promise<string>;
send(topics: string | string[], data?: Record<string, unknown>, options?: boolean | SendOptions): Promise<Response>;
ping(): Promise<boolean>;
}