summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorErik Larkö <erik@mullvad.net>2017-07-03 14:28:19 +0200
committerErik Larkö <erik@mullvad.net>2017-07-04 16:52:03 +0200
commit7c99bf5ab5e56f0ccd8addffb8b68354e8977fea (patch)
tree0a356af017e1ae7b60277c18387824d5d857373f
parentb0d7ea1ae5b4555ad0aa90451480bf7ae83b3be4 (diff)
downloadmullvadvpn-7c99bf5ab5e56f0ccd8addffb8b68354e8977fea.tar.xz
mullvadvpn-7c99bf5ab5e56f0ccd8addffb8b68354e8977fea.zip
Flow app.js
-rw-r--r--app/app.js28
-rw-r--r--app/redux/store.js2
2 files changed, 21 insertions, 9 deletions
diff --git a/app/app.js b/app/app.js
index bff4c7f6fc..07c3126fa1 100644
--- a/app/app.js
+++ b/app/app.js
@@ -1,3 +1,5 @@
+// @flow
+
import path from 'path';
import React from 'react';
import ReactDOM from 'react-dom';
@@ -90,21 +92,31 @@ if(navigator.serviceWorker) {
ipcRenderer.send('on-browser-window-ready');
-const containerId = document.currentScript.getAttribute('data-container');
-if(!containerId) {
- throw new Error('Missing data-container attribute.');
-}
+function getRootElement() {
+ const currentScript = document.currentScript;
+ if (!currentScript) {
+ throw new Error('Missing document.currentScript');
+ }
+
+ const containerId = currentScript.getAttribute('data-container');
+ if(!containerId) {
+ throw new Error('Missing data-container attribute.');
+ }
+
+ const rootElement = document.querySelector(containerId);
+ if(!rootElement) {
+ throw new Error('Missing root element.');
+ }
-const rootElement = document.querySelector(containerId);
-if(!rootElement) {
- throw new Error('Missing root element.');
+ return rootElement;
}
+
ReactDOM.render(
<Provider store={ store }>
<ConnectedRouter history={ memoryHistory }>
{ makeRoutes(store.getState, { backend }) }
</ConnectedRouter>
</Provider>,
- rootElement
+ getRootElement()
);
diff --git a/app/redux/store.js b/app/redux/store.js
index e86fc1373c..2f08a462eb 100644
--- a/app/redux/store.js
+++ b/app/redux/store.js
@@ -23,7 +23,7 @@ export type ReduxState = {
settings: SettingsReduxState
};
export type ReduxAction<T> = { type: string, payload: T };
-export type ReduxStore = Store<ReduxState, ReduxAction<*>>;
+export type ReduxStore = Store<ReduxState, ReduxAction<Object>>;
export type ReduxGetStateFn = () => ReduxState;
export type ReduxDispatchFn<T: *> = Dispatch<ReduxAction<T>>;