Unify types and move to types.ts file
This commit is contained in:
parent
8b84986410
commit
047560b58c
|
@ -1,4 +1,4 @@
|
||||||
import { DatastarEventOptions, EventType, sseHeaders } from "../types.ts";
|
import { DatastarEventOptions, EventType, sseHeaders, StreamOptions } from "../types.ts";
|
||||||
|
|
||||||
import { ServerSentEventGenerator as AbstractSSEGenerator } from "../abstractServerSentEventGenerator.ts";
|
import { ServerSentEventGenerator as AbstractSSEGenerator } from "../abstractServerSentEventGenerator.ts";
|
||||||
|
|
||||||
|
@ -47,11 +47,7 @@ export class ServerSentEventGenerator extends AbstractSSEGenerator {
|
||||||
req: IncomingMessage,
|
req: IncomingMessage,
|
||||||
res: ServerResponse,
|
res: ServerResponse,
|
||||||
onStart: (stream: ServerSentEventGenerator) => Promise<void> | void,
|
onStart: (stream: ServerSentEventGenerator) => Promise<void> | void,
|
||||||
options?: Partial<{
|
options?: StreamOptions,
|
||||||
onError: (error: unknown) => Promise<void> | void;
|
|
||||||
onAbort: () => Promise<void> | void;
|
|
||||||
keepalive: boolean;
|
|
||||||
}>,
|
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const generator = new ServerSentEventGenerator(req, res);
|
const generator = new ServerSentEventGenerator(req, res);
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,13 @@ import type { Jsonifiable } from "npm:type-fest";
|
||||||
export type FragmentMergeMode = typeof FragmentMergeModes[number];
|
export type FragmentMergeMode = typeof FragmentMergeModes[number];
|
||||||
export type EventType = typeof EventTypes[number];
|
export type EventType = typeof EventTypes[number];
|
||||||
|
|
||||||
|
export type StreamOptions = Partial<{
|
||||||
|
onError: (error: unknown) => Promise<void> | void;
|
||||||
|
onAbort: (reason?: string) => Promise<void> | void;
|
||||||
|
responseInit: ResponseInit;
|
||||||
|
keepalive: boolean;
|
||||||
|
}>
|
||||||
|
|
||||||
export interface DatastarEventOptions {
|
export interface DatastarEventOptions {
|
||||||
eventId?: string;
|
eventId?: string;
|
||||||
retryDuration?: number;
|
retryDuration?: number;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { DatastarEventOptions, EventType, sseHeaders } from "../types.ts";
|
import { DatastarEventOptions, EventType, sseHeaders, StreamOptions } from "../types.ts";
|
||||||
import { ServerSentEventGenerator as AbstractSSEGenerator } from "../abstractServerSentEventGenerator.ts";
|
import { ServerSentEventGenerator as AbstractSSEGenerator } from "../abstractServerSentEventGenerator.ts";
|
||||||
|
|
||||||
import type { Jsonifiable } from "npm:type-fest";
|
import type { Jsonifiable } from "npm:type-fest";
|
||||||
|
@ -41,12 +41,7 @@ export class ServerSentEventGenerator extends AbstractSSEGenerator {
|
||||||
*/
|
*/
|
||||||
static stream(
|
static stream(
|
||||||
onStart: (stream: ServerSentEventGenerator) => Promise<void> | void,
|
onStart: (stream: ServerSentEventGenerator) => Promise<void> | void,
|
||||||
options?: Partial<{
|
options?: StreamOptions,
|
||||||
onError: (error: unknown) => Promise<void> | void;
|
|
||||||
onAbort: (reason: string) => Promise<void> | void;
|
|
||||||
responseInit: ResponseInit;
|
|
||||||
keepalive: boolean;
|
|
||||||
}>,
|
|
||||||
): Response {
|
): Response {
|
||||||
const readableStream = new ReadableStream({
|
const readableStream = new ReadableStream({
|
||||||
async start(controller) {
|
async start(controller) {
|
||||||
|
|
Loading…
Reference in New Issue