ayakashi
Version:
The next generation web scraping framework
41 lines (40 loc) • 1.58 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.startBridge = void 0;
const express_1 = __importDefault(require("express"));
const debug_1 = __importDefault(require("debug"));
const d = debug_1.default("ayakashi:bridge");
function startBridge(port) {
d("starting bridge on port:", port);
const app = express_1.default();
return new Promise(function (resolve, reject) {
const bridge = app.listen(port, function () {
d("bridge is listening on port", port);
resolve({ bridge: app, closeBridge: function () {
return new Promise((res, rej) => {
if (bridge) {
bridge.close(function (err) {
if (err) {
d(err);
rej(new Error("could not close bridge"));
}
else {
d(`bridge on port ${port} closed`);
res();
}
});
}
else {
res();
}
});
} });
}).on("error", function (err) {
reject(err);
});
});
}
exports.startBridge = startBridge;