UNPKG

mobx-react-lite

Version:

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

42 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Observer = ObserverComponent; var useObserver_1 = require("./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 (0, useObserver_1.useObserver)(component); } if ("production" !== process.env.NODE_ENV) { ObserverComponent.propTypes = { children: ObserverPropsCheck, render: ObserverPropsCheck }; } ObserverComponent.displayName = "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