mirror of
https://github.com/kiegroup/git-backporting.git
synced 2025-06-28 13:43:48 +00:00
56 lines
No EOL
1.8 KiB
TypeScript
56 lines
No EOL
1.8 KiB
TypeScript
import { Args } from "@bp/service/args/args.types";
|
|
import * as fs from "fs";
|
|
|
|
/**
|
|
* Parse the input configuation string as json object and
|
|
* return it as Args
|
|
* @param configFileContent
|
|
* @returns {Args}
|
|
*/
|
|
export function parseArgs(configFileContent: string): Args {
|
|
return JSON.parse(configFileContent) as Args;
|
|
}
|
|
|
|
/**
|
|
* Read a configuration file in json format anf parse it as {Args}
|
|
* @param pathToFile Full path name of the config file, e.g., /tmp/dir/config-file.json
|
|
* @returns {Args}
|
|
*/
|
|
export function readConfigFile(pathToFile: string): Args {
|
|
const asString: string = fs.readFileSync(pathToFile, "utf-8");
|
|
return parseArgs(asString);
|
|
}
|
|
|
|
/**
|
|
* Return the input only if it is not a blank or null string, otherwise returns undefined
|
|
* @param key input key
|
|
* @returns the value or undefined
|
|
*/
|
|
export function getOrUndefined(value: string): string | undefined {
|
|
return value !== "" ? value : undefined;
|
|
}
|
|
|
|
// get rid of inner spaces too
|
|
export function getAsCleanedCommaSeparatedList(value: string): string[] | undefined {
|
|
// trim the value
|
|
const trimmed: string = value.trim();
|
|
return trimmed !== "" ? trimmed.replace(/\s/g, "").split(",") : undefined;
|
|
}
|
|
|
|
// preserve inner spaces
|
|
export function getAsCommaSeparatedList(value: string): string[] | undefined {
|
|
// trim the value
|
|
const trimmed: string = value.trim();
|
|
return trimmed !== "" ? trimmed.split(",").map(v => v.trim()) : undefined;
|
|
}
|
|
|
|
export function getAsSemicolonSeparatedList(value: string): string[] | undefined {
|
|
// trim the value
|
|
const trimmed: string = value.trim();
|
|
return trimmed !== "" ? trimmed.split(";").map(v => v.trim()) : undefined;
|
|
}
|
|
|
|
export function getAsBooleanOrDefault(value: string): boolean | undefined {
|
|
const trimmed = value.trim();
|
|
return trimmed !== "" ? trimmed.toLowerCase() === "true" : undefined;
|
|
} |