UNPKG

mobx-react-lite

Version:

Lightweight React bindings for MobX based on React 16.8+ and Hooks

40 lines 1.4 kB
import { useObserver } from "./useObserver"; function ObserverComponent(_a) { var children = _a.children, render = _a.render; if (children && render) { console.error("MobX Observer: Do not use children and render in the same time in `Observer`"); } var component = children || render; if (typeof component !== "function") { return null; } return useObserver(component); } if ("production" !== process.env.NODE_ENV) { ObserverComponent.propTypes = { children: ObserverPropsCheck, render: ObserverPropsCheck }; } ObserverComponent.displayName = "Observer"; export { ObserverComponent as Observer }; function ObserverPropsCheck(props, key, componentName, location, propFullName) { var extraKey = key === "children" ? "render" : "children"; var hasProp = typeof props[key] === "function"; var hasExtraProp = typeof props[extraKey] === "function"; if (hasProp && hasExtraProp) { return new Error("MobX Observer: Do not use children and render in the same time in`" + componentName); } if (hasProp || hasExtraProp) { return null; } return new Error("Invalid prop `" + propFullName + "` of type `" + typeof props[key] + "` supplied to" + " `" + componentName + "`, expected `function`."); } //# sourceMappingURL=ObserverComponent.js.map