Strictify connections.tsx

Summary: As per title

Reviewed By: danielbuechele

Differential Revision: D17259633

fbshipit-source-id: 5180785d0542871da31cf9a07a57dcc68d98ff81
This commit is contained in:
Pritesh Nandgaonkar
2019-09-10 07:45:45 -07:00
committed by Facebook Github Bot
parent 23eaa74a85
commit 72a8b8967d

View File

@@ -28,7 +28,7 @@ export type State = {
userPreferredDevice: null | string; userPreferredDevice: null | string;
userPreferredPlugin: null | string; userPreferredPlugin: null | string;
userPreferredApp: null | string; userPreferredApp: null | string;
userLRUPlugins: Map<string, Array<string>>; userLRUPlugins: {[key: string]: Array<string>};
error: null | string; error: null | string;
clients: Array<Client>; clients: Array<Client>;
uninitializedClients: Array<{ uninitializedClients: Array<{
@@ -122,7 +122,7 @@ const INITAL_STATE: State = {
userPreferredDevice: null, userPreferredDevice: null,
userPreferredPlugin: null, userPreferredPlugin: null,
userPreferredApp: null, userPreferredApp: null,
userLRUPlugins: new Map(), userLRUPlugins: {},
error: null, error: null,
clients: [], clients: [],
uninitializedClients: [], uninitializedClients: [],
@@ -238,20 +238,26 @@ const reducer = (state: State = INITAL_STATE, action: Action): State => {
} }
const userPreferredApp = selectedApp || state.userPreferredApp; const userPreferredApp = selectedApp || state.userPreferredApp;
const LRUPlugins = (state.userLRUPlugins[userPreferredApp] || []).slice(); const LRUPlugins =
const idxLRU = LRUPlugins.indexOf(selectedPlugin); (userPreferredApp && state.userLRUPlugins[userPreferredApp]) || [];
const idxLRU =
(selectedPlugin && LRUPlugins.indexOf(selectedPlugin)) || -1;
if (idxLRU >= 0) { if (idxLRU >= 0) {
LRUPlugins.splice(idxLRU, 1); LRUPlugins.splice(idxLRU, 1);
} }
LRUPlugins.unshift(selectedPlugin); selectedPlugin && LRUPlugins.unshift(selectedPlugin);
LRUPlugins.splice(SAVED_PLUGINS_COUNT); LRUPlugins.splice(SAVED_PLUGINS_COUNT);
return { return {
...state, ...state,
...payload, ...payload,
userPreferredApp: userPreferredApp, userPreferredApp: userPreferredApp,
userPreferredPlugin: selectedPlugin, userPreferredPlugin: selectedPlugin,
userLRUPlugins: {...state.userLRUPlugins, [selectedApp]: LRUPlugins}, userLRUPlugins: selectedApp
? {
...state.userLRUPlugins,
[selectedApp]: LRUPlugins,
}
: {...state.userLRUPlugins},
}; };
} }
case 'SELECT_USER_PREFERRED_PLUGIN': { case 'SELECT_USER_PREFERRED_PLUGIN': {
@@ -263,8 +269,7 @@ const reducer = (state: State = INITAL_STATE, action: Action): State => {
const {userPreferredApp, userPreferredPlugin, userLRUPlugins} = state; const {userPreferredApp, userPreferredPlugin, userLRUPlugins} = state;
let {selectedApp, selectedPlugin} = state; let {selectedApp, selectedPlugin} = state;
payload.lessPlugins = (userLRUPlugins[payload.id] || []).slice(); payload.lessPlugins = userLRUPlugins[payload.id] || [];
if ( if (
userPreferredApp && userPreferredApp &&
userPreferredPlugin && userPreferredPlugin &&
@@ -275,7 +280,6 @@ const reducer = (state: State = INITAL_STATE, action: Action): State => {
selectedApp = userPreferredApp; selectedApp = userPreferredApp;
selectedPlugin = userPreferredPlugin; selectedPlugin = userPreferredPlugin;
} }
return { return {
...state, ...state,
clients: state.clients.concat(payload), clients: state.clients.concat(payload),
@@ -390,17 +394,17 @@ const reducer = (state: State = INITAL_STATE, action: Action): State => {
clients: state.clients.map((client: Client) => { clients: state.clients.map((client: Client) => {
if (client.id === payload) { if (client.id === payload) {
client.showAllPlugins = !client.showAllPlugins; client.showAllPlugins = !client.showAllPlugins;
client.lessPlugins = state.userLRUPlugins[payload]; client.lessPlugins = state.userLRUPlugins[payload] || [];
} }
return client; return client;
}), }),
}; };
} }
case 'CLEAR_LRU_PLUGINS_HISTORY': { case 'CLEAR_LRU_PLUGINS_HISTORY': {
const clearLRUPlugins: Map<string, Array<string>> = new Map(); const clearLRUPlugins: {[key: string]: Array<string>} = {};
state.userLRUPlugins.forEach((_, key) => { Object.keys(state.userLRUPlugins).forEach((key: string) => {
if (key !== null) { if (key !== null) {
clearLRUPlugins.set(key, []); clearLRUPlugins[key] = [];
} }
}); });
return { return {