@web-widget/node 0.1.0 → 0.1.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 +36 -16
- package/dist/node.d.ts +1 -1
- package/dist/node.js +37 -18
- package/package.json +1 -1
package/dist/node.cjs
CHANGED
|
@@ -33,8 +33,8 @@ __export(src_exports, {
|
|
|
33
33
|
default: () => NodeAdapter
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(src_exports);
|
|
36
|
-
var import_primitives = __toESM(require("@edge-runtime/primitives"), 1);
|
|
37
36
|
var import_node_utils = require("@edge-runtime/node-utils");
|
|
37
|
+
var import_primitives = __toESM(require("@edge-runtime/primitives"), 1);
|
|
38
38
|
if (!Reflect.get(global, "DISABLE_INSTALL_MCA_SHIMS")) {
|
|
39
39
|
Object.assign(global, import_primitives.default, { console });
|
|
40
40
|
}
|
|
@@ -92,24 +92,44 @@ function addDuplexToInit(init) {
|
|
|
92
92
|
return init;
|
|
93
93
|
}
|
|
94
94
|
async function toServerResponse(webResponse, serverResponse) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
if (!webResponse) {
|
|
96
|
+
serverResponse.end();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
(0, import_node_utils.mergeIntoServerResponse)(
|
|
100
|
+
// @ts-ignore getAll() is not standard https://fetch.spec.whatwg.org/#headers-class
|
|
101
|
+
(0, import_node_utils.toOutgoingHeaders)(webResponse.headers),
|
|
102
|
+
serverResponse
|
|
103
|
+
);
|
|
104
|
+
serverResponse.statusCode = webResponse.status;
|
|
105
|
+
serverResponse.statusMessage = webResponse.statusText;
|
|
106
|
+
if (!webResponse.body) {
|
|
107
|
+
serverResponse.end();
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
await writeReadableStreamToWritable(webResponse.body, serverResponse);
|
|
111
|
+
}
|
|
112
|
+
async function writeReadableStreamToWritable(stream, writable) {
|
|
113
|
+
let reader = stream.getReader();
|
|
114
|
+
async function read() {
|
|
115
|
+
let { done, value } = await reader.read();
|
|
116
|
+
if (done) {
|
|
117
|
+
writable.end();
|
|
98
118
|
return;
|
|
99
119
|
}
|
|
100
|
-
(
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
);
|
|
105
|
-
serverResponse.statusCode = webResponse.status;
|
|
106
|
-
serverResponse.statusMessage = webResponse.statusText;
|
|
107
|
-
if (!webResponse.body) {
|
|
108
|
-
serverResponse.end();
|
|
109
|
-
return;
|
|
120
|
+
writable.write(value);
|
|
121
|
+
let flushable = writable;
|
|
122
|
+
if (typeof flushable.flush === "function") {
|
|
123
|
+
flushable.flush();
|
|
110
124
|
}
|
|
111
|
-
|
|
112
|
-
}
|
|
125
|
+
await read();
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
await read();
|
|
129
|
+
} catch (error) {
|
|
130
|
+
writable.destroy(error);
|
|
131
|
+
throw error;
|
|
132
|
+
}
|
|
113
133
|
}
|
|
114
134
|
function toMiddleware(webHandler, options) {
|
|
115
135
|
const toRequest = (0, import_node_utils.buildToRequest)(dependencies);
|
package/dist/node.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
1
|
import primitives from '@edge-runtime/primitives';
|
|
2
|
+
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
3
3
|
import { RequestOptions, WebHandler, NodeHandler } from '@edge-runtime/node-utils';
|
|
4
4
|
|
|
5
5
|
interface NodeAdapterOptions extends RequestOptions {
|
package/dist/node.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
|
-
import primitives from "@edge-runtime/primitives";
|
|
3
2
|
import {
|
|
3
|
+
buildToFetchEvent,
|
|
4
4
|
buildToNodeHandler,
|
|
5
5
|
buildToRequest,
|
|
6
|
-
buildToFetchEvent,
|
|
7
6
|
mergeIntoServerResponse,
|
|
8
|
-
toToReadable,
|
|
9
7
|
toOutgoingHeaders
|
|
10
8
|
} from "@edge-runtime/node-utils";
|
|
9
|
+
import primitives from "@edge-runtime/primitives";
|
|
11
10
|
if (!Reflect.get(global, "DISABLE_INSTALL_MCA_SHIMS")) {
|
|
12
11
|
Object.assign(global, primitives, { console });
|
|
13
12
|
}
|
|
@@ -65,24 +64,44 @@ function addDuplexToInit(init) {
|
|
|
65
64
|
return init;
|
|
66
65
|
}
|
|
67
66
|
async function toServerResponse(webResponse, serverResponse) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
if (!webResponse) {
|
|
68
|
+
serverResponse.end();
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
mergeIntoServerResponse(
|
|
72
|
+
// @ts-ignore getAll() is not standard https://fetch.spec.whatwg.org/#headers-class
|
|
73
|
+
toOutgoingHeaders(webResponse.headers),
|
|
74
|
+
serverResponse
|
|
75
|
+
);
|
|
76
|
+
serverResponse.statusCode = webResponse.status;
|
|
77
|
+
serverResponse.statusMessage = webResponse.statusText;
|
|
78
|
+
if (!webResponse.body) {
|
|
79
|
+
serverResponse.end();
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
await writeReadableStreamToWritable(webResponse.body, serverResponse);
|
|
83
|
+
}
|
|
84
|
+
async function writeReadableStreamToWritable(stream, writable) {
|
|
85
|
+
let reader = stream.getReader();
|
|
86
|
+
async function read() {
|
|
87
|
+
let { done, value } = await reader.read();
|
|
88
|
+
if (done) {
|
|
89
|
+
writable.end();
|
|
71
90
|
return;
|
|
72
91
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
);
|
|
78
|
-
serverResponse.statusCode = webResponse.status;
|
|
79
|
-
serverResponse.statusMessage = webResponse.statusText;
|
|
80
|
-
if (!webResponse.body) {
|
|
81
|
-
serverResponse.end();
|
|
82
|
-
return;
|
|
92
|
+
writable.write(value);
|
|
93
|
+
let flushable = writable;
|
|
94
|
+
if (typeof flushable.flush === "function") {
|
|
95
|
+
flushable.flush();
|
|
83
96
|
}
|
|
84
|
-
|
|
85
|
-
}
|
|
97
|
+
await read();
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
await read();
|
|
101
|
+
} catch (error) {
|
|
102
|
+
writable.destroy(error);
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
86
105
|
}
|
|
87
106
|
function toMiddleware(webHandler, options) {
|
|
88
107
|
const toRequest = buildToRequest(dependencies);
|