summaryrefslogtreecommitdiffstats
path: root/devtools/client/aboutdebugging/src/modules/runtimes-state-helper.js
blob: 1864ef834143b17b4250392168e5e1c819a19a1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

"use strict";

function getCurrentRuntime(runtimesState) {
  const selectedRuntimeId = runtimesState.selectedRuntimeId;
  return findRuntimeById(selectedRuntimeId, runtimesState);
}
exports.getCurrentRuntime = getCurrentRuntime;

function getCurrentClient(runtimesState) {
  const runtimeDetails = getCurrentRuntimeDetails(runtimesState);
  return runtimeDetails ? runtimeDetails.clientWrapper : null;
}
exports.getCurrentClient = getCurrentClient;

function findRuntimeById(id, runtimesState) {
  return getAllRuntimes(runtimesState).find(r => r.id === id);
}
exports.findRuntimeById = findRuntimeById;

function getAllRuntimes(runtimesState) {
  return [
    ...runtimesState.networkRuntimes,
    ...runtimesState.thisFirefoxRuntimes,
    ...runtimesState.usbRuntimes,
  ];
}
exports.getAllRuntimes = getAllRuntimes;

function getCurrentRuntimeDetails(runtimesState) {
  const runtime = getCurrentRuntime(runtimesState);
  return runtime ? runtime.runtimeDetails : null;
}
exports.getCurrentRuntimeDetails = getCurrentRuntimeDetails;