mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-04 13:50:23 +00:00
refactor(plugins): decouple bundled plugin runtime loading
This commit is contained in:
29
test/helpers/plugins/runtime-env.ts
Normal file
29
test/helpers/plugins/runtime-env.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import type { OutputRuntimeEnv } from "openclaw/plugin-sdk/runtime";
|
||||
import { vi } from "vitest";
|
||||
|
||||
export function createRuntimeEnv(options?: { throwOnExit?: boolean }): OutputRuntimeEnv {
|
||||
const throwOnExit = options?.throwOnExit ?? true;
|
||||
return {
|
||||
log: vi.fn(),
|
||||
error: vi.fn(),
|
||||
writeStdout: vi.fn(),
|
||||
writeJson: vi.fn(),
|
||||
exit: throwOnExit
|
||||
? vi.fn((code: number): never => {
|
||||
throw new Error(`exit ${code}`);
|
||||
})
|
||||
: vi.fn(),
|
||||
};
|
||||
}
|
||||
|
||||
export function createTypedRuntimeEnv<TRuntime>(options?: { throwOnExit?: boolean }): TRuntime {
|
||||
return createRuntimeEnv(options) as TRuntime;
|
||||
}
|
||||
|
||||
export function createNonExitingRuntimeEnv(): OutputRuntimeEnv {
|
||||
return createRuntimeEnv({ throwOnExit: false });
|
||||
}
|
||||
|
||||
export function createNonExitingTypedRuntimeEnv<TRuntime>(): TRuntime {
|
||||
return createTypedRuntimeEnv<TRuntime>({ throwOnExit: false });
|
||||
}
|
||||
Reference in New Issue
Block a user