You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

пре 3 година
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _react = require("react");
  6. var _setDisplayName = _interopRequireDefault(require("./setDisplayName"));
  7. var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName"));
  8. var identity = function identity(Component) {
  9. return Component;
  10. };
  11. var branch = function branch(test, left, right) {
  12. if (right === void 0) {
  13. right = identity;
  14. }
  15. return function (BaseComponent) {
  16. var leftFactory;
  17. var rightFactory;
  18. var Branch = function Branch(props) {
  19. if (test(props)) {
  20. leftFactory = leftFactory || (0, _react.createFactory)(left(BaseComponent));
  21. return leftFactory(props);
  22. }
  23. rightFactory = rightFactory || (0, _react.createFactory)(right(BaseComponent));
  24. return rightFactory(props);
  25. };
  26. if (process.env.NODE_ENV !== 'production') {
  27. return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'branch'))(Branch);
  28. }
  29. return Branch;
  30. };
  31. };
  32. var _default = branch;
  33. exports.default = _default;