import React, { useContext, useMemo } from "react"; import { InventoryManager, getInventoryManager, } from "@dndbeyond/character-rules-engine/es"; interface InventoryManagerContextValue { inventoryManager: InventoryManager; } const initContext: InventoryManagerContextValue = { inventoryManager: null!, }; export const InventoryManagerContext = React.createContext(initContext); export function InventoryManagerProvider({ children }) { const inventoryManager: InventoryManager = useMemo( () => getInventoryManager(), [] ); return ( {children} ); } export const useInventoryManager = () => { return useContext(InventoryManagerContext); };