mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-13 19:10:39 +00:00
27 lines
514 B
TypeScript
27 lines
514 B
TypeScript
export function createPluginRuntimeStore<T>(errorMessage: string): {
|
|
setRuntime: (next: T) => void;
|
|
clearRuntime: () => void;
|
|
tryGetRuntime: () => T | null;
|
|
getRuntime: () => T;
|
|
} {
|
|
let runtime: T | null = null;
|
|
|
|
return {
|
|
setRuntime(next: T) {
|
|
runtime = next;
|
|
},
|
|
clearRuntime() {
|
|
runtime = null;
|
|
},
|
|
tryGetRuntime() {
|
|
return runtime;
|
|
},
|
|
getRuntime() {
|
|
if (!runtime) {
|
|
throw new Error(errorMessage);
|
|
}
|
|
return runtime;
|
|
},
|
|
};
|
|
}
|