Strictify connections.tsx
Summary: As per title Reviewed By: danielbuechele Differential Revision: D17259633 fbshipit-source-id: 5180785d0542871da31cf9a07a57dcc68d98ff81
This commit is contained in:
committed by
Facebook Github Bot
parent
23eaa74a85
commit
72a8b8967d
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user