convex
Version:
Client for the Convex Cloud
67 lines (66 loc) • 2.57 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var registration_impl_exports = {};
__export(registration_impl_exports, {
mutationGeneric: () => mutationGeneric,
queryGeneric: () => queryGeneric
});
module.exports = __toCommonJS(registration_impl_exports);
var import_common = require("@convex-dev/common");
var import_authentication_impl = require("./authentication_impl.js");
var import_database_impl = require("./database_impl.js");
async function invokeMutation(func, argsStr) {
const args = (0, import_common.jsonToConvex)(JSON.parse(argsStr));
const mutationCtx = {
db: (0, import_database_impl.setupWriter)(),
auth: (0, import_authentication_impl.setupAuth)()
};
const result = await Promise.resolve(func(mutationCtx, ...args));
return JSON.stringify((0, import_common.convexToJson)(result === void 0 ? null : result));
}
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 = (0, import_common.jsonToConvex)(JSON.parse(argsStr));
const queryCtx = {
db: (0, import_database_impl.setupReader)(),
auth: (0, import_authentication_impl.setupAuth)()
};
const result = await Promise.resolve(func(queryCtx, ...args));
return JSON.stringify((0, import_common.convexToJson)(result === void 0 ? null : result));
}
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