Convert utils/processConfig to TS
Reviewed By: danielbuechele Differential Revision: D16710602 fbshipit-source-id: 3dbccdb0aedd3d5415487d690fb943aafdafa0f0
This commit is contained in:
committed by
Facebook Github Bot
parent
fda506086f
commit
882d7e1a39
51
src/utils/processConfig.tsx
Normal file
51
src/utils/processConfig.tsx
Normal file
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* Copyright 2018-present Facebook.
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
* @format
|
||||
*/
|
||||
|
||||
import {remote} from 'electron';
|
||||
|
||||
export type ProcessConfig = {
|
||||
disabledPlugins: Set<string>;
|
||||
pluginPaths: Array<string>;
|
||||
lastWindowPosition: {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
} | null;
|
||||
screenCapturePath: string | null;
|
||||
launcherMsg: string | null;
|
||||
updaterEnabled: boolean;
|
||||
// Controls whether to delegate to the launcher if present.
|
||||
launcherEnabled: boolean;
|
||||
};
|
||||
|
||||
let configObj = null;
|
||||
export default function config(): ProcessConfig {
|
||||
if (configObj === null) {
|
||||
const json = JSON.parse(
|
||||
// $FlowFixMe: process.env not in type defs
|
||||
(remote && remote.process.env.CONFIG) || process.env.CONFIG || '{}',
|
||||
);
|
||||
configObj = {
|
||||
disabledPlugins: new Set(json.disabledPlugins || []),
|
||||
pluginPaths: json.pluginPaths || [],
|
||||
lastWindowPosition: json.lastWindowPosition,
|
||||
launcherMsg: json.launcherMsg,
|
||||
updaterEnabled:
|
||||
typeof json.updaterEnabled === 'boolean' ? json.updaterEnabled : true,
|
||||
screenCapturePath: json.screenCapturePath,
|
||||
launcherEnabled:
|
||||
typeof json.launcherEnabled === 'boolean' ? json.launcherEnabled : true,
|
||||
};
|
||||
}
|
||||
|
||||
return configObj;
|
||||
}
|
||||
|
||||
export function resetConfigForTesting() {
|
||||
configObj = null;
|
||||
}
|
||||
Reference in New Issue
Block a user