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.

mapPropsStream.js 2.2 KiB

пре 3 година
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = exports.mapPropsStreamWithConfig = void 0;
  5. var _react = require("react");
  6. var _symbolObservable = _interopRequireDefault(require("symbol-observable"));
  7. var _componentFromStream = require("./componentFromStream");
  8. var _setDisplayName = _interopRequireDefault(require("./setDisplayName"));
  9. var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName"));
  10. var _setObservableConfig = require("./setObservableConfig");
  11. var identity = function identity(t) {
  12. return t;
  13. };
  14. var mapPropsStreamWithConfig = function mapPropsStreamWithConfig(config) {
  15. var componentFromStream = (0, _componentFromStream.componentFromStreamWithConfig)({
  16. fromESObservable: identity,
  17. toESObservable: identity
  18. });
  19. return function (transform) {
  20. return function (BaseComponent) {
  21. var factory = (0, _react.createFactory)(BaseComponent);
  22. var fromESObservable = config.fromESObservable,
  23. toESObservable = config.toESObservable;
  24. return componentFromStream(function (props$) {
  25. var _ref;
  26. return _ref = {
  27. subscribe: function subscribe(observer) {
  28. var subscription = toESObservable(transform(fromESObservable(props$))).subscribe({
  29. next: function next(childProps) {
  30. return observer.next(factory(childProps));
  31. }
  32. });
  33. return {
  34. unsubscribe: function unsubscribe() {
  35. return subscription.unsubscribe();
  36. }
  37. };
  38. }
  39. }, _ref[_symbolObservable.default] = function () {
  40. return this;
  41. }, _ref;
  42. });
  43. };
  44. };
  45. };
  46. exports.mapPropsStreamWithConfig = mapPropsStreamWithConfig;
  47. var mapPropsStream = function mapPropsStream(transform) {
  48. var hoc = mapPropsStreamWithConfig(_setObservableConfig.config)(transform);
  49. if (process.env.NODE_ENV !== 'production') {
  50. return function (BaseComponent) {
  51. return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'mapPropsStream'))(hoc(BaseComponent));
  52. };
  53. }
  54. return hoc;
  55. };
  56. var _default = mapPropsStream;
  57. exports.default = _default;