From f07b29c0f0e3ffd33b004e5f8937d32d3df33d38 Mon Sep 17 00:00:00 2001 From: Luis Alvarez Date: Thu, 26 Aug 2021 23:04:45 -0500 Subject: [PATCH] Added util method for provider creation --- framework/bigcommerce/index.tsx | 17 ++--------------- framework/commerce/index.tsx | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/framework/bigcommerce/index.tsx b/framework/bigcommerce/index.tsx index 96a068065..ab4321758 100644 --- a/framework/bigcommerce/index.tsx +++ b/framework/bigcommerce/index.tsx @@ -1,23 +1,10 @@ -import { - CommerceProvider as CoreCommerceProvider, - CommerceProviderProps, - useCommerce as useCoreCommerce, -} from '@commerce' +import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce' import { bigcommerceProvider } from './provider' import type { BigcommerceProvider } from './provider' export { bigcommerceProvider } export type { BigcommerceProvider } -export function CommerceProvider({ - children, - ...props -}: CommerceProviderProps) { - return ( - - {children} - - ) -} +export const CommerceProvider = getCommerceProvider(bigcommerceProvider) export const useCommerce = () => useCoreCommerce() diff --git a/framework/commerce/index.tsx b/framework/commerce/index.tsx index 8cafb5ad4..dd740809f 100644 --- a/framework/commerce/index.tsx +++ b/framework/commerce/index.tsx @@ -70,7 +70,7 @@ export type CommerceProviderProps = { children?: ReactNode } & Partial -export function CommerceProvider

({ +export function CoreCommerceProvider

({ provider, children, }: CommerceProps

) { @@ -88,6 +88,19 @@ export function CommerceProvider

({ return {children} } +export function getCommerceProvider

(provider: P) { + return function CommerceProvider({ + children, + ...props + }: CommerceProviderProps) { + return ( + + {children} + + ) + } +} + export function useCommerce

() { return useContext(Commerce) as CommerceContextValue

}