mirror of
https://github.com/moltbot/moltbot.git
synced 2026-03-21 16:41:56 +00:00
43 lines
958 B
TypeScript
43 lines
958 B
TypeScript
export type InstallMode = "install" | "update";
|
|
|
|
export type InstallModeOptions<TLogger> = {
|
|
logger?: TLogger;
|
|
mode?: InstallMode;
|
|
dryRun?: boolean;
|
|
};
|
|
|
|
export type TimedInstallModeOptions<TLogger> = InstallModeOptions<TLogger> & {
|
|
timeoutMs?: number;
|
|
};
|
|
|
|
export function resolveInstallModeOptions<TLogger>(
|
|
params: InstallModeOptions<TLogger>,
|
|
defaultLogger: TLogger,
|
|
): {
|
|
logger: TLogger;
|
|
mode: InstallMode;
|
|
dryRun: boolean;
|
|
} {
|
|
return {
|
|
logger: params.logger ?? defaultLogger,
|
|
mode: params.mode ?? "install",
|
|
dryRun: params.dryRun ?? false,
|
|
};
|
|
}
|
|
|
|
export function resolveTimedInstallModeOptions<TLogger>(
|
|
params: TimedInstallModeOptions<TLogger>,
|
|
defaultLogger: TLogger,
|
|
defaultTimeoutMs = 120_000,
|
|
): {
|
|
logger: TLogger;
|
|
timeoutMs: number;
|
|
mode: InstallMode;
|
|
dryRun: boolean;
|
|
} {
|
|
return {
|
|
...resolveInstallModeOptions(params, defaultLogger),
|
|
timeoutMs: params.timeoutMs ?? defaultTimeoutMs,
|
|
};
|
|
}
|