Reviewed By: bhamodi Differential Revision: D33331422 fbshipit-source-id: 016e8dcc0c0c7f1fc353a348b54fda0d5e2ddc01
40 lines
997 B
TypeScript
40 lines
997 B
TypeScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
export function parseFlipperPorts(
|
|
envVar: string,
|
|
): {insecure: number; secure: number} | undefined {
|
|
const components = envVar.split(',');
|
|
const ports = components.map((x) => parseInt(x, 10));
|
|
|
|
// Malformed numbers will get parsed to NaN which is not > 0
|
|
if (
|
|
ports.length === 2 &&
|
|
components.every((x) => /^\d+$/.test(x)) &&
|
|
ports.every((x) => x > 0)
|
|
) {
|
|
return {
|
|
insecure: ports[0],
|
|
secure: ports[1],
|
|
};
|
|
}
|
|
}
|
|
|
|
export function parseEnvironmentVariableAsNumber(
|
|
envVarName: string,
|
|
defaultValue?: number,
|
|
): number | undefined {
|
|
const envVarAsString = process.env[envVarName];
|
|
if (envVarAsString) {
|
|
const parsedInt = parseInt(envVarAsString, 10);
|
|
return isNaN(parsedInt) ? defaultValue : parsedInt;
|
|
}
|
|
return defaultValue;
|
|
}
|