Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bacon.react.base

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bacon.react.base - npm Package Compare versions

Comparing version 3.1.1 to 3.1.2

.nyc_output/26906.json

249

lib/bacon.react.base.js

@@ -12,3 +12,3 @@ "use strict";

var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

@@ -21,3 +21,3 @@ var _baconjs = require("baconjs");

var _ramda2 = _interopRequireDefault(_ramda);
var R = _interopRequireWildcard(_ramda);

@@ -28,4 +28,12 @@ var _react = require("react");

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
// Lifting

@@ -42,29 +50,52 @@

var common = {
getInitialState: function getInitialState() {
return nullState;
},
tryDispose: function tryDispose() {
var dispose = this.state.dispose;
var LiftedComponent = function (_React$Component) {
_inherits(LiftedComponent, _React$Component);
if (dispose) dispose();
},
componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
this.trySubscribe(nextProps);
},
componentWillMount: function componentWillMount() {
this.trySubscribe(this.props);
},
shouldComponentUpdate: function shouldComponentUpdate(np, ns) {
return ns.rendered !== this.state.rendered;
},
componentWillUnmount: function componentWillUnmount() {
this.tryDispose();
this.setState(nullState);
},
render: function render() {
return this.state.rendered;
function LiftedComponent(props) {
_classCallCheck(this, LiftedComponent);
var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(LiftedComponent).call(this, props));
_this.state = nullState;
return _this;
}
};
_createClass(LiftedComponent, [{
key: "tryDispose",
value: function tryDispose() {
var dispose = this.state.dispose;
if (dispose) dispose();
}
}, {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps) {
this.trySubscribe(nextProps);
}
}, {
key: "componentWillMount",
value: function componentWillMount() {
this.trySubscribe(this.props);
}
}, {
key: "shouldComponentUpdate",
value: function shouldComponentUpdate(np, ns) {
return ns.rendered !== this.state.rendered;
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
this.tryDispose();
this.setState(nullState);
}
}, {
key: "render",
value: function render() {
return this.state.rendered;
}
}]);
return LiftedComponent;
}(_react2.default.Component);
var toProperty = function toProperty(obs) {

@@ -74,22 +105,35 @@ return obs instanceof _baconjs2.default.EventStream ? obs.toProperty() : obs;

var FromBacon = _react2.default.createClass(_extends({}, common, {
trySubscribe: function trySubscribe(_ref) {
var _this = this;
var FromBacon = function (_LiftedComponent) {
_inherits(FromBacon, _LiftedComponent);
var bacon = _ref.bacon;
function FromBacon(props) {
_classCallCheck(this, FromBacon);
this.tryDispose();
this.setState({ dispose: bacon.subscribe(function (ev) {
if (ev.hasValue()) {
_this.setState({ rendered: ev.value() });
} else if (ev.isError()) {
config.onError(ev.error);
} else {
_this.setState(nullDispose);
}
}) });
return _possibleConstructorReturn(this, Object.getPrototypeOf(FromBacon).call(this, props));
}
}));
_createClass(FromBacon, [{
key: "trySubscribe",
value: function trySubscribe(_ref) {
var _this3 = this;
var bacon = _ref.bacon;
this.tryDispose();
this.setState({ dispose: bacon.subscribe(function (ev) {
if (ev.hasValue()) {
_this3.setState({ rendered: ev.value() });
} else if (ev.isError()) {
config.onError(ev.error);
} else {
_this3.setState(nullDispose);
}
}) });
}
}]);
return FromBacon;
}(LiftedComponent);
var fromBacon = exports.fromBacon = function fromBacon(bacon) {

@@ -105,62 +149,75 @@ return _react2.default.createElement(FromBacon, { bacon: bacon });

var FromClass = _react2.default.createClass(_extends({}, common, {
trySubscribe: function trySubscribe(_ref2) {
var _this2 = this;
var FromClass = function (_LiftedComponent2) {
_inherits(FromClass, _LiftedComponent2);
var props = _ref2.props;
function FromClass(props) {
_classCallCheck(this, FromClass);
this.tryDispose();
return _possibleConstructorReturn(this, Object.getPrototypeOf(FromClass).call(this, props));
}
var vals = {};
var obsKeys = [];
var obsStreams = [];
_createClass(FromClass, [{
key: "trySubscribe",
value: function trySubscribe(_ref2) {
var _this5 = this;
for (var key in props) {
var val = props[key];
var keyOut = "mount" === key ? "ref" : key;
if (val instanceof _baconjs2.default.Observable) {
obsKeys.push(keyOut);
obsStreams.push(val);
} else if ("children" === key && val instanceof Array && val.find(function (c) {
return c instanceof _baconjs2.default.Observable;
})) {
obsKeys.push(keyOut);
obsStreams.push(_baconjs2.default.combineAsArray(val));
} else {
vals[keyOut] = val;
var props = _ref2.props;
this.tryDispose();
var vals = {};
var obsKeys = [];
var obsStreams = [];
for (var key in props) {
var val = props[key];
var keyOut = "mount" === key ? "ref" : key;
if (val instanceof _baconjs2.default.Observable) {
obsKeys.push(keyOut);
obsStreams.push(val);
} else if ("children" === key && val instanceof Array && val.find(function (c) {
return c instanceof _baconjs2.default.Observable;
})) {
obsKeys.push(keyOut);
obsStreams.push(_baconjs2.default.combineAsArray(val));
} else {
vals[keyOut] = val;
}
}
}
this.setState({ dispose: combineAsArray(obsStreams).subscribe(function (ev) {
if (ev.hasValue()) {
var obsVals = ev.value();
var _props = {};
var children = null;
for (var _key in vals) {
var _val = vals[_key];
if ("children" === _key) {
children = _val;
} else {
_props[_key] = _val;
this.setState({ dispose: combineAsArray(obsStreams).subscribe(function (ev) {
if (ev.hasValue()) {
var obsVals = ev.value();
var _props = {};
var children = null;
for (var _key in vals) {
var _val = vals[_key];
if ("children" === _key) {
children = _val;
} else {
_props[_key] = _val;
}
}
}
for (var i = 0, n = obsKeys.length; i < n; ++i) {
var _key2 = obsKeys[i];
var _val2 = obsVals[i];
if ("children" === _key2) {
children = _val2;
} else {
_props[_key2] = _val2;
for (var i = 0, n = obsKeys.length; i < n; ++i) {
var _key2 = obsKeys[i];
var _val2 = obsVals[i];
if ("children" === _key2) {
children = _val2;
} else {
_props[_key2] = _val2;
}
}
_this5.setState({ rendered: _react2.default.createElement(_this5.props.Class, _props, children) });
} else if (ev.isError()) {
config.onError(ev.error);
} else {
_this5.setState(nullDispose);
}
_this2.setState({ rendered: _react2.default.createElement(_this2.props.Class, _props, children) });
} else if (ev.isError()) {
config.onError(ev.error);
} else {
_this2.setState(nullDispose);
}
}) });
}
}));
}) });
}
}]);
return FromClass;
}(LiftedComponent);
var fromClass = exports.fromClass = function fromClass(Class) {

@@ -224,6 +281,6 @@ return function (props) {

if (2 === n) {
if (arguments[0] instanceof _baconjs2.default.Observable) return toProperty(arguments[0]).map(arguments[1]).skipDuplicates(_ramda2.default.equals);
if (arguments[1] instanceof _baconjs2.default.Observable) return toProperty(arguments[1]).map(arguments[0]).skipDuplicates(_ramda2.default.equals);
if (arguments[0] instanceof _baconjs2.default.Observable) return toProperty(arguments[0]).map(arguments[1]).skipDuplicates(R.equals);
if (arguments[1] instanceof _baconjs2.default.Observable) return toProperty(arguments[1]).map(arguments[0]).skipDuplicates(R.equals);
}
return _baconjs2.default.combineWith.apply(_baconjs2.default, arguments).skipDuplicates(_ramda2.default.equals);
return _baconjs2.default.combineWith.apply(_baconjs2.default, arguments).skipDuplicates(R.equals);
}

@@ -233,2 +290,2 @@ }

exports.default = B;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iYWNvbi5yZWFjdC5iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7O0FBSU8sSUFBTSwwQkFBUztBQUNwQixXQUFTLG9CQUFLO0FBQUMsVUFBTSxDQUFOO0FBQVE7QUFESCxDQUFmOztBQUlQLElBQU0sY0FBYyxFQUFDLFNBQVMsSUFBVixFQUFwQjtBQUNBLElBQU0sWUFBWSxFQUFDLFNBQVMsSUFBVixFQUFnQixVQUFVLElBQTFCLEVBQWxCOztBQUVBLElBQU0sU0FBUztBQUNiLGlCQURhLDZCQUNLO0FBQ2hCLFdBQU8sU0FBUDtBQUNELEdBSFk7QUFJYixZQUphLHdCQUlBO0FBQUEsUUFDSixPQURJLEdBQ08sS0FBSyxLQURaLENBQ0osT0FESTs7QUFFWCxRQUFJLE9BQUosRUFDRTtBQUNILEdBUlk7QUFTYiwyQkFUYSxxQ0FTYSxTQVRiLEVBU3dCO0FBQ25DLFNBQUssWUFBTCxDQUFrQixTQUFsQjtBQUNELEdBWFk7QUFZYixvQkFaYSxnQ0FZUTtBQUNuQixTQUFLLFlBQUwsQ0FBa0IsS0FBSyxLQUF2QjtBQUNELEdBZFk7QUFlYix1QkFmYSxpQ0FlUyxFQWZULEVBZWEsRUFmYixFQWVpQjtBQUM1QixXQUFPLEdBQUcsUUFBSCxLQUFnQixLQUFLLEtBQUwsQ0FBVyxRQUFsQztBQUNELEdBakJZO0FBa0JiLHNCQWxCYSxrQ0FrQlU7QUFDckIsU0FBSyxVQUFMO0FBQ0EsU0FBSyxRQUFMLENBQWMsU0FBZDtBQUNELEdBckJZO0FBc0JiLFFBdEJhLG9CQXNCSjtBQUNQLFdBQU8sS0FBSyxLQUFMLENBQVcsUUFBbEI7QUFDRDtBQXhCWSxDQUFmOztBQTJCQSxJQUFNLGFBQWEsU0FBYixVQUFhO0FBQUEsU0FDakIsZUFBZSxrQkFBTSxXQUFyQixHQUFtQyxJQUFJLFVBQUosRUFBbkMsR0FBc0QsR0FEckM7QUFBQSxDQUFuQjs7QUFHQSxJQUFNLFlBQVksZ0JBQU0s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QUEyQyxjQUEzQyxDQUEwRCxnQkFBRSxNQUE1RCxDQUFQO0FBQ0YsVUFBSSxVQUFVLENBQVYsYUFBd0Isa0JBQU0sVUFBbEMsRUFDRSxPQUFPLFdBQVcsVUFBVSxDQUFWLENBQVgsRUFBeUIsR0FBekIsQ0FBNkIsVUFBVSxDQUFWLENBQTdCLEVBQTJDLGNBQTNDLENBQTBELGdCQUFFLE1BQTVELENBQVA7QUFDSDtBQUNELFdBQU8sa0JBQU0sV0FBTixDQUFrQixLQUFsQixvQkFBK0IsU0FBL0IsRUFBMEMsY0FBMUMsQ0FBeUQsZ0JBQUUsTUFBM0QsQ0FBUDtBQUNEO0FBQ0Y7O2tCQUVjLEMiLCJmaWxlIjoiYmFjb24ucmVhY3QuYmFzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYWNvbiBmcm9tIFwiYmFjb25qc1wiXG5pbXBvcnQgUiAgICAgZnJvbSBcInJhbWRhXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuXG4vLyBMaWZ0aW5nXG5cbmV4cG9ydCBjb25zdCBjb25maWcgPSB7XG4gIG9uRXJyb3I6IGUgPT4ge3Rocm93IGV9XG59XG5cbmNvbnN0IG51bGxEaXNwb3NlID0ge2Rpc3Bvc2U6IG51bGx9XG5jb25zdCBudWxsU3RhdGUgPSB7ZGlzcG9zZTogbnVsbCwgcmVuZGVyZWQ6IG51bGx9XG5cbmNvbnN0IGNvbW1vbiA9IHtcbiAgZ2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIHJldHVybiBudWxsU3RhdGVcbiAgfSxcbiAgdHJ5RGlzcG9zZSgpIHtcbiAgICBjb25zdCB7ZGlzcG9zZX0gPSB0aGlzLnN0YXRlXG4gICAgaWYgKGRpc3Bvc2UpXG4gICAgICBkaXNwb3NlKClcbiAgfSxcbiAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICB0aGlzLnRyeVN1YnNjcmliZShuZXh0UHJvcHMpXG4gIH0sXG4gIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgICB0aGlzLnRyeVN1YnNjcmliZSh0aGlzLnByb3BzKVxuICB9LFxuICBzaG91bGRDb21wb25lbnRVcGRhdGUobnAsIG5zKSB7XG4gICAgcmV0dXJuIG5zLnJlbmRlcmVkICE9PSB0aGlzLnN0YXRlLnJlbmRlcmVkXG4gIH0sXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMudHJ5RGlzcG9zZSgpXG4gICAgdGhpcy5zZXRTdGF0ZShudWxsU3RhdGUpXG4gIH0sXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5yZW5kZXJlZFxuICB9XG59XG5cbmNvbnN0IHRvUHJvcGVydHkgPSBvYnMgPT5cbiAgb2JzIGluc3RhbmNlb2YgQmFjb24uRXZlbnRTdHJlYW0gPyBvYnMudG9Qcm9wZXJ0eSgpIDogb2JzXG5cbmNvbnN0IEZyb21CYWNvbiA9IFJlYWN0LmNyZWF0ZUNsYXNzKHtcbiAgLi4uY29tbW9uLFxuICB0cnlTdWJzY3JpYmUoe2JhY29ufSkge1xuICAgIHRoaXMudHJ5RGlzcG9zZSgpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtkaXNwb3NlOiBiYWNvbi5zdWJzY3JpYmUoZXYgPT4ge1xuICAgICAgaWYgKGV2Lmhhc1ZhbHVlKCkpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7cmVuZGVyZWQ6IGV2LnZhbHVlKCl9KVxuICAgICAgfSBlbHNlIGlmIChldi5pc0Vycm9yKCkpIHtcbiAgICAgICAgY29uZmlnLm9uRXJyb3IoZXYuZXJyb3IpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldFN0YXRlKG51bGxEaXNwb3NlKVxuICAgICAgfVxuICAgIH0pfSlcbiAgfVxufSlcblxuZXhwb3J0IGNvbnN0IGZyb21CYWNvbiA9IGJhY29uID0+XG4gIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRnJvbUJhY29uLCB7YmFjb259KVxuXG5jb25zdCBjb21iaW5lQXNBcnJheSA9IG9icyA9PlxuICBvYnMubGVuZ3RoID09PSAxID8gb2JzWzBdLm1hcCh4ID0+IFt4XSkgOiBCYWNvbi5jb21iaW5lQXNBcnJheShvYnMpXG5cbmNvbnN0IEZyb21DbGFzcyA9IFJlYWN0LmNyZWF0ZUNsYXNzKHtcbiAgLi4uY29tbW9uLFxuICB0cnlTdWJzY3JpYmUoe3Byb3BzfSkge1xuICAgIHRoaXMudHJ5RGlzcG9zZSgpXG5cbiAgICBjb25zdCB2YWxzID0ge31cbiAgICBjb25zdCBvYnNLZXlzID0gW11cbiAgICBjb25zdCBvYnNTdHJlYW1zID0gW11cblxuICAgIGZvciAoY29uc3Qga2V5IGluIHByb3BzKSB7XG4gICAgICBjb25zdCB2YWwgPSBwcm9wc1trZXldXG4gICAgICBjb25zdCBrZXlPdXQgPSBcIm1vdW50XCIgPT09IGtleSA/IFwicmVmXCIgOiBrZXlcbiAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBCYWNvbi5PYnNlcnZhYmxlKSB7XG4gICAgICAgIG9ic0tleXMucHVzaChrZXlPdXQpXG4gICAgICAgIG9ic1N0cmVhbXMucHVzaCh2YWwpXG4gICAgICB9IGVsc2UgaWYgKFwiY2hpbGRyZW5cIiA9PT0ga2V5ICYmXG4gICAgICAgICAgICAgICAgIHZhbCBpbnN0YW5jZW9mIEFycmF5ICYmXG4gICAgICAgICAgICAgICAgIHZhbC5maW5kKGMgPT4gYyBpbnN0YW5jZW9mIEJhY29uLk9ic2VydmFibGUpKSB7XG4gICAgICAgIG9ic0tleXMucHVzaChrZXlPdXQpXG4gICAgICAgIG9ic1N0cmVhbXMucHVzaChCYWNvbi5jb21iaW5lQXNBcnJheSh2YWwpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsc1trZXlPdXRdID0gdmFsXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7ZGlzcG9zZTogY29tYmluZUFzQXJyYXkob2JzU3RyZWFtcykuc3Vic2NyaWJlKGV2ID0+IHtcbiAgICAgIGlmIChldi5oYXNWYWx1ZSgpKSB7XG4gICAgICAgIGNvbnN0IG9ic1ZhbHMgPSBldi52YWx1ZSgpXG4gICAgICAgIGNvbnN0IHByb3BzID0ge31cbiAgICAgICAgbGV0IGNoaWxkcmVuID0gbnVsbFxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWxzKSB7XG4gICAgICAgICAgY29uc3QgdmFsID0gdmFsc1trZXldXG4gICAgICAgICAgaWYgKFwiY2hpbGRyZW5cIiA9PT0ga2V5KSB7Y2hpbGRyZW4gPSB2YWx9IGVsc2Uge3Byb3BzW2tleV0gPSB2YWx9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaT0wLCBuPW9ic0tleXMubGVuZ3RoOyBpPG47ICsraSkge1xuICAgICAgICAgIGNvbnN0IGtleSA9IG9ic0tleXNbaV1cbiAgICAgICAgICBjb25zdCB2YWwgPSBvYnNWYWxzW2ldXG4gICAgICAgICAgaWYgKFwiY2hpbGRyZW5cIiA9PT0ga2V5KSB7Y2hpbGRyZW4gPSB2YWx9IGVsc2Uge3Byb3BzW2tleV0gPSB2YWx9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7cmVuZGVyZWQ6IFJlYWN0LmNyZWF0ZUVsZW1lbnQodGhpcy5wcm9wcy5DbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuKX0pXG4gICAgICB9IGVsc2UgaWYgKGV2LmlzRXJyb3IoKSkge1xuICAgICAgICBjb25maWcub25FcnJvcihldi5lcnJvcilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUobnVsbERpc3Bvc2UpXG4gICAgICB9XG4gICAgfSl9KVxuICB9XG59KVxuXG5leHBvcnQgY29uc3QgZnJvbUNsYXNzID1cbiAgQ2xhc3MgPT4gcHJvcHMgPT4gUmVhY3QuY3JlYXRlRWxlbWVudChGcm9tQ2xhc3MsIHtDbGFzcywgcHJvcHN9KVxuXG5leHBvcnQgY29uc3QgZnJvbUNsYXNzZXMgPSBjbGFzc2VzID0+IHtcbiAgY29uc3QgcmVzdWx0ID0ge31cbiAgZm9yIChjb25zdCBrIGluIGNsYXNzZXMpXG4gICAgcmVzdWx0W2tdID0gZnJvbUNsYXNzKGNsYXNzZXNba10pXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGNvbnN0IGZyb21JZHMgPSAoaWRzLCBmcm9tSWQpID0+IGlkcy5zY2FuKFt7fSwgW11dLCAoW29sZElkc10sIGlkcykgPT4ge1xuICBjb25zdCBuZXdJZHMgPSB7fVxuICBjb25zdCBuZXdWcyA9IEFycmF5KGlkcy5sZW5ndGgpXG4gIGZvciAobGV0IGk9MCwgbj1pZHMubGVuZ3RoOyBpPG47ICsraSkge1xuICAgIGNvbnN0IGlkID0gaWRzW2ldXG4gICAgY29uc3QgayA9IGlkLnRvU3RyaW5nKClcbiAgICBpZiAoayBpbiBuZXdJZHMpXG4gICAgICBuZXdWc1tpXSA9IG5ld0lkc1trXVxuICAgIGVsc2VcbiAgICAgIG5ld0lkc1trXSA9IG5ld1ZzW2ldID0gayBpbiBvbGRJZHMgPyBvbGRJZHNba10gOiBmcm9tSWQoaWQpXG4gIH1cbiAgcmV0dXJuIFtuZXdJZHMsIG5ld1ZzXVxufSkubWFwKHMgPT4gc1sxXSlcblxuZnVuY3Rpb24gQigpIHtcbiAgY29uc3QgbiA9IGFyZ3VtZW50cy5sZW5ndGhcbiAgaWYgKDEgPT09IG4pIHtcbiAgICBjb25zdCBmbiA9IGFyZ3VtZW50c1swXVxuICAgIHJldHVybiAoLi4ueHMpID0+IEIoZm4sIC4uLnhzKVxuICB9IGVsc2Uge1xuICAgIGZvciAobGV0IGk9MDsgaTxuOyArK2kpIHtcbiAgICAgIGNvbnN0IHggPSBhcmd1bWVudHNbaV1cbiAgICAgIGNvbnN0IGMgPSB4ICYmIHguY29uc3RydWN0b3JcbiAgICAgIGlmIChjID09PSBPYmplY3QgfHwgYyA9PT0gQXJyYXkpXG4gICAgICAgIGFyZ3VtZW50c1tpXSA9IEJhY29uLmNvbWJpbmVUZW1wbGF0ZSh4KVxuICAgIH1cbiAgICBpZiAoMiA9PT0gbikge1xuICAgICAgaWYgKGFyZ3VtZW50c1swXSBpbnN0YW5jZW9mIEJhY29uLk9ic2VydmFibGUpXG4gICAgICAgIHJldHVybiB0b1Byb3BlcnR5KGFyZ3VtZW50c1swXSkubWFwKGFyZ3VtZW50c1sxXSkuc2tpcER1cGxpY2F0ZXMoUi5lcXVhbHMpXG4gICAgICBpZiAoYXJndW1lbnRzWzFdIGluc3RhbmNlb2YgQmFjb24uT2JzZXJ2YWJsZSlcbiAgICAgICAgcmV0dXJuIHRvUHJvcGVydHkoYXJndW1lbnRzWzFdKS5tYXAoYXJndW1lbnRzWzBdKS5za2lwRHVwbGljYXRlcyhSLmVxdWFscylcbiAgICB9XG4gICAgcmV0dXJuIEJhY29uLmNvbWJpbmVXaXRoLmFwcGx5KEJhY29uLCBhcmd1bWVudHMpLnNraXBEdXBsaWNhdGVzKFIuZXF1YWxzKVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iYWNvbi5yZWFjdC5iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7OztBQUNBOztJQUFZLEM7O0FBQ1o7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJTyxJQUFNLDBCQUFTO0FBQ3BCLFdBQVMsb0JBQUs7QUFBQyxVQUFNLENBQU47QUFBUTtBQURILENBQWY7O0FBSVAsSUFBTSxjQUFjLEVBQUMsU0FBUyxJQUFWLEVBQXBCO0FBQ0EsSUFBTSxZQUFZLEVBQUMsU0FBUyxJQUFWLEVBQWdCLFVBQVUsSUFBMUIsRUFBbEI7O0lBRU0sZTs7O0FBQ0osMkJBQVksS0FBWixFQUFtQjtBQUFBOztBQUFBLG1HQUNYLEtBRFc7O0FBRWpCLFVBQUssS0FBTCxHQUFhLFNBQWI7QUFGaUI7QUFHbEI7Ozs7aUNBQ1k7QUFBQSxVQUNKLE9BREksR0FDTyxLQUFLLEtBRFosQ0FDSixPQURJOztBQUVYLFVBQUksT0FBSixFQUNFO0FBQ0g7Ozs4Q0FDeUIsUyxFQUFXO0FBQ25DLFdBQUssWUFBTCxDQUFrQixTQUFsQjtBQUNEOzs7eUNBQ29CO0FBQ25CLFdBQUssWUFBTCxDQUFrQixLQUFLLEtBQXZCO0FBQ0Q7OzswQ0FDcUIsRSxFQUFJLEUsRUFBSTtBQUM1QixhQUFPLEdBQUcsUUFBSCxLQUFnQixLQUFLLEtBQUwsQ0FBVyxRQUFsQztBQUNEOzs7MkNBQ3NCO0FBQ3JCLFdBQUssVUFBTDtBQUNBLFdBQUssUUFBTCxDQUFjLFNBQWQ7QUFDRDs7OzZCQUNRO0FBQ1AsYUFBTyxLQUFLLEtBQUwsQ0FBVyxRQUFsQjtBQUNEOzs7O0VBekIyQixnQkFBTSxTOztBQTRCcEMsSUFBTSxhQUFhLFNBQWIsVUFBYTtBQUFBLFNBQ2pCLGVBQWUsa0JBQU0sV0FBckIsR0FBbUMsSUFBSSxVQUFKLEVBQW5DLEdBQXNELEdBRHJDO0FBQUEsQ0FBbkI7O0lBR00sUzs7O0FBQ0oscUJBQVksS0FBWixFQUFtQjtBQUFBOztBQUFBLHdGQUNYLEtBRFc7QUFF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N0IsRUFBMkMsY0FBM0MsQ0FBMEQsRUFBRSxNQUE1RCxDQUFQO0FBQ0YsVUFBSSxVQUFVLENBQVYsYUFBd0Isa0JBQU0sVUFBbEMsRUFDRSxPQUFPLFdBQVcsVUFBVSxDQUFWLENBQVgsRUFBeUIsR0FBekIsQ0FBNkIsVUFBVSxDQUFWLENBQTdCLEVBQTJDLGNBQTNDLENBQTBELEVBQUUsTUFBNUQsQ0FBUDtBQUNIO0FBQ0QsV0FBTyxrQkFBTSxXQUFOLENBQWtCLEtBQWxCLG9CQUErQixTQUEvQixFQUEwQyxjQUExQyxDQUF5RCxFQUFFLE1BQTNELENBQVA7QUFDRDtBQUNGOztrQkFFYyxDIiwiZmlsZSI6ImJhY29uLnJlYWN0LmJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFjb24gIGZyb20gXCJiYWNvbmpzXCJcbmltcG9ydCAqIGFzIFIgZnJvbSBcInJhbWRhXCJcbmltcG9ydCBSZWFjdCAgZnJvbSBcInJlYWN0XCJcblxuLy8gTGlmdGluZ1xuXG5leHBvcnQgY29uc3QgY29uZmlnID0ge1xuICBvbkVycm9yOiBlID0+IHt0aHJvdyBlfVxufVxuXG5jb25zdCBudWxsRGlzcG9zZSA9IHtkaXNwb3NlOiBudWxsfVxuY29uc3QgbnVsbFN0YXRlID0ge2Rpc3Bvc2U6IG51bGwsIHJlbmRlcmVkOiBudWxsfVxuXG5jbGFzcyBMaWZ0ZWRDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMuc3RhdGUgPSBudWxsU3RhdGVcbiAgfVxuICB0cnlEaXNwb3NlKCkge1xuICAgIGNvbnN0IHtkaXNwb3NlfSA9IHRoaXMuc3RhdGVcbiAgICBpZiAoZGlzcG9zZSlcbiAgICAgIGRpc3Bvc2UoKVxuICB9XG4gIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgdGhpcy50cnlTdWJzY3JpYmUobmV4dFByb3BzKVxuICB9XG4gIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgICB0aGlzLnRyeVN1YnNjcmliZSh0aGlzLnByb3BzKVxuICB9XG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShucCwgbnMpIHtcbiAgICByZXR1cm4gbnMucmVuZGVyZWQgIT09IHRoaXMuc3RhdGUucmVuZGVyZWRcbiAgfVxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLnRyeURpc3Bvc2UoKVxuICAgIHRoaXMuc2V0U3RhdGUobnVsbFN0YXRlKVxuICB9XG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5yZW5kZXJlZFxuICB9XG59XG5cbmNvbnN0IHRvUHJvcGVydHkgPSBvYnMgPT5cbiAgb2JzIGluc3RhbmNlb2YgQmFjb24uRXZlbnRTdHJlYW0gPyBvYnMudG9Qcm9wZXJ0eSgpIDogb2JzXG5cbmNsYXNzIEZyb21CYWNvbiBleHRlbmRzIExpZnRlZENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpXG4gIH1cbiAgdHJ5U3Vic2NyaWJlKHtiYWNvbn0pIHtcbiAgICB0aGlzLnRyeURpc3Bvc2UoKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7ZGlzcG9zZTogYmFjb24uc3Vic2NyaWJlKGV2ID0+IHtcbiAgICAgIGlmIChldi5oYXNWYWx1ZSgpKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe3JlbmRlcmVkOiBldi52YWx1ZSgpfSlcbiAgICAgIH0gZWxzZSBpZiAoZXYuaXNFcnJvcigpKSB7XG4gICAgICAgIGNvbmZpZy5vbkVycm9yKGV2LmVycm9yKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShudWxsRGlzcG9zZSlcbiAgICAgIH1cbiAgICB9KX0pXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGZyb21CYWNvbiA9IGJhY29uID0+XG4gIFJlYWN0LmNyZWF0ZUVsZW1lbnQoRnJvbUJhY29uLCB7YmFjb259KVxuXG5jb25zdCBjb21iaW5lQXNBcnJheSA9IG9icyA9PlxuICBvYnMubGVuZ3RoID09PSAxID8gb2JzWzBdLm1hcCh4ID0+IFt4XSkgOiBCYWNvbi5jb21iaW5lQXNBcnJheShvYnMpXG5cbmNsYXNzIEZyb21DbGFzcyBleHRlbmRzIExpZnRlZENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpXG4gIH1cbiAgdHJ5U3Vic2NyaWJlKHtwcm9wc30pIHtcbiAgICB0aGlzLnRyeURpc3Bvc2UoKVxuXG4gICAgY29uc3QgdmFscyA9IHt9XG4gICAgY29uc3Qgb2JzS2V5cyA9IFtdXG4gICAgY29uc3Qgb2JzU3RyZWFtcyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBwcm9wcykge1xuICAgICAgY29uc3QgdmFsID0gcHJvcHNba2V5XVxuICAgICAgY29uc3Qga2V5T3V0ID0gXCJtb3VudFwiID09PSBrZXkgPyBcInJlZlwiIDoga2V5XG4gICAgICBpZiAodmFsIGluc3RhbmNlb2YgQmFjb24uT2JzZXJ2YWJsZSkge1xuICAgICAgICBvYnNLZXlzLnB1c2goa2V5T3V0KVxuICAgICAgICBvYnNTdHJlYW1zLnB1c2godmFsKVxuICAgICAgfSBlbHNlIGlmIChcImNoaWxkcmVuXCIgPT09IGtleSAmJlxuICAgICAgICAgICAgICAgICB2YWwgaW5zdGFuY2VvZiBBcnJheSAmJlxuICAgICAgICAgICAgICAgICB2YWwuZmluZChjID0+IGMgaW5zdGFuY2VvZiBCYWNvbi5PYnNlcnZhYmxlKSkge1xuICAgICAgICBvYnNLZXlzLnB1c2goa2V5T3V0KVxuICAgICAgICBvYnNTdHJlYW1zLnB1c2goQmFjb24uY29tYmluZUFzQXJyYXkodmFsKSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHNba2V5T3V0XSA9IHZhbFxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoe2Rpc3Bvc2U6IGNvbWJpbmVBc0FycmF5KG9ic1N0cmVhbXMpLnN1YnNjcmliZShldiA9PiB7XG4gICAgICBpZiAoZXYuaGFzVmFsdWUoKSkge1xuICAgICAgICBjb25zdCBvYnNWYWxzID0gZXYudmFsdWUoKVxuICAgICAgICBjb25zdCBwcm9wcyA9IHt9XG4gICAgICAgIGxldCBjaGlsZHJlbiA9IG51bGxcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdmFscykge1xuICAgICAgICAgIGNvbnN0IHZhbCA9IHZhbHNba2V5XVxuICAgICAgICAgIGlmIChcImNoaWxkcmVuXCIgPT09IGtleSkge2NoaWxkcmVuID0gdmFsfSBlbHNlIHtwcm9wc1trZXldID0gdmFsfVxuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGk9MCwgbj1vYnNLZXlzLmxlbmd0aDsgaTxuOyArK2kpIHtcbiAgICAgICAgICBjb25zdCBrZXkgPSBvYnNLZXlzW2ldXG4gICAgICAgICAgY29uc3QgdmFsID0gb2JzVmFsc1tpXVxuICAgICAgICAgIGlmIChcImNoaWxkcmVuXCIgPT09IGtleSkge2NoaWxkcmVuID0gdmFsfSBlbHNlIHtwcm9wc1trZXldID0gdmFsfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe3JlbmRlcmVkOiBSZWFjdC5jcmVhdGVFbGVtZW50KHRoaXMucHJvcHMuQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbil9KVxuICAgICAgfSBlbHNlIGlmIChldi5pc0Vycm9yKCkpIHtcbiAgICAgICAgY29uZmlnLm9uRXJyb3IoZXYuZXJyb3IpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldFN0YXRlKG51bGxEaXNwb3NlKVxuICAgICAgfVxuICAgIH0pfSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZnJvbUNsYXNzID1cbiAgQ2xhc3MgPT4gcHJvcHMgPT4gUmVhY3QuY3JlYXRlRWxlbWVudChGcm9tQ2xhc3MsIHtDbGFzcywgcHJvcHN9KVxuXG5leHBvcnQgY29uc3QgZnJvbUNsYXNzZXMgPSBjbGFzc2VzID0+IHtcbiAgY29uc3QgcmVzdWx0ID0ge31cbiAgZm9yIChjb25zdCBrIGluIGNsYXNzZXMpXG4gICAgcmVzdWx0W2tdID0gZnJvbUNsYXNzKGNsYXNzZXNba10pXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGNvbnN0IGZyb21JZHMgPSAoaWRzLCBmcm9tSWQpID0+IGlkcy5zY2FuKFt7fSwgW11dLCAoW29sZElkc10sIGlkcykgPT4ge1xuICBjb25zdCBuZXdJZHMgPSB7fVxuICBjb25zdCBuZXdWcyA9IEFycmF5KGlkcy5sZW5ndGgpXG4gIGZvciAobGV0IGk9MCwgbj1pZHMubGVuZ3RoOyBpPG47ICsraSkge1xuICAgIGNvbnN0IGlkID0gaWRzW2ldXG4gICAgY29uc3QgayA9IGlkLnRvU3RyaW5nKClcbiAgICBpZiAoayBpbiBuZXdJZHMpXG4gICAgICBuZXdWc1tpXSA9IG5ld0lkc1trXVxuICAgIGVsc2VcbiAgICAgIG5ld0lkc1trXSA9IG5ld1ZzW2ldID0gayBpbiBvbGRJZHMgPyBvbGRJZHNba10gOiBmcm9tSWQoaWQpXG4gIH1cbiAgcmV0dXJuIFtuZXdJZHMsIG5ld1ZzXVxufSkubWFwKHMgPT4gc1sxXSlcblxuZnVuY3Rpb24gQigpIHtcbiAgY29uc3QgbiA9IGFyZ3VtZW50cy5sZW5ndGhcbiAgaWYgKDEgPT09IG4pIHtcbiAgICBjb25zdCBmbiA9IGFyZ3VtZW50c1swXVxuICAgIHJldHVybiAoLi4ueHMpID0+IEIoZm4sIC4uLnhzKVxuICB9IGVsc2Uge1xuICAgIGZvciAobGV0IGk9MDsgaTxuOyArK2kpIHtcbiAgICAgIGNvbnN0IHggPSBhcmd1bWVudHNbaV1cbiAgICAgIGNvbnN0IGMgPSB4ICYmIHguY29uc3RydWN0b3JcbiAgICAgIGlmIChjID09PSBPYmplY3QgfHwgYyA9PT0gQXJyYXkpXG4gICAgICAgIGFyZ3VtZW50c1tpXSA9IEJhY29uLmNvbWJpbmVUZW1wbGF0ZSh4KVxuICAgIH1cbiAgICBpZiAoMiA9PT0gbikge1xuICAgICAgaWYgKGFyZ3VtZW50c1swXSBpbnN0YW5jZW9mIEJhY29uLk9ic2VydmFibGUpXG4gICAgICAgIHJldHVybiB0b1Byb3BlcnR5KGFyZ3VtZW50c1swXSkubWFwKGFyZ3VtZW50c1sxXSkuc2tpcER1cGxpY2F0ZXMoUi5lcXVhbHMpXG4gICAgICBpZiAoYXJndW1lbnRzWzFdIGluc3RhbmNlb2YgQmFjb24uT2JzZXJ2YWJsZSlcbiAgICAgICAgcmV0dXJuIHRvUHJvcGVydHkoYXJndW1lbnRzWzFdKS5tYXAoYXJndW1lbnRzWzBdKS5za2lwRHVwbGljYXRlcyhSLmVxdWFscylcbiAgICB9XG4gICAgcmV0dXJuIEJhY29uLmNvbWJpbmVXaXRoLmFwcGx5KEJhY29uLCBhcmd1bWVudHMpLnNraXBEdXBsaWNhdGVzKFIuZXF1YWxzKVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJcbiJdfQ==
{
"name": "bacon.react.base",
"version": "3.1.1",
"version": "3.1.2",
"description": "JSX with Bacon, yummy?",

@@ -5,0 +5,0 @@ "main": "lib/bacon.react.base.js",

@@ -1,4 +0,4 @@

import Bacon from "baconjs"
import R from "ramda"
import React from "react"
import Bacon from "baconjs"
import * as R from "ramda"
import React from "react"

@@ -14,6 +14,7 @@ // Lifting

const common = {
getInitialState() {
return nullState
},
class LiftedComponent extends React.Component {
constructor(props) {
super(props)
this.state = nullState
}
tryDispose() {

@@ -23,16 +24,16 @@ const {dispose} = this.state

dispose()
},
}
componentWillReceiveProps(nextProps) {
this.trySubscribe(nextProps)
},
}
componentWillMount() {
this.trySubscribe(this.props)
},
}
shouldComponentUpdate(np, ns) {
return ns.rendered !== this.state.rendered
},
}
componentWillUnmount() {
this.tryDispose()
this.setState(nullState)
},
}
render() {

@@ -46,4 +47,6 @@ return this.state.rendered

const FromBacon = React.createClass({
...common,
class FromBacon extends LiftedComponent {
constructor(props) {
super(props)
}
trySubscribe({bacon}) {

@@ -62,3 +65,3 @@ this.tryDispose()

}
})
}

@@ -71,4 +74,6 @@ export const fromBacon = bacon =>

const FromClass = React.createClass({
...common,
class FromClass extends LiftedComponent {
constructor(props) {
super(props)
}
trySubscribe({props}) {

@@ -121,3 +126,3 @@ this.tryDispose()

}
})
}

@@ -124,0 +129,0 @@ export const fromClass =

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc