@modern-js/server-core
Version:
A Progressive React Framework for modern web development.
149 lines (148 loc) • 4.32 kB
JavaScript
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
import { isResFinalized } from "./helper";
var httpCallBack2HonoMid = function(handler) {
return function() {
var _ref = _async_to_generator(function(context, next) {
var _context_env_node, req, res, onPipe;
return _ts_generator(this, function(_state) {
switch (_state.label) {
case 0:
_context_env_node = context.env.node, req = _context_env_node.req, res = _context_env_node.res;
onPipe = function() {
res._modernBodyPiped = true;
};
res.once("pipe", onPipe);
req.__honoRequest = context.req;
req.__templates = context.get("templates") || {};
req.__serverManifest = context.get("serverManifest") || {};
req.__rscServerManifest = context.get("rscServerManifest");
req.__rscClientManifest = context.get("rscClientManifest");
req.__rscSSRManifest = context.get("rscSSRManifest");
_state.label = 1;
case 1:
_state.trys.push([
1,
,
3,
4
]);
return [
4,
handler(req, res)
];
case 2:
_state.sent();
return [
3,
4
];
case 3:
delete req.__honoRequest;
delete req.__templates;
delete req.__serverManifest;
delete req.__rscServerManifest;
delete req.__rscClientManifest;
delete req.__rscSSRManifest;
res.removeListener("pipe", onPipe);
return [
7
];
case 4:
if (!isResFinalized(res))
return [
3,
5
];
context.finalized = true;
return [
3,
7
];
case 5:
return [
4,
next()
];
case 6:
_state.sent();
_state.label = 7;
case 7:
return [
2
];
}
});
});
return function(context, next) {
return _ref.apply(this, arguments);
};
}();
};
var noop = function() {
};
var connectMid2HonoMid = function(handler) {
return function() {
var _ref = _async_to_generator(function(context, next) {
return _ts_generator(this, function(_state) {
return [
2,
new Promise(function(resolve, reject) {
var _context_env_node = context.env.node, req = _context_env_node.req, res = _context_env_node.res;
if (handler.length < 3) {
resolve(handler(req, res, noop));
} else {
handler(req, res, function(err) {
if (err) {
reject(err);
} else {
resolve(next());
}
});
}
})
];
});
});
return function(context, next) {
return _ref.apply(this, arguments);
};
}();
};
var connectMockMid2HonoMid = function(handler) {
return function() {
var _ref = _async_to_generator(function(context, next) {
return _ts_generator(this, function(_state) {
return [
2,
new Promise(function(resolve, reject) {
var _context_env_node = context.env.node, req = _context_env_node.req, res = _context_env_node.res;
if (handler.length < 3) {
res.once("finish", function() {
context.finalized = true;
resolve();
});
handler(req, res, noop);
} else {
handler(req, res, function(err) {
if (err) {
reject(err);
} else {
resolve(next());
}
});
}
})
];
});
});
return function(context, next) {
return _ref.apply(this, arguments);
};
}();
};
export {
connectMid2HonoMid,
connectMockMid2HonoMid,
httpCallBack2HonoMid
};