UNPKG

@modern-js/server-core

Version:

A Progressive React Framework for modern web development.

149 lines (148 loc) 4.32 kB
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 };