formik-observer
Version:
[](https://www.npmjs.com/package/formik-observer) [ • 4.77 kB
JavaScript
import { Component } from 'react';
import debounce from 'lodash.debounce';
import isEqual from 'lodash.isequal';
import PropTypes from 'prop-types';
var classCallCheck = function (instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
};
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;
};
}();
var inherits = function (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;
};
var possibleConstructorReturn = function (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;
};
var _class = function (_Component) {
inherits(_class, _Component);
function _class() {
var _ref;
var _temp, _this, _ret;
classCallCheck(this, _class);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = _class.__proto__ || Object.getPrototypeOf(_class)).call.apply(_ref, [this].concat(args))), _this), _this.onChange = debounce(function (next) {
return _this.props.onChange(next);
}, _this.props.debounce), _temp), possibleConstructorReturn(_this, _ret);
}
createClass(_class, [{
key: 'componentWillReceiveProps',
value: function componentWillReceiveProps(nextProps, nextContext) {
if (!isEqual(nextContext.formik, this.context.formik)) {
this.onChange(nextContext.formik);
}
}
}, {
key: 'render',
value: function render() {
return null;
}
}]);
return _class;
}(Component);
_class.defaultProps = {
debounce: 16,
onChange: function onChange() {
return null;
}
};
_class.contextTypes = {
formik: PropTypes.object
};
export default _class;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoLmRlYm91bmNlJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC5pc2VxdWFsJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkZWJvdW5jZTogMTYsXG4gICAgb25DaGFuZ2U6ICgpID0+IG51bGxcbiAgfTtcblxuICBzdGF0aWMgY29udGV4dFR5cGVzID0ge1xuICAgIGZvcm1pazogUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIG9uQ2hhbmdlID0gZGVib3VuY2UobmV4dCA9PiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5leHQpLCB0aGlzLnByb3BzLmRlYm91bmNlKTtcblxuICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcywgbmV4dENvbnRleHQpIHtcbiAgICBpZiAoIWlzRXF1YWwobmV4dENvbnRleHQuZm9ybWlrLCB0aGlzLmNvbnRleHQuZm9ybWlrKSkge1xuICAgICAgdGhpcy5vbkNoYW5nZShuZXh0Q29udGV4dC5mb3JtaWspO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIm9uQ2hhbmdlIiwiZGVib3VuY2UiLCJwcm9wcyIsIm5leHQiLCJuZXh0UHJvcHMiLCJuZXh0Q29udGV4dCIsImlzRXF1YWwiLCJmb3JtaWsiLCJjb250ZXh0IiwiQ29tcG9uZW50IiwiZGVmYXVsdFByb3BzIiwiY29udGV4dFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FMQWVFQSxXQUFXQyxTQUFTO2FBQVEsTUFBS0MsS0FBTCxDQUFXRixRQUFYLENBQW9CRyxJQUFwQixDQUFSO0tBQVQsRUFBNEMsTUFBS0QsS0FBTCxDQUFXRCxRQUF2RDs7Ozs7OENBRWVHLFdBQVdDLGFBQWE7VUFDNUMsQ0FBQ0MsUUFBUUQsWUFBWUUsTUFBcEIsRUFBNEIsS0FBS0MsT0FBTCxDQUFhRCxNQUF6QyxDQUFMLEVBQXVEO2FBQ2hEUCxRQUFMLENBQWNLLFlBQVlFLE1BQTFCOzs7Ozs2QkFJSzthQUNBLElBQVA7Ozs7RUFuQnlCRTs7T0FDcEJDLGVBQWU7WUFDVixFQURVO1lBRVY7V0FBTSxJQUFOOzs7T0FHTEMsZUFBZTtVQUNaQyxVQUFVQzs7Ozs7In0=