UNPKG

convex

Version:

Client for the Convex Cloud

44 lines (43 loc) 1.4 kB
"use strict"; import { convexToJson, jsonToConvex } from "@convex-dev/common"; import { setupAuth } from "./authentication_impl.js"; import { setupReader, setupWriter } from "./database_impl.js"; async function invokeMutation(func, argsStr) { const args = jsonToConvex(JSON.parse(argsStr)); const mutationCtx = { db: setupWriter(), auth: setupAuth() }; const result = await Promise.resolve(func(mutationCtx, ...args)); return JSON.stringify(convexToJson(result === void 0 ? null : result)); } export const mutationGeneric = (func) => { const m = func; if (m.isRegistered) { throw new Error("Function registered twice " + func); } m.isRegistered = true; m.isMutation = true; m.invokeMutation = (argsStr) => invokeMutation(func, argsStr); return m; }; async function invokeQuery(func, argsStr) { const args = jsonToConvex(JSON.parse(argsStr)); const queryCtx = { db: setupReader(), auth: setupAuth() }; const result = await Promise.resolve(func(queryCtx, ...args)); return JSON.stringify(convexToJson(result === void 0 ? null : result)); } export const queryGeneric = (func) => { const q = func; if (q.isRegistered) { throw new Error("Function registered twice " + func); } q.isRegistered = true; q.isQuery = true; q.invokeQuery = (argsStr) => invokeQuery(func, argsStr); return q; }; //# sourceMappingURL=registration_impl.js.map