mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
Standardize core service module and export names to reduce naming ambiguity and make imports predictable across runtime, tests, scripts, and docs.
45 lines
1.7 KiB
TypeScript
45 lines
1.7 KiB
TypeScript
import { CliArgs, CliCommandSource } from "../cli/args";
|
|
import { createAppLifecycleDepsRuntime } from "../core/services";
|
|
import { startAppLifecycle } from "../core/services/app-lifecycle";
|
|
import type { AppLifecycleDepsRuntimeOptions } from "../core/services/app-lifecycle";
|
|
import { createAppLifecycleRuntimeDeps } from "./app-lifecycle";
|
|
|
|
export interface AppLifecycleRuntimeRunnerParams {
|
|
app: AppLifecycleDepsRuntimeOptions["app"];
|
|
platform: NodeJS.Platform;
|
|
shouldStartApp: (args: CliArgs) => boolean;
|
|
parseArgs: (argv: string[]) => CliArgs;
|
|
handleCliCommand: (nextArgs: CliArgs, source: CliCommandSource) => void;
|
|
printHelp: () => void;
|
|
logNoRunningInstance: () => void;
|
|
onReady: () => Promise<void>;
|
|
onWillQuitCleanup: () => void;
|
|
shouldRestoreWindowsOnActivate: () => boolean;
|
|
restoreWindowsOnActivate: () => void;
|
|
}
|
|
|
|
export function createAppLifecycleRuntimeRunner(
|
|
params: AppLifecycleRuntimeRunnerParams,
|
|
): (args: CliArgs) => void {
|
|
return (args: CliArgs): void => {
|
|
startAppLifecycle(
|
|
args,
|
|
createAppLifecycleDepsRuntime(
|
|
createAppLifecycleRuntimeDeps({
|
|
app: params.app,
|
|
platform: params.platform,
|
|
shouldStartApp: params.shouldStartApp,
|
|
parseArgs: params.parseArgs,
|
|
handleCliCommand: params.handleCliCommand,
|
|
printHelp: params.printHelp,
|
|
logNoRunningInstance: params.logNoRunningInstance,
|
|
onReady: params.onReady,
|
|
onWillQuitCleanup: params.onWillQuitCleanup,
|
|
shouldRestoreWindowsOnActivate: params.shouldRestoreWindowsOnActivate,
|
|
restoreWindowsOnActivate: params.restoreWindowsOnActivate,
|
|
}),
|
|
),
|
|
);
|
|
};
|
|
}
|