@samveys/broadcast
Meneruskan pesan SSE dan WebSocket antar instance
Daftar ini dibaca dari versi 1.0.2; jalankan pnpm sync untuk memperbaruinya.
import { broadcast, createBroadcaster, databaseBroadcast, memoryBroadcast } from '@samveys/broadcast'
Fungsi (4)
broadcast
Fungsi
Relays messages between instances: `broadcast({ driver: ({ make }) => databaseBroadcast({ database: () => make('db') }) })`.
function broadcast(options: {
Diekspor dari packages/broadcast/src/broadcast.ts
createBroadcaster
Fungsi
Tidak ada komentar dokumentasi.
function createBroadcaster(driver: BroadcastDriver): Broadcaster & {
Diekspor dari packages/broadcast/src/broadcast.ts
databaseBroadcast
Fungsi
Relays through a table every instance polls: no extra infrastructure. Each instance starts at the current highest id, delivers newer rows in id order, and prunes old ones.
function databaseBroadcast(options: DatabaseBroadcastOptions): BroadcastDriver;
Diekspor dari packages/broadcast/src/broadcast.ts
memoryBroadcast
Fungsi
In-process driver: one instance only (tests, single-node apps).
function memoryBroadcast(): BroadcastDriver;
Diekspor dari packages/broadcast/src/broadcast.ts
Interface (4)
BroadcastDriver
Interface
A transport between instances.
interface BroadcastDriver {
publish(channel: string, event: string, payload: unknown): Promise<void>;
/** Starts delivering every message to `deliver`. */
start(deliver: (message: BroadcastMessage) => void): Promise<void>;
Diekspor dari packages/broadcast/src/broadcast.ts
Broadcaster
Interface
The `'broadcast'` binding.
interface Broadcaster {
publish(channel: string, event: string, payload: unknown): Promise<void>;
subscribe(channel: string, listener: BroadcastListener): () => void;
Diekspor dari packages/broadcast/src/broadcast.ts
BroadcastMessage
Interface
One relayed message.
interface BroadcastMessage {
/** Increasing per driver; usable as an SSE id for resume. */
readonly id: number;
readonly channel: string;
readonly event: string;
readonly payload: unknown;
}
Diekspor dari packages/broadcast/src/broadcast.ts
DatabaseBroadcastOptions
Interface
Tidak ada komentar dokumentasi.
interface DatabaseBroadcastOptions {
readonly database: () => Database;
Diekspor dari packages/broadcast/src/broadcast.ts
Tipe (1)
BroadcastListener
Tipe
Tidak ada komentar dokumentasi.
type BroadcastListener = (message: BroadcastMessage) => void;
Diekspor dari packages/broadcast/src/broadcast.ts