UNPKG

@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
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>;