UNPKG

debug-server-next

Version:

Dev server for hippy-core.

42 lines (41 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DebugTargetManager = void 0; const tslib_1 = require("tslib"); const config_1 = require("@/config"); const iwdp_1 = require("@/utils/iwdp"); const db_1 = require("@/db"); const debug_target_1 = require("@/utils/debug-target"); const pub_sub_manager_1 = require("./pub-sub-manager"); class DebugTargetManager { /** * 根据 clientId 查询调试对象 */ static findDebugTarget(clientId) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const debugTargets = yield DebugTargetManager.getDebugTargets(); return debugTargets.find((target) => target.clientId === clientId); }); } } exports.DebugTargetManager = DebugTargetManager; DebugTargetManager.debugTargets = []; /** * 查询所有连接的调试对象 */ DebugTargetManager.getDebugTargets = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const { iWDPPort } = global.debugAppArgv; const { model } = db_1.getDBOperator(); const [targets, iOSPages] = yield Promise.all([model.getAll(config_1.config.redis.key), iwdp_1.getIWDPPages(iWDPPort)]); const iOSPagesWithFlag = iOSPages; targets.forEach((target, i) => { if (target.platform === "1" /* IOS */) targets[i] = iwdp_1.patchIOSTarget(target, iOSPages); }); // 追加 IWDP 获取到的 h5 页面 const h5Pages = iOSPagesWithFlag.filter((iOSPage) => !iOSPage.shouldRemove); const h5DebugTargets = h5Pages.map(debug_target_1.createTargetByIWDPPage); pub_sub_manager_1.subscribeByIWDP(h5DebugTargets); DebugTargetManager.debugTargets = targets.concat(h5DebugTargets); return DebugTargetManager.debugTargets; });