New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

hacksaw-react

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hacksaw-react - npm Package Compare versions

Comparing version 0.1.0 to 0.2.0

49

lib/listener.js

@@ -7,2 +7,4 @@ '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; }; }();

@@ -53,12 +55,51 @@

objects.forEach(function (obj) {
obj.listen(_this2.rerender);
if (obj.context) {
// it's store
obj.listen(_this2.rerender);
} else {
// it's function
_this2.storeProps = obj(_this2.props);
Object.keys(_this2.storeProps).forEach(function (key) {
_this2.storeProps[key].listen(_this2.rerender);
});
}
});
}
}, {
key: 'componentWillReceiveProps',
value: function componentWillReceiveProps(nextProps) {
var _this3 = this;
objects.forEach(function (obj) {
if (obj.context) return;
Object.keys(_this3.storeProps).forEach(function (key) {
_this3.storeProps[key].unlisten(_this3.rerender);
});
_this3.storeProps = obj(nextProps);
Object.keys(_this3.storeProps).forEach(function (key) {
_this3.storeProps[key].listen(_this3.rerender);
});
});
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
var _this3 = this;
var _this4 = this;
objects.forEach(function (obj) {
obj.unlisten(_this3.rerender);
if (obj.context) {
// it's store
obj.unlisten(_this4.rerender);
} else {
// it's function
_this4.storeProps = obj(_this4.props);
Object.keys(_this4.storeProps).forEach(function (key) {
_this4.storeProps[key].unlisten(_this4.rerender);
});
}
});

@@ -69,3 +110,3 @@ }

value: function render() {
return _react2.default.createElement(Klass, this.props);
return _react2.default.createElement(Klass, _extends({}, this.props, this.storeProps));
}

@@ -72,0 +113,0 @@ }]);

5

package.json

@@ -17,2 +17,3 @@ {

"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-polyfill": "^6.20.0",
"babel-preset-es2015": "6.9.0",

@@ -23,3 +24,3 @@ "babel-preset-react": "^6.16.0",

"enzyme": "^2.6.0",
"hacksaw": "0.1.0",
"hacksaw": "0.3.0",
"istanbul": "^1.0.0-alpha.2",

@@ -32,3 +33,3 @@ "jsdom": "^9.8.3",

},
"version": "0.1.0"
"version": "0.2.0"
}

@@ -17,2 +17,21 @@ hacksaw-react

@listener(props => ({
store1: Store1.context(...),
store2: Store2.context(...),
...
}))
class AComponent extends Compoent {
render() {
const { store1, store2 } = this.props;
const items = store1.all;
...
}
}
```
or
```javascript
import { listener } from 'hacksaw-react';
@listener(context1, context2, ...)

@@ -19,0 +38,0 @@ class AComponent extends Compoent {

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