mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-28 06:22:45 -08:00
27 lines
647 B
TypeScript
27 lines
647 B
TypeScript
import { CliArgs } from "../../cli/args";
|
|
|
|
export interface ConfigGenerationRuntimeDeps {
|
|
shouldStartApp: (args: CliArgs) => boolean;
|
|
generateConfig: (args: CliArgs) => Promise<number>;
|
|
onSuccess: (exitCode: number) => void;
|
|
onError: (error: Error) => void;
|
|
}
|
|
|
|
export function runGenerateConfigFlowRuntimeService(
|
|
args: CliArgs,
|
|
deps: ConfigGenerationRuntimeDeps,
|
|
): boolean {
|
|
if (!args.generateConfig || deps.shouldStartApp(args)) {
|
|
return false;
|
|
}
|
|
|
|
deps.generateConfig(args)
|
|
.then((exitCode) => {
|
|
deps.onSuccess(exitCode);
|
|
})
|
|
.catch((error: Error) => {
|
|
deps.onError(error);
|
|
});
|
|
return true;
|
|
}
|