@open-tender/store
Version:
A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API
431 lines (430 loc) • 20.5 kB
TypeScript
import { Allergens, Customer, CustomerEndpoints, CustomerEntities, Discounts, Favorites, GiftCards, LoyaltyPrograms, LoyaltyProgramSummary, Orders, RequestError, RequestStatus } from '@open-tender/types';
import { AppState } from '../app';
export interface CustomerState {
account: Customer | null;
deals: Discounts;
allergens: Allergens;
favorites: Favorites;
giftCards: GiftCards;
loyalty: LoyaltyPrograms;
orders: Orders;
rewards: Discounts;
loading: RequestStatus;
error: RequestError;
}
export declare enum CustomerActionType {
FetchCustomer = "customer/fetchCustomer"
}
export declare const fetchCustomer: import("@reduxjs/toolkit").AsyncThunk<CustomerEntities, {
customerId: number;
endpoints: CustomerEndpoints;
}, {
state: AppState;
rejectValue: RequestError;
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
extra?: unknown;
serializedErrorType?: unknown;
pendingMeta?: unknown;
fulfilledMeta?: unknown;
rejectedMeta?: unknown;
}>;
export declare const resetCustomer: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"customer/resetCustomer">;
export declare const selectCustomer: (state: AppState) => CustomerState;
export declare const selectCustomerAccount: (state: AppState) => Customer | null;
export declare const selectCustomerDeals: (state: AppState) => Discounts;
export declare const selectCustomerFavorites: (state: AppState) => Favorites;
export declare const selectCustomerGiftCards: (state: AppState) => GiftCards;
export declare const selectCustomerOrders: (state: AppState) => Orders;
export declare const selectCustomerRewards: (state: AppState) => Discounts;
export declare const selectCustomerLoyaltySummary: ((state: {
alerts: import("@open-tender/types").Alerts;
allergens: import("./allergens").AllergensState;
arrivals: import("./arrivals").ArrivalsState;
cartSummary: import("./cartSummary").CartSummaryState;
checkout: import("./checkout").CheckoutState;
config: import("./config").ConfigState;
customer: CustomerState;
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
deals: import("./deals").DealsState;
discounts: import("./discounts").DiscountsState;
errorAlerts: import("./errorAlerts").ErrorAlertsState;
kds: import("./kds").KdsState;
kiosk: import("./kiosk").KioskState;
menu: import("./menu").MenuState;
menuPages: import("./menuPages").MenuPagesState;
modal: import("./modal").ModalState;
notifications: import("@open-tender/types").Notifications;
offlineAuths: import("./offlineAuths").OfflineAuthsState;
order: import("./order").OrderState;
pos: import("./pos").PosState;
punches: import("./punches").PunchesState;
refund: import("./refund").RefundState;
sendReceipt: import("./sendReceipt").SendReceiptState;
settings: import("./settings").SettingsState;
sidebar: import("./sidebar").SidebarState;
surcharges: import("./surcharges").SurchargesState;
taxes: import("./taxes").TaxesState;
idle: import("./idle").IdleState;
tags: import("./tags").TagsState;
revenueCenter: import("./revenueCenter").RevenueCenterState;
}) => LoyaltyProgramSummary | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
} & {
resultFunc: (resultFuncArgs_0: import("@open-tender/types").LoyaltyProgram) => LoyaltyProgramSummary | null;
memoizedResultFunc: ((resultFuncArgs_0: import("@open-tender/types").LoyaltyProgram) => LoyaltyProgramSummary | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
};
lastResult: () => LoyaltyProgramSummary | null;
dependencies: [(state: AppState) => import("@open-tender/types").LoyaltyProgram];
recomputations: () => number;
resetRecomputations: () => void;
dependencyRecomputations: () => number;
resetDependencyRecomputations: () => void;
} & {
argsMemoize: typeof import("reselect").weakMapMemoize;
memoize: typeof import("reselect").weakMapMemoize;
};
export declare const selectCustomerLoyalty: (state: AppState) => LoyaltyPrograms;
export declare const selectCustomerLoyaltyProgram: ((state: {
alerts: import("@open-tender/types").Alerts;
allergens: import("./allergens").AllergensState;
arrivals: import("./arrivals").ArrivalsState;
cartSummary: import("./cartSummary").CartSummaryState;
checkout: import("./checkout").CheckoutState;
config: import("./config").ConfigState;
customer: CustomerState;
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
deals: import("./deals").DealsState;
discounts: import("./discounts").DiscountsState;
errorAlerts: import("./errorAlerts").ErrorAlertsState;
kds: import("./kds").KdsState;
kiosk: import("./kiosk").KioskState;
menu: import("./menu").MenuState;
menuPages: import("./menuPages").MenuPagesState;
modal: import("./modal").ModalState;
notifications: import("@open-tender/types").Notifications;
offlineAuths: import("./offlineAuths").OfflineAuthsState;
order: import("./order").OrderState;
pos: import("./pos").PosState;
punches: import("./punches").PunchesState;
refund: import("./refund").RefundState;
sendReceipt: import("./sendReceipt").SendReceiptState;
settings: import("./settings").SettingsState;
sidebar: import("./sidebar").SidebarState;
surcharges: import("./surcharges").SurchargesState;
taxes: import("./taxes").TaxesState;
idle: import("./idle").IdleState;
tags: import("./tags").TagsState;
revenueCenter: import("./revenueCenter").RevenueCenterState;
}) => {
program: import("@open-tender/types").LoyaltyProgram | null;
loading: RequestStatus;
error: RequestError;
}) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
} & {
resultFunc: (resultFuncArgs_0: CustomerState) => {
program: import("@open-tender/types").LoyaltyProgram | null;
loading: RequestStatus;
error: RequestError;
};
memoizedResultFunc: ((resultFuncArgs_0: CustomerState) => {
program: import("@open-tender/types").LoyaltyProgram | null;
loading: RequestStatus;
error: RequestError;
}) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
};
lastResult: () => {
program: import("@open-tender/types").LoyaltyProgram | null;
loading: RequestStatus;
error: RequestError;
};
dependencies: [(state: AppState) => CustomerState];
recomputations: () => number;
resetRecomputations: () => void;
dependencyRecomputations: () => number;
resetDependencyRecomputations: () => void;
} & {
argsMemoize: typeof import("reselect").weakMapMemoize;
memoize: typeof import("reselect").weakMapMemoize;
};
export declare const selectCustomerPointsProgram: ((state: {
alerts: import("@open-tender/types").Alerts;
allergens: import("./allergens").AllergensState;
arrivals: import("./arrivals").ArrivalsState;
cartSummary: import("./cartSummary").CartSummaryState;
checkout: import("./checkout").CheckoutState;
config: import("./config").ConfigState;
customer: CustomerState;
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
deals: import("./deals").DealsState;
discounts: import("./discounts").DiscountsState;
errorAlerts: import("./errorAlerts").ErrorAlertsState;
kds: import("./kds").KdsState;
kiosk: import("./kiosk").KioskState;
menu: import("./menu").MenuState;
menuPages: import("./menuPages").MenuPagesState;
modal: import("./modal").ModalState;
notifications: import("@open-tender/types").Notifications;
offlineAuths: import("./offlineAuths").OfflineAuthsState;
order: import("./order").OrderState;
pos: import("./pos").PosState;
punches: import("./punches").PunchesState;
refund: import("./refund").RefundState;
sendReceipt: import("./sendReceipt").SendReceiptState;
settings: import("./settings").SettingsState;
sidebar: import("./sidebar").SidebarState;
surcharges: import("./surcharges").SurchargesState;
taxes: import("./taxes").TaxesState;
idle: import("./idle").IdleState;
tags: import("./tags").TagsState;
revenueCenter: import("./revenueCenter").RevenueCenterState;
}) => import("@open-tender/types").LoyaltyProgram | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
} & {
resultFunc: (resultFuncArgs_0: LoyaltyPrograms, resultFuncArgs_1: import("@open-tender/types").OrderType | null) => import("@open-tender/types").LoyaltyProgram | null;
memoizedResultFunc: ((resultFuncArgs_0: LoyaltyPrograms, resultFuncArgs_1: import("@open-tender/types").OrderType | null) => import("@open-tender/types").LoyaltyProgram | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
};
lastResult: () => import("@open-tender/types").LoyaltyProgram | null;
dependencies: [(state: AppState) => LoyaltyPrograms, (state: AppState) => import("@open-tender/types").OrderType | null];
recomputations: () => number;
resetRecomputations: () => void;
dependencyRecomputations: () => number;
resetDependencyRecomputations: () => void;
} & {
argsMemoize: typeof import("reselect").weakMapMemoize;
memoize: typeof import("reselect").weakMapMemoize;
};
export declare const selectCustomerPoints: ((state: {
alerts: import("@open-tender/types").Alerts;
allergens: import("./allergens").AllergensState;
arrivals: import("./arrivals").ArrivalsState;
cartSummary: import("./cartSummary").CartSummaryState;
checkout: import("./checkout").CheckoutState;
config: import("./config").ConfigState;
customer: CustomerState;
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
deals: import("./deals").DealsState;
discounts: import("./discounts").DiscountsState;
errorAlerts: import("./errorAlerts").ErrorAlertsState;
kds: import("./kds").KdsState;
kiosk: import("./kiosk").KioskState;
menu: import("./menu").MenuState;
menuPages: import("./menuPages").MenuPagesState;
modal: import("./modal").ModalState;
notifications: import("@open-tender/types").Notifications;
offlineAuths: import("./offlineAuths").OfflineAuthsState;
order: import("./order").OrderState;
pos: import("./pos").PosState;
punches: import("./punches").PunchesState;
refund: import("./refund").RefundState;
sendReceipt: import("./sendReceipt").SendReceiptState;
settings: import("./settings").SettingsState;
sidebar: import("./sidebar").SidebarState;
surcharges: import("./surcharges").SurchargesState;
taxes: import("./taxes").TaxesState;
idle: import("./idle").IdleState;
tags: import("./tags").TagsState;
revenueCenter: import("./revenueCenter").RevenueCenterState;
}) => {
name: string;
points: `${number}.${number}` | null;
} | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
} & {
resultFunc: (resultFuncArgs_0: import("@open-tender/types").LoyaltyProgram | null) => {
name: string;
points: `${number}.${number}` | null;
} | null;
memoizedResultFunc: ((resultFuncArgs_0: import("@open-tender/types").LoyaltyProgram | null) => {
name: string;
points: `${number}.${number}` | null;
} | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
};
lastResult: () => {
name: string;
points: `${number}.${number}` | null;
} | null;
dependencies: [((state: {
alerts: import("@open-tender/types").Alerts;
allergens: import("./allergens").AllergensState;
arrivals: import("./arrivals").ArrivalsState;
cartSummary: import("./cartSummary").CartSummaryState;
checkout: import("./checkout").CheckoutState;
config: import("./config").ConfigState;
customer: CustomerState;
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
deals: import("./deals").DealsState;
discounts: import("./discounts").DiscountsState;
errorAlerts: import("./errorAlerts").ErrorAlertsState;
kds: import("./kds").KdsState;
kiosk: import("./kiosk").KioskState;
menu: import("./menu").MenuState;
menuPages: import("./menuPages").MenuPagesState;
modal: import("./modal").ModalState;
notifications: import("@open-tender/types").Notifications;
offlineAuths: import("./offlineAuths").OfflineAuthsState;
order: import("./order").OrderState;
pos: import("./pos").PosState;
punches: import("./punches").PunchesState;
refund: import("./refund").RefundState;
sendReceipt: import("./sendReceipt").SendReceiptState;
settings: import("./settings").SettingsState;
sidebar: import("./sidebar").SidebarState;
surcharges: import("./surcharges").SurchargesState;
taxes: import("./taxes").TaxesState;
idle: import("./idle").IdleState;
tags: import("./tags").TagsState;
revenueCenter: import("./revenueCenter").RevenueCenterState;
}) => import("@open-tender/types").LoyaltyProgram | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
} & {
resultFunc: (resultFuncArgs_0: LoyaltyPrograms, resultFuncArgs_1: import("@open-tender/types").OrderType | null) => import("@open-tender/types").LoyaltyProgram | null;
memoizedResultFunc: ((resultFuncArgs_0: LoyaltyPrograms, resultFuncArgs_1: import("@open-tender/types").OrderType | null) => import("@open-tender/types").LoyaltyProgram | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
};
lastResult: () => import("@open-tender/types").LoyaltyProgram | null;
dependencies: [(state: AppState) => LoyaltyPrograms, (state: AppState) => import("@open-tender/types").OrderType | null];
recomputations: () => number;
resetRecomputations: () => void;
dependencyRecomputations: () => number;
resetDependencyRecomputations: () => void;
} & {
argsMemoize: typeof import("reselect").weakMapMemoize;
memoize: typeof import("reselect").weakMapMemoize;
}];
recomputations: () => number;
resetRecomputations: () => void;
dependencyRecomputations: () => number;
resetDependencyRecomputations: () => void;
} & {
argsMemoize: typeof import("reselect").weakMapMemoize;
memoize: typeof import("reselect").weakMapMemoize;
};
export declare const selectPointsProgram: ((state: {
alerts: import("@open-tender/types").Alerts;
allergens: import("./allergens").AllergensState;
arrivals: import("./arrivals").ArrivalsState;
cartSummary: import("./cartSummary").CartSummaryState;
checkout: import("./checkout").CheckoutState;
config: import("./config").ConfigState;
customer: CustomerState;
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
deals: import("./deals").DealsState;
discounts: import("./discounts").DiscountsState;
errorAlerts: import("./errorAlerts").ErrorAlertsState;
kds: import("./kds").KdsState;
kiosk: import("./kiosk").KioskState;
menu: import("./menu").MenuState;
menuPages: import("./menuPages").MenuPagesState;
modal: import("./modal").ModalState;
notifications: import("@open-tender/types").Notifications;
offlineAuths: import("./offlineAuths").OfflineAuthsState;
order: import("./order").OrderState;
pos: import("./pos").PosState;
punches: import("./punches").PunchesState;
refund: import("./refund").RefundState;
sendReceipt: import("./sendReceipt").SendReceiptState;
settings: import("./settings").SettingsState;
sidebar: import("./sidebar").SidebarState;
surcharges: import("./surcharges").SurchargesState;
taxes: import("./taxes").TaxesState;
idle: import("./idle").IdleState;
tags: import("./tags").TagsState;
revenueCenter: import("./revenueCenter").RevenueCenterState;
}) => import("@open-tender/types").LoyaltyProgram | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
} & {
resultFunc: (resultFuncArgs_0: import("@open-tender/types").OrderType | null, resultFuncArgs_1: import("@open-tender/types").LoyaltyProgram | null) => import("@open-tender/types").LoyaltyProgram | null;
memoizedResultFunc: ((resultFuncArgs_0: import("@open-tender/types").OrderType | null, resultFuncArgs_1: import("@open-tender/types").LoyaltyProgram | null) => import("@open-tender/types").LoyaltyProgram | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
};
lastResult: () => import("@open-tender/types").LoyaltyProgram | null;
dependencies: [(state: AppState) => import("@open-tender/types").OrderType | null, ((state: {
alerts: import("@open-tender/types").Alerts;
allergens: import("./allergens").AllergensState;
arrivals: import("./arrivals").ArrivalsState;
cartSummary: import("./cartSummary").CartSummaryState;
checkout: import("./checkout").CheckoutState;
config: import("./config").ConfigState;
customer: CustomerState;
customerIdentify: import("./customerIdentify").CustomerIdentifyState;
deals: import("./deals").DealsState;
discounts: import("./discounts").DiscountsState;
errorAlerts: import("./errorAlerts").ErrorAlertsState;
kds: import("./kds").KdsState;
kiosk: import("./kiosk").KioskState;
menu: import("./menu").MenuState;
menuPages: import("./menuPages").MenuPagesState;
modal: import("./modal").ModalState;
notifications: import("@open-tender/types").Notifications;
offlineAuths: import("./offlineAuths").OfflineAuthsState;
order: import("./order").OrderState;
pos: import("./pos").PosState;
punches: import("./punches").PunchesState;
refund: import("./refund").RefundState;
sendReceipt: import("./sendReceipt").SendReceiptState;
settings: import("./settings").SettingsState;
sidebar: import("./sidebar").SidebarState;
surcharges: import("./surcharges").SurchargesState;
taxes: import("./taxes").TaxesState;
idle: import("./idle").IdleState;
tags: import("./tags").TagsState;
revenueCenter: import("./revenueCenter").RevenueCenterState;
}) => import("@open-tender/types").LoyaltyProgram | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
} & {
resultFunc: (resultFuncArgs_0: LoyaltyPrograms, resultFuncArgs_1: import("@open-tender/types").OrderType | null) => import("@open-tender/types").LoyaltyProgram | null;
memoizedResultFunc: ((resultFuncArgs_0: LoyaltyPrograms, resultFuncArgs_1: import("@open-tender/types").OrderType | null) => import("@open-tender/types").LoyaltyProgram | null) & {
clearCache: () => void;
resultsCount: () => number;
resetResultsCount: () => void;
};
lastResult: () => import("@open-tender/types").LoyaltyProgram | null;
dependencies: [(state: AppState) => LoyaltyPrograms, (state: AppState) => import("@open-tender/types").OrderType | null];
recomputations: () => number;
resetRecomputations: () => void;
dependencyRecomputations: () => number;
resetDependencyRecomputations: () => void;
} & {
argsMemoize: typeof import("reselect").weakMapMemoize;
memoize: typeof import("reselect").weakMapMemoize;
}];
recomputations: () => number;
resetRecomputations: () => void;
dependencyRecomputations: () => number;
resetDependencyRecomputations: () => void;
} & {
argsMemoize: typeof import("reselect").weakMapMemoize;
memoize: typeof import("reselect").weakMapMemoize;
};
export declare const customerReducer: import("redux").Reducer<CustomerState>;