jointrashposs/composables/useGAsyncData.ts
kakkokari-gtyih 9c1dfb304f (fix) types
2023-12-23 23:00:20 +09:00

10 lines
588 B
TypeScript

type KeysOf<T> = Array<T extends T ? keyof T extends string ? keyof T : never : never>;
export function useGAsyncData<ResT, DataE = Error, DataT = ResT, PickKeys extends KeysOf<DataT> = KeysOf<DataT>, DefaultT = null>(...params: Parameters<typeof useAsyncData<ResT, DataE, DataT, PickKeys, DefaultT>>): ReturnType<typeof useAsyncData<ResT, DataE, DataT, PickKeys, DefaultT>> {
if (!params[2]) {
params[2] = {};
}
params[2].getCachedData = (key) => useNuxtData(key).data.value ?? null;
return useAsyncData<ResT, DataE, DataT, PickKeys, DefaultT>(...params);
}