Files
openclaw/src/plugin-state/plugin-state-store.test-helpers.ts
2026-05-09 23:34:03 +01:00

34 lines
938 B
TypeScript

import { seedPluginStateSqliteEntriesForTests } from "./plugin-state-store.sqlite.js";
export type PluginStateSeedEntry = {
pluginId: string;
namespace: string;
key: string;
value: unknown;
createdAt?: number;
expiresAt?: number | null;
};
export function seedPluginStateEntriesForTests(entries: PluginStateSeedEntry[]): void {
if (entries.length === 0) {
return;
}
seedPluginStateSqliteEntriesForTests(
entries.map((entry) => {
const valueJson = JSON.stringify(entry.value);
if (valueJson == null) {
throw new Error("plugin state seed value must be JSON serializable");
}
return {
pluginId: entry.pluginId,
namespace: entry.namespace,
key: entry.key,
valueJson,
...(entry.createdAt != null ? { createdAt: entry.createdAt } : {}),
...(entry.expiresAt !== undefined ? { expiresAt: entry.expiresAt } : {}),
};
}),
);
}