UNPKG

@shopify/storefront-api-client

Version:

Shopify Storefront API Client - A lightweight JS client to interact with Shopify's Storefront API

41 lines (37 loc) 1.69 kB
import { ApiClientConfig, CustomFetchApi, ApiClientLogger, ApiClientLogContentTypes, ApiClient, ApiClientRequestStream } from '@shopify/graphql-client'; export { AllOperations, ApiClientRequestOptions, ClientResponse, FetchResponseBody, HTTPResponseLog, HTTPRetryLog, LogContent, ResponseWithType, ReturnData } from '@shopify/graphql-client'; type StorefrontApiClientLogContentTypes = ApiClientLogContentTypes; type StorefrontApiClientConfig = ApiClientConfig & { clientName?: string; } & ({ publicAccessToken?: never; privateAccessToken: string; } | { publicAccessToken: string; privateAccessToken?: never; }); type StorefrontApiClientOptions = Omit<StorefrontApiClientConfig, 'headers' | 'apiUrl'> & { customFetchApi?: CustomFetchApi; logger?: ApiClientLogger<StorefrontApiClientLogContentTypes>; }; interface StorefrontQueries { [key: string]: { variables: any; return: any; }; [key: number | symbol]: never; } interface StorefrontMutations { [key: string]: { variables: any; return: any; }; [key: number | symbol]: never; } type StorefrontOperations = StorefrontQueries & StorefrontMutations; type StorefrontApiClient = ApiClient<StorefrontApiClientConfig, StorefrontOperations> & { requestStream: ApiClientRequestStream<StorefrontOperations>; }; declare function createStorefrontApiClient({ storeDomain, apiVersion, publicAccessToken, privateAccessToken, clientName, retries, customFetchApi, logger, }: StorefrontApiClientOptions): StorefrontApiClient; export { createStorefrontApiClient }; export type { StorefrontApiClient, StorefrontMutations, StorefrontOperations, StorefrontQueries };