UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

25 lines 1.02 kB
import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import React from 'react'; import ProviderFactory from './provider-factory'; var ProviderFactoryContext = /*#__PURE__*/React.createContext(new ProviderFactory()); export var ProviderFactoryProvider = ProviderFactoryContext.Provider; export var useProviderFactory = function useProviderFactory() { return React.useContext(ProviderFactoryContext); }; export var useProvider = function useProvider(name) { var _React$useState = React.useState(), _React$useState2 = _slicedToArray(_React$useState, 2), provider = _React$useState2[0], setProvider = _React$useState2[1]; var providerFactory = useProviderFactory(); React.useEffect(function () { var providerHandler = function providerHandler(_, provider) { setProvider(provider); }; providerFactory.subscribe(name, providerHandler); return function () { providerFactory.unsubscribe(name, providerHandler); }; }, [name, providerFactory]); return provider; };