UNPKG

convex

Version:

Client for the Convex Cloud

104 lines (103 loc) 3.87 kB
"use strict"; 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 nextjs_exports = {}; __export(nextjs_exports, { fetchAction: () => fetchAction, fetchMutation: () => fetchMutation, fetchQuery: () => fetchQuery, preloadQuery: () => preloadQuery, preloadedQueryResult: () => preloadedQueryResult }); module.exports = __toCommonJS(nextjs_exports); var import_browser = require("../browser/index.js"); var import_server = require("../server/index.js"); var import_values = require("../values/index.js"); async function preloadQuery(query, ...args) { const value = await fetchQuery(query, ...args); const preloaded = { _name: (0, import_server.getFunctionName)(query), _argsJSON: (0, import_values.convexToJson)(args[0] ?? {}), _valueJSON: (0, import_values.convexToJson)(value) }; return preloaded; } function preloadedQueryResult(preloaded) { return (0, import_values.jsonToConvex)(preloaded._valueJSON); } async function fetchQuery(query, ...args) { const [fnArgs, options] = args; const client = setupClient(options ?? {}); return client.query(query, fnArgs); } async function fetchMutation(mutation, ...args) { const [fnArgs, options] = args; const client = setupClient(options ?? {}); return client.mutation(mutation, fnArgs); } async function fetchAction(action, ...args) { const [fnArgs, options] = args; const client = setupClient(options ?? {}); return client.action(action, fnArgs); } function setupClient(options) { const client = new import_browser.ConvexHttpClient( getConvexUrl(options.url, options.skipConvexDeploymentUrlCheck ?? false) ); if (options.token !== void 0) { client.setAuth(options.token); } if (options.adminToken !== void 0) { client.setAdminAuth(options.adminToken); } client.setFetchOptions({ cache: "no-store" }); return client; } function getConvexUrl(deploymentUrl, skipConvexDeploymentUrlCheck) { const url = deploymentUrl ?? process.env.NEXT_PUBLIC_CONVEX_URL; if (!skipConvexDeploymentUrlCheck) { validateDeploymentUrl(url, deploymentUrl === void 0); } return url; } function validateDeploymentUrl(deploymentUrl, isFromEnv) { if (typeof deploymentUrl === "undefined") { throw new Error( isFromEnv ? `Environment variable NEXT_PUBLIC_CONVEX_URL is not set.` : `Convex function called with undefined deployment address.` ); } if (typeof deploymentUrl !== "string") { throw new Error( `Invalid deployment address: found ${deploymentUrl}".` ); } if (!(deploymentUrl.startsWith("http:") || deploymentUrl.startsWith("https:"))) { throw new Error( `Invalid ${isFromEnv ? "NEXT_PUBLIC_CONVEX_URL" : "deployment address"}: Must start with "https://" or "http://". Found "${deploymentUrl}".` ); } if (deploymentUrl.indexOf("127.0.0.1") !== -1 || deploymentUrl.indexOf("localhost") !== -1) { return; } if (!deploymentUrl.endsWith(".convex.cloud")) { throw new Error( `Invalid ${isFromEnv ? "NEXT_PUBLIC_CONVEX_URL" : "deployment address"}: Must end with ".convex.cloud". Found "${deploymentUrl}".` ); } } //# sourceMappingURL=index.js.map