Merge a3a05c993c
into 7830ea7bae
This commit is contained in:
commit
70eff1ee9f
|
@ -4,7 +4,10 @@ import { build, emptyDir } from "@deno/dnt";
|
|||
await emptyDir("./npm");
|
||||
|
||||
await build({
|
||||
entryPoints: ["./src/node/node.ts", "./src/web/serverSentEventGenerator.ts"],
|
||||
entryPoints: [
|
||||
"./src/node/serverSentEventGenerator.ts",
|
||||
"./src/web/serverSentEventGenerator.ts",
|
||||
],
|
||||
outDir: "./npm",
|
||||
shims: {
|
||||
// see JS docs for overview and more options
|
||||
|
@ -23,6 +26,36 @@ await build({
|
|||
bugs: {
|
||||
url: "https://github.com/starfederation/datastar/issues",
|
||||
},
|
||||
exports: {
|
||||
"./abstractServerSentEventGenerator": {
|
||||
"types": "./esm/abstractServerSentEventGenerator.d.ts",
|
||||
"import": "./esm/abstractServerSentEventGenerator.js",
|
||||
"require": "./script/abstractServerSentEventGenerator.js",
|
||||
},
|
||||
"./consts": {
|
||||
"types": "./esm/consts.d.ts",
|
||||
"import": "./esm/consts.js",
|
||||
"require": "./script/consts.js",
|
||||
},
|
||||
"./types": {
|
||||
"types": "./esm/types.d.ts",
|
||||
},
|
||||
"./node": {
|
||||
"types": "./esm/node/serverSentEventGenerator.d.ts",
|
||||
"import": "./esm/node/serverSentEventGenerator.js",
|
||||
"require": "./script/node/serverSentEventGenerator.js",
|
||||
},
|
||||
"./web": {
|
||||
"types": "./esm/web/serverSentEventGenerator.d.ts",
|
||||
"import": "./esm/web/serverSentEventGenerator.js",
|
||||
"require": "./script/web/serverSentEventGenerator.js",
|
||||
},
|
||||
".": {
|
||||
"types": "./esm/node/serverSentEventGenerator.d.ts",
|
||||
"import": "./esm/node/serverSentEventGenerator.js",
|
||||
"require": "./script/node/serverSentEventGenerator.js",
|
||||
},
|
||||
},
|
||||
},
|
||||
postBuild() {
|
||||
// steps to run after building and before running the tests
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
@ -47,11 +47,7 @@ export class ServerSentEventGenerator extends AbstractSSEGenerator {
|
|||
req: IncomingMessage,
|
||||
res: ServerResponse,
|
||||
onStart: (stream: ServerSentEventGenerator) => Promise<void> | void,
|
||||
options?: Partial<{
|
||||
onError: (error: unknown) => Promise<void> | void;
|
||||
onAbort: () => Promise<void> | void;
|
||||
keepalive: boolean;
|
||||
}>,
|
||||
options?: StreamOptions,
|
||||
): Promise<void> {
|
||||
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 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 {
|
||||
eventId?: string;
|
||||
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 type { Jsonifiable } from "npm:type-fest";
|
||||
|
@ -41,12 +41,7 @@ export class ServerSentEventGenerator extends AbstractSSEGenerator {
|
|||
*/
|
||||
static stream(
|
||||
onStart: (stream: ServerSentEventGenerator) => Promise<void> | void,
|
||||
options?: Partial<{
|
||||
onError: (error: unknown) => Promise<void> | void;
|
||||
onAbort: (reason: string) => Promise<void> | void;
|
||||
responseInit: ResponseInit;
|
||||
keepalive: boolean;
|
||||
}>,
|
||||
options?: StreamOptions,
|
||||
): Response {
|
||||
const readableStream = new ReadableStream({
|
||||
async start(controller) {
|
||||
|
|
Loading…
Reference in New Issue