UNPKG

924 BJavaScriptView Raw
1import React from 'react';
2
3import AppContextProvider from '../context/app';
4import CartContextProvider from '../context/cart';
5import CatalogContextProvider from '../context/catalog';
6import CheckoutContextProvider from '../context/checkout';
7import ErrorContextProvider from '../context/unhandledErrors';
8import UserContextProvider from '../context/user';
9
10/**
11 * List of essential context providers that are required to run Peregrine
12 *
13 * @property {React.Component[]} contextProviders
14 */
15const contextProviders = [
16 ErrorContextProvider,
17 AppContextProvider,
18 UserContextProvider,
19 CatalogContextProvider,
20 CartContextProvider,
21 CheckoutContextProvider
22];
23
24const PeregrineContextProvider = ({ children }) => {
25 return contextProviders.reduceRight((memo, ContextProvider) => {
26 return <ContextProvider>{memo}</ContextProvider>;
27 }, children);
28};
29
30export default PeregrineContextProvider;