convex
Version:
Client for the Convex Cloud
36 lines (33 loc) • 956 B
text/typescript
import { convexToJson } from "../../values/index.js";
import { version } from "../../index.js";
import { performAsyncSyscall } from "./syscall.js";
export interface ConvexActionDatabaseClient {
query(name: string, ...args: any[]): Promise<any>;
mutation(name: string, ...args: any[]): Promise<any>;
}
export function setupActionDatabaseClient(
requestId: string
): ConvexActionDatabaseClient {
return {
query: async (name, ...args) => {
const syscallArgs = {
name,
args: convexToJson(args),
version,
requestId,
};
const result = await performAsyncSyscall("actions/query", syscallArgs);
return result;
},
mutation: async (name, ...args) => {
const syscallArgs = {
name,
args: convexToJson(args),
version,
requestId,
};
const result = await performAsyncSyscall("actions/mutation", syscallArgs);
return result;
},
};
}