hdckit
Version:
A pure Node.js client for the OpenHarmony Device Connector
52 lines (51 loc) • 1.76 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLastPid = getLastPid;
exports.readTargets = readTargets;
exports.readPorts = readPorts;
const node_os_1 = __importDefault(require("node:os"));
const node_path_1 = __importDefault(require("node:path"));
const fs_1 = __importDefault(require("licia/fs"));
const toNum_1 = __importDefault(require("licia/toNum"));
const contain_1 = __importDefault(require("licia/contain"));
const map_1 = __importDefault(require("licia/map"));
async function getLastPid() {
const p = node_path_1.default.resolve(node_os_1.default.tmpdir(), '.HDCServer.pid');
if (await fs_1.default.exists(p)) {
const data = await fs_1.default.readFile(p, 'utf8');
return (0, toNum_1.default)(data);
}
return 0;
}
function readTargets(result) {
if ((0, contain_1.default)(result, 'Empty')) {
return [];
}
return result.split('\n').filter((line) => line);
}
function readPorts(result, reverse = false) {
if ((0, contain_1.default)(result, 'Empty')) {
return [];
}
const lines = result.split('\n').filter((line) => {
return line && (0, contain_1.default)(line, !reverse ? 'Forward' : 'Reverse');
});
return (0, map_1.default)(lines, (line) => {
const parts = line.split(/\s+/);
if (reverse) {
return {
target: parts[0],
local: parts[2],
remote: parts[1],
};
}
return {
target: parts[0],
local: parts[1],
remote: parts[2],
};
});
}