UNPKG

@swishapp/browser

Version:

JS library to integrate Swish into a browser environment.

68 lines (67 loc) 3.92 kB
import type { CreateItemInput, CreateListInput, DeleteItemsInput, IdentifyProfileInput, ItemControllerFindData, ListControllerFindData, SetListItemsOrderInput, UpdateItemInput, UpdateListInput } from "@swishapp/api-client"; import type { LoadProductOptionsArgs, LoadProductOptionsResponse, LoadSelectedVariantArgs } from "./storefront-api"; import type { SwishAppOptions } from "./types"; import { LoadSelectedVariantResponse } from "./storefront-api/loadSelectedVariant"; export declare const swishApp: (options: SwishAppOptions) => Promise<SwishApp>; export declare class SwishApp { private readonly worker; private readonly rpc; private readonly options; private initPromise?; constructor(options: SwishAppOptions); init(): Promise<void>; private _init; private storeProfile; private deleteProfile; readonly api: { items: { list: (query?: ItemControllerFindData["query"]) => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").Item[]>>; create: (body: CreateItemInput) => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").Item>>; delete: (body: DeleteItemsInput) => Promise<import("@swishapp/api-client").ApiResponse<unknown>>; findById: (id: string) => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").ItemDetail>>; updateById: (id: string, body: UpdateItemInput) => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").Item>>; deleteById: (id: string) => Promise<void>; }; lists: { list: () => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").List[]>>; findById: (id: string, query?: ListControllerFindData["query"]) => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").ListDetail>>; create: (body: CreateListInput) => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").List>>; updateById: (id: string, body: UpdateListInput) => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").List>>; deleteById: (id: string) => Promise<import("@swishapp/api-client").ApiResponse<unknown>>; orderItems: (id: string, body: SetListItemsOrderInput) => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").List>>; }; profiles: { customerAccountsVersion: () => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").AccountsVersionResult>>; identify: (body: IdentifyProfileInput) => Promise<import("@swishapp/api-client").ApiResponse<import("@swishapp/api-client").IdentifyProfileResult>>; }; }; readonly storefront: { loadProductOptions: (args: LoadProductOptionsArgs) => Promise<LoadProductOptionsResponse>; loadSelectedVariant: (args: LoadSelectedVariantArgs) => Promise<LoadSelectedVariantResponse>; }; readonly ui: { showSignIn: (options?: { returnTo?: string; }) => Promise<void>; showVariantSelect: <TData = unknown>(options: { productId?: string; productHandle?: string; variantId?: string; displayType?: "rows" | "pills"; onSubmit: (data: TData) => void | Promise<void>; }) => Promise<void>; initShopBridge: ({ onShopModalOpen, }: { onShopModalOpen: () => void; }) => Promise<import(".").ShopBridge>; showNotification: (options: { title?: string; text: string; image?: string; action?: { label: string; url?: string; onAction?: () => void; }; }) => Promise<void>; }; }