tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

create-store.js (3380B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 "use strict";
      6 
      7 const {
      8  applyMiddleware,
      9  createStore,
     10 } = require("resource://devtools/client/shared/vendor/redux.js");
     11 
     12 const {
     13  ignore,
     14 } = require("resource://devtools/client/shared/redux/middleware/ignore.js");
     15 const {
     16  thunk,
     17 } = require("resource://devtools/client/shared/redux/middleware/thunk.js");
     18 const {
     19  waitUntilService,
     20 } = require("resource://devtools/client/shared/redux/middleware/wait-service.js");
     21 
     22 const rootReducer = require("resource://devtools/client/aboutdebugging/src/reducers/index.js");
     23 const {
     24  DebugTargetsState,
     25 } = require("resource://devtools/client/aboutdebugging/src/reducers/debug-targets-state.js");
     26 const {
     27  RuntimesState,
     28 } = require("resource://devtools/client/aboutdebugging/src/reducers/runtimes-state.js");
     29 const {
     30  UiState,
     31 } = require("resource://devtools/client/aboutdebugging/src/reducers/ui-state.js");
     32 const debugTargetListenerMiddleware = require("resource://devtools/client/aboutdebugging/src/middleware/debug-target-listener.js");
     33 const errorLoggingMiddleware = require("resource://devtools/client/aboutdebugging/src/middleware/error-logging.js");
     34 const eventRecordingMiddleware = require("resource://devtools/client/aboutdebugging/src/middleware/event-recording.js");
     35 const extensionComponentDataMiddleware = require("resource://devtools/client/aboutdebugging/src/middleware/extension-component-data.js");
     36 const processComponentDataMiddleware = require("resource://devtools/client/aboutdebugging/src/middleware/process-component-data.js");
     37 const tabComponentDataMiddleware = require("resource://devtools/client/aboutdebugging/src/middleware/tab-component-data.js");
     38 const workerComponentDataMiddleware = require("resource://devtools/client/aboutdebugging/src/middleware/worker-component-data.js");
     39 const {
     40  simpleConsoleLogger,
     41 } = require("resource://devtools/client/aboutdebugging/src/middleware/simple-console-logger.js");
     42 const {
     43  getDebugTargetCollapsibilities,
     44 } = require("resource://devtools/client/aboutdebugging/src/modules/debug-target-collapsibilities.js");
     45 const {
     46  getNetworkLocations,
     47 } = require("resource://devtools/client/aboutdebugging/src/modules/network-locations.js");
     48 
     49 const {
     50  PREFERENCES,
     51 } = require("resource://devtools/client/aboutdebugging/src/constants.js");
     52 
     53 function configureStore() {
     54  const initialState = {
     55    debugTargets: new DebugTargetsState(),
     56    runtimes: new RuntimesState(),
     57    ui: getUiState(),
     58  };
     59 
     60  const middleware = applyMiddleware(
     61    ignore,
     62    thunk(),
     63    simpleConsoleLogger,
     64    debugTargetListenerMiddleware,
     65    errorLoggingMiddleware,
     66    eventRecordingMiddleware,
     67    extensionComponentDataMiddleware,
     68    processComponentDataMiddleware,
     69    tabComponentDataMiddleware,
     70    workerComponentDataMiddleware,
     71    waitUntilService
     72  );
     73 
     74  return createStore(rootReducer, initialState, middleware);
     75 }
     76 
     77 function getUiState() {
     78  const collapsibilities = getDebugTargetCollapsibilities();
     79  const locations = getNetworkLocations();
     80  const showHiddenAddons = Services.prefs.getBoolPref(
     81    PREFERENCES.SHOW_HIDDEN_ADDONS,
     82    false
     83  );
     84  return new UiState(locations, collapsibilities, showHiddenAddons);
     85 }
     86 
     87 exports.configureStore = configureStore;