UNPKG

@konkonam/nuxt-shopify

Version:

Easily integrate shopify with nuxt 3 and 4 🚀

12 lines (11 loc) • 1.91 kB
import type { AllOperations, ApiClientRequestOptions, ReturnData } from '@shopify/graphql-client'; import type { MaybeRefOrGetter } from 'vue'; import type { AsyncDataOptions, AsyncData, NuxtError } from '#app'; import type { StorefrontOperations } from '@konkonam/nuxt-shopify/storefront'; type PickFrom<T, K extends Array<string>> = T extends Array<any> ? T : T extends Record<string, any> ? keyof T extends K[number] ? T : K[number] extends never ? T : Pick<T, K[number]> : T; type KeysOf<T> = Array<T extends T ? keyof T extends string ? keyof T : never : never>; type ResT<Operation extends keyof AllOperations> = ReturnData<Operation, StorefrontOperations>; type RequestOptions<Operation extends keyof AllOperations> = ApiClientRequestOptions<Operation, StorefrontOperations>; export declare function useAsyncStorefront<Operation extends keyof AllOperations = '', Options extends RequestOptions<Operation> | undefined = undefined, NuxtErrorDataT = unknown, DataT = ResT<Operation>, PickKeys extends KeysOf<DataT> = KeysOf<DataT>, DefaultT = DataT>(operation: Operation, options: Options, asyncDataOptions?: AsyncDataOptions<ResT<Operation>, DataT, PickKeys, DefaultT>): AsyncData<PickFrom<DataT, PickKeys> | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError<NuxtErrorDataT>) | undefined>; export declare function useAsyncStorefront<Operation extends keyof AllOperations = '', Options extends RequestOptions<Operation> | undefined = undefined, NuxtErrorDataT = unknown, DataT = ResT<Operation>, PickKeys extends KeysOf<DataT> = KeysOf<DataT>, DefaultT = DataT>(key: MaybeRefOrGetter<string>, operation: Operation, options: Options, asyncDataOptions?: AsyncDataOptions<ResT<Operation>, DataT, PickKeys, DefaultT>): AsyncData<PickFrom<DataT, PickKeys> | DefaultT, (NuxtErrorDataT extends Error | NuxtError ? NuxtErrorDataT : NuxtError<NuxtErrorDataT>) | undefined>; export {};