UNPKG

@open-tender/cloud

Version:

A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our cloud-based Order API.

376 lines (375 loc) 20.3 kB
import { AppState } from '../app'; import { Address, Cart, CartCounts, CartItem, DeviceType, MenuCategory, MenuRevenueCenter, Messages, Modal, Order, OrderType, PrepType, RequestedAt, RequestError, RequestStatus, RevenueCenter, ServiceType, SimpleCart, Timezone } from '@open-tender/types'; export interface OrderState { address: Address | null; alert: Modal | null; cart: Cart | null; cartCounts: CartCounts | null; currentCategory: MenuCategory | null; currentItem: CartItem | null; currentVendor: MenuRevenueCenter | null; deviceType: DeviceType | null; error: RequestError | string; isCurbside: boolean; isOutpost: boolean; loading: RequestStatus; messages: Messages; orderId: number | null; orderType: OrderType | null; prepType: PrepType | null; requestedAt: RequestedAt | null; revenueCenter: RevenueCenter | null; serviceType: ServiceType | null; table: string | null; } export declare enum OrderActionType { FetchRevenueCenter = "order/fetchRevenueCenter", FetchLocation = "order/fetchLocation", RevertMenu = "order/revertMenu", RefreshRevenueCenter = "order/refreshRevenueCenter", EditOrder = "order/editOrder", ReorderPastOrder = "order/reorderPastOrder" } export declare const fetchRevenueCenter: import("@reduxjs/toolkit").AsyncThunk<void, { revenueCenterId: number; requestedAt: string | null; }, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const fetchLocation: import("@reduxjs/toolkit").AsyncThunk<void, { revenueCenterId: number; cartTotal?: string | undefined; }, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const fetchLocationBySlug: import("@reduxjs/toolkit").AsyncThunk<void, { slug: string; cartTotal?: string | undefined; }, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const revertMenu: import("@reduxjs/toolkit").AsyncThunk<void | RevenueCenter, { revenueCenterId: number; serviceType: ServiceType; requestedAt: RequestedAt; }, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const refreshRevenueCenter: import("@reduxjs/toolkit").AsyncThunk<any, { revenueCenterId: number; serviceType: ServiceType; requestedAt: RequestedAt | null; reset?: boolean | undefined; }, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const editOrder: import("@reduxjs/toolkit").AsyncThunk<void | Partial<OrderState>, Order, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const reorderPastOrder: import("@reduxjs/toolkit").AsyncThunk<void | Partial<OrderState>, { revenueCenterId: number; serviceType: ServiceType; items: SimpleCart; }, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetOrder">, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/addItemToCart">, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/addMessage">, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/decrementItemInCart">, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/incrementItemInCart">, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/removeItemFromCart">, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/removeMessage">, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetAlert">, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetCart">, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetLocation">, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetMessages">, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetOrderType">, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetRevenueCenter">, setAddress: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setAddress">, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setAlert">, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCart">, setCurbside: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCurbside">, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCurrentCategory">, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCurrentItem">, setDeviceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setDeviceType">, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setMenuVars">, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setOrderId">, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ orderType: OrderType; serviceType: ServiceType; isOutpost?: boolean | undefined; }, "order/setOrderServiceType">, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setOrderType">, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setPrepType">, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setRequestedAt">, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setRevenueCenter">, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setServiceType">, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setTable">, checkout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/checkout">, setCurrentVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCurrentVendor">, updateOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/updateOrder">; export declare const selectAlert: (state: AppState) => Modal | null; export declare const selectTimezone: (state: AppState) => Timezone; export declare const selectOrder: (state: AppState) => OrderState; export declare const selectCartQuantity: (state: AppState) => number; export declare const selectCartTotal: (state: AppState) => number; export declare const selectCartCounts: (state: AppState) => CartCounts; export declare const selectCanOrder: (state: AppState) => RequestedAt | null; export declare const selectOrderLimits: ((state: import("redux").EmptyObject & { alerts: import("@open-tender/types").Alerts; allergens: import("./allergens").AllergensState; announcements: import("./announcements").AnnouncementsState; checkout: import("./checkout").CheckoutState; completedOrders: import("./completedOrders").CompletedOrdersState; config: import("./config").ConfigState; confirmation: import("./confirmation").ConfirmationState; customer: import("redux").CombinedState<{ account: import("./customer").AccountState; communicationPreferences: import("./customer").CustomerCommunicationPrefsState; creditCards: import("./customer").CustomerCreditCardsState; allergens: import("./customer").CustomerAllergensState; addresses: import("./customer").CustomerAddressesState; favorites: import("./customer").CustomerFavoritesState; fcmToken: import("./customer").CustomerFcmTokenState; giftCards: import("./customer").CustomerGiftCardsState; groupOrders: import("./customer").CustomerGroupOrdersState; history: import("./customer").CustomerHistoryState; houseAccounts: import("./customer").CustomerHouseAccountsState; loyalty: import("./customer").CustomerLoyaltyState; order: import("./customer").CustomerOrderState; orders: import("./customer").CustomerOrdersState; pointsShop: import("./customer").PointsShopState; tplsPointsShop: import("./customer").TplsPointsShopState; qrcode: import("./customer").CustomerQRCodeState; rewards: import("./customer").CustomerRewardsState; thanx: import("./customer").CustomerThanxState; tpls: import("./customer").CustomerTplsState; }>; deals: import("./deals").DealsState; donations: import("./donations").DonationState; geolocation: import("./geolocation").GeoLocationState; giftCards: import("./giftCards").GiftCardsState; groupOrder: import("./groupOrder").GroupOrderState; guest: import("./guest").GuestState; loader: import("./loader").LoaderState; menu: import("./menu").MenuState; menuDisplay: import("./menuDisplay").MenuDisplayState; menuItems: import("./menuItems").MenuItemsState; modal: Modal; misc: import("./misc").MiscState; nav: import("./nav").NavState; navSite: import("./navSite").NavSiteState; notifications: import("@open-tender/types").Notifications; oneTimePasscode: import("./oneTimePasscode").OneTimePasscodeState; order: OrderState; orderFulfillment: import("./orderFulfillment").OrderFulfillmentState; orderRating: import("./orderRating").OrderRatingState; posts: import("./posts").PostsSlice; pushNotifications: import("./pushNotifications").PushNotificationsState; qr: import("./qr").QrState; quote: import("./quote").QuoteState; resetPassword: import("./resetPassword").ResetPasswordState; revenueCenters: import("./revenueCenters").RevenueCentersState; rewardCode: import("./rewardCode").RewardCodeState; sidebar: import("./sidebar").SidebarState; sidebarModal: import("./sidebarModal").SidebarModalState; signUp: import("./signUp").SignUpState; tags: import("./tags").TagsState; terms: import("./terms").TermsSlice; Unsubscribe: import("./unsubscribe").UnsubscribeState; validTimes: import("./validTimes").ValidTimesState; verifyAccount: import("./verifyAccount").VerifyAccountState; }) => { orderMinimum: number | null; orderMaximum: number | null; }) & import("reselect").OutputSelectorFields<(args_0: { revenueCenter: RevenueCenter | null; serviceType: ServiceType | null; cartGuest: import("./groupOrder").GroupOrderGuestState | null; spendingLimit: string | null; }) => { orderMinimum: number | null; orderMaximum: number | null; }, { clearCache: () => void; }> & { clearCache: () => void; }; export declare const selectCartIds: ((state: import("redux").EmptyObject & { alerts: import("@open-tender/types").Alerts; allergens: import("./allergens").AllergensState; announcements: import("./announcements").AnnouncementsState; checkout: import("./checkout").CheckoutState; completedOrders: import("./completedOrders").CompletedOrdersState; config: import("./config").ConfigState; confirmation: import("./confirmation").ConfirmationState; customer: import("redux").CombinedState<{ account: import("./customer").AccountState; communicationPreferences: import("./customer").CustomerCommunicationPrefsState; creditCards: import("./customer").CustomerCreditCardsState; allergens: import("./customer").CustomerAllergensState; addresses: import("./customer").CustomerAddressesState; favorites: import("./customer").CustomerFavoritesState; fcmToken: import("./customer").CustomerFcmTokenState; giftCards: import("./customer").CustomerGiftCardsState; groupOrders: import("./customer").CustomerGroupOrdersState; history: import("./customer").CustomerHistoryState; houseAccounts: import("./customer").CustomerHouseAccountsState; loyalty: import("./customer").CustomerLoyaltyState; order: import("./customer").CustomerOrderState; orders: import("./customer").CustomerOrdersState; pointsShop: import("./customer").PointsShopState; tplsPointsShop: import("./customer").TplsPointsShopState; qrcode: import("./customer").CustomerQRCodeState; rewards: import("./customer").CustomerRewardsState; thanx: import("./customer").CustomerThanxState; tpls: import("./customer").CustomerTplsState; }>; deals: import("./deals").DealsState; donations: import("./donations").DonationState; geolocation: import("./geolocation").GeoLocationState; giftCards: import("./giftCards").GiftCardsState; groupOrder: import("./groupOrder").GroupOrderState; guest: import("./guest").GuestState; loader: import("./loader").LoaderState; menu: import("./menu").MenuState; menuDisplay: import("./menuDisplay").MenuDisplayState; menuItems: import("./menuItems").MenuItemsState; modal: Modal; misc: import("./misc").MiscState; nav: import("./nav").NavState; navSite: import("./navSite").NavSiteState; notifications: import("@open-tender/types").Notifications; oneTimePasscode: import("./oneTimePasscode").OneTimePasscodeState; order: OrderState; orderFulfillment: import("./orderFulfillment").OrderFulfillmentState; orderRating: import("./orderRating").OrderRatingState; posts: import("./posts").PostsSlice; pushNotifications: import("./pushNotifications").PushNotificationsState; qr: import("./qr").QrState; quote: import("./quote").QuoteState; resetPassword: import("./resetPassword").ResetPasswordState; revenueCenters: import("./revenueCenters").RevenueCentersState; rewardCode: import("./rewardCode").RewardCodeState; sidebar: import("./sidebar").SidebarState; sidebarModal: import("./sidebarModal").SidebarModalState; signUp: import("./signUp").SignUpState; tags: import("./tags").TagsState; terms: import("./terms").TermsSlice; Unsubscribe: import("./unsubscribe").UnsubscribeState; validTimes: import("./validTimes").ValidTimesState; verifyAccount: import("./verifyAccount").VerifyAccountState; }) => number[]) & import("reselect").OutputSelectorFields<(args_0: Cart | null) => number[], { clearCache: () => void; }> & { clearCache: () => void; }; export declare const selectMenuSlug: (state: AppState) => string; export declare const selectRevenueCenter: (state: AppState) => RevenueCenter | null; export declare const selectCart: (state: AppState) => Cart | null; export declare const selectCurrentVendor: (state: AppState) => MenuRevenueCenter | null; export declare const selectMessages: (state: AppState) => Messages; export declare const selectCurrentItem: (state: AppState) => CartItem | null; export declare const selectMenuVars: ((state: import("redux").EmptyObject & { alerts: import("@open-tender/types").Alerts; allergens: import("./allergens").AllergensState; announcements: import("./announcements").AnnouncementsState; checkout: import("./checkout").CheckoutState; completedOrders: import("./completedOrders").CompletedOrdersState; config: import("./config").ConfigState; confirmation: import("./confirmation").ConfirmationState; customer: import("redux").CombinedState<{ account: import("./customer").AccountState; communicationPreferences: import("./customer").CustomerCommunicationPrefsState; creditCards: import("./customer").CustomerCreditCardsState; allergens: import("./customer").CustomerAllergensState; addresses: import("./customer").CustomerAddressesState; favorites: import("./customer").CustomerFavoritesState; fcmToken: import("./customer").CustomerFcmTokenState; giftCards: import("./customer").CustomerGiftCardsState; groupOrders: import("./customer").CustomerGroupOrdersState; history: import("./customer").CustomerHistoryState; houseAccounts: import("./customer").CustomerHouseAccountsState; loyalty: import("./customer").CustomerLoyaltyState; order: import("./customer").CustomerOrderState; orders: import("./customer").CustomerOrdersState; pointsShop: import("./customer").PointsShopState; tplsPointsShop: import("./customer").TplsPointsShopState; qrcode: import("./customer").CustomerQRCodeState; rewards: import("./customer").CustomerRewardsState; thanx: import("./customer").CustomerThanxState; tpls: import("./customer").CustomerTplsState; }>; deals: import("./deals").DealsState; donations: import("./donations").DonationState; geolocation: import("./geolocation").GeoLocationState; giftCards: import("./giftCards").GiftCardsState; groupOrder: import("./groupOrder").GroupOrderState; guest: import("./guest").GuestState; loader: import("./loader").LoaderState; menu: import("./menu").MenuState; menuDisplay: import("./menuDisplay").MenuDisplayState; menuItems: import("./menuItems").MenuItemsState; modal: Modal; misc: import("./misc").MiscState; nav: import("./nav").NavState; navSite: import("./navSite").NavSiteState; notifications: import("@open-tender/types").Notifications; oneTimePasscode: import("./oneTimePasscode").OneTimePasscodeState; order: OrderState; orderFulfillment: import("./orderFulfillment").OrderFulfillmentState; orderRating: import("./orderRating").OrderRatingState; posts: import("./posts").PostsSlice; pushNotifications: import("./pushNotifications").PushNotificationsState; qr: import("./qr").QrState; quote: import("./quote").QuoteState; resetPassword: import("./resetPassword").ResetPasswordState; revenueCenters: import("./revenueCenters").RevenueCentersState; rewardCode: import("./rewardCode").RewardCodeState; sidebar: import("./sidebar").SidebarState; sidebarModal: import("./sidebarModal").SidebarModalState; signUp: import("./signUp").SignUpState; tags: import("./tags").TagsState; terms: import("./terms").TermsSlice; Unsubscribe: import("./unsubscribe").UnsubscribeState; validTimes: import("./validTimes").ValidTimesState; verifyAccount: import("./verifyAccount").VerifyAccountState; }) => { revenueCenterId: number | null; serviceType: ServiceType | null; requestedAt: RequestedAt | null; }) & import("reselect").OutputSelectorFields<(args_0: { revenueCenter: RevenueCenter | null; serviceType: ServiceType | null; requestedAt: RequestedAt | null; }) => { revenueCenterId: number | null; serviceType: ServiceType | null; requestedAt: RequestedAt | null; }, { clearCache: () => void; }> & { clearCache: () => void; }; export declare const selectAutoSelect: (state: AppState) => boolean | undefined; export declare const selectCurrentCategory: (state: AppState) => MenuCategory | null; export declare const orderReducer: import("redux").Reducer<OrderState, import("redux").AnyAction>;