2023-08-26 06:31:51 +00:00
|
|
|
import { KVStore } from "../../plugos/lib/kv_store.ts";
|
|
|
|
import { storeSyscalls } from "../../plugos/syscalls/store.ts";
|
2022-10-10 12:50:21 +00:00
|
|
|
import { proxySyscalls } from "../../plugos/syscalls/transport.ts";
|
|
|
|
import { SysCallMapping } from "../../plugos/system.ts";
|
2022-04-04 13:25:07 +00:00
|
|
|
|
2023-05-23 18:53:53 +00:00
|
|
|
export function clientStoreSyscalls(
|
2023-08-26 06:31:51 +00:00
|
|
|
db: KVStore,
|
2023-05-23 18:53:53 +00:00
|
|
|
): SysCallMapping {
|
2023-08-26 06:31:51 +00:00
|
|
|
const localStoreCalls = storeSyscalls(db);
|
2022-04-05 15:02:17 +00:00
|
|
|
return proxySyscalls(
|
2022-04-04 13:25:07 +00:00
|
|
|
["clientStore.get", "clientStore.set", "clientStore.delete"],
|
|
|
|
(ctx, name, ...args) => {
|
2023-08-26 06:31:51 +00:00
|
|
|
return localStoreCalls[name.replace("clientStore.", "store.")](
|
|
|
|
ctx,
|
|
|
|
...args,
|
|
|
|
);
|
2022-10-10 12:50:21 +00:00
|
|
|
},
|
2022-04-04 13:25:07 +00:00
|
|
|
);
|
|
|
|
}
|