one 1.2.83 → 1.2.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/devtools/dev.mjs +44 -0
- package/devtools/devtools.mjs +540 -0
- package/devtools/source-inspector.mjs +201 -0
- package/dist/cjs/cli/daemon.cjs +136 -0
- package/dist/cjs/cli/daemon.js +112 -0
- package/dist/cjs/cli/daemon.js.map +6 -0
- package/dist/cjs/cli/daemon.native.js +173 -0
- package/dist/cjs/cli/daemon.native.js.map +1 -0
- package/dist/cjs/createHandleRequest.cjs +15 -8
- package/dist/cjs/createHandleRequest.js +10 -6
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js +8 -3
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/daemon/index.cjs +24 -0
- package/dist/cjs/daemon/index.js +21 -0
- package/dist/cjs/daemon/index.js.map +6 -0
- package/dist/cjs/daemon/index.native.js +27 -0
- package/dist/cjs/daemon/index.native.js.map +1 -0
- package/dist/cjs/daemon/ipc.cjs +235 -0
- package/dist/cjs/daemon/ipc.js +204 -0
- package/dist/cjs/daemon/ipc.js.map +6 -0
- package/dist/cjs/daemon/ipc.native.js +276 -0
- package/dist/cjs/daemon/ipc.native.js.map +1 -0
- package/dist/cjs/daemon/picker.cjs +223 -0
- package/dist/cjs/daemon/picker.js +191 -0
- package/dist/cjs/daemon/picker.js.map +6 -0
- package/dist/cjs/daemon/picker.native.js +308 -0
- package/dist/cjs/daemon/picker.native.js.map +1 -0
- package/dist/cjs/daemon/proxy.cjs +75 -0
- package/dist/cjs/daemon/proxy.js +70 -0
- package/dist/cjs/daemon/proxy.js.map +6 -0
- package/dist/cjs/daemon/proxy.native.js +81 -0
- package/dist/cjs/daemon/proxy.native.js.map +1 -0
- package/dist/cjs/daemon/registry.cjs +85 -0
- package/dist/cjs/daemon/registry.js +81 -0
- package/dist/cjs/daemon/registry.js.map +6 -0
- package/dist/cjs/daemon/registry.native.js +120 -0
- package/dist/cjs/daemon/registry.native.js.map +1 -0
- package/dist/cjs/daemon/server.cjs +178 -0
- package/dist/cjs/daemon/server.js +179 -0
- package/dist/cjs/daemon/server.js.map +6 -0
- package/dist/cjs/daemon/server.native.js +200 -0
- package/dist/cjs/daemon/server.native.js.map +1 -0
- package/dist/cjs/daemon/tui.cjs +223 -0
- package/dist/cjs/daemon/tui.js +192 -0
- package/dist/cjs/daemon/tui.js.map +6 -0
- package/dist/cjs/daemon/tui.native.js +234 -0
- package/dist/cjs/daemon/tui.native.js.map +1 -0
- package/dist/cjs/daemon/types.cjs +16 -0
- package/dist/cjs/daemon/types.js +14 -0
- package/dist/cjs/daemon/types.js.map +6 -0
- package/dist/cjs/daemon/types.native.js +19 -0
- package/dist/cjs/daemon/types.native.js.map +1 -0
- package/dist/cjs/daemon/utils.cjs +74 -0
- package/dist/cjs/daemon/utils.js +65 -0
- package/dist/cjs/daemon/utils.js.map +6 -0
- package/dist/cjs/daemon/utils.native.js +83 -0
- package/dist/cjs/daemon/utils.native.js.map +1 -0
- package/dist/cjs/fork/createMemoryHistory.cjs +22 -8
- package/dist/cjs/fork/createMemoryHistory.js +20 -6
- package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.native.js +22 -8
- package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
- package/dist/cjs/fork/useLinking.cjs +52 -13
- package/dist/cjs/fork/useLinking.js +35 -10
- package/dist/cjs/fork/useLinking.js.map +1 -1
- package/dist/cjs/index.cjs +6 -2
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/index.native.js +6 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/router/linkingConfig.cjs +13 -2
- package/dist/cjs/router/linkingConfig.js +14 -5
- package/dist/cjs/router/linkingConfig.js.map +1 -1
- package/dist/cjs/router/linkingConfig.native.js +10 -1
- package/dist/cjs/router/linkingConfig.native.js.map +1 -1
- package/dist/cjs/router/routeMask.cjs +137 -0
- package/dist/cjs/router/routeMask.js +127 -0
- package/dist/cjs/router/routeMask.js.map +6 -0
- package/dist/cjs/router/routeMask.native.js +160 -0
- package/dist/cjs/router/routeMask.native.js.map +1 -0
- package/dist/cjs/router/router.cjs +26 -3
- package/dist/cjs/router/router.js +23 -3
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js +26 -3
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/server/PreloadScripts.native.js +45 -39
- package/dist/cjs/server/PreloadScripts.native.js.map +1 -6
- package/dist/cjs/vite/DevHead.cjs +2 -909
- package/dist/cjs/vite/DevHead.js +1 -917
- package/dist/cjs/vite/DevHead.js.map +1 -1
- package/dist/cjs/vite/DevHead.native.js +1 -882
- package/dist/cjs/vite/DevHead.native.js.map +1 -1
- package/dist/cjs/vite/one.cjs +4 -1
- package/dist/cjs/vite/one.js +4 -2
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js +4 -1
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/devtoolsPlugin.cjs +55 -0
- package/dist/cjs/vite/plugins/devtoolsPlugin.js +49 -0
- package/dist/cjs/vite/plugins/devtoolsPlugin.js.map +6 -0
- package/dist/cjs/vite/plugins/devtoolsPlugin.native.js +58 -0
- package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +1 -6
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +1 -6
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +1 -6
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +7 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js +5 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +8 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/esm/cli/daemon.js +89 -0
- package/dist/esm/cli/daemon.js.map +6 -0
- package/dist/esm/cli/daemon.mjs +102 -0
- package/dist/esm/cli/daemon.mjs.map +1 -0
- package/dist/esm/cli/daemon.native.js +136 -0
- package/dist/esm/cli/daemon.native.js.map +1 -0
- package/dist/esm/createHandleRequest.js +10 -5
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs +15 -8
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +8 -3
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/daemon/index.js +8 -0
- package/dist/esm/daemon/index.js.map +6 -0
- package/dist/esm/daemon/index.mjs +8 -0
- package/dist/esm/daemon/index.mjs.map +1 -0
- package/dist/esm/daemon/index.native.js +8 -0
- package/dist/esm/daemon/index.native.js.map +1 -0
- package/dist/esm/daemon/ipc.js +192 -0
- package/dist/esm/daemon/ipc.js.map +6 -0
- package/dist/esm/daemon/ipc.mjs +191 -0
- package/dist/esm/daemon/ipc.mjs.map +1 -0
- package/dist/esm/daemon/ipc.native.js +229 -0
- package/dist/esm/daemon/ipc.native.js.map +1 -0
- package/dist/esm/daemon/picker.js +169 -0
- package/dist/esm/daemon/picker.js.map +6 -0
- package/dist/esm/daemon/picker.mjs +186 -0
- package/dist/esm/daemon/picker.mjs.map +1 -0
- package/dist/esm/daemon/picker.native.js +268 -0
- package/dist/esm/daemon/picker.native.js.map +1 -0
- package/dist/esm/daemon/proxy.js +47 -0
- package/dist/esm/daemon/proxy.js.map +6 -0
- package/dist/esm/daemon/proxy.mjs +40 -0
- package/dist/esm/daemon/proxy.mjs.map +1 -0
- package/dist/esm/daemon/proxy.native.js +43 -0
- package/dist/esm/daemon/proxy.native.js.map +1 -0
- package/dist/esm/daemon/registry.js +65 -0
- package/dist/esm/daemon/registry.js.map +6 -0
- package/dist/esm/daemon/registry.mjs +53 -0
- package/dist/esm/daemon/registry.mjs.map +1 -0
- package/dist/esm/daemon/registry.native.js +85 -0
- package/dist/esm/daemon/registry.native.js.map +1 -0
- package/dist/esm/daemon/server.js +167 -0
- package/dist/esm/daemon/server.js.map +6 -0
- package/dist/esm/daemon/server.mjs +143 -0
- package/dist/esm/daemon/server.mjs.map +1 -0
- package/dist/esm/daemon/server.native.js +162 -0
- package/dist/esm/daemon/server.native.js.map +1 -0
- package/dist/esm/daemon/tui.js +171 -0
- package/dist/esm/daemon/tui.js.map +6 -0
- package/dist/esm/daemon/tui.mjs +187 -0
- package/dist/esm/daemon/tui.mjs.map +1 -0
- package/dist/esm/daemon/tui.native.js +195 -0
- package/dist/esm/daemon/tui.native.js.map +1 -0
- package/dist/esm/daemon/types.js +1 -0
- package/dist/esm/daemon/types.js.map +6 -0
- package/dist/esm/daemon/types.mjs +2 -0
- package/dist/esm/daemon/types.mjs.map +1 -0
- package/dist/esm/daemon/types.native.js +2 -0
- package/dist/esm/daemon/types.native.js.map +1 -0
- package/dist/esm/daemon/utils.js +42 -0
- package/dist/esm/daemon/utils.js.map +6 -0
- package/dist/esm/daemon/utils.mjs +39 -0
- package/dist/esm/daemon/utils.mjs.map +1 -0
- package/dist/esm/daemon/utils.native.js +45 -0
- package/dist/esm/daemon/utils.native.js.map +1 -0
- package/dist/esm/fork/createMemoryHistory.js +20 -6
- package/dist/esm/fork/createMemoryHistory.js.map +1 -1
- package/dist/esm/fork/createMemoryHistory.mjs +22 -8
- package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
- package/dist/esm/fork/createMemoryHistory.native.js +22 -8
- package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
- package/dist/esm/fork/useLinking.js +35 -9
- package/dist/esm/fork/useLinking.js.map +1 -1
- package/dist/esm/fork/useLinking.mjs +52 -13
- package/dist/esm/fork/useLinking.mjs.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/router/linkingConfig.js +14 -4
- package/dist/esm/router/linkingConfig.js.map +1 -1
- package/dist/esm/router/linkingConfig.mjs +12 -1
- package/dist/esm/router/linkingConfig.mjs.map +1 -1
- package/dist/esm/router/linkingConfig.native.js +10 -1
- package/dist/esm/router/linkingConfig.native.js.map +1 -1
- package/dist/esm/router/routeMask.js +111 -0
- package/dist/esm/router/routeMask.js.map +6 -0
- package/dist/esm/router/routeMask.mjs +108 -0
- package/dist/esm/router/routeMask.mjs.map +1 -0
- package/dist/esm/router/routeMask.native.js +128 -0
- package/dist/esm/router/routeMask.native.js.map +1 -0
- package/dist/esm/router/router.js +23 -2
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs +24 -3
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +24 -3
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/server/PreloadScripts.native.js +29 -33
- package/dist/esm/server/PreloadScripts.native.js.map +1 -6
- package/dist/esm/vite/DevHead.js +1 -917
- package/dist/esm/vite/DevHead.js.map +1 -1
- package/dist/esm/vite/DevHead.mjs +2 -909
- package/dist/esm/vite/DevHead.mjs.map +1 -1
- package/dist/esm/vite/DevHead.native.js +0 -881
- package/dist/esm/vite/DevHead.native.js.map +1 -1
- package/dist/esm/vite/one.js +4 -1
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs +4 -1
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +4 -1
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/devtoolsPlugin.js +33 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.js.map +6 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.mjs +31 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.mjs.map +1 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.native.js +31 -0
- package/dist/esm/vite/plugins/devtoolsPlugin.native.js.map +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +1 -6
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +1 -6
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +1 -6
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.js +5 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +7 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +8 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/package.json +12 -10
- package/src/createHandleRequest.ts +16 -3
- package/src/fork/createMemoryHistory.tsx +39 -4
- package/src/fork/useLinking.ts +83 -12
- package/src/index.ts +3 -0
- package/src/router/linkingConfig.ts +21 -4
- package/src/router/routeMask.ts +293 -0
- package/src/router/router.ts +53 -1
- package/src/vite/DevHead.tsx +1 -924
- package/src/vite/one.ts +4 -0
- package/src/vite/plugins/devtoolsPlugin.ts +45 -0
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +2 -7
- package/src/vite/plugins/virtualEntryPlugin.ts +12 -3
- package/src/vite/types.ts +1 -0
- package/types/cli/daemon.d.ts.map +1 -0
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/daemon/index.d.ts.map +1 -0
- package/types/daemon/ipc.d.ts.map +1 -0
- package/types/daemon/picker.d.ts.map +1 -0
- package/types/daemon/proxy.d.ts.map +1 -0
- package/types/daemon/registry.d.ts.map +1 -0
- package/types/daemon/server.d.ts.map +1 -0
- package/types/daemon/tui.d.ts.map +1 -0
- package/types/daemon/types.d.ts.map +1 -0
- package/types/daemon/utils.d.ts.map +1 -0
- package/types/fork/createMemoryHistory.d.ts +6 -2
- package/types/fork/createMemoryHistory.d.ts.map +1 -1
- package/types/fork/useLinking.d.ts.map +1 -1
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
- package/types/router/linkingConfig.d.ts.map +1 -1
- package/types/router/routeMask.d.ts +130 -0
- package/types/router/routeMask.d.ts.map +1 -0
- package/types/router/router.d.ts +23 -0
- package/types/router/router.d.ts.map +1 -1
- package/types/vite/DevHead.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/devtoolsPlugin.d.ts +5 -0
- package/types/vite/plugins/devtoolsPlugin.d.ts.map +1 -0
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/vite/plugins/virtualEntryPlugin.d.ts +1 -3
- package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
- package/types/vite/types.d.ts.map +1 -1
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { exec } from "child_process";
|
|
2
|
+
import { promisify } from "util";
|
|
3
|
+
import * as readline from "readline";
|
|
4
|
+
var execAsync = promisify(exec),
|
|
5
|
+
activePickerContext = null,
|
|
6
|
+
rl = null,
|
|
7
|
+
stdinDataListener = null;
|
|
8
|
+
async function getBootedSimulators() {
|
|
9
|
+
try {
|
|
10
|
+
var {
|
|
11
|
+
stdout
|
|
12
|
+
} = await execAsync("xcrun simctl list devices booted -j"),
|
|
13
|
+
data = JSON.parse(stdout),
|
|
14
|
+
simulators = [],
|
|
15
|
+
_iteratorNormalCompletion = !0,
|
|
16
|
+
_didIteratorError = !1,
|
|
17
|
+
_iteratorError = void 0;
|
|
18
|
+
try {
|
|
19
|
+
for (var _iterator = Object.entries(data.devices || {})[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
20
|
+
var [runtime, devices] = _step.value,
|
|
21
|
+
versionMatch = runtime.match(/iOS-(\d+)-(\d+)/),
|
|
22
|
+
iosVersion = versionMatch ? `${versionMatch[1]}.${versionMatch[2]}` : void 0,
|
|
23
|
+
_iteratorNormalCompletion1 = !0,
|
|
24
|
+
_didIteratorError1 = !1,
|
|
25
|
+
_iteratorError1 = void 0;
|
|
26
|
+
try {
|
|
27
|
+
for (var _iterator1 = devices[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
28
|
+
var device = _step1.value;
|
|
29
|
+
device.state === "Booted" && simulators.push({
|
|
30
|
+
name: device.name,
|
|
31
|
+
udid: device.udid,
|
|
32
|
+
state: device.state,
|
|
33
|
+
iosVersion
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
} catch (err) {
|
|
37
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
38
|
+
} finally {
|
|
39
|
+
try {
|
|
40
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
41
|
+
} finally {
|
|
42
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
} catch (err) {
|
|
47
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
48
|
+
} finally {
|
|
49
|
+
try {
|
|
50
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
51
|
+
} finally {
|
|
52
|
+
if (_didIteratorError) throw _iteratorError;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return simulators;
|
|
56
|
+
} catch {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async function showMacOSDialog(bundleId, servers) {
|
|
61
|
+
if (process.platform !== "darwin") return null;
|
|
62
|
+
var simulators = await getBootedSimulators(),
|
|
63
|
+
simInfo = "";
|
|
64
|
+
if (simulators.length > 0) {
|
|
65
|
+
var seen = /* @__PURE__ */new Set(),
|
|
66
|
+
uniqueSims = [],
|
|
67
|
+
_iteratorNormalCompletion = !0,
|
|
68
|
+
_didIteratorError = !1,
|
|
69
|
+
_iteratorError = void 0;
|
|
70
|
+
try {
|
|
71
|
+
for (var _iterator = simulators[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
72
|
+
var sim = _step.value,
|
|
73
|
+
key = `${sim.name}-${sim.iosVersion || ""}`;
|
|
74
|
+
seen.has(key) || (seen.add(key), uniqueSims.push(sim.iosVersion ? `${sim.name} (iOS ${sim.iosVersion})` : sim.name));
|
|
75
|
+
}
|
|
76
|
+
} catch (err) {
|
|
77
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
78
|
+
} finally {
|
|
79
|
+
try {
|
|
80
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
81
|
+
} finally {
|
|
82
|
+
if (_didIteratorError) throw _iteratorError;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
uniqueSims.length === 1 ? simInfo = `\\n\\nFrom: ${uniqueSims[0]}` : simInfo = `\\n\\nActive simulators: ${uniqueSims.slice(0, 3).join(", ")}${uniqueSims.length > 3 ? "..." : ""}`;
|
|
86
|
+
}
|
|
87
|
+
var choices = servers.map(function (s, i) {
|
|
88
|
+
var shortRoot = s.root.replace(process.env.HOME || "", "~");
|
|
89
|
+
return `${i + 1}. ${shortRoot} (port ${s.port})`;
|
|
90
|
+
}),
|
|
91
|
+
choicesStr = choices.map(function (c) {
|
|
92
|
+
return `"${c.replace(/"/g, '\\"')}"`;
|
|
93
|
+
}).join(", "),
|
|
94
|
+
prompt = `${bundleId} bundle requested${simInfo}\\n\\nWhich project should serve it?`,
|
|
95
|
+
script = `choose from list {${choicesStr}} with title "one daemon" with prompt "${prompt}" default items {"${choices[0].replace(/"/g, '\\"')}"}`;
|
|
96
|
+
try {
|
|
97
|
+
var {
|
|
98
|
+
stdout
|
|
99
|
+
} = await execAsync(`osascript -e '${script}'`),
|
|
100
|
+
result = stdout.trim();
|
|
101
|
+
if (result === "false" || !result) return null;
|
|
102
|
+
var match = result.match(/^(\d+)\./);
|
|
103
|
+
if (match) {
|
|
104
|
+
var index = parseInt(match[1], 10) - 1;
|
|
105
|
+
if (index >= 0 && index < servers.length) return {
|
|
106
|
+
server: servers[index],
|
|
107
|
+
remember: !1
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
return null;
|
|
111
|
+
} catch {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function showPicker(context) {
|
|
116
|
+
if (activePickerContext = context, process.platform === "darwin") {
|
|
117
|
+
showMacOSDialog(context.bundleId, context.servers).then(function (result) {
|
|
118
|
+
result ? (cleanupPicker(), context.onSelect(result.server, result.remember)) : activePickerContext === context && showTerminalPicker(context);
|
|
119
|
+
});
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
showTerminalPicker(context);
|
|
123
|
+
}
|
|
124
|
+
function showTerminalPicker(context) {
|
|
125
|
+
console.log(`
|
|
126
|
+
` + "\u2500".repeat(60)), console.log(`\u{1F500} ${context.bundleId} bundle requested`), console.log("\u2500".repeat(60)), getBootedSimulators().then(function (sims) {
|
|
127
|
+
if (sims.length > 0) {
|
|
128
|
+
var seen = /* @__PURE__ */new Set(),
|
|
129
|
+
uniqueSims = [],
|
|
130
|
+
_iteratorNormalCompletion = !0,
|
|
131
|
+
_didIteratorError = !1,
|
|
132
|
+
_iteratorError = void 0;
|
|
133
|
+
try {
|
|
134
|
+
for (var _iterator = sims[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
135
|
+
var sim = _step.value,
|
|
136
|
+
key = `${sim.name}-${sim.iosVersion || ""}`;
|
|
137
|
+
seen.has(key) || (seen.add(key), uniqueSims.push(sim));
|
|
138
|
+
}
|
|
139
|
+
} catch (err) {
|
|
140
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
141
|
+
} finally {
|
|
142
|
+
try {
|
|
143
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
144
|
+
} finally {
|
|
145
|
+
if (_didIteratorError) throw _iteratorError;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (uniqueSims.length === 1) {
|
|
149
|
+
var sim1 = uniqueSims[0];
|
|
150
|
+
console.log(`
|
|
151
|
+
From: ${sim1.name}${sim1.iosVersion ? ` (iOS ${sim1.iosVersion})` : ""}`);
|
|
152
|
+
} else {
|
|
153
|
+
console.log(`
|
|
154
|
+
Active simulators:`);
|
|
155
|
+
var _iteratorNormalCompletion1 = !0,
|
|
156
|
+
_didIteratorError1 = !1,
|
|
157
|
+
_iteratorError1 = void 0;
|
|
158
|
+
try {
|
|
159
|
+
for (var _iterator1 = uniqueSims.slice(0, 5)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
160
|
+
var sim2 = _step1.value;
|
|
161
|
+
console.log(` \u2022 ${sim2.name}${sim2.iosVersion ? ` (iOS ${sim2.iosVersion})` : ""}`);
|
|
162
|
+
}
|
|
163
|
+
} catch (err) {
|
|
164
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
165
|
+
} finally {
|
|
166
|
+
try {
|
|
167
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
168
|
+
} finally {
|
|
169
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}), console.log(`
|
|
175
|
+
Which project should serve it?`), context.servers.forEach(function (server, i) {
|
|
176
|
+
var shortRoot = server.root.replace(process.env.HOME || "", "~");
|
|
177
|
+
console.log(` [${i + 1}] ${shortRoot} (port ${server.port})`);
|
|
178
|
+
}), console.log(`
|
|
179
|
+
Press 1-` + context.servers.length + " to select"), console.log("Or 'r' + number to remember (e.g., 'r1')"), console.log(`Press 'c' to cancel
|
|
180
|
+
`), setupKeyboardInput();
|
|
181
|
+
}
|
|
182
|
+
function setupKeyboardInput() {
|
|
183
|
+
if (!rl) {
|
|
184
|
+
rl = readline.createInterface({
|
|
185
|
+
input: process.stdin,
|
|
186
|
+
output: process.stdout
|
|
187
|
+
}), process.stdin.isTTY && process.stdin.setRawMode(!0), process.stdin.resume();
|
|
188
|
+
var buffer = "";
|
|
189
|
+
stdinDataListener = function (key) {
|
|
190
|
+
var str = key.toString();
|
|
191
|
+
if (str === "") {
|
|
192
|
+
cancelPicker();
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
if (str === "\x1B") {
|
|
196
|
+
cancelPicker();
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
if (str === "\x7F") {
|
|
200
|
+
buffer = buffer.slice(0, -1);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
if (str === "\r" || str === `
|
|
204
|
+
`) {
|
|
205
|
+
processInput(buffer), buffer = "";
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
buffer += str, buffer.length === 1 && /^[1-9]$/.test(buffer) || buffer.length === 2 && /^r[1-9]$/i.test(buffer) ? (processInput(buffer), buffer = "") : buffer.toLowerCase() === "c" && (cancelPicker(), buffer = "");
|
|
209
|
+
}, process.stdin.on("data", stdinDataListener);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
function processInput(input) {
|
|
213
|
+
if (activePickerContext) {
|
|
214
|
+
var remember = input.toLowerCase().startsWith("r"),
|
|
215
|
+
numStr = remember ? input.slice(1) : input,
|
|
216
|
+
num = parseInt(numStr, 10);
|
|
217
|
+
if (isNaN(num) || num < 1 || num > activePickerContext.servers.length) {
|
|
218
|
+
console.log(`Invalid selection: ${input}`);
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
var server = activePickerContext.servers[num - 1],
|
|
222
|
+
context = activePickerContext;
|
|
223
|
+
cleanupPicker(), context.onSelect(server, remember);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
function cancelPicker() {
|
|
227
|
+
var context = activePickerContext;
|
|
228
|
+
cleanupPicker(), context && context.onCancel();
|
|
229
|
+
}
|
|
230
|
+
function cleanupPicker() {
|
|
231
|
+
activePickerContext = null, stdinDataListener && (process.stdin.removeListener("data", stdinDataListener), stdinDataListener = null), rl && (rl.close(), rl = null), process.stdin.isTTY && process.stdin.setRawMode(!1);
|
|
232
|
+
}
|
|
233
|
+
var pendingPickerResolvers = /* @__PURE__ */new Map();
|
|
234
|
+
function resolvePendingPicker(bundleId, serverId) {
|
|
235
|
+
var resolver = pendingPickerResolvers.get(bundleId);
|
|
236
|
+
if (!resolver || !activePickerContext) return !1;
|
|
237
|
+
var server = activePickerContext.servers.find(function (s) {
|
|
238
|
+
return s.id === serverId;
|
|
239
|
+
});
|
|
240
|
+
return server ? (pendingPickerResolvers.delete(bundleId), cleanupPicker(), resolver.resolve(server), !0) : !1;
|
|
241
|
+
}
|
|
242
|
+
function pickServer(bundleId, servers) {
|
|
243
|
+
return new Promise(function (resolve, reject) {
|
|
244
|
+
pendingPickerResolvers.set(bundleId, {
|
|
245
|
+
resolve: function (server) {
|
|
246
|
+
return resolve({
|
|
247
|
+
server,
|
|
248
|
+
remember: !1
|
|
249
|
+
});
|
|
250
|
+
},
|
|
251
|
+
reject
|
|
252
|
+
}), showPicker({
|
|
253
|
+
bundleId,
|
|
254
|
+
servers,
|
|
255
|
+
onSelect: function (server, remember) {
|
|
256
|
+
pendingPickerResolvers.delete(bundleId), resolve({
|
|
257
|
+
server,
|
|
258
|
+
remember
|
|
259
|
+
});
|
|
260
|
+
},
|
|
261
|
+
onCancel: function () {
|
|
262
|
+
pendingPickerResolvers.delete(bundleId), reject(new Error("Selection cancelled"));
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
export { getBootedSimulators, pickServer, resolvePendingPicker, showPicker };
|
|
268
|
+
//# sourceMappingURL=picker.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["exec","promisify","readline","execAsync","activePickerContext","rl","stdinDataListener","getBootedSimulators","stdout","data","JSON","parse","simulators","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","devices","Symbol","iterator","_step","next","done","runtime","value","versionMatch","match","iosVersion","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","device","state","push","name","udid","err","return","showMacOSDialog","bundleId","servers","process","platform","simInfo","length","seen","Set","uniqueSims","sim","key","has","add","slice","join","choices","map","s","i","shortRoot","root","replace","env","HOME","port","choicesStr","c","prompt","script","result","trim","index","parseInt","server","remember","showPicker","context","then","cleanupPicker","onSelect","showTerminalPicker","console","log","repeat","sims","sim1","sim2","forEach","setupKeyboardInput","createInterface","input","stdin","output","isTTY","setRawMode","resume","buffer"],"sources":["../../../src/daemon/picker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as http from "node:http";
|
|
2
|
+
import * as net from "node:net";
|
|
3
|
+
function proxyHttpRequest(req, res, target) {
|
|
4
|
+
const options = {
|
|
5
|
+
hostname: "localhost",
|
|
6
|
+
port: target.port,
|
|
7
|
+
path: req.url,
|
|
8
|
+
method: req.method,
|
|
9
|
+
headers: {
|
|
10
|
+
...req.headers,
|
|
11
|
+
// preserve original host but add forwarded headers
|
|
12
|
+
"x-forwarded-host": req.headers.host,
|
|
13
|
+
"x-forwarded-for": req.socket.remoteAddress
|
|
14
|
+
}
|
|
15
|
+
}, proxyReq = http.request(options, (proxyRes) => {
|
|
16
|
+
res.writeHead(proxyRes.statusCode || 500, proxyRes.headers), proxyRes.pipe(res);
|
|
17
|
+
});
|
|
18
|
+
proxyReq.on("error", (err) => {
|
|
19
|
+
console.error(`[daemon] Proxy error to port ${target.port}:`, err.message), res.headersSent || (res.writeHead(502), res.end(`Bad Gateway: ${err.message}`));
|
|
20
|
+
}), req.pipe(proxyReq);
|
|
21
|
+
}
|
|
22
|
+
function proxyWebSocket(req, socket, head, target) {
|
|
23
|
+
const proxySocket = net.connect(target.port, "localhost", () => {
|
|
24
|
+
const reqLines = [
|
|
25
|
+
`${req.method} ${req.url} HTTP/1.1`,
|
|
26
|
+
...Object.entries(req.headers).map(([k, v]) => Array.isArray(v) ? `${k}: ${v.join(", ")}` : `${k}: ${v}`),
|
|
27
|
+
"",
|
|
28
|
+
""
|
|
29
|
+
];
|
|
30
|
+
proxySocket.write(reqLines.join(`\r
|
|
31
|
+
`)), head.length && proxySocket.write(head), socket.pipe(proxySocket), proxySocket.pipe(socket);
|
|
32
|
+
});
|
|
33
|
+
proxySocket.on("error", (err) => {
|
|
34
|
+
console.error(`[daemon] WebSocket proxy error to port ${target.port}:`, err.message), socket.end();
|
|
35
|
+
}), socket.on("error", (err) => {
|
|
36
|
+
console.error("[daemon] Client socket error:", err.message), proxySocket.end();
|
|
37
|
+
}), socket.on("close", () => {
|
|
38
|
+
proxySocket.end();
|
|
39
|
+
}), proxySocket.on("close", () => {
|
|
40
|
+
socket.end();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
proxyHttpRequest,
|
|
45
|
+
proxyWebSocket
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=proxy.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/daemon/proxy.ts"],
|
|
4
|
+
"mappings": "AAEA,YAAY,UAAU;AACtB,YAAY,SAAS;AAGd,SAAS,iBACd,KACA,KACA,QACM;AACN,QAAM,UAA+B;AAAA,IACnC,UAAU;AAAA,IACV,MAAM,OAAO;AAAA,IACb,MAAM,IAAI;AAAA,IACV,QAAQ,IAAI;AAAA,IACZ,SAAS;AAAA,MACP,GAAG,IAAI;AAAA;AAAA,MAEP,oBAAoB,IAAI,QAAQ;AAAA,MAChC,mBAAmB,IAAI,OAAO;AAAA,IAChC;AAAA,EACF,GAEM,WAAW,KAAK,QAAQ,SAAS,CAAC,aAAa;AACnD,QAAI,UAAU,SAAS,cAAc,KAAK,SAAS,OAAO,GAC1D,SAAS,KAAK,GAAG;AAAA,EACnB,CAAC;AAED,WAAS,GAAG,SAAS,CAAC,QAAQ;AAC5B,YAAQ,MAAM,gCAAgC,OAAO,IAAI,KAAK,IAAI,OAAO,GACpE,IAAI,gBACP,IAAI,UAAU,GAAG,GACjB,IAAI,IAAI,gBAAgB,IAAI,OAAO,EAAE;AAAA,EAEzC,CAAC,GAED,IAAI,KAAK,QAAQ;AACnB;AAEO,SAAS,eACd,KACA,QACA,MACA,QACM;AACN,QAAM,cAAc,IAAI,QAAQ,OAAO,MAAM,aAAa,MAAM;AAE9D,UAAM,WAAW;AAAA,MACf,GAAG,IAAI,MAAM,IAAI,IAAI,GAAG;AAAA,MACxB,GAAG,OAAO,QAAQ,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MACnC,MAAM,QAAQ,CAAC,IAAU,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAC3C,GAAG,CAAC,KAAK,CAAC,EAClB;AAAA,MACD;AAAA,MACA;AAAA,IACF;AAEA,gBAAY,MAAM,SAAS,KAAK;AAAA,CAAM,CAAC,GACnC,KAAK,UACP,YAAY,MAAM,IAAI,GAIxB,OAAO,KAAK,WAAW,GACvB,YAAY,KAAK,MAAM;AAAA,EACzB,CAAC;AAED,cAAY,GAAG,SAAS,CAAC,QAAQ;AAC/B,YAAQ,MAAM,0CAA0C,OAAO,IAAI,KAAK,IAAI,OAAO,GACnF,OAAO,IAAI;AAAA,EACb,CAAC,GAED,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC1B,YAAQ,MAAM,iCAAiC,IAAI,OAAO,GAC1D,YAAY,IAAI;AAAA,EAClB,CAAC,GAED,OAAO,GAAG,SAAS,MAAM;AACvB,gBAAY,IAAI;AAAA,EAClB,CAAC,GAED,YAAY,GAAG,SAAS,MAAM;AAC5B,WAAO,IAAI;AAAA,EACb,CAAC;AACH;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as http from "node:http";
|
|
2
|
+
import * as net from "node:net";
|
|
3
|
+
function proxyHttpRequest(req, res, target) {
|
|
4
|
+
const options = {
|
|
5
|
+
hostname: "localhost",
|
|
6
|
+
port: target.port,
|
|
7
|
+
path: req.url,
|
|
8
|
+
method: req.method,
|
|
9
|
+
headers: {
|
|
10
|
+
...req.headers,
|
|
11
|
+
// preserve original host but add forwarded headers
|
|
12
|
+
"x-forwarded-host": req.headers.host,
|
|
13
|
+
"x-forwarded-for": req.socket.remoteAddress
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
proxyReq = http.request(options, proxyRes => {
|
|
17
|
+
res.writeHead(proxyRes.statusCode || 500, proxyRes.headers), proxyRes.pipe(res);
|
|
18
|
+
});
|
|
19
|
+
proxyReq.on("error", err => {
|
|
20
|
+
console.error(`[daemon] Proxy error to port ${target.port}:`, err.message), res.headersSent || (res.writeHead(502), res.end(`Bad Gateway: ${err.message}`));
|
|
21
|
+
}), req.pipe(proxyReq);
|
|
22
|
+
}
|
|
23
|
+
function proxyWebSocket(req, socket, head, target) {
|
|
24
|
+
const proxySocket = net.connect(target.port, "localhost", () => {
|
|
25
|
+
const reqLines = [`${req.method} ${req.url} HTTP/1.1`, ...Object.entries(req.headers).map(([k, v]) => Array.isArray(v) ? `${k}: ${v.join(", ")}` : `${k}: ${v}`), "", ""];
|
|
26
|
+
proxySocket.write(reqLines.join(`\r
|
|
27
|
+
`)), head.length && proxySocket.write(head), socket.pipe(proxySocket), proxySocket.pipe(socket);
|
|
28
|
+
});
|
|
29
|
+
proxySocket.on("error", err => {
|
|
30
|
+
console.error(`[daemon] WebSocket proxy error to port ${target.port}:`, err.message), socket.end();
|
|
31
|
+
}), socket.on("error", err => {
|
|
32
|
+
console.error("[daemon] Client socket error:", err.message), proxySocket.end();
|
|
33
|
+
}), socket.on("close", () => {
|
|
34
|
+
proxySocket.end();
|
|
35
|
+
}), proxySocket.on("close", () => {
|
|
36
|
+
socket.end();
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
export { proxyHttpRequest, proxyWebSocket };
|
|
40
|
+
//# sourceMappingURL=proxy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["http","net","proxyHttpRequest","req","res","target","options","hostname","port","path","url","method","headers","host","socket","remoteAddress","proxyReq","request","proxyRes","writeHead","statusCode","pipe","on","err","console","error","message","headersSent","end","proxyWebSocket","head","proxySocket","connect","reqLines","Object","entries","map","k","v","Array","isArray","join","write","length"],"sources":["../../../src/daemon/proxy.ts"],"sourcesContent":[null],"mappings":"AAEA,YAAYA,IAAA,MAAU;AACtB,YAAYC,GAAA,MAAS;AAGd,SAASC,iBACdC,GAAA,EACAC,GAAA,EACAC,MAAA,EACM;EACN,MAAMC,OAAA,GAA+B;MACnCC,QAAA,EAAU;MACVC,IAAA,EAAMH,MAAA,CAAOG,IAAA;MACbC,IAAA,EAAMN,GAAA,CAAIO,GAAA;MACVC,MAAA,EAAQR,GAAA,CAAIQ,MAAA;MACZC,OAAA,EAAS;QACP,GAAGT,GAAA,CAAIS,OAAA;QAAA;QAEP,oBAAoBT,GAAA,CAAIS,OAAA,CAAQC,IAAA;QAChC,mBAAmBV,GAAA,CAAIW,MAAA,CAAOC;MAChC;IACF;IAEMC,QAAA,GAAWhB,IAAA,CAAKiB,OAAA,CAAQX,OAAA,EAAUY,QAAA,IAAa;MACnDd,GAAA,CAAIe,SAAA,CAAUD,QAAA,CAASE,UAAA,IAAc,KAAKF,QAAA,CAASN,OAAO,GAC1DM,QAAA,CAASG,IAAA,CAAKjB,GAAG;IACnB,CAAC;EAEDY,QAAA,CAASM,EAAA,CAAG,SAAUC,GAAA,IAAQ;IAC5BC,OAAA,CAAQC,KAAA,CAAM,gCAAgCpB,MAAA,CAAOG,IAAI,KAAKe,GAAA,CAAIG,OAAO,GACpEtB,GAAA,CAAIuB,WAAA,KACPvB,GAAA,CAAIe,SAAA,CAAU,GAAG,GACjBf,GAAA,CAAIwB,GAAA,CAAI,gBAAgBL,GAAA,CAAIG,OAAO,EAAE;EAEzC,CAAC,GAEDvB,GAAA,CAAIkB,IAAA,CAAKL,QAAQ;AACnB;AAEO,SAASa,eACd1B,GAAA,EACAW,MAAA,EACAgB,IAAA,EACAzB,MAAA,EACM;EACN,MAAM0B,WAAA,GAAc9B,GAAA,CAAI+B,OAAA,CAAQ3B,MAAA,CAAOG,IAAA,EAAM,aAAa,MAAM;IAE9D,MAAMyB,QAAA,GAAW,CACf,GAAG9B,GAAA,CAAIQ,MAAM,IAAIR,GAAA,CAAIO,GAAG,aACxB,GAAGwB,MAAA,CAAOC,OAAA,CAAQhC,GAAA,CAAIS,OAAO,EAAEwB,GAAA,CAAI,CAAC,CAACC,CAAA,EAAGC,CAAC,MACnCC,KAAA,CAAMC,OAAA,CAAQF,CAAC,IAAU,GAAGD,CAAC,KAAKC,CAAA,CAAEG,IAAA,CAAK,IAAI,CAAC,KAC3C,GAAGJ,CAAC,KAAKC,CAAC,EAClB,GACD,IACA,GACF;IAEAP,WAAA,CAAYW,KAAA,CAAMT,QAAA,CAASQ,IAAA,CAAK;AAAA,CAAM,CAAC,GACnCX,IAAA,CAAKa,MAAA,IACPZ,WAAA,CAAYW,KAAA,CAAMZ,IAAI,GAIxBhB,MAAA,CAAOO,IAAA,CAAKU,WAAW,GACvBA,WAAA,CAAYV,IAAA,CAAKP,MAAM;EACzB,CAAC;EAEDiB,WAAA,CAAYT,EAAA,CAAG,SAAUC,GAAA,IAAQ;IAC/BC,OAAA,CAAQC,KAAA,CAAM,0CAA0CpB,MAAA,CAAOG,IAAI,KAAKe,GAAA,CAAIG,OAAO,GACnFZ,MAAA,CAAOc,GAAA,CAAI;EACb,CAAC,GAEDd,MAAA,CAAOQ,EAAA,CAAG,SAAUC,GAAA,IAAQ;IAC1BC,OAAA,CAAQC,KAAA,CAAM,iCAAiCF,GAAA,CAAIG,OAAO,GAC1DK,WAAA,CAAYH,GAAA,CAAI;EAClB,CAAC,GAEDd,MAAA,CAAOQ,EAAA,CAAG,SAAS,MAAM;IACvBS,WAAA,CAAYH,GAAA,CAAI;EAClB,CAAC,GAEDG,WAAA,CAAYT,EAAA,CAAG,SAAS,MAAM;IAC5BR,MAAA,CAAOc,GAAA,CAAI;EACb,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as http from "http";
|
|
2
|
+
import * as net from "net";
|
|
3
|
+
function proxyHttpRequest(req, res, target) {
|
|
4
|
+
var options = {
|
|
5
|
+
hostname: "localhost",
|
|
6
|
+
port: target.port,
|
|
7
|
+
path: req.url,
|
|
8
|
+
method: req.method,
|
|
9
|
+
headers: {
|
|
10
|
+
...req.headers,
|
|
11
|
+
// preserve original host but add forwarded headers
|
|
12
|
+
"x-forwarded-host": req.headers.host,
|
|
13
|
+
"x-forwarded-for": req.socket.remoteAddress
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
proxyReq = http.request(options, function (proxyRes) {
|
|
17
|
+
res.writeHead(proxyRes.statusCode || 500, proxyRes.headers), proxyRes.pipe(res);
|
|
18
|
+
});
|
|
19
|
+
proxyReq.on("error", function (err) {
|
|
20
|
+
console.error(`[daemon] Proxy error to port ${target.port}:`, err.message), res.headersSent || (res.writeHead(502), res.end(`Bad Gateway: ${err.message}`));
|
|
21
|
+
}), req.pipe(proxyReq);
|
|
22
|
+
}
|
|
23
|
+
function proxyWebSocket(req, socket, head, target) {
|
|
24
|
+
var proxySocket = net.connect(target.port, "localhost", function () {
|
|
25
|
+
var reqLines = [`${req.method} ${req.url} HTTP/1.1`, ...Object.entries(req.headers).map(function (param) {
|
|
26
|
+
var [k, v] = param;
|
|
27
|
+
return Array.isArray(v) ? `${k}: ${v.join(", ")}` : `${k}: ${v}`;
|
|
28
|
+
}), "", ""];
|
|
29
|
+
proxySocket.write(reqLines.join(`\r
|
|
30
|
+
`)), head.length && proxySocket.write(head), socket.pipe(proxySocket), proxySocket.pipe(socket);
|
|
31
|
+
});
|
|
32
|
+
proxySocket.on("error", function (err) {
|
|
33
|
+
console.error(`[daemon] WebSocket proxy error to port ${target.port}:`, err.message), socket.end();
|
|
34
|
+
}), socket.on("error", function (err) {
|
|
35
|
+
console.error("[daemon] Client socket error:", err.message), proxySocket.end();
|
|
36
|
+
}), socket.on("close", function () {
|
|
37
|
+
proxySocket.end();
|
|
38
|
+
}), proxySocket.on("close", function () {
|
|
39
|
+
socket.end();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export { proxyHttpRequest, proxyWebSocket };
|
|
43
|
+
//# sourceMappingURL=proxy.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["http","net","proxyHttpRequest","req","res","target","options","hostname","port","path","url","method","headers","host","socket","remoteAddress","proxyReq","request","proxyRes","writeHead","statusCode","pipe","on","err","console","error","message","headersSent","end","proxyWebSocket","head","proxySocket","connect","reqLines","Object","entries","map","param","k","v","Array","isArray","join","write","length"],"sources":["../../../src/daemon/proxy.ts"],"sourcesContent":[null],"mappings":"AAEA,YAAYA,IAAA,MAAU;AACtB,YAAYC,GAAA,MAAS;AAGd,SAASC,iBACdC,GAAA,EACAC,GAAA,EACAC,MAAA,EACM;EACN,IAAAC,OAAM;MACJC,QAAA,EAAU;MACVC,IAAA,EAAMH,MAAA,CAAOG,IAAA;MACbC,IAAA,EAAMN,GAAA,CAAIO,GAAA;MACVC,MAAA,EAAQR,GAAA,CAAIQ,MAAA;MACZC,OAAA,EAAS;QACP,GAAGT,GAAA,CAAIS,OAAA;QAAA;QAEP,oBAAoBT,GAAA,CAAIS,OAAA,CAAQC,IAAA;QAChC,mBAAmBV,GAAA,CAAIW,MAAA,CAAOC;MAChC;IACF;IAEMC,QAAA,GAAWhB,IAAA,CAAKiB,OAAA,CAAQX,OAAA,EAAS,UAACY,QAAa;MACnDd,GAAA,CAAIe,SAAA,CAAUD,QAAA,CAASE,UAAA,IAAc,KAAKF,QAAA,CAASN,OAAO,GAC1DM,QAAA,CAASG,IAAA,CAAKjB,GAAG;IACnB,CAAC;EAEDY,QAAA,CAASM,EAAA,CAAG,SAAS,UAASC,GAAA;IAC5BC,OAAA,CAAQC,KAAA,CAAM,gCAAgCpB,MAAA,CAAOG,IAAI,KAAKe,GAAA,CAAIG,OAAO,GACpEtB,GAAA,CAAIuB,WAAA,KACPvB,GAAA,CAAIe,SAAA,CAAU,GAAG,GACjBf,GAAA,CAAIwB,GAAA,CAAI,gBAAgBL,GAAA,CAAIG,OAAO,EAAE;EAEzC,CAAC,GAEDvB,GAAA,CAAIkB,IAAA,CAAKL,QAAQ;AACnB;AAEO,SAASa,eACd1B,GAAA,EACAW,MAAA,EACAgB,IAAA,EACAzB,MAAA,EACM;EACN,IAAA0B,WAAM,GAAA9B,GAAc,CAAA+B,OAAI,CAAA3B,MAAQ,CAAAG,IAAO,aAAM,cAAmB;IAE9D,IAAAyB,QAAM,IACJ,GAAG9B,GAAA,CAAIQ,MAAM,IAAIR,GAAA,CAAIO,GAAG,aACxB,GAAGwB,MAAA,CAAOC,OAAA,CAAQhC,GAAA,CAAIS,OAAO,EAAEwB,GAAA,CAAI,UAAMC,KACnC;MAGN,KAAAC,CAAA,EAAAC,CAAA,IAAAF,KAAA;MACA,OAAAG,KAAA,CAAAC,OAAA,CAAAF,CAAA,OAAAD,CAAA,KAAAC,CAAA,CAAAG,IAAA,cAAAJ,CAAA,KAAAC,CAAA;IACF,IAEA,IACI,GAOL;IAEDR,WAAY,CAAAY,KAAG,CAAAV,QAAU,CAAAS,IAAQ;AAC/B,KAAAZ,IAAA,CAAAc,MAAQ,IAAMb,WAAA,CAAAY,KAAA,CAAAb,IAAA,GAAAhB,MAAA,CAAAO,IAAA,CAAAU,WAAiD,GAAIA,WAAS,CAAAV,IAAO,CAAAP,MACnF;EACF,CAAC;EAGCiB,WAAQ,CAAAT,EAAA,QAAM,YAAAC,GAAA;IAEfC,OAED,CAAAC,KAAU,2CAAepB,MAAA,CAAAG,IAAA,KAAAe,GAAA,CAAAG,OAAA,GAAAZ,MAAA,CAAAc,GAAA;EACvB,IAAAd,MAAA,CAAAQ,EAAA,CAAY,OAAI,YAAAC,GAAA;IACjBC,OAED,CAAAC,KAAA,CAAY,+BAAkB,EAAAF,GAAA,CAAAG,OAAA,GAAAK,WAAA,CAAAH,GAAA;EAC5B,IAAAd,MAAO,CAAAQ,EAAI;IACZS,WAAA,CAAAH,GAAA;EACH,IAAAG,WAAA,CAAAT,EAAA","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
let idCounter = 0;
|
|
2
|
+
function createRegistry() {
|
|
3
|
+
return {
|
|
4
|
+
servers: /* @__PURE__ */ new Map(),
|
|
5
|
+
routes: /* @__PURE__ */ new Map()
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function registerServer(state, opts) {
|
|
9
|
+
const id = `server-${++idCounter}`, registration = {
|
|
10
|
+
id,
|
|
11
|
+
port: opts.port,
|
|
12
|
+
bundleId: opts.bundleId,
|
|
13
|
+
root: opts.root,
|
|
14
|
+
registeredAt: Date.now()
|
|
15
|
+
};
|
|
16
|
+
return state.servers.set(id, registration), registration;
|
|
17
|
+
}
|
|
18
|
+
function unregisterServer(state, id) {
|
|
19
|
+
const deleted = state.servers.delete(id);
|
|
20
|
+
for (const [key, route] of state.routes)
|
|
21
|
+
route.serverId === id && state.routes.delete(key);
|
|
22
|
+
return deleted;
|
|
23
|
+
}
|
|
24
|
+
function findServersByBundleId(state, bundleId) {
|
|
25
|
+
const matches = [];
|
|
26
|
+
for (const server of state.servers.values())
|
|
27
|
+
server.bundleId === bundleId && matches.push(server);
|
|
28
|
+
return matches;
|
|
29
|
+
}
|
|
30
|
+
function findServerById(state, id) {
|
|
31
|
+
return state.servers.get(id);
|
|
32
|
+
}
|
|
33
|
+
function setRoute(state, key, serverId) {
|
|
34
|
+
const binding = {
|
|
35
|
+
key,
|
|
36
|
+
serverId,
|
|
37
|
+
createdAt: Date.now()
|
|
38
|
+
};
|
|
39
|
+
return state.routes.set(key, binding), binding;
|
|
40
|
+
}
|
|
41
|
+
function getRoute(state, key) {
|
|
42
|
+
return state.routes.get(key);
|
|
43
|
+
}
|
|
44
|
+
function clearRoute(state, key) {
|
|
45
|
+
return state.routes.delete(key);
|
|
46
|
+
}
|
|
47
|
+
function getAllServers(state) {
|
|
48
|
+
return Array.from(state.servers.values());
|
|
49
|
+
}
|
|
50
|
+
function getAllRoutes(state) {
|
|
51
|
+
return Array.from(state.routes.values());
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
clearRoute,
|
|
55
|
+
createRegistry,
|
|
56
|
+
findServerById,
|
|
57
|
+
findServersByBundleId,
|
|
58
|
+
getAllRoutes,
|
|
59
|
+
getAllServers,
|
|
60
|
+
getRoute,
|
|
61
|
+
registerServer,
|
|
62
|
+
setRoute,
|
|
63
|
+
unregisterServer
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/daemon/registry.ts"],
|
|
4
|
+
"mappings": "AAIA,IAAI,YAAY;AAET,SAAS,iBAA8B;AAC5C,SAAO;AAAA,IACL,SAAS,oBAAI,IAAI;AAAA,IACjB,QAAQ,oBAAI,IAAI;AAAA,EAClB;AACF;AAEO,SAAS,eACd,OACA,MACoB;AACpB,QAAM,KAAK,UAAU,EAAE,SAAS,IAC1B,eAAmC;AAAA,IACvC;AAAA,IACA,MAAM,KAAK;AAAA,IACX,UAAU,KAAK;AAAA,IACf,MAAM,KAAK;AAAA,IACX,cAAc,KAAK,IAAI;AAAA,EACzB;AACA,eAAM,QAAQ,IAAI,IAAI,YAAY,GAC3B;AACT;AAEO,SAAS,iBAAiB,OAAoB,IAAqB;AACxE,QAAM,UAAU,MAAM,QAAQ,OAAO,EAAE;AAEvC,aAAW,CAAC,KAAK,KAAK,KAAK,MAAM;AAC/B,IAAI,MAAM,aAAa,MACrB,MAAM,OAAO,OAAO,GAAG;AAG3B,SAAO;AACT;AAEO,SAAS,sBACd,OACA,UACsB;AACtB,QAAM,UAAgC,CAAC;AACvC,aAAW,UAAU,MAAM,QAAQ,OAAO;AACxC,IAAI,OAAO,aAAa,YACtB,QAAQ,KAAK,MAAM;AAGvB,SAAO;AACT;AAEO,SAAS,eACd,OACA,IACgC;AAChC,SAAO,MAAM,QAAQ,IAAI,EAAE;AAC7B;AAEO,SAAS,SACd,OACA,KACA,UACc;AACd,QAAM,UAAwB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA,WAAW,KAAK,IAAI;AAAA,EACtB;AACA,eAAM,OAAO,IAAI,KAAK,OAAO,GACtB;AACT;AAEO,SAAS,SAAS,OAAoB,KAAuC;AAClF,SAAO,MAAM,OAAO,IAAI,GAAG;AAC7B;AAEO,SAAS,WAAW,OAAoB,KAAsB;AACnE,SAAO,MAAM,OAAO,OAAO,GAAG;AAChC;AAEO,SAAS,cAAc,OAA0C;AACtE,SAAO,MAAM,KAAK,MAAM,QAAQ,OAAO,CAAC;AAC1C;AAEO,SAAS,aAAa,OAAoC;AAC/D,SAAO,MAAM,KAAK,MAAM,OAAO,OAAO,CAAC;AACzC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
let idCounter = 0;
|
|
2
|
+
function createRegistry() {
|
|
3
|
+
return {
|
|
4
|
+
servers: /* @__PURE__ */new Map(),
|
|
5
|
+
routes: /* @__PURE__ */new Map()
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function registerServer(state, opts) {
|
|
9
|
+
const id = `server-${++idCounter}`,
|
|
10
|
+
registration = {
|
|
11
|
+
id,
|
|
12
|
+
port: opts.port,
|
|
13
|
+
bundleId: opts.bundleId,
|
|
14
|
+
root: opts.root,
|
|
15
|
+
registeredAt: Date.now()
|
|
16
|
+
};
|
|
17
|
+
return state.servers.set(id, registration), registration;
|
|
18
|
+
}
|
|
19
|
+
function unregisterServer(state, id) {
|
|
20
|
+
const deleted = state.servers.delete(id);
|
|
21
|
+
for (const [key, route] of state.routes) route.serverId === id && state.routes.delete(key);
|
|
22
|
+
return deleted;
|
|
23
|
+
}
|
|
24
|
+
function findServersByBundleId(state, bundleId) {
|
|
25
|
+
const matches = [];
|
|
26
|
+
for (const server of state.servers.values()) server.bundleId === bundleId && matches.push(server);
|
|
27
|
+
return matches;
|
|
28
|
+
}
|
|
29
|
+
function findServerById(state, id) {
|
|
30
|
+
return state.servers.get(id);
|
|
31
|
+
}
|
|
32
|
+
function setRoute(state, key, serverId) {
|
|
33
|
+
const binding = {
|
|
34
|
+
key,
|
|
35
|
+
serverId,
|
|
36
|
+
createdAt: Date.now()
|
|
37
|
+
};
|
|
38
|
+
return state.routes.set(key, binding), binding;
|
|
39
|
+
}
|
|
40
|
+
function getRoute(state, key) {
|
|
41
|
+
return state.routes.get(key);
|
|
42
|
+
}
|
|
43
|
+
function clearRoute(state, key) {
|
|
44
|
+
return state.routes.delete(key);
|
|
45
|
+
}
|
|
46
|
+
function getAllServers(state) {
|
|
47
|
+
return Array.from(state.servers.values());
|
|
48
|
+
}
|
|
49
|
+
function getAllRoutes(state) {
|
|
50
|
+
return Array.from(state.routes.values());
|
|
51
|
+
}
|
|
52
|
+
export { clearRoute, createRegistry, findServerById, findServersByBundleId, getAllRoutes, getAllServers, getRoute, registerServer, setRoute, unregisterServer };
|
|
53
|
+
//# sourceMappingURL=registry.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["idCounter","createRegistry","servers","Map","routes","registerServer","state","opts","id","registration","port","bundleId","root","registeredAt","Date","now","set","unregisterServer","deleted","delete","key","route","serverId","findServersByBundleId","matches","server","values","push","findServerById","get","setRoute","binding","createdAt","getRoute","clearRoute","getAllServers","Array","from","getAllRoutes"],"sources":["../../../src/daemon/registry.ts"],"sourcesContent":[null],"mappings":"AAIA,IAAIA,SAAA,GAAY;AAET,SAASC,eAAA,EAA8B;EAC5C,OAAO;IACLC,OAAA,EAAS,mBAAIC,GAAA,CAAI;IACjBC,MAAA,EAAQ,mBAAID,GAAA,CAAI;EAClB;AACF;AAEO,SAASE,eACdC,KAAA,EACAC,IAAA,EACoB;EACpB,MAAMC,EAAA,GAAK,UAAU,EAAER,SAAS;IAC1BS,YAAA,GAAmC;MACvCD,EAAA;MACAE,IAAA,EAAMH,IAAA,CAAKG,IAAA;MACXC,QAAA,EAAUJ,IAAA,CAAKI,QAAA;MACfC,IAAA,EAAML,IAAA,CAAKK,IAAA;MACXC,YAAA,EAAcC,IAAA,CAAKC,GAAA,CAAI;IACzB;EACA,OAAAT,KAAA,CAAMJ,OAAA,CAAQc,GAAA,CAAIR,EAAA,EAAIC,YAAY,GAC3BA,YAAA;AACT;AAEO,SAASQ,iBAAiBX,KAAA,EAAoBE,EAAA,EAAqB;EACxE,MAAMU,OAAA,GAAUZ,KAAA,CAAMJ,OAAA,CAAQiB,MAAA,CAAOX,EAAE;EAEvC,WAAW,CAACY,GAAA,EAAKC,KAAK,KAAKf,KAAA,CAAMF,MAAA,EAC3BiB,KAAA,CAAMC,QAAA,KAAad,EAAA,IACrBF,KAAA,CAAMF,MAAA,CAAOe,MAAA,CAAOC,GAAG;EAG3B,OAAOF,OAAA;AACT;AAEO,SAASK,sBACdjB,KAAA,EACAK,QAAA,EACsB;EACtB,MAAMa,OAAA,GAAgC,EAAC;EACvC,WAAWC,MAAA,IAAUnB,KAAA,CAAMJ,OAAA,CAAQwB,MAAA,CAAO,GACpCD,MAAA,CAAOd,QAAA,KAAaA,QAAA,IACtBa,OAAA,CAAQG,IAAA,CAAKF,MAAM;EAGvB,OAAOD,OAAA;AACT;AAEO,SAASI,eACdtB,KAAA,EACAE,EAAA,EACgC;EAChC,OAAOF,KAAA,CAAMJ,OAAA,CAAQ2B,GAAA,CAAIrB,EAAE;AAC7B;AAEO,SAASsB,SACdxB,KAAA,EACAc,GAAA,EACAE,QAAA,EACc;EACd,MAAMS,OAAA,GAAwB;IAC5BX,GAAA;IACAE,QAAA;IACAU,SAAA,EAAWlB,IAAA,CAAKC,GAAA,CAAI;EACtB;EACA,OAAAT,KAAA,CAAMF,MAAA,CAAOY,GAAA,CAAII,GAAA,EAAKW,OAAO,GACtBA,OAAA;AACT;AAEO,SAASE,SAAS3B,KAAA,EAAoBc,GAAA,EAAuC;EAClF,OAAOd,KAAA,CAAMF,MAAA,CAAOyB,GAAA,CAAIT,GAAG;AAC7B;AAEO,SAASc,WAAW5B,KAAA,EAAoBc,GAAA,EAAsB;EACnE,OAAOd,KAAA,CAAMF,MAAA,CAAOe,MAAA,CAAOC,GAAG;AAChC;AAEO,SAASe,cAAc7B,KAAA,EAA0C;EACtE,OAAO8B,KAAA,CAAMC,IAAA,CAAK/B,KAAA,CAAMJ,OAAA,CAAQwB,MAAA,CAAO,CAAC;AAC1C;AAEO,SAASY,aAAahC,KAAA,EAAoC;EAC/D,OAAO8B,KAAA,CAAMC,IAAA,CAAK/B,KAAA,CAAMF,MAAA,CAAOsB,MAAA,CAAO,CAAC;AACzC","ignoreList":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
var idCounter = 0;
|
|
2
|
+
function createRegistry() {
|
|
3
|
+
return {
|
|
4
|
+
servers: /* @__PURE__ */new Map(),
|
|
5
|
+
routes: /* @__PURE__ */new Map()
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function registerServer(state, opts) {
|
|
9
|
+
var id = `server-${++idCounter}`,
|
|
10
|
+
registration = {
|
|
11
|
+
id,
|
|
12
|
+
port: opts.port,
|
|
13
|
+
bundleId: opts.bundleId,
|
|
14
|
+
root: opts.root,
|
|
15
|
+
registeredAt: Date.now()
|
|
16
|
+
};
|
|
17
|
+
return state.servers.set(id, registration), registration;
|
|
18
|
+
}
|
|
19
|
+
function unregisterServer(state, id) {
|
|
20
|
+
var deleted = state.servers.delete(id),
|
|
21
|
+
_iteratorNormalCompletion = !0,
|
|
22
|
+
_didIteratorError = !1,
|
|
23
|
+
_iteratorError = void 0;
|
|
24
|
+
try {
|
|
25
|
+
for (var _iterator = state.routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
26
|
+
var [key, route] = _step.value;
|
|
27
|
+
route.serverId === id && state.routes.delete(key);
|
|
28
|
+
}
|
|
29
|
+
} catch (err) {
|
|
30
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
31
|
+
} finally {
|
|
32
|
+
try {
|
|
33
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
34
|
+
} finally {
|
|
35
|
+
if (_didIteratorError) throw _iteratorError;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return deleted;
|
|
39
|
+
}
|
|
40
|
+
function findServersByBundleId(state, bundleId) {
|
|
41
|
+
var matches = [],
|
|
42
|
+
_iteratorNormalCompletion = !0,
|
|
43
|
+
_didIteratorError = !1,
|
|
44
|
+
_iteratorError = void 0;
|
|
45
|
+
try {
|
|
46
|
+
for (var _iterator = state.servers.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
47
|
+
var server = _step.value;
|
|
48
|
+
server.bundleId === bundleId && matches.push(server);
|
|
49
|
+
}
|
|
50
|
+
} catch (err) {
|
|
51
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
52
|
+
} finally {
|
|
53
|
+
try {
|
|
54
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
55
|
+
} finally {
|
|
56
|
+
if (_didIteratorError) throw _iteratorError;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return matches;
|
|
60
|
+
}
|
|
61
|
+
function findServerById(state, id) {
|
|
62
|
+
return state.servers.get(id);
|
|
63
|
+
}
|
|
64
|
+
function setRoute(state, key, serverId) {
|
|
65
|
+
var binding = {
|
|
66
|
+
key,
|
|
67
|
+
serverId,
|
|
68
|
+
createdAt: Date.now()
|
|
69
|
+
};
|
|
70
|
+
return state.routes.set(key, binding), binding;
|
|
71
|
+
}
|
|
72
|
+
function getRoute(state, key) {
|
|
73
|
+
return state.routes.get(key);
|
|
74
|
+
}
|
|
75
|
+
function clearRoute(state, key) {
|
|
76
|
+
return state.routes.delete(key);
|
|
77
|
+
}
|
|
78
|
+
function getAllServers(state) {
|
|
79
|
+
return Array.from(state.servers.values());
|
|
80
|
+
}
|
|
81
|
+
function getAllRoutes(state) {
|
|
82
|
+
return Array.from(state.routes.values());
|
|
83
|
+
}
|
|
84
|
+
export { clearRoute, createRegistry, findServerById, findServersByBundleId, getAllRoutes, getAllServers, getRoute, registerServer, setRoute, unregisterServer };
|
|
85
|
+
//# sourceMappingURL=registry.native.js.map
|