UNPKG

nuxt-supabase-query-as-async-data

Version:

Nuxt module for using Supabase queries as asyncData

20 lines (19 loc) 877 B
import { PostgrestClient } from "@supabase/postgrest-js"; import { defineNuxtPlugin, useAsyncData } from "nuxt/app"; export default defineNuxtPlugin((_) => { const supabase = new PostgrestClient("https://dummy.com"); const tempQueryFunction = () => supabase.from("_temp").select("*"); const queryProtoFunction = Object.getPrototypeOf(tempQueryFunction); if (queryProtoFunction && !queryProtoFunction.asAsyncData) { queryProtoFunction.asAsyncData = function(key, options = {}) { return useAsyncData(key, () => this(), options); }; } const tempQueryObject = supabase.from("_temp").select("*"); const queryProtoObject = Object.getPrototypeOf(tempQueryObject); if (queryProtoObject && !queryProtoObject.asAsyncData) { queryProtoObject.asAsyncData = function(key, options = {}) { return useAsyncData(key, () => this, options); }; } });