UNPKG

@loopeco/socketio

Version:

A enhanced LoopBack's WebSocket server based on socket.io

40 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isExpressResponse = exports.isExpressRequest = exports.expressInit = void 0; const tslib_1 = require("tslib"); const express_1 = tslib_1.__importDefault(require("express")); const setPrototypeOf = require("setprototypeof"); function expressInit(request, response, next) { var _a; if (typeof request.use === 'function') { request = request.request; } if (typeof response === 'function') { next = response; response = undefined; } // eslint-disable-next-line @typescript-eslint/no-explicit-any const req = (request !== null && request !== void 0 ? request : {}); // eslint-disable-next-line @typescript-eslint/no-explicit-any const res = ((_a = response !== null && response !== void 0 ? response : req.res) !== null && _a !== void 0 ? _a : {}); if (!req.res) req.res = res; if (!res.req) res.req = req; req.next = next; if (!isExpressRequest(req)) setPrototypeOf(req, express_1.default.request); if (!isExpressResponse(res)) setPrototypeOf(res, express_1.default.response); return [req, res]; } exports.expressInit = expressInit; function isExpressRequest(x) { return !!x && typeof x.header === 'function'; } exports.isExpressRequest = isExpressRequest; function isExpressResponse(x) { return !!x && typeof x.header === 'function'; } exports.isExpressResponse = isExpressResponse; //# sourceMappingURL=express.js.map