新增: - backend/venv/ - Python 虚拟环境 - backend/start.sh - 启动脚本(使用虚拟环境) - backend/requirements.txt - 依赖列表 - .gitignore - 忽略虚拟环境和缓存文件 说明: - 每个项目使用独立虚拟环境 - 避免依赖冲突 - 启动脚本自动创建和激活虚拟环境
50 lines
2.1 KiB
JavaScript
50 lines
2.1 KiB
JavaScript
"use strict";
|
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
function createRpcMessageChannel(servicePort, clientPort, linkPorts, unlinkPorts) {
|
|
// if there is not link and unlink function provided, we assume that channel is automatically linked
|
|
let arePortsLinked = !linkPorts && !unlinkPorts;
|
|
return {
|
|
servicePort,
|
|
clientPort,
|
|
isOpen: () => servicePort.isOpen() && clientPort.isOpen() && arePortsLinked,
|
|
open: () => __awaiter(this, void 0, void 0, function* () {
|
|
if (!servicePort.isOpen()) {
|
|
yield servicePort.open();
|
|
}
|
|
if (!clientPort.isOpen()) {
|
|
yield clientPort.open();
|
|
}
|
|
if (!arePortsLinked) {
|
|
if (linkPorts) {
|
|
yield linkPorts();
|
|
}
|
|
arePortsLinked = true;
|
|
}
|
|
}),
|
|
close: () => __awaiter(this, void 0, void 0, function* () {
|
|
if (arePortsLinked) {
|
|
if (unlinkPorts) {
|
|
yield unlinkPorts();
|
|
}
|
|
arePortsLinked = false;
|
|
}
|
|
if (servicePort.isOpen()) {
|
|
yield servicePort.close();
|
|
}
|
|
if (clientPort.isOpen()) {
|
|
yield clientPort.close();
|
|
}
|
|
}),
|
|
};
|
|
}
|
|
exports.createRpcMessageChannel = createRpcMessageChannel;
|