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