nuxt-supabase-query-as-async-data
Version:
Nuxt module for using Supabase queries as asyncData
20 lines (19 loc) • 877 B
JavaScript
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);
};
}
});