UNPKG

@techsio/storefront-data

Version:

Medusa-first storefront data layer built on TanStack Query.

42 lines • 2.8 kB
export type StorefrontAddressScope = "shipping" | "billing" | "customer" | "root"; export type StorefrontAddressValidationIssue = { scope: StorefrontAddressScope; field: string; code: string; message?: string; }; export type StorefrontAddressValidationResult = readonly StorefrontAddressValidationIssue[] | null | undefined; export declare const hasStorefrontAddressValidationIssues: (result: StorefrontAddressValidationResult) => result is readonly StorefrontAddressValidationIssue[]; export declare const getStorefrontAddressValidationMessage: (result: StorefrontAddressValidationResult, fallbackMessage?: string) => string; export declare class StorefrontAddressValidationError extends Error { readonly issues: StorefrontAddressValidationIssue[]; constructor(issues: readonly StorefrontAddressValidationIssue[], message?: string); } export declare const toStorefrontAddressValidationError: (result: StorefrontAddressValidationResult, fallbackMessage?: string) => StorefrontAddressValidationError | null; export declare const assertStorefrontAddressValidation: (result: StorefrontAddressValidationResult, fallbackMessage?: string) => void; export type StorefrontCartAddressContext = { scope: "shipping" | "billing"; }; export type StorefrontCartAddressAdapter<TInput, TPayload = TInput, TStoredAddress = unknown> = { normalize?: (input: TInput, context: StorefrontCartAddressContext) => TInput; validate?: (input: TInput, context: StorefrontCartAddressContext) => StorefrontAddressValidationResult; toPayload?: (input: TInput, context: StorefrontCartAddressContext) => TPayload; fromAddress?: (input?: TStoredAddress | null, context?: StorefrontCartAddressContext) => TInput; }; export type StorefrontCustomerCreateAddressContext = { mode: "create"; }; export type StorefrontCustomerUpdateAddressContext = { mode: "update"; }; export type StorefrontCustomerAddressAdapter<TCreateInput, TCreateParams = TCreateInput, TUpdateInput = TCreateInput & { addressId?: string; }, TUpdateParams = TCreateParams> = { normalizeCreate?: (input: TCreateInput, context: StorefrontCustomerCreateAddressContext) => TCreateInput; validateCreate?: (input: TCreateInput, context: StorefrontCustomerCreateAddressContext) => StorefrontAddressValidationResult; toCreateParams?: (input: TCreateInput, context: StorefrontCustomerCreateAddressContext) => TCreateParams; normalizeUpdate?: (input: TUpdateInput, context: StorefrontCustomerUpdateAddressContext) => TUpdateInput; validateUpdate?: (input: TUpdateInput, context: StorefrontCustomerUpdateAddressContext) => StorefrontAddressValidationResult; toUpdateParams?: (input: TUpdateInput, context: StorefrontCustomerUpdateAddressContext) => TUpdateParams; }; //# sourceMappingURL=address.d.ts.map