@nuxtjs/sanity
Version:
Sanity integration for Nuxt
15 lines (14 loc) • 595 B
JavaScript
import { hash } from "ohash";
import { reactive } from "vue";
import { useLazyAsyncData } from "#imports";
import { useSanity } from "./useSanity.js";
export const useLazySanityQuery = (query, _params, _options = {}) => {
const { client, ...options } = _options;
const sanity = useSanity(client);
const params = _params ? reactive(_params) : void 0;
if (params) {
options.watch = options.watch || [];
options.watch.push(params);
}
return useLazyAsyncData("sanity-" + hash(query + (params ? JSON.stringify(params) : "")), () => sanity.fetch(query, params || {}), options);
};