Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
checkDiff = debounce(() => {
const propsVal = this.props.value
const stateVal = this.state.value ? this.props.serialize(this.state.value) : this.state.value
const notEqual = whyNotEqual(propsVal, stateVal)
if (notEqual) {
// eslint-disable-next-line no-console
console.warn(
'Serialized local input value (%o) out of sync with actual value (%o): %s',
propsVal,
stateVal,
notEqual
)
}
}, 5000)
export const whyNotEqual = (a, b) =>
(a == b ? '' : whyNotStrictlyEqual(a, b)) // eslint-disable-line eqeqeq
set(prop, value) {
if (!this._valid(prop, "set")) return this
if (this._allowSetHooks.hasOwnProperty(prop) && !this._allowSetHooks[prop].reduce((a, f) => a && f(value), true)) {
console.log("disallowed set")
return this
}
this._wasEqual = true
if (!isEqual(this._appData[prop], value)) {
this._wasEqual = false
this._appData[prop] = clone(value)
//TODO: only do local storage stuff if we are the controlling window/tab
localStorage.setItem(appData, JSON.stringify(this._appData))
if (this._watchers.hasOwnProperty(prop))
this._watchers[prop].forEach((c) => c.func(value))
}
return this
},
renotify(prop) {
eachObject( nextConfig.config, (value, key) => {
if ( ! ( key in config ) || isEqual( value, config[key] ) ) {
return;
}
changes[key] = value;
});