UNPKG

@techsio/storefront-data

Version:

Medusa-first storefront data layer built on TanStack Query.

38 lines • 4.72 kB
import { type CacheConfig } from "../shared/cache-config"; import type { MutationOptions, SuspenseQueryOptions } from "../shared/hook-types"; import { type QueryKey, type QueryNamespace } from "../shared/query-keys"; import type { AuthQueryInput, AuthQueryKeys, AuthService, UseAuthResult, UseSuspenseAuthResult } from "./types"; export type CreateAuthHooksConfig<TCustomer, TLoginInput, TRegisterInput, TUpdateInput, TCreateCustomerInput = unknown, TLoginResult = unknown, TRegisterResult = unknown, TRequestAccountDeactivationResult = unknown, TConfirmAccountDeactivationInput = unknown, TConfirmAccountDeactivationResult = unknown> = { service: AuthService<TCustomer, TLoginInput, TRegisterInput, TUpdateInput, TCreateCustomerInput, TLoginResult, TRegisterResult, TRequestAccountDeactivationResult, TConfirmAccountDeactivationInput, TConfirmAccountDeactivationResult>; queryKeys?: AuthQueryKeys; queryKeyNamespace?: QueryNamespace; cacheConfig?: CacheConfig; invalidateOnAuthChange?: { /** * Include default cross-domain keys (`customer`, `orders`). * Enabled by default. */ includeDefaults?: boolean; /** Additional key prefixes to invalidate on auth changes. */ invalidate?: readonly QueryKey[]; /** Additional key prefixes to remove when logging out. */ removeOnLogout?: readonly QueryKey[]; }; }; export type AuthMutationOptions<TData, TVariables, TContext = unknown> = MutationOptions<TData, TVariables, TContext>; export declare function createAuthHooks<TCustomer, TLoginInput, TRegisterInput, TUpdateInput, TCreateCustomerInput = unknown, TLoginResult = unknown, TRegisterResult = unknown, TRequestAccountDeactivationResult = unknown, TConfirmAccountDeactivationInput = unknown, TConfirmAccountDeactivationResult = unknown>({ service, queryKeys, queryKeyNamespace, cacheConfig, invalidateOnAuthChange, }: CreateAuthHooksConfig<TCustomer, TLoginInput, TRegisterInput, TUpdateInput, TCreateCustomerInput, TLoginResult, TRegisterResult, TRequestAccountDeactivationResult, TConfirmAccountDeactivationInput, TConfirmAccountDeactivationResult>): { useAuth: (options?: AuthQueryInput<TCustomer>) => UseAuthResult<TCustomer>; useSuspenseAuth: (options?: { queryOptions?: SuspenseQueryOptions<TCustomer | null>; }) => UseSuspenseAuthResult<TCustomer>; useLogin: <TContext = unknown>(options?: AuthMutationOptions<TLoginResult, TLoginInput, TContext>) => import("@tanstack/react-query").UseMutationResult<TLoginResult, unknown, TLoginInput, TContext>; useRegister: <TContext = unknown>(options?: AuthMutationOptions<TRegisterResult, TRegisterInput, TContext>) => import("@tanstack/react-query").UseMutationResult<TRegisterResult, unknown, TRegisterInput, TContext>; useCreateCustomer: <TContext = unknown>(options?: AuthMutationOptions<TCustomer, TCreateCustomerInput, TContext>) => import("@tanstack/react-query").UseMutationResult<TCustomer, unknown, TCreateCustomerInput, TContext>; useRequestAccountDeactivation: <TContext = unknown>(options?: AuthMutationOptions<TRequestAccountDeactivationResult, void, TContext>) => import("@tanstack/react-query").UseMutationResult<TRequestAccountDeactivationResult, unknown, void, TContext>; useConfirmAccountDeactivation: <TContext = unknown>(options?: AuthMutationOptions<TConfirmAccountDeactivationResult, TConfirmAccountDeactivationInput, TContext>) => import("@tanstack/react-query").UseMutationResult<TConfirmAccountDeactivationResult, unknown, TConfirmAccountDeactivationInput, TContext>; useLogout: <TContext = unknown>(options?: AuthMutationOptions<void, void, TContext>) => import("@tanstack/react-query").UseMutationResult<void, unknown, void, TContext>; useUpdateCustomer: <TContext = unknown>(options?: AuthMutationOptions<TCustomer, TUpdateInput, TContext>) => import("@tanstack/react-query").UseMutationResult<TCustomer, unknown, TUpdateInput, TContext>; useRefreshAuth: <TContext = unknown>(options?: AuthMutationOptions<unknown, void, TContext>) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, void, TContext>; }; export type AuthHooks<TCustomer, TLoginInput, TRegisterInput, TUpdateInput, TCreateCustomerInput = unknown, TLoginResult = unknown, TRegisterResult = unknown, TRequestAccountDeactivationResult = unknown, TConfirmAccountDeactivationInput = unknown, TConfirmAccountDeactivationResult = unknown> = ReturnType<typeof createAuthHooks<TCustomer, TLoginInput, TRegisterInput, TUpdateInput, TCreateCustomerInput, TLoginResult, TRegisterResult, TRequestAccountDeactivationResult, TConfirmAccountDeactivationInput, TConfirmAccountDeactivationResult>>; //# sourceMappingURL=hooks.d.ts.map