@web-widget/node 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node.cjs +28 -3
- package/dist/node.d.ts +11 -4
- package/dist/node.js +27 -3
- package/package.json +1 -1
package/dist/node.cjs
CHANGED
|
@@ -66,9 +66,9 @@ var NodeAdapter = class {
|
|
|
66
66
|
#handler;
|
|
67
67
|
#middleware;
|
|
68
68
|
constructor(webRouter, options = {
|
|
69
|
-
defaultOrigin: webRouter?.
|
|
69
|
+
defaultOrigin: webRouter?.origin ?? "https://web-widget.js.org"
|
|
70
70
|
}) {
|
|
71
|
-
this.#handler =
|
|
71
|
+
this.#handler = buildToNodeHandler(
|
|
72
72
|
dependencies,
|
|
73
73
|
options
|
|
74
74
|
)(webRouter.handler);
|
|
@@ -95,7 +95,11 @@ function toMiddleware(webHandler, options) {
|
|
|
95
95
|
const toFetchEvent = (0, import_node_utils.buildToFetchEvent)(dependencies);
|
|
96
96
|
return async function middleware(incomingMessage, serverResponse, next) {
|
|
97
97
|
const request = toRequest(incomingMessage, options);
|
|
98
|
-
const webResponse = await webHandler(
|
|
98
|
+
const webResponse = await webHandler(
|
|
99
|
+
request,
|
|
100
|
+
process.env,
|
|
101
|
+
toFetchEvent(request)
|
|
102
|
+
);
|
|
99
103
|
await toServerResponse(webResponse, serverResponse);
|
|
100
104
|
await next();
|
|
101
105
|
};
|
|
@@ -150,3 +154,24 @@ function checkWritable(serverResponse) {
|
|
|
150
154
|
return true;
|
|
151
155
|
return socket.writable;
|
|
152
156
|
}
|
|
157
|
+
function buildToNodeHandler(dependencies2, options) {
|
|
158
|
+
const toRequest = (0, import_node_utils.buildToRequest)(dependencies2);
|
|
159
|
+
const toFetchEvent = (0, import_node_utils.buildToFetchEvent)(dependencies2);
|
|
160
|
+
return function toNodeHandler(webHandler) {
|
|
161
|
+
return (incomingMessage, serverResponse) => {
|
|
162
|
+
const request = toRequest(incomingMessage, options);
|
|
163
|
+
const maybePromise = webHandler(
|
|
164
|
+
request,
|
|
165
|
+
process.env,
|
|
166
|
+
toFetchEvent(request)
|
|
167
|
+
);
|
|
168
|
+
if (maybePromise instanceof Promise) {
|
|
169
|
+
maybePromise.then(
|
|
170
|
+
(response) => toServerResponse(response, serverResponse)
|
|
171
|
+
);
|
|
172
|
+
} else {
|
|
173
|
+
toServerResponse(maybePromise, serverResponse);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
}
|
package/dist/node.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import { RequestOptions,
|
|
1
|
+
import { RequestOptions, NodeHandler } from '@edge-runtime/node-utils';
|
|
2
2
|
import primitives from '@edge-runtime/primitives';
|
|
3
3
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
4
4
|
|
|
5
|
+
type WebHandler = (req: Request, env: Record<string, unknown>, event: FetchEvent) => Promise<Response> | Response | null | undefined;
|
|
6
|
+
declare class FetchEvent {
|
|
7
|
+
request: Request;
|
|
8
|
+
awaiting: Set<Promise<void>>;
|
|
9
|
+
response: Response | null;
|
|
10
|
+
constructor(request: Request);
|
|
11
|
+
respondWith(response: Response): void;
|
|
12
|
+
waitUntil(): void;
|
|
13
|
+
}
|
|
5
14
|
interface NodeAdapterOptions extends RequestOptions {
|
|
6
15
|
}
|
|
7
16
|
interface Middleware {
|
|
@@ -11,9 +20,7 @@ declare class NodeAdapter {
|
|
|
11
20
|
#private;
|
|
12
21
|
constructor(webRouter: {
|
|
13
22
|
handler: WebHandler;
|
|
14
|
-
|
|
15
|
-
origin?: string;
|
|
16
|
-
};
|
|
23
|
+
origin?: string;
|
|
17
24
|
}, options?: NodeAdapterOptions);
|
|
18
25
|
get middleware(): Middleware;
|
|
19
26
|
get handler(): NodeHandler;
|
package/dist/node.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
2
|
import {
|
|
3
3
|
buildToFetchEvent,
|
|
4
|
-
buildToNodeHandler,
|
|
5
4
|
buildToRequest,
|
|
6
5
|
mergeIntoServerResponse,
|
|
7
6
|
toOutgoingHeaders
|
|
@@ -38,7 +37,7 @@ var NodeAdapter = class {
|
|
|
38
37
|
#handler;
|
|
39
38
|
#middleware;
|
|
40
39
|
constructor(webRouter, options = {
|
|
41
|
-
defaultOrigin: webRouter?.
|
|
40
|
+
defaultOrigin: webRouter?.origin ?? "https://web-widget.js.org"
|
|
42
41
|
}) {
|
|
43
42
|
this.#handler = buildToNodeHandler(
|
|
44
43
|
dependencies,
|
|
@@ -67,7 +66,11 @@ function toMiddleware(webHandler, options) {
|
|
|
67
66
|
const toFetchEvent = buildToFetchEvent(dependencies);
|
|
68
67
|
return async function middleware(incomingMessage, serverResponse, next) {
|
|
69
68
|
const request = toRequest(incomingMessage, options);
|
|
70
|
-
const webResponse = await webHandler(
|
|
69
|
+
const webResponse = await webHandler(
|
|
70
|
+
request,
|
|
71
|
+
process.env,
|
|
72
|
+
toFetchEvent(request)
|
|
73
|
+
);
|
|
71
74
|
await toServerResponse(webResponse, serverResponse);
|
|
72
75
|
await next();
|
|
73
76
|
};
|
|
@@ -122,6 +125,27 @@ function checkWritable(serverResponse) {
|
|
|
122
125
|
return true;
|
|
123
126
|
return socket.writable;
|
|
124
127
|
}
|
|
128
|
+
function buildToNodeHandler(dependencies2, options) {
|
|
129
|
+
const toRequest = buildToRequest(dependencies2);
|
|
130
|
+
const toFetchEvent = buildToFetchEvent(dependencies2);
|
|
131
|
+
return function toNodeHandler(webHandler) {
|
|
132
|
+
return (incomingMessage, serverResponse) => {
|
|
133
|
+
const request = toRequest(incomingMessage, options);
|
|
134
|
+
const maybePromise = webHandler(
|
|
135
|
+
request,
|
|
136
|
+
process.env,
|
|
137
|
+
toFetchEvent(request)
|
|
138
|
+
);
|
|
139
|
+
if (maybePromise instanceof Promise) {
|
|
140
|
+
maybePromise.then(
|
|
141
|
+
(response) => toServerResponse(response, serverResponse)
|
|
142
|
+
);
|
|
143
|
+
} else {
|
|
144
|
+
toServerResponse(maybePromise, serverResponse);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
}
|
|
125
149
|
export {
|
|
126
150
|
NodeAdapter as default
|
|
127
151
|
};
|