Files
work-ts/commands/common.ts

16 lines
549 B
TypeScript

export function undefList<T, U>(opt: T | undefined, fn: (opt: T) => U) {
return opt === undefined ? [] : fn(opt)
}
export const optFlag = (flag: string, opt: string | undefined) => undefList(opt, opt => [flag, opt])
/**
* Generate a switch flag, like "--rebuild", "--nobuild"
*/
export const optSwitch = (flag: string, opt: boolean | undefined) => undefList(opt, opt => opt ? [flag] : [])
export const optMultiFlag = (flag: string, opt: string[] | undefined) =>
undefList(
opt,
opt => opt.flatMap(name => [flag, name]))