usimple-saleor-sdk
Version:
This package contains all queries and mutations that are used in our sample storefront. It can be used for semi-custom or fully-custom (with ability to extend existing queries) storefront solutions.
53 lines (52 loc) • 2.1 kB
TypeScript
import { ApolloClientManager } from "../data/ApolloClientManager";
import { PaymentGateway } from "../fragments/gqlTypes/PaymentGateway";
import { User } from "../fragments/gqlTypes/User";
import { NamedObservable } from "../helpers";
import { ICheckoutModel, IPaymentModel, LocalStorageHandler } from "../helpers/LocalStorageHandler";
import { JobsManager } from "../jobs";
import { Config } from "../types";
import { ISaleorStateSummeryPrices, StateItems } from "./types";
export interface SaleorStateLoaded {
user: boolean;
signInToken: boolean;
checkout: boolean;
payment: boolean;
summaryPrices: boolean;
}
export declare class SaleorState extends NamedObservable<StateItems> {
user?: User | null;
signInToken?: string | null;
signInTokenRefreshing?: boolean;
signInTokenVerifying?: boolean;
checkout?: ICheckoutModel;
promoCode?: string;
selectedShippingAddressId?: string;
selectedBillingAddressId?: string;
payment?: IPaymentModel | null;
summaryPrices?: ISaleorStateSummeryPrices;
availablePaymentGateways?: PaymentGateway[] | null;
loaded: SaleorStateLoaded;
private apolloClientManager;
private jobsManager;
private localStorageHandler;
constructor(config: Config, localStorageHandler: LocalStorageHandler, apolloClientManager: ApolloClientManager, jobsManager: JobsManager);
/**
* Subscribes to particular changes occuring in data sources like apollo cache or local storage.
* Every update in data source will result in update of respective class member.
*/
private subscribeStateToChanges;
/**
* Initialize class members with cached or fetched data.
*/
private initializeState;
private verityToken;
private onLoadedUpdate;
private onClearLocalStorage;
private onSignInTokenUpdate;
private onSignInTokenVerifyingUpdate;
private onSignInTokenRefreshUpdate;
private onUserUpdate;
private onCheckoutUpdate;
private onPaymentUpdate;
private static calculateSummaryPrices;
}