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

react-form

Package Overview
Dependencies
Maintainers
1
Versions
122
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-form - npm Package Compare versions

Comparing version 1.1.1 to 1.1.2

37

lib/form.js

@@ -61,7 +61,12 @@ 'use strict';

getInitialState: function getInitialState() {
var values = _extends({}, _utils2.default.clone(this.props.defaultValues), _utils2.default.clone(this.props.values));
return this.props.loadState(this.props) || {
values: values,
var _props = this.props,
defaultValues = _props.defaultValues,
values = _props.values,
loadState = _props.loadState;
var mergedValues = _extends({}, _utils2.default.clone(defaultValues), _utils2.default.clone(values));
return loadState(this.props, this) || {
values: mergedValues,
touched: {},
errors: this.validate(values),
errors: this.validate(mergedValues),
nestedErrors: {}

@@ -83,3 +88,3 @@ };

componentWillUnmount: function componentWillUnmount() {
this.props.willUnmount(this.state, this.props);
this.props.willUnmount(this.state, this.props, this);
},

@@ -151,2 +156,5 @@

},
resetForm: function resetForm() {
return this.setState(this.getInitialState());
},
submitForm: function submitForm(e) {

@@ -160,7 +168,7 @@ e && e.preventDefault && e.preventDefault(e);

}
return this.props.onValidationFail(state, this.props);
return this.props.onValidationFail(state.values, state, this.props, this);
}
var preSubmitValues = this.props.preSubmit(state.values, state, this.props);
this.props.onSubmit(preSubmitValues, state, this.props);
this.props.postSubmit(preSubmitValues, state, this.props);
var preSubmitValues = this.props.preSubmit(state.values, state, this.props, this);
this.props.onSubmit(preSubmitValues, state, this.props, this);
this.props.postSubmit(preSubmitValues, state, this.props, this);
},

@@ -182,2 +190,3 @@

setAllTouched: this.setAllTouched,
resetForm: this.resetForm,
submitForm: this.submitForm

@@ -190,7 +199,7 @@ };

if (newState && newState.values && !newState.errors) {
newState.values = this.props.preValidate(newState.values, newState, this.props);
newState.values = this.props.preValidate(newState.values, newState, this.props, this);
newState.errors = this.validate(newState.values, newState, this.props);
}
this.setState(newState, function () {
_this.props.saveState(_this.state, _this.props);
_this.props.saveState(_this.state, _this.props, _this);
if (!silent) {

@@ -202,6 +211,6 @@ _this.emitChange(_this.state, _this.props);

emitChange: function emitChange(state, initial) {
this.props.onChange(state, this.props, initial);
this.props.onChange(state, this.props, initial, this);
},
validate: function validate(values, state, props) {
var errors = this.props.validate(removeNestedErrorValues(values, this.state ? this.state.nestedErrors : {}), state, props);
var errors = this.props.validate(removeNestedErrorValues(values, this.state ? this.state.nestedErrors : {}), state, props, this);
return cleanErrors(errors);

@@ -267,2 +276,2 @@ },

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLmpzIl0sIm5hbWVzIjpbIm5vb3AiLCJyZW9wIiwiZCIsIkZvcm1EZWZhdWx0UHJvcHMiLCJsb2FkU3RhdGUiLCJkZWZhdWx0VmFsdWVzIiwicHJlVmFsaWRhdGUiLCJ2YWxpZGF0ZSIsIm9uVmFsaWRhdGlvbkZhaWwiLCJvbkNoYW5nZSIsInNhdmVTdGF0ZSIsIndpbGxVbm1vdW50IiwicHJlU3VibWl0Iiwib25TdWJtaXQiLCJwb3N0U3VibWl0IiwiY3JlYXRlQ2xhc3MiLCJkaXNwbGF5TmFtZSIsImNoaWxkQ29udGV4dFR5cGVzIiwiZm9ybUFQSSIsIlByb3BUeXBlcyIsIm9iamVjdCIsImdldENoaWxkQ29udGV4dCIsImdldEFQSSIsImdldERlZmF1bHRQcm9wcyIsImdldEluaXRpYWxTdGF0ZSIsInZhbHVlcyIsImNsb25lIiwicHJvcHMiLCJ0b3VjaGVkIiwiZXJyb3JzIiwibmVzdGVkRXJyb3JzIiwiY29tcG9uZW50V2lsbE1vdW50IiwiZW1pdENoYW5nZSIsInN0YXRlIiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsInNldEZvcm1TdGF0ZSIsImNvbXBvbmVudFdpbGxVbm1vdW50Iiwic2V0VmFsdWUiLCJmaWVsZCIsInZhbHVlIiwibm9Ub3VjaCIsInNldCIsImdldFZhbHVlIiwiZmFsbGJhY2siLCJ2YWwiLCJnZXQiLCJzZXROZXN0ZWRFcnJvciIsImdldEVycm9yIiwic2V0VG91Y2hlZCIsImdldFRvdWNoZWQiLCJkaXJ0eSIsImFkZFZhbHVlIiwicmVtb3ZlVmFsdWUiLCJpbmRleCIsImZpZWxkVmFsdWUiLCJzbGljZSIsInN3YXBWYWx1ZXMiLCJkZXN0SW5kZXgiLCJmaWVsZFZhbHVlcyIsInNldEFsbFRvdWNoZWQiLCJzdWJtaXRGb3JtIiwiZSIsInByZXZlbnREZWZhdWx0IiwicHJlU3VibWl0VmFsdWVzIiwibmV3U3RhdGUiLCJzaWxlbnQiLCJzZXRTdGF0ZSIsImluaXRpYWwiLCJyZW1vdmVOZXN0ZWRFcnJvclZhbHVlcyIsImNsZWFuRXJyb3JzIiwicmVuZGVyIiwiY2hpbGRyZW4iLCJyZXN0IiwicmVzb2x2ZWRDaGlsZCIsImVyciIsImlzT2JqZWN0IiwicmVzb2x2ZWQiLCJtYXBWYWx1ZXMiLCJmb3VuZCIsInBpY2tCeSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJpc0FycmF5IiwibWFwIiwiZmluZCIsInJlY3Vyc2UiLCJwYXRoIiwiaSIsImtleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLE9BQU8sU0FBUEEsSUFBTyxHQUFNLENBQUUsQ0FBckI7QUFDQSxJQUFNQyxPQUFPLFNBQVBBLElBQU87QUFBQSxTQUFLQyxDQUFMO0FBQUEsQ0FBYjs7QUFFTyxJQUFNQyw4Q0FBbUI7QUFDOUJDLGFBQVdKLElBRG1CO0FBRTlCSyxpQkFBZSxFQUZlO0FBRzlCQyxlQUFhTCxJQUhpQjtBQUk5Qk0sWUFBVTtBQUFBLFdBQU0sSUFBTjtBQUFBLEdBSm9CO0FBSzlCQyxvQkFBa0JSLElBTFk7QUFNOUJTLFlBQVVULElBTm9CO0FBTzlCVSxhQUFXVixJQVBtQjtBQVE5QlcsZUFBYVgsSUFSaUI7QUFTOUJZLGFBQVdYLElBVG1CO0FBVTlCWSxZQUFVYixJQVZvQjtBQVc5QmMsY0FBWWQ7QUFYa0IsQ0FBekI7O2tCQWNRLGdCQUFNZSxXQUFOLENBQWtCO0FBQy9CQyxlQUFhLE1BRGtCO0FBRS9CQyxxQkFBbUI7QUFDakJDLGFBQVMsZ0JBQU1DLFNBQU4sQ0FBZ0JDO0FBRFIsR0FGWTtBQUsvQkMsaUJBTCtCLDZCQUtaO0FBQ2pCLFdBQU87QUFDTEgsZUFBUyxLQUFLSSxNQUFMO0FBREosS0FBUDtBQUdELEdBVDhCOztBQVUvQjtBQUNBQyxpQkFYK0IsNkJBV1o7QUFDakIsV0FBT3BCLGdCQUFQO0FBQ0QsR0FiOEI7QUFjL0JxQixpQkFkK0IsNkJBY1o7QUFDakIsUUFBTUMsU0FBUyxTQUFjLEVBQWQsRUFBa0IsZ0JBQUVDLEtBQUYsQ0FB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c0MsU0FBRixDQUFZdEMsS0FBWixFQUFtQixVQUFDckMsQ0FBRCxFQUFJdUYsQ0FBSixFQUFVO0FBQ2xDLGVBQU9GLFFBQVFyRixDQUFSLCtCQUFlc0YsSUFBZixJQUFxQkMsQ0FBckIsR0FBUDtBQUNELE9BRk0sQ0FBUDtBQUdEO0FBQ0QsUUFBSSxnQkFBRUwsT0FBRixDQUFVN0MsS0FBVixDQUFKLEVBQXNCO0FBQ3BCLGFBQU9BLE1BQU04QyxHQUFOLENBQVUsVUFBQ25GLENBQUQsRUFBSXdGLEdBQUosRUFBWTtBQUMzQixlQUFPSCxRQUFRckYsQ0FBUiwrQkFBZXNGLElBQWYsSUFBcUJFLEdBQXJCLEdBQVA7QUFDRCxPQUZNLENBQVA7QUFHRDtBQUNELFdBQU9uRCxLQUFQO0FBQ0QsR0FmRDtBQWdCQSxTQUFPZ0QsUUFBUWhELEtBQVIsQ0FBUDtBQUNEIiwiZmlsZSI6ImZvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgXyBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCBub29wID0gKCkgPT4ge31cbmNvbnN0IHJlb3AgPSBkID0+IGRcblxuZXhwb3J0IGNvbnN0IEZvcm1EZWZhdWx0UHJvcHMgPSB7XG4gIGxvYWRTdGF0ZTogbm9vcCxcbiAgZGVmYXVsdFZhbHVlczoge30sXG4gIHByZVZhbGlkYXRlOiByZW9wLFxuICB2YWxpZGF0ZTogKCkgPT4gbnVsbCxcbiAgb25WYWxpZGF0aW9uRmFpbDogbm9vcCxcbiAgb25DaGFuZ2U6IG5vb3AsXG4gIHNhdmVTdGF0ZTogbm9vcCxcbiAgd2lsbFVubW91bnQ6IG5vb3AsXG4gIHByZVN1Ym1pdDogcmVvcCxcbiAgb25TdWJtaXQ6IG5vb3AsXG4gIHBvc3RTdWJtaXQ6IG5vb3Bcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QuY3JlYXRlQ2xhc3Moe1xuICBkaXNwbGF5TmFtZTogJ0Zvcm0nLFxuICBjaGlsZENvbnRleHRUeXBlczoge1xuICAgIGZvcm1BUEk6IFJlYWN0LlByb3BUeXBlcy5vYmplY3RcbiAgfSxcbiAgZ2V0Q2hpbGRDb250ZXh0ICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9ybUFQSTogdGhpcy5nZXRBUEkoKVxuICAgIH1cbiAgfSxcbiAgLy8gTGlmZWN5Y2xlXG4gIGdldERlZmF1bHRQcm9wcyAoKSB7XG4gICAgcmV0dXJuIEZvcm1EZWZhdWx0UHJvcHNcbiAgfSxcbiAgZ2V0SW5pdGlhbFN0YXRlICgpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3QuYXNzaWduKHt9LCBfLmNsb25lKHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlcyksIF8uY2xvbmUodGhpcy5wcm9wcy52YWx1ZXMpKVxuICAgIHJldHVybiB0aGlzLnByb3BzLmxvYWRTdGF0ZSh0aGlzLnByb3BzKSB8fCB7XG4gICAgICB2YWx1ZXMsXG4gICAgICB0b3VjaGVkOiB7fSxcbiAgICAgIGVycm9yczogdGhpcy52YWxpZGF0ZSh2YWx1ZXMpLFxuICAgICAgbmVzdGVkRXJyb3JzOiB7fVxuICAgIH1cbiAgfSxcbiAgY29tcG9uZW50V2lsbE1vdW50ICgpIHtcbiAgICB0aGlzLmVtaXRDaGFuZ2UodGhpcy5zdGF0ZSwgdHJ1ZSlcbiAgfSxcbiAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyAocHJvcHMpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzID09PSB0aGlzLnByb3BzLnZhbHVlcykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe1xuICAgICAgdmFsdWVzOiBfLmNsb25lKHByb3BzLnZhbHVlcykgfHwge31cbiAgICB9LCB0cnVlKVxuICB9LFxuICBjb21wb25lbnRXaWxsVW5tb3VudCAoKSB7XG4gICAgdGhpcy5wcm9wcy53aWxsVW5tb3VudCh0aGlzLnN0YXRlLCB0aGlzLnByb3BzKVxuICB9LFxuXG4gIC8vIEFQSVxuICBzZXRWYWx1ZSAoZmllbGQsIHZhbHVlLCBub1RvdWNoKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgdmFsdWVzID0gXy5zZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgdmFsdWUpXG4gICAgLy8gQWxzbyBzZXQgdG91Y2hlZCBzaW5jZSB0aGUgdmFsdWUgaXMgY2hhbmdpbmdcbiAgICBpZiAobm9Ub3VjaCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0Rm9ybVN0YXRlKHt2YWx1ZXN9KVxuICAgIH1cbiAgICBjb25zdCB0b3VjaGVkID0gXy5zZXQoc3RhdGUudG91Y2hlZCwgZmllbGQpXG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe3ZhbHVlcywgdG91Y2hlZH0pXG4gIH0sXG4gIGdldFZhbHVlIChmaWVsZCwgZmFsbGJhY2spIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVcbiAgICBjb25zdCB2YWwgPSBfLmdldChzdGF0ZS52YWx1ZXMsIGZpZWxkKVxuICAgIHJldHVybiB0eXBlb2YgdmFsICE9PSAndW5kZWZpbmVkJyA/IHZhbCA6IGZhbGxiYWNrXG4gIH0sXG4gIHNldE5lc3RlZEVycm9yIChmaWVsZCwgdmFsdWUgPSB0cnVlKSB7XG4gICAgY29uc3QgbmVzdGVkRXJyb3JzID0gXy5zZXQodGhpcy5zdGF0ZS5uZXN0ZWRFcnJvcnMsIGZpZWxkLCB2YWx1ZSlcbiAgICB0aGlzLnNldEZvcm1TdGF0ZSh7bmVzdGVkRXJyb3JzfSlcbiAgfSxcbiAgZ2V0RXJyb3IgKGZpZWxkKSB7XG4gICAgcmV0dXJuIF8uZ2V0KHRoaXMuc3RhdGUuZXJyb3JzLCBmaWVsZClcbiAgfSxcbiAgc2V0VG91Y2hlZCAoZmllbGQsIHZhbHVlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHRvdWNoZWQgPSBfLnNldCh0aGlzLnN0YXRlLnRvdWNoZWQsIGZpZWxkLCB2YWx1ZSlcbiAgICB0aGlzLnNldEZvcm1TdGF0ZSh7dG91Y2hlZH0pXG4gIH0sXG4gIGdldFRvdWNoZWQgKGZpZWxkKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlXG4gICAgaWYgKHRoaXMuc3RhdGUuZGlydHkgPT09IHRydWUgfHwgdGhpcy5wcm9wcy50b3VjaGVkID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gXy5nZXQoc3RhdGUudG91Y2hlZCwgZmllbGQpXG4gIH0sXG4gIGFkZFZhbHVlIChmaWVsZCwgdmFsdWUpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVcbiAgICBjb25zdCB2YWx1ZXMgPSBfLnNldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXG4gICAgICAuLi5fLmdldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXSksXG4gICAgICB2YWx1ZVxuICAgIF0pXG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe3ZhbHVlc30pXG4gIH0sXG4gIHJlbW92ZVZhbHVlIChmaWVsZCwgaW5kZXgpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVcbiAgICBjb25zdCBmaWVsZFZhbHVlID0gXy5nZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW10pXG4gICAgY29uc3QgdmFsdWVzID0gXy5zZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW1xuICAgICAgLi4uZmllbGRWYWx1ZS5zbGljZSgwLCBpbmRleCksXG4gICAgICAuLi5maWVsZFZhbHVlLnNsaWNlKGluZGV4ICsgMSlcbiAgICBdKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt2YWx1ZXN9KVxuICB9LFxuICBzd2FwVmFsdWVzIChmaWVsZCwgaW5kZXgsIGRlc3RJbmRleCkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IGZpZWxkVmFsdWVzID0gXy5nZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW10pXG4gICAgY29uc3QgdmFsdWVzID0gXy5zZXQoc3RhdGUudmFsdWVzLCBmaWVsZCwgW1xuICAgICAgLi4uZmllbGRWYWx1ZXMuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgZmllbGRWYWx1ZXNbZGVzdEluZGV4XSxcbiAgICAgIC4uLmZpZWxkVmFsdWVzLnNsaWNlKGluZGV4ICsgMSwgZGVzdEluZGV4KSxcbiAgICAgIGZpZWxkVmFsdWVzW2luZGV4XSxcbiAgICAgIC4uLmZpZWxkVmFsdWVzLnNsaWNlKGRlc3RJbmRleCArIDEpXG4gICAgXSlcbiAgICB0aGlzLnNldEZvcm1TdGF0ZSh7dmFsdWVzfSlcbiAgfSxcbiAgc2V0QWxsVG91Y2hlZCAoZGlydHkgPSB0cnVlLCBzdGF0ZSkge1xuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgZGlydHk6ICEhZGlydHlcbiAgICB9KVxuICB9LFxuICBzdWJtaXRGb3JtIChlKSB7XG4gICAgZSAmJiBlLnByZXZlbnREZWZhdWx0ICYmIGUucHJldmVudERlZmF1bHQoZSlcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVcbiAgICBjb25zdCBlcnJvcnMgPSB0aGlzLnZhbGlkYXRlKHN0YXRlLnZhbHVlcywgc3RhdGUsIHRoaXMucHJvcHMpXG4gICAgaWYgKGVycm9ycykge1xuICAgICAgaWYgKCFzdGF0ZS5kaXJ0eSkge1xuICAgICAgICB0aGlzLnNldEFsbFRvdWNoZWQodHJ1ZSwge2Vycm9yc30pXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vblZhbGlkYXRpb25GYWlsKHN0YXRlLCB0aGlzLnByb3BzKVxuICAgIH1cbiAgICBjb25zdCBwcmVTdWJtaXRWYWx1ZXMgPSB0aGlzLnByb3BzLnByZVN1Ym1pdChzdGF0ZS52YWx1ZXMsIHN0YXRlLCB0aGlzLnByb3BzKVxuICAgIHRoaXMucHJvcHMub25TdWJtaXQocHJlU3VibWl0VmFsdWVzLCBzdGF0ZSwgdGhpcy5wcm9wcylcbiAgICB0aGlzLnByb3BzLnBvc3RTdWJtaXQocHJlU3VibWl0VmFsdWVzLCBzdGF0ZSwgdGhpcy5wcm9wcylcbiAgfSxcblxuICAvLyBVdGlsc1xuICBnZXRBUEkgKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXRWYWx1ZTogdGhpcy5zZXRWYWx1ZSxcbiAgICAgIGdldFZhbHVlOiB0aGlzLmdldFZhbHVlLFxuICAgICAgc2V0TmVzdGVkRXJyb3I6IHRoaXMuc2V0TmVzdGVkRXJyb3IsXG4gICAgICBnZXRFcnJvcjogdGhpcy5nZXRFcnJvcixcbiAgICAgIHNldFRvdWNoZWQ6IHRoaXMuc2V0VG91Y2hlZCxcbiAgICAgIGdldFRvdWNoZWQ6IHRoaXMuZ2V0VG91Y2hlZCxcbiAgICAgIGFkZFZhbHVlOiB0aGlzLmFkZFZhbHVlLFxuICAgICAgcmVtb3ZlVmFsdWU6IHRoaXMucmVtb3ZlVmFsdWUsXG4gICAgICBzd2FwVmFsdWVzOiB0aGlzLnN3YXBWYWx1ZXMsXG4gICAgICBzZXRBbGxUb3VjaGVkOiB0aGlzLnNldEFsbFRvdWNoZWQsXG4gICAgICBzdWJtaXRGb3JtOiB0aGlzLnN1Ym1pdEZvcm1cbiAgICB9XG4gIH0sXG4gIHNldEZvcm1TdGF0ZSAobmV3U3RhdGUsIHNpbGVudCkge1xuICAgIGlmIChuZXdTdGF0ZSAmJiBuZXdTdGF0ZS52YWx1ZXMgJiYgIW5ld1N0YXRlLmVycm9ycykge1xuICAgICAgbmV3U3RhdGUudmFsdWVzID0gdGhpcy5wcm9wcy5wcmVWYWxpZGF0ZShuZXdTdGF0ZS52YWx1ZXMsIG5ld1N0YXRlLCB0aGlzLnByb3BzKVxuICAgICAgbmV3U3RhdGUuZXJyb3JzID0gdGhpcy52YWxpZGF0ZShuZXdTdGF0ZS52YWx1ZXMsIG5ld1N0YXRlLCB0aGlzLnByb3BzKVxuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKG5ld1N0YXRlLCAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnNhdmVTdGF0ZSh0aGlzLnN0YXRlLCB0aGlzLnByb3BzKVxuICAgICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKHRoaXMuc3RhdGUsIHRoaXMucHJvcHMpXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgZW1pdENoYW5nZSAoc3RhdGUsIGluaXRpYWwpIHtcbiAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKHN0YXRlLCB0aGlzLnByb3BzLCBpbml0aWFsKVxuICB9LFxuICB2YWxpZGF0ZSAodmFsdWVzLCBzdGF0ZSwgcHJvcHMpIHtcbiAgICBjb25zdCBlcnJvcnMgPSB0aGlzLnByb3BzLnZhbGlkYXRlKFxuICAgICAgcmVtb3ZlTmVzdGVkRXJyb3JWYWx1ZXModmFsdWVzLCB0aGlzLnN0YXRlID8gdGhpcy5zdGF0ZS5uZXN0ZWRFcnJvcnMgOiB7fSksXG4gICAgICBzdGF0ZSxcbiAgICAgIHByb3BzXG4gICAgKVxuICAgIHJldHVybiBjbGVhbkVycm9ycyhlcnJvcnMpXG4gIH0sXG4gIC8vIFJlbmRlclxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAuLi50aGlzLmdldEFQSSgpXG4gICAgfVxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnJlc3QgfSA9IHByb3BzXG4gICAgY29uc3QgcmVzb2x2ZWRDaGlsZCA9IHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJyA/IGNoaWxkcmVuKHJlc3QpIDogY2hpbGRyZW5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9J1JlYWN0Rm9ybSc+e3Jlc29sdmVkQ2hpbGR9PC9kaXY+XG4gICAgKVxuICB9XG59KVxuXG4vLyBVdGlsc1xuXG5mdW5jdGlvbiBjbGVhbkVycm9ycyAoZXJyKSB7XG4gIGlmIChfLmlzT2JqZWN0KGVycikpIHtcbiAgICBjb25zdCByZXNvbHZlZCA9IF8ubWFwVmFsdWVzKGVyciwgY2xlYW5FcnJvcnMpXG4gICAgY29uc3QgZm91bmQgPSBfLnBpY2tCeShyZXNvbHZlZCwgZCA9PiBkKVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhmb3VuZCkubGVuZ3RoID8gcmVzb2x2ZWQgOiB1bmRlZmluZWRcbiAgfVxuICBpZiAoXy5pc0FycmF5KGVycikpIHtcbiAgICBjb25zdCByZXNvbHZlZCA9IGVyci5tYXAoY2xlYW5FcnJvcnMpXG4gICAgY29uc3QgZm91bmQgPSByZXNvbHZlZC5maW5kKGQgPT4gZClcbiAgICByZXR1cm4gZm91bmQgPyByZXNvbHZlZCA6IHVuZGVmaW5lZFxuICB9XG4gIHJldHVybiBlcnJcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTmVzdGVkRXJyb3JWYWx1ZXMgKHZhbHVlLCBuZXN0ZWRFcnJvcnMpIHtcbiAgY29uc3QgcmVjdXJzZSA9ICh2YWx1ZSwgcGF0aCA9IFtdKSA9PiB7XG4gICAgaWYgKF8uZ2V0KG5lc3RlZEVycm9ycywgcGF0aCkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gICAgaWYgKF8uaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICByZXR1cm4gXy5tYXBWYWx1ZXModmFsdWUsIChkLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiByZWN1cnNlKGQsIFsuLi5wYXRoLCBpXSlcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChfLmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKChkLCBrZXkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlY3Vyc2UoZCwgWy4uLnBhdGgsIGtleV0pXG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuICByZXR1cm4gcmVjdXJzZSh2YWx1ZSlcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtLmpzIl0sIm5hbWVzIjpbIm5vb3AiLCJyZW9wIiwiZCIsIkZvcm1EZWZhdWx0UHJvcHMiLCJsb2FkU3RhdGUiLCJkZWZhdWx0VmFsdWVzIiwicHJlVmFsaWRhdGUiLCJ2YWxpZGF0ZSIsIm9uVmFsaWRhdGlvbkZhaWwiLCJvbkNoYW5nZSIsInNhdmVTdGF0ZSIsIndpbGxVbm1vdW50IiwicHJlU3VibWl0Iiwib25TdWJtaXQiLCJwb3N0U3VibWl0IiwiY3JlYXRlQ2xhc3MiLCJkaXNwbGF5TmFtZSIsImNoaWxkQ29udGV4dFR5cGVzIiwiZm9ybUFQSSIsIlByb3BUeXBlcyIsIm9iamVjdCIsImdldENoaWxkQ29udGV4dCIsImdldEFQSSIsImdldERlZmF1bHRQcm9wcyIsImdldEluaXRpYWxTdGF0ZSIsInByb3BzIiwidmFsdWVzIiwibWVyZ2VkVmFsdWVzIiwiY2xvbmUiLCJ0b3VjaGVkIiwiZXJyb3JzIiwibmVzdGVkRXJyb3JzIiwiY29tcG9uZW50V2lsbE1vdW50IiwiZW1pdENoYW5nZSIsInN0YXRlIiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsInNldEZvcm1TdGF0ZSIsImNvbXBvbmVudFdpbGxVbm1vdW50Iiwic2V0VmFsdWUiLCJmaWVsZCIsInZhbHVlIiwibm9Ub3VjaCIsInNldCIsImdldFZhbHVlIiwiZmFsbGJhY2siLCJ2YWwiLCJnZXQiLCJzZXROZXN0ZWRFcnJvciIsImdldEVycm9yIiwic2V0VG91Y2hlZCIsImdldFRvdWNoZWQiLCJkaXJ0eSIsImFkZFZhbHVlIiwicmVtb3ZlVmFsdWUiLCJpbmRleCIsImZpZWxkVmFsdWUiLCJzbGljZSIsInN3YXBWYWx1ZXMiLCJkZXN0SW5kZXgiLCJmaWVsZFZhbHVlcyIsInNldEFsbFRvdWNoZWQiLCJyZXNldEZvcm0iLCJzZXRTdGF0ZSIsInN1Ym1pdEZvcm0iLCJlIiwicHJldmVudERlZmF1bHQiLCJwcmVTdWJtaXRWYWx1ZXMiLCJuZXdTdGF0ZSIsInNpbGVudCIsImluaXRpYWwiLCJyZW1vdmVOZXN0ZWRFcnJvclZhbHVlcyIsImNsZWFuRXJyb3JzIiwicmVuZGVyIiwiY2hpbGRyZW4iLCJyZXN0IiwicmVzb2x2ZWRDaGlsZCIsImVyciIsImlzT2JqZWN0IiwicmVzb2x2ZWQiLCJtYXBWYWx1ZXMiLCJmb3VuZCIsInBpY2tCeSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJpc0FycmF5IiwibWFwIiwiZmluZCIsInJlY3Vyc2UiLCJwYXRoIiwiaSIsImtleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLE9BQU8sU0FBUEEsSUFBTyxHQUFNLENBQUUsQ0FBckI7QUFDQSxJQUFNQyxPQUFPLFNBQVBBLElBQU87QUFBQSxTQUFLQyxDQUFMO0FBQUEsQ0FBYjs7QUFFTyxJQUFNQyw4Q0FBbUI7QUFDOUJDLGFBQVdKLElBRG1CO0FBRTlCSyxpQkFBZSxFQUZlO0FBRzlCQyxlQUFhTCxJQUhpQjtBQUk5Qk0sWUFBVTtBQUFBLFdBQU0sSUFBTjtBQUFBLEdBSm9CO0FBSzlCQyxvQkFBa0JSLElBTFk7QUFNOUJTLFlBQVVULElBTm9CO0FBTzlCVSxhQUFXVixJQVBtQjtBQVE5QlcsZUFBYVgsSUFSaUI7QUFTOUJZLGFBQVdYLElBVG1CO0FBVTlCWSxZQUFVYixJQVZvQjtBQVc5QmMsY0FBWWQ7QUFYa0IsQ0FBekI7O2tCQWNRLGdCQUFNZSxXQUFOLENBQWtCO0FBQy9CQyxlQUFhLE1BRGtCO0FBRS9CQyxxQkFBbUI7QUFDakJDLGFBQVMsZ0JBQU1DLFNBQU4sQ0FBZ0JDO0FBRFIsR0FGWTtBQUsvQkMsaUJBTCtCLDZCQUtaO0FBQ2pCLFdBQU87QUFDTEgsZUFBUyxLQUFLSSxNQUFMO0FBREosS0FBUDtBQUdELEdBVDhCOztBQVUvQjtBQUNBQyxpQkFYK0IsNkJBV1o7QUFDakIsV0FBT3BCLGdCQUFQO0FBQ0QsR0FiOEI7QUFjL0JxQixpQkFkK0IsNkJBY1o7QUFBQSxpQkFLYixLQUFLQyxLQUxR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QUFDRDtBQUNELFNBQU9ULEdBQVA7QUFDRDs7QUFFRCxTQUFTTix1QkFBVCxDQUFrQzlCLEtBQWxDLEVBQXlDVCxZQUF6QyxFQUF1RDtBQUNyRCxNQUFNMEQsVUFBVSxTQUFWQSxPQUFVLENBQUNqRCxLQUFELEVBQXNCO0FBQUEsUUFBZGtELElBQWMsdUVBQVAsRUFBTzs7QUFDcEMsUUFBSSxnQkFBRTVDLEdBQUYsQ0FBTWYsWUFBTixFQUFvQjJELElBQXBCLENBQUosRUFBK0I7QUFDN0IsYUFBT0wsU0FBUDtBQUNEO0FBQ0QsUUFBSSxnQkFBRVIsUUFBRixDQUFXckMsS0FBWCxDQUFKLEVBQXVCO0FBQ3JCLGFBQU8sZ0JBQUV1QyxTQUFGLENBQVl2QyxLQUFaLEVBQW1CLFVBQUN0QyxDQUFELEVBQUl5RixDQUFKLEVBQVU7QUFDbEMsZUFBT0YsUUFBUXZGLENBQVIsK0JBQWV3RixJQUFmLElBQXFCQyxDQUFyQixHQUFQO0FBQ0QsT0FGTSxDQUFQO0FBR0Q7QUFDRCxRQUFJLGdCQUFFTCxPQUFGLENBQVU5QyxLQUFWLENBQUosRUFBc0I7QUFDcEIsYUFBT0EsTUFBTStDLEdBQU4sQ0FBVSxVQUFDckYsQ0FBRCxFQUFJMEYsR0FBSixFQUFZO0FBQzNCLGVBQU9ILFFBQVF2RixDQUFSLCtCQUFld0YsSUFBZixJQUFxQkUsR0FBckIsR0FBUDtBQUNELE9BRk0sQ0FBUDtBQUdEO0FBQ0QsV0FBT3BELEtBQVA7QUFDRCxHQWZEO0FBZ0JBLFNBQU9pRCxRQUFRakQsS0FBUixDQUFQO0FBQ0QiLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCBfIGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7fVxuY29uc3QgcmVvcCA9IGQgPT4gZFxuXG5leHBvcnQgY29uc3QgRm9ybURlZmF1bHRQcm9wcyA9IHtcbiAgbG9hZFN0YXRlOiBub29wLFxuICBkZWZhdWx0VmFsdWVzOiB7fSxcbiAgcHJlVmFsaWRhdGU6IHJlb3AsXG4gIHZhbGlkYXRlOiAoKSA9PiBudWxsLFxuICBvblZhbGlkYXRpb25GYWlsOiBub29wLFxuICBvbkNoYW5nZTogbm9vcCxcbiAgc2F2ZVN0YXRlOiBub29wLFxuICB3aWxsVW5tb3VudDogbm9vcCxcbiAgcHJlU3VibWl0OiByZW9wLFxuICBvblN1Ym1pdDogbm9vcCxcbiAgcG9zdFN1Ym1pdDogbm9vcFxufVxuXG5leHBvcnQgZGVmYXVsdCBSZWFjdC5jcmVhdGVDbGFzcyh7XG4gIGRpc3BsYXlOYW1lOiAnRm9ybScsXG4gIGNoaWxkQ29udGV4dFR5cGVzOiB7XG4gICAgZm9ybUFQSTogUmVhY3QuUHJvcFR5cGVzLm9iamVjdFxuICB9LFxuICBnZXRDaGlsZENvbnRleHQgKCkge1xuICAgIHJldHVybiB7XG4gICAgICBmb3JtQVBJOiB0aGlzLmdldEFQSSgpXG4gICAgfVxuICB9LFxuICAvLyBMaWZlY3ljbGVcbiAgZ2V0RGVmYXVsdFByb3BzICgpIHtcbiAgICByZXR1cm4gRm9ybURlZmF1bHRQcm9wc1xuICB9LFxuICBnZXRJbml0aWFsU3RhdGUgKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGRlZmF1bHRWYWx1ZXMsXG4gICAgICB2YWx1ZXMsXG4gICAgICBsb2FkU3RhdGVcbiAgICB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IG1lcmdlZFZhbHVlcyA9IHtcbiAgICAgIC4uLl8uY2xvbmUoZGVmYXVsdFZhbHVlcyksXG4gICAgICAuLi5fLmNsb25lKHZhbHVlcylcbiAgICB9XG4gICAgcmV0dXJuIGxvYWRTdGF0ZSh0aGlzLnByb3BzLCB0aGlzKSB8fCB7XG4gICAgICB2YWx1ZXM6IG1lcmdlZFZhbHVlcyxcbiAgICAgIHRvdWNoZWQ6IHt9LFxuICAgICAgZXJyb3JzOiB0aGlzLnZhbGlkYXRlKG1lcmdlZFZhbHVlcyksXG4gICAgICBuZXN0ZWRFcnJvcnM6IHt9XG4gICAgfVxuICB9LFxuICBjb21wb25lbnRXaWxsTW91bnQgKCkge1xuICAgIHRoaXMuZW1pdENoYW5nZSh0aGlzLnN0YXRlLCB0cnVlKVxuICB9LFxuICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIChwcm9wcykge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgPT09IHRoaXMucHJvcHMudmFsdWVzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLnNldEZvcm1TdGF0ZSh7XG4gICAgICB2YWx1ZXM6IF8uY2xvbmUocHJvcHMudmFsdWVzKSB8fCB7fVxuICAgIH0sIHRydWUpXG4gIH0sXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50ICgpIHtcbiAgICB0aGlzLnByb3BzLndpbGxVbm1vdW50KHRoaXMuc3RhdGUsIHRoaXMucHJvcHMsIHRoaXMpXG4gIH0sXG5cbiAgLy8gQVBJXG4gIHNldFZhbHVlIChmaWVsZCwgdmFsdWUsIG5vVG91Y2gpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVcbiAgICBjb25zdCB2YWx1ZXMgPSBfLnNldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCB2YWx1ZSlcbiAgICAvLyBBbHNvIHNldCB0b3VjaGVkIHNpbmNlIHRoZSB2YWx1ZSBpcyBjaGFuZ2luZ1xuICAgIGlmIChub1RvdWNoKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRGb3JtU3RhdGUoe3ZhbHVlc30pXG4gICAgfVxuICAgIGNvbnN0IHRvdWNoZWQgPSBfLnNldChzdGF0ZS50b3VjaGVkLCBmaWVsZClcbiAgICB0aGlzLnNldEZvcm1TdGF0ZSh7dmFsdWVzLCB0b3VjaGVkfSlcbiAgfSxcbiAgZ2V0VmFsdWUgKGZpZWxkLCBmYWxsYmFjaykge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IHZhbCA9IF8uZ2V0KHN0YXRlLnZhbHVlcywgZmllbGQpXG4gICAgcmV0dXJuIHR5cGVvZiB2YWwgIT09ICd1bmRlZmluZWQnID8gdmFsIDogZmFsbGJhY2tcbiAgfSxcbiAgc2V0TmVzdGVkRXJyb3IgKGZpZWxkLCB2YWx1ZSA9IHRydWUpIHtcbiAgICBjb25zdCBuZXN0ZWRFcnJvcnMgPSBfLnNldCh0aGlzLnN0YXRlLm5lc3RlZEVycm9ycywgZmllbGQsIHZhbHVlKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHtuZXN0ZWRFcnJvcnN9KVxuICB9LFxuICBnZXRFcnJvciAoZmllbGQpIHtcbiAgICByZXR1cm4gXy5nZXQodGhpcy5zdGF0ZS5lcnJvcnMsIGZpZWxkKVxuICB9LFxuICBzZXRUb3VjaGVkIChmaWVsZCwgdmFsdWUgPSB0cnVlKSB7XG4gICAgY29uc3QgdG91Y2hlZCA9IF8uc2V0KHRoaXMuc3RhdGUudG91Y2hlZCwgZmllbGQsIHZhbHVlKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt0b3VjaGVkfSlcbiAgfSxcbiAgZ2V0VG91Y2hlZCAoZmllbGQpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVcbiAgICBpZiAodGhpcy5zdGF0ZS5kaXJ0eSA9PT0gdHJ1ZSB8fCB0aGlzLnByb3BzLnRvdWNoZWQgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHJldHVybiBfLmdldChzdGF0ZS50b3VjaGVkLCBmaWVsZClcbiAgfSxcbiAgYWRkVmFsdWUgKGZpZWxkLCB2YWx1ZSkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IHZhbHVlcyA9IF8uc2V0KHN0YXRlLnZhbHVlcywgZmllbGQsIFtcbiAgICAgIC4uLl8uZ2V0KHN0YXRlLnZhbHVlcywgZmllbGQsIFtdKSxcbiAgICAgIHZhbHVlXG4gICAgXSlcbiAgICB0aGlzLnNldEZvcm1TdGF0ZSh7dmFsdWVzfSlcbiAgfSxcbiAgcmVtb3ZlVmFsdWUgKGZpZWxkLCBpbmRleCkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBfLmdldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXSlcbiAgICBjb25zdCB2YWx1ZXMgPSBfLnNldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXG4gICAgICAuLi5maWVsZFZhbHVlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgIC4uLmZpZWxkVmFsdWUuc2xpY2UoaW5kZXggKyAxKVxuICAgIF0pXG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe3ZhbHVlc30pXG4gIH0sXG4gIHN3YXBWYWx1ZXMgKGZpZWxkLCBpbmRleCwgZGVzdEluZGV4KSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgZmllbGRWYWx1ZXMgPSBfLmdldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXSlcbiAgICBjb25zdCB2YWx1ZXMgPSBfLnNldChzdGF0ZS52YWx1ZXMsIGZpZWxkLCBbXG4gICAgICAuLi5maWVsZFZhbHVlcy5zbGljZSgwLCBpbmRleCksXG4gICAgICBmaWVsZFZhbHVlc1tkZXN0SW5kZXhdLFxuICAgICAgLi4uZmllbGRWYWx1ZXMuc2xpY2UoaW5kZXggKyAxLCBkZXN0SW5kZXgpLFxuICAgICAgZmllbGRWYWx1ZXNbaW5kZXhdLFxuICAgICAgLi4uZmllbGRWYWx1ZXMuc2xpY2UoZGVzdEluZGV4ICsgMSlcbiAgICBdKVxuICAgIHRoaXMuc2V0Rm9ybVN0YXRlKHt2YWx1ZXN9KVxuICB9LFxuICBzZXRBbGxUb3VjaGVkIChkaXJ0eSA9IHRydWUsIHN0YXRlKSB7XG4gICAgdGhpcy5zZXRGb3JtU3RhdGUoe1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBkaXJ0eTogISFkaXJ0eVxuICAgIH0pXG4gIH0sXG4gIHJlc2V0Rm9ybSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2V0U3RhdGUodGhpcy5nZXRJbml0aWFsU3RhdGUoKSlcbiAgfSxcbiAgc3VibWl0Rm9ybSAoZSkge1xuICAgIGUgJiYgZS5wcmV2ZW50RGVmYXVsdCAmJiBlLnByZXZlbnREZWZhdWx0KGUpXG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgZXJyb3JzID0gdGhpcy52YWxpZGF0ZShzdGF0ZS52YWx1ZXMsIHN0YXRlLCB0aGlzLnByb3BzKVxuICAgIGlmIChlcnJvcnMpIHtcbiAgICAgIGlmICghc3RhdGUuZGlydHkpIHtcbiAgICAgICAgdGhpcy5zZXRBbGxUb3VjaGVkKHRydWUsIHtlcnJvcnN9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25WYWxpZGF0aW9uRmFpbChzdGF0ZS52YWx1ZXMsIHN0YXRlLCB0aGlzLnByb3BzLCB0aGlzKVxuICAgIH1cbiAgICBjb25zdCBwcmVTdWJtaXRWYWx1ZXMgPSB0aGlzLnByb3BzLnByZVN1Ym1pdChzdGF0ZS52YWx1ZXMsIHN0YXRlLCB0aGlzLnByb3BzLCB0aGlzKVxuICAgIHRoaXMucHJvcHMub25TdWJtaXQocHJlU3VibWl0VmFsdWVzLCBzdGF0ZSwgdGhpcy5wcm9wcywgdGhpcylcbiAgICB0aGlzLnByb3BzLnBvc3RTdWJtaXQocHJlU3VibWl0VmFsdWVzLCBzdGF0ZSwgdGhpcy5wcm9wcywgdGhpcylcbiAgfSxcblxuICAvLyBVdGlsc1xuICBnZXRBUEkgKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXRWYWx1ZTogdGhpcy5zZXRWYWx1ZSxcbiAgICAgIGdldFZhbHVlOiB0aGlzLmdldFZhbHVlLFxuICAgICAgc2V0TmVzdGVkRXJyb3I6IHRoaXMuc2V0TmVzdGVkRXJyb3IsXG4gICAgICBnZXRFcnJvcjogdGhpcy5nZXRFcnJvcixcbiAgICAgIHNldFRvdWNoZWQ6IHRoaXMuc2V0VG91Y2hlZCxcbiAgICAgIGdldFRvdWNoZWQ6IHRoaXMuZ2V0VG91Y2hlZCxcbiAgICAgIGFkZFZhbHVlOiB0aGlzLmFkZFZhbHVlLFxuICAgICAgcmVtb3ZlVmFsdWU6IHRoaXMucmVtb3ZlVmFsdWUsXG4gICAgICBzd2FwVmFsdWVzOiB0aGlzLnN3YXBWYWx1ZXMsXG4gICAgICBzZXRBbGxUb3VjaGVkOiB0aGlzLnNldEFsbFRvdWNoZWQsXG4gICAgICByZXNldEZvcm06IHRoaXMucmVzZXRGb3JtLFxuICAgICAgc3VibWl0Rm9ybTogdGhpcy5zdWJtaXRGb3JtXG4gICAgfVxuICB9LFxuICBzZXRGb3JtU3RhdGUgKG5ld1N0YXRlLCBzaWxlbnQpIHtcbiAgICBpZiAobmV3U3RhdGUgJiYgbmV3U3RhdGUudmFsdWVzICYmICFuZXdTdGF0ZS5lcnJvcnMpIHtcbiAgICAgIG5ld1N0YXRlLnZhbHVlcyA9IHRoaXMucHJvcHMucHJlVmFsaWRhdGUobmV3U3RhdGUudmFsdWVzLCBuZXdTdGF0ZSwgdGhpcy5wcm9wcywgdGhpcylcbiAgICAgIG5ld1N0YXRlLmVycm9ycyA9IHRoaXMudmFsaWRhdGUobmV3U3RhdGUudmFsdWVzLCBuZXdTdGF0ZSwgdGhpcy5wcm9wcylcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZShuZXdTdGF0ZSwgKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5zYXZlU3RhdGUodGhpcy5zdGF0ZSwgdGhpcy5wcm9wcywgdGhpcylcbiAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZSh0aGlzLnN0YXRlLCB0aGlzLnByb3BzKVxuICAgICAgfVxuICAgIH0pXG4gIH0sXG4gIGVtaXRDaGFuZ2UgKHN0YXRlLCBpbml0aWFsKSB7XG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShzdGF0ZSwgdGhpcy5wcm9wcywgaW5pdGlhbCwgdGhpcylcbiAgfSxcbiAgdmFsaWRhdGUgKHZhbHVlcywgc3RhdGUsIHByb3BzKSB7XG4gICAgY29uc3QgZXJyb3JzID0gdGhpcy5wcm9wcy52YWxpZGF0ZShcbiAgICAgIHJlbW92ZU5lc3RlZEVycm9yVmFsdWVzKHZhbHVlcywgdGhpcy5zdGF0ZSA/IHRoaXMuc3RhdGUubmVzdGVkRXJyb3JzIDoge30pLFxuICAgICAgc3RhdGUsXG4gICAgICBwcm9wcyxcbiAgICAgIHRoaXNcbiAgICApXG4gICAgcmV0dXJuIGNsZWFuRXJyb3JzKGVycm9ycylcbiAgfSxcbiAgLy8gUmVuZGVyXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgIC4uLnRoaXMuZ2V0QVBJKClcbiAgICB9XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgLi4ucmVzdCB9ID0gcHJvcHNcbiAgICBjb25zdCByZXNvbHZlZENoaWxkID0gdHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nID8gY2hpbGRyZW4ocmVzdCkgOiBjaGlsZHJlblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nUmVhY3RGb3JtJz57cmVzb2x2ZWRDaGlsZH08L2Rpdj5cbiAgICApXG4gIH1cbn0pXG5cbi8vIFV0aWxzXG5cbmZ1bmN0aW9uIGNsZWFuRXJyb3JzIChlcnIpIHtcbiAgaWYgKF8uaXNPYmplY3QoZXJyKSkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gXy5tYXBWYWx1ZXMoZXJyLCBjbGVhbkVycm9ycylcbiAgICBjb25zdCBmb3VuZCA9IF8ucGlja0J5KHJlc29sdmVkLCBkID0+IGQpXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvdW5kKS5sZW5ndGggPyByZXNvbHZlZCA6IHVuZGVmaW5lZFxuICB9XG4gIGlmIChfLmlzQXJyYXkoZXJyKSkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gZXJyLm1hcChjbGVhbkVycm9ycylcbiAgICBjb25zdCBmb3VuZCA9IHJlc29sdmVkLmZpbmQoZCA9PiBkKVxuICAgIHJldHVybiBmb3VuZCA/IHJlc29sdmVkIDogdW5kZWZpbmVkXG4gIH1cbiAgcmV0dXJuIGVyclxufVxuXG5mdW5jdGlvbiByZW1vdmVOZXN0ZWRFcnJvclZhbHVlcyAodmFsdWUsIG5lc3RlZEVycm9ycykge1xuICBjb25zdCByZWN1cnNlID0gKHZhbHVlLCBwYXRoID0gW10pID0+IHtcbiAgICBpZiAoXy5nZXQobmVzdGVkRXJyb3JzLCBwYXRoKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICBpZiAoXy5pc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBfLm1hcFZhbHVlcyh2YWx1ZSwgKGQsIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlY3Vyc2UoZCwgWy4uLnBhdGgsIGldKVxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKF8uaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAoKGQsIGtleSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVjdXJzZShkLCBbLi4ucGF0aCwga2V5XSlcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG4gIHJldHVybiByZWN1cnNlKHZhbHVlKVxufVxuIl19
{
"name": "react-form",
"version": "1.1.1",
"version": "1.1.2",
"description": "React Form is a lightweight framework and utility for building powerful forms in React applications.",

@@ -5,0 +5,0 @@ "license": "MIT",

(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.reactForm = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _objectWithoutProperties(t,e){var r={};for(var s in t)e.indexOf(s)>=0||Object.prototype.hasOwnProperty.call(t,s)&&(r[s]=t[s]);return r}function _toConsumableArray(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}return Array.from(t)}function cleanErrors(t){if(_utils2.default.isObject(t)){var e=_utils2.default.mapValues(t,cleanErrors),r=_utils2.default.pickBy(e,function(t){return t});return Object.keys(r).length?e:void 0}if(_utils2.default.isArray(t)){var s=t.map(cleanErrors),a=s.find(function(t){return t});return a?s:void 0}return t}function removeNestedErrorValues(t,e){var r=function t(r){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!_utils2.default.get(e,s))return _utils2.default.isObject(r)?_utils2.default.mapValues(r,function(e,r){return t(e,[].concat(_toConsumableArray(s),[r]))}):_utils2.default.isArray(r)?r.map(function(e,r){return t(e,[].concat(_toConsumableArray(s),[r]))}):r};return r(t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.FormDefaultProps=void 0;var _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(t[s]=r[s])}return t},_react=require("react"),_react2=_interopRequireDefault(_react),_utils=require("./utils"),_utils2=_interopRequireDefault(_utils),noop=function(){},reop=function(t){return t},FormDefaultProps=exports.FormDefaultProps={loadState:noop,defaultValues:{},preValidate:reop,validate:function(){return null},onValidationFail:noop,onChange:noop,saveState:noop,willUnmount:noop,preSubmit:reop,onSubmit:noop,postSubmit:noop};exports.default=_react2.default.createClass({displayName:"Form",childContextTypes:{formAPI:_react2.default.PropTypes.object},getChildContext:function(){return{formAPI:this.getAPI()}},getDefaultProps:function(){return FormDefaultProps},getInitialState:function(){var t=_extends({},_utils2.default.clone(this.props.defaultValues),_utils2.default.clone(this.props.values));return this.props.loadState(this.props)||{values:t,touched:{},errors:this.validate(t),nestedErrors:{}}},componentWillMount:function(){this.emitChange(this.state,!0)},componentWillReceiveProps:function(t){t.values!==this.props.values&&this.setFormState({values:_utils2.default.clone(t.values)||{}},!0)},componentWillUnmount:function(){this.props.willUnmount(this.state,this.props)},setValue:function(t,e,r){var s=this.state,a=_utils2.default.set(s.values,t,e);if(r)return this.setFormState({values:a});var o=_utils2.default.set(s.touched,t);this.setFormState({values:a,touched:o})},getValue:function(t,e){var r=this.state,s=_utils2.default.get(r.values,t);return"undefined"!=typeof s?s:e},setNestedError:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=_utils2.default.set(this.state.nestedErrors,t,e);this.setFormState({nestedErrors:r})},getError:function(t){return _utils2.default.get(this.state.errors,t)},setTouched:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=_utils2.default.set(this.state.touched,t,e);this.setFormState({touched:r})},getTouched:function(t){var e=this.state;return this.state.dirty===!0||this.props.touched===!0||_utils2.default.get(e.touched,t)},addValue:function(t,e){var r=this.state,s=_utils2.default.set(r.values,t,[].concat(_toConsumableArray(_utils2.default.get(r.values,t,[])),[e]));this.setFormState({values:s})},removeValue:function(t,e){var r=this.state,s=_utils2.default.get(r.values,t,[]),a=_utils2.default.set(r.values,t,[].concat(_toConsumableArray(s.slice(0,e)),_toConsumableArray(s.slice(e+1))));this.setFormState({values:a})},swapValues:function(t,e,r){var s=this.state,a=_utils2.default.get(s.values,t,[]),o=_utils2.default.set(s.values,t,[].concat(_toConsumableArray(a.slice(0,e)),[a[r]],_toConsumableArray(a.slice(e+1,r)),[a[e]],_toConsumableArray(a.slice(r+1))));this.setFormState({values:o})},setAllTouched:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments[1];this.setFormState(_extends({},e,{dirty:!!t}))},submitForm:function(t){t&&t.preventDefault&&t.preventDefault(t);var e=this.state,r=this.validate(e.values,e,this.props);if(r)return e.dirty||this.setAllTouched(!0,{errors:r}),this.props.onValidationFail(e,this.props);var s=this.props.preSubmit(e.values,e,this.props);this.props.onSubmit(s,e,this.props),this.props.postSubmit(s,e,this.props)},getAPI:function(){return{setValue:this.setValue,getValue:this.getValue,setNestedError:this.setNestedError,getError:this.getError,setTouched:this.setTouched,getTouched:this.getTouched,addValue:this.addValue,removeValue:this.removeValue,swapValues:this.swapValues,setAllTouched:this.setAllTouched,submitForm:this.submitForm}},setFormState:function(t,e){var r=this;t&&t.values&&!t.errors&&(t.values=this.props.preValidate(t.values,t,this.props),t.errors=this.validate(t.values,t,this.props)),this.setState(t,function(){r.props.saveState(r.state,r.props),e||r.emitChange(r.state,r.props)})},emitChange:function(t,e){this.props.onChange(t,this.props,e)},validate:function(t,e,r){var s=this.props.validate(removeNestedErrorValues(t,this.state?this.state.nestedErrors:{}),e,r);return cleanErrors(s)},render:function(){var t=_extends({},this.props,this.state,this.getAPI()),e=t.children,r=_objectWithoutProperties(t,["children"]),s="function"==typeof e?e(r):e;return _react2.default.createElement("div",{className:"ReactForm"},s)}});
"use strict";function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _objectWithoutProperties(t,e){var s={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(s[r]=t[r]);return s}function _toConsumableArray(t){if(Array.isArray(t)){for(var e=0,s=Array(t.length);e<t.length;e++)s[e]=t[e];return s}return Array.from(t)}function cleanErrors(t){if(_utils2.default.isObject(t)){var e=_utils2.default.mapValues(t,cleanErrors),s=_utils2.default.pickBy(e,function(t){return t});return Object.keys(s).length?e:void 0}if(_utils2.default.isArray(t)){var r=t.map(cleanErrors),a=r.find(function(t){return t});return a?r:void 0}return t}function removeNestedErrorValues(t,e){var s=function t(s){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!_utils2.default.get(e,r))return _utils2.default.isObject(s)?_utils2.default.mapValues(s,function(e,s){return t(e,[].concat(_toConsumableArray(r),[s]))}):_utils2.default.isArray(s)?s.map(function(e,s){return t(e,[].concat(_toConsumableArray(r),[s]))}):s};return s(t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.FormDefaultProps=void 0;var _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var s=arguments[e];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(t[r]=s[r])}return t},_react=require("react"),_react2=_interopRequireDefault(_react),_utils=require("./utils"),_utils2=_interopRequireDefault(_utils),noop=function(){},reop=function(t){return t},FormDefaultProps=exports.FormDefaultProps={loadState:noop,defaultValues:{},preValidate:reop,validate:function(){return null},onValidationFail:noop,onChange:noop,saveState:noop,willUnmount:noop,preSubmit:reop,onSubmit:noop,postSubmit:noop};exports.default=_react2.default.createClass({displayName:"Form",childContextTypes:{formAPI:_react2.default.PropTypes.object},getChildContext:function(){return{formAPI:this.getAPI()}},getDefaultProps:function(){return FormDefaultProps},getInitialState:function(){var t=this.props,e=t.defaultValues,s=t.values,r=t.loadState,a=_extends({},_utils2.default.clone(e),_utils2.default.clone(s));return r(this.props,this)||{values:a,touched:{},errors:this.validate(a),nestedErrors:{}}},componentWillMount:function(){this.emitChange(this.state,!0)},componentWillReceiveProps:function(t){t.values!==this.props.values&&this.setFormState({values:_utils2.default.clone(t.values)||{}},!0)},componentWillUnmount:function(){this.props.willUnmount(this.state,this.props,this)},setValue:function(t,e,s){var r=this.state,a=_utils2.default.set(r.values,t,e);if(s)return this.setFormState({values:a});var o=_utils2.default.set(r.touched,t);this.setFormState({values:a,touched:o})},getValue:function(t,e){var s=this.state,r=_utils2.default.get(s.values,t);return"undefined"!=typeof r?r:e},setNestedError:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=_utils2.default.set(this.state.nestedErrors,t,e);this.setFormState({nestedErrors:s})},getError:function(t){return _utils2.default.get(this.state.errors,t)},setTouched:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=_utils2.default.set(this.state.touched,t,e);this.setFormState({touched:s})},getTouched:function(t){var e=this.state;return this.state.dirty===!0||this.props.touched===!0||_utils2.default.get(e.touched,t)},addValue:function(t,e){var s=this.state,r=_utils2.default.set(s.values,t,[].concat(_toConsumableArray(_utils2.default.get(s.values,t,[])),[e]));this.setFormState({values:r})},removeValue:function(t,e){var s=this.state,r=_utils2.default.get(s.values,t,[]),a=_utils2.default.set(s.values,t,[].concat(_toConsumableArray(r.slice(0,e)),_toConsumableArray(r.slice(e+1))));this.setFormState({values:a})},swapValues:function(t,e,s){var r=this.state,a=_utils2.default.get(r.values,t,[]),o=_utils2.default.set(r.values,t,[].concat(_toConsumableArray(a.slice(0,e)),[a[s]],_toConsumableArray(a.slice(e+1,s)),[a[e]],_toConsumableArray(a.slice(s+1))));this.setFormState({values:o})},setAllTouched:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments[1];this.setFormState(_extends({},e,{dirty:!!t}))},resetForm:function(){return this.setState(this.getInitialState())},submitForm:function(t){t&&t.preventDefault&&t.preventDefault(t);var e=this.state,s=this.validate(e.values,e,this.props);if(s)return e.dirty||this.setAllTouched(!0,{errors:s}),this.props.onValidationFail(e.values,e,this.props,this);var r=this.props.preSubmit(e.values,e,this.props,this);this.props.onSubmit(r,e,this.props,this),this.props.postSubmit(r,e,this.props,this)},getAPI:function(){return{setValue:this.setValue,getValue:this.getValue,setNestedError:this.setNestedError,getError:this.getError,setTouched:this.setTouched,getTouched:this.getTouched,addValue:this.addValue,removeValue:this.removeValue,swapValues:this.swapValues,setAllTouched:this.setAllTouched,resetForm:this.resetForm,submitForm:this.submitForm}},setFormState:function(t,e){var s=this;t&&t.values&&!t.errors&&(t.values=this.props.preValidate(t.values,t,this.props,this),t.errors=this.validate(t.values,t,this.props)),this.setState(t,function(){s.props.saveState(s.state,s.props,s),e||s.emitChange(s.state,s.props)})},emitChange:function(t,e){this.props.onChange(t,this.props,e,this)},validate:function(t,e,s){var r=this.props.validate(removeNestedErrorValues(t,this.state?this.state.nestedErrors:{}),e,s,this);return cleanErrors(r)},render:function(){var t=_extends({},this.props,this.state,this.getAPI()),e=t.children,s=_objectWithoutProperties(t,["children"]),r="function"==typeof e?e(s):e;return _react2.default.createElement("div",{className:"ReactForm"},r)}});

@@ -4,0 +4,0 @@ },{"./utils":14,"react":"react"}],2:[function(require,module,exports){

@@ -41,2 +41,4 @@ <div align="center">

## [Webpack-Bin](http://www.webpackbin.com/V1AI--xtz)
## Table of Contents

@@ -423,7 +425,7 @@ - [Installation](#installation)

#### loadState (props)
#### loadState (props, instance)
- When a form mounts, `loadState` is called. If a saved form state object is returned, it will hydrate the form state from this object.
- An ideal callback to load the form state from an external state manager (Redux/MobX/other)
#### preValidate (values, state, props)
#### preValidate (values, state, props, instance)
- This method is a value filter that happens before each validation.

@@ -442,3 +444,3 @@ - Use it to scrub and/or clean your values before they are validated.

#### validate (values, state, props)
#### validate (values, state, props, instance)
- Using the current values, you may return an object of error strings that map 1:1 to any fields that do not meet any condition you specify

@@ -459,18 +461,18 @@ - Any falsey errors will be recursively stripped from the object you return, so if a field is valid, simply return a falsey value of your choice.

#### onValidationFail (values, state, props)
#### onValidationFail (values, state, props, instance)
- If and when a forms validation fails, you can handle it here
#### onChange (state, props, initial)
#### onChange (state, props, initial, instance)
- Called any time a form's `values` change
- If `initial` is set to true, this indicates that the component just mounted and is firing `onChange` for the first time (this is utilized by nested forms)
#### saveState (state, props)
#### saveState (state, props, instance)
- Called anytime a form's internal `state` is changed.
- An ideal callback to export/save the form state from an external state manager (Redux/MobX/other)
#### willUnmount (state, props)
#### willUnmount (state, props, instance)
- Called when a form is about to unmount
- An ideal callback to remove the form state from an external state manager (Redux/MobX/other)
#### preSubmit (state, props)
#### preSubmit (values, state, props, instance)
- This method is a value filter that happens after validation and before a successful submission.

@@ -489,3 +491,3 @@ - Use it to scrub and/or clean your values before they are submitted.

#### onSubmit (values, state, props)
#### onSubmit (values, state, props, instance)
- When a form is successfully submitted via [`submitForm`](#submitform-), this method will be called with the values of the parent form.

@@ -502,3 +504,3 @@ - Example:

#### postSubmit (values, state, props)
#### postSubmit (values, state, props, instance)
- After a form is successfully submitted via `submitForm`, this method will be called.

@@ -793,2 +795,17 @@ - Example:

#### resetForm ()
- Resets all of the values of the form back to it's default values.
- Example:
```javascript
<Form>
{({resetForm}) => {
return (
<button onClick={resetForm}>
Start over!
</button>
)
}}
</Form>
```
#### submitForm ()

@@ -795,0 +812,0 @@ - Submits the form with the following optional lifecycle events:

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