UNPKG

@swishapp/browser

Version:

JS library to integrate Swish into a browser environment.

54 lines (53 loc) 2.42 kB
import type { ResponseErrors } from "@shopify/graphql-client"; import { LoadProductCardDataArgs } from "./loadProductCardData"; import { LoadProductDetailDataArgs } from "./loadProductDetailData"; import { LoadProductImagesArgs } from "./loadProductImages"; import { LoadProductOptionsArgs } from "./loadProductOptions"; import { LoadSelectedVariantArgs } from "./loadSelectedVariant"; export * from "./loadProductCardData"; export * from "./loadProductOptions"; export * from "./loadSelectedVariant"; export * from "./types/storefront.generated"; export interface StorefrontApiResponse<TData> { data: TData; errors: ResponseErrors; } export declare const API_VERSION = "2025-07"; export interface StorefrontConfig { storeDomain: string; accessToken: string; fetch?: (input: string | URL | Request, init?: RequestInit) => Promise<Response>; } export declare class StorefrontApi { private client; private readonly fetchConfig; constructor(config: Pick<StorefrontConfig, "fetch">); setConfig(config: StorefrontConfig): void; query: <TData, TVariables extends Record<string, unknown>>(query: string, variables: TVariables) => Promise<{ data: (TData extends undefined ? any : TData) | undefined; error: ResponseErrors | null; }>; loadProductOptions: (args: LoadProductOptionsArgs) => Promise<{ data: import(".").GetProductOptionsQuery | import(".").GetProductOptionsWithVariantQuery | undefined; error: ResponseErrors | null; }>; loadSelectedVariant: (args: LoadSelectedVariantArgs) => Promise<{ data: import(".").GetSelectedVariantQuery | undefined; error: ResponseErrors | null; }>; loadProductCardData: (args: LoadProductCardDataArgs) => Promise<{ data: import(".").GetProductCardDataQuery | import(".").GetProductCardDataWithVariantQuery | undefined; error: ResponseErrors | null; }>; loadProductDetailData: (args: LoadProductDetailDataArgs) => Promise<{ data: import(".").GetProductDetailDataQuery | import(".").GetProductDetailDataWithVariantQuery | undefined; error: ResponseErrors | null; }>; loadProductImages: (args: LoadProductImagesArgs) => Promise<{ data: (Pick<import("./types/storefront.types").Image, "id" | "altText" | "url" | "thumbhash"> | undefined)[]; error: null; } | { data: null; error: Error; }>; }