UNPKG

yaclt

Version:
40 lines (34 loc) 1.14 kB
import yargs from "yargs"; import { Logger, LogLevel } from "../../utils/logger"; import { nameof } from "../../utils/nameof"; import { FunctionArg } from "../../utils/type-utils"; import { GlobalArgv } from "../options"; import { MiddlewareHandler } from "./middleware-handler"; export const LogLevelMiddleware: MiddlewareHandler = { handler: (argv: Record<string, string | boolean | number | FunctionArg>) => { if (argv[nameof<GlobalArgv>("plumbing")]) { Logger.setLogLevel(LogLevel.values); return; } if ( argv[nameof<GlobalArgv>("verbose")] && argv[nameof<GlobalArgv>("quiet")] ) { Logger.setLogLevel(LogLevel.normal); const message = "Passing both --verbose and --quiet is contradictory."; Logger.error(message); yargs.exit(1, new Error(message)); process.exit(1); } if (argv[nameof<GlobalArgv>("verbose")]) { Logger.setLogLevel(LogLevel.verbose); return; } if (argv[nameof<GlobalArgv>("quiet")]) { Logger.setLogLevel(LogLevel.none); return; } Logger.setLogLevel(LogLevel.normal); }, preValidation: true, };