forked from firefox-devtools/debugger
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
60 lines (49 loc) · 1.39 KB
/
index.js
File metadata and controls
60 lines (49 loc) · 1.39 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/* 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/>. */
// @flow
import * as firefox from "./firefox";
import { prefs } from "../utils/prefs";
import { setupHelper } from "../utils/dbg";
import {
bootstrapApp,
bootstrapStore,
bootstrapWorkers
} from "../utils/bootstrap";
function loadFromPrefs(actions: Object) {
const { pauseOnExceptions, pauseOnCaughtExceptions } = prefs;
if (pauseOnExceptions || pauseOnCaughtExceptions) {
return actions.pauseOnExceptions(
pauseOnExceptions,
pauseOnCaughtExceptions
);
}
}
async function onConnect(
connection: Object,
{ services, toolboxActions }: Object
) {
// NOTE: the landing page does not connect to a JS process
if (!connection) {
return;
}
const commands = firefox.clientCommands;
const { store, actions, selectors } = bootstrapStore(commands, {
services,
toolboxActions
});
const workers = bootstrapWorkers();
await firefox.onConnect(connection, actions);
await loadFromPrefs(actions);
setupHelper({
store,
actions,
selectors,
workers: { ...workers, ...services },
connection,
client: firefox.clientCommands
});
bootstrapApp(store);
return { store, actions, selectors, client: commands };
}
export { onConnect };