UNPKG

@sanity-typed/next-sanity

Version:
98 lines (95 loc) 3.72 kB
var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x + '" is not supported'); }); var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; // src/internal.ts import { bindAll } from "lodash/fp"; import { createClient as createClientNative } from "next-sanity"; var createClient = (config) => { const client = createClientNative(config); let clientQ; try { const { createGroqBuilder // eslint-disable-next-line global-require, @typescript-eslint/no-require-imports, unicorn/prefer-module -- Optional Dependency } = __require("groq-builder"); clientQ = createGroqBuilder(); } catch (e) { } return __spreadProps(__spreadValues({}, client), { // HACK Destructured classes don't give their methods, do it explicitly action: client.action.bind(client), clone: client.clone.bind(client), config: client.config.bind(client), create: client.create.bind(client), createIfNotExists: client.createIfNotExists.bind(client), createOrReplace: client.createOrReplace.bind(client), dataRequest: client.dataRequest.bind(client), delete: client.delete.bind(client), getDataUrl: client.getDataUrl.bind(client), getDocument: client.getDocument.bind(client), getDocuments: client.getDocuments.bind(client), getUrl: client.getUrl.bind(client), mutate: client.mutate.bind(client), patch: client.patch.bind(client), request: client.request.bind(client), transaction: client.transaction.bind(client), withConfig: client.withConfig.bind(client), fetch: (queryOrBuilder, params, options) => __async(null, null, function* () { if (typeof queryOrBuilder !== "string" && !clientQ) { throw new TypeError( "Cannot pass a function to `fetch` unless `groq-query` is installed" ); } const { query, parse } = bindAll( ["parse"], typeof queryOrBuilder === "string" ? { query: queryOrBuilder, parse: (value) => value } : queryOrBuilder(clientQ) ); return parse(client.fetch(query, params, options)); }) }); }; export { createClient };