@das3mical/adonis-mercure
Version:
Mercure Hub integration for AdonisJS v6 — publish real-time updates via Server-Sent Events (SSE)
32 lines (28 loc) • 622 B
text/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>
}