@welldone-software/why-did-you-render
Advanced tools
Comparing version 3.3.9 to 3.4.0
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
@@ -81,3 +81,3 @@ | ||
if (i % 2) { | ||
ownKeys(source, true).forEach(function (key) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
@@ -88,3 +88,3 @@ }); | ||
} else { | ||
ownKeys(source).forEach(function (key) { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
@@ -175,2 +175,6 @@ }); | ||
function _slicedToArray(arr, i) { | ||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); | ||
} | ||
function _toConsumableArray(arr) { | ||
@@ -188,2 +192,6 @@ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); | ||
function _arrayWithHoles(arr) { | ||
if (Array.isArray(arr)) return arr; | ||
} | ||
function _iterableToArray(iter) { | ||
@@ -193,2 +201,32 @@ if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); | ||
function _iterableToArrayLimit(arr, i) { | ||
if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { | ||
return; | ||
} | ||
var _arr = []; | ||
var _n = true; | ||
var _d = false; | ||
var _e = undefined; | ||
try { | ||
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { | ||
_arr.push(_s.value); | ||
if (i && _arr.length === i) break; | ||
} | ||
} catch (err) { | ||
_d = true; | ||
_e = err; | ||
} finally { | ||
try { | ||
if (!_n && _i["return"] != null) _i["return"](); | ||
} finally { | ||
if (_d) throw _e; | ||
} | ||
} | ||
return _arr; | ||
} | ||
function _nonIterableSpread() { | ||
@@ -198,2 +236,6 @@ throw new TypeError("Invalid attempt to spread non-iterable instance"); | ||
function _nonIterableRest() { | ||
throw new TypeError("Invalid attempt to destructure non-iterable instance"); | ||
} | ||
var diffTypes = { | ||
@@ -386,3 +428,4 @@ 'different': 'different', | ||
diffNameColor: 'blue', | ||
diffPathColor: 'red' | ||
diffPathColor: 'red', | ||
trackExtraHooks: [] | ||
}, userOptions); | ||
@@ -597,3 +640,8 @@ } | ||
function shouldTrack(Component, displayName, options) { | ||
function shouldTrack(_ref) { | ||
var Component = _ref.Component, | ||
displayName = _ref.displayName, | ||
options = _ref.options, | ||
isHookChange = _ref.isHookChange; | ||
if (shouldExclude(displayName, options)) { | ||
@@ -603,3 +651,3 @@ return false; | ||
return !!(Component.whyDidYouRender || shouldInclude(displayName, options)); | ||
return !!(Component.whyDidYouRender || shouldInclude(displayName, options)) && !(isHookChange && Component.whyDidYouRender && Component.whyDidYouRender.trackHooks === false); | ||
} | ||
@@ -786,7 +834,7 @@ | ||
var hookPath = _ref.path; | ||
var nextHook = hookResult; | ||
var ComponentHookDispatchedFromInstance = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current; | ||
var prevHookResultRef = React.useRef(); | ||
if (!ComponentHookDispatchedFromInstance) { | ||
return nextHook; | ||
return hookResult; | ||
} | ||
@@ -796,13 +844,17 @@ | ||
var displayName = getDisplayName(Component); | ||
var isShouldTrack = shouldTrack(Component, displayName, options); | ||
var isShouldTrack = shouldTrack({ | ||
Component: Component, | ||
displayName: displayName, | ||
options: options, | ||
isHookChange: true | ||
}); | ||
if (!isShouldTrack) { | ||
return nextHook; | ||
return hookResult; | ||
} | ||
var ref = React.useRef(); | ||
var prevHook = ref.current; | ||
ref.current = nextHook; | ||
var prevHookResult = prevHookResultRef.current; | ||
prevHookResultRef.current = hookResult; | ||
if (prevHook) { | ||
if (prevHookResult) { | ||
var notification = getUpdateInfo({ | ||
@@ -812,4 +864,4 @@ Component: Component, | ||
hookName: hookName, | ||
prevHook: hookPath ? _get$1(prevHook, hookPath) : prevHook, | ||
nextHook: hookPath ? _get$1(nextHook, hookPath) : nextHook, | ||
prevHook: hookPath ? _get$1(prevHookResult, hookPath) : prevHookResult, | ||
nextHook: hookPath ? _get$1(hookResult, hookPath) : hookResult, | ||
options: options | ||
@@ -823,3 +875,3 @@ }); | ||
return ref.current; | ||
return hookResult; | ||
} | ||
@@ -879,3 +931,7 @@ | ||
try { | ||
isShouldTrack = (typeof componentNameOrComponent === 'function' || isMemoComponent(componentNameOrComponent) || isForwardRefComponent(componentNameOrComponent)) && shouldTrack(componentNameOrComponent, getDisplayName(componentNameOrComponent), options); | ||
isShouldTrack = (typeof componentNameOrComponent === 'function' || isMemoComponent(componentNameOrComponent) || isForwardRefComponent(componentNameOrComponent)) && shouldTrack({ | ||
Component: componentNameOrComponent, | ||
displayName: getDisplayName(componentNameOrComponent), | ||
options: options | ||
}); | ||
@@ -944,2 +1000,32 @@ if (isShouldTrack) { | ||
}); | ||
if (options.trackHooks) { | ||
options.trackExtraHooks.forEach(function (_ref2) { | ||
var _ref3 = _slicedToArray(_ref2, 2), | ||
hookParent = _ref3[0], | ||
hookName = _ref3[1]; | ||
var originalHook = hookParent[hookName]; | ||
var newHookName = hookName[0].toUpperCase() + hookName.slice(1); | ||
var newHook = function newHook() { | ||
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
args[_key2] = arguments[_key2]; | ||
} | ||
var hookResult = originalHook.call.apply(originalHook, [this].concat(args)); | ||
trackHookChanges(hookName, {}, hookResult, React, options); | ||
return hookResult; | ||
}; | ||
Object.defineProperty(newHook, 'name', { | ||
value: newHookName, | ||
writable: false | ||
}); | ||
Object.assign(newHook, { | ||
originalHook: originalHook | ||
}); | ||
hookParent[hookName] = newHook; | ||
}); | ||
} | ||
} | ||
@@ -957,2 +1043,9 @@ | ||
}); | ||
options.trackExtraHooks.forEach(function (_ref4) { | ||
var _ref5 = _slicedToArray(_ref4, 2), | ||
hookParent = _ref5[0], | ||
hookName = _ref5[1]; | ||
hookParent[hookName] = hookParent[hookName].originalHook; | ||
}); | ||
delete React.__REVERT_WHY_DID_YOU_RENDER__; | ||
@@ -959,0 +1052,0 @@ }; |
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var _mapValues=_interopDefault(require("lodash/mapValues")),_get$1=_interopDefault(require("lodash/get")),_isString=_interopDefault(require("lodash/isString")),_reduce=_interopDefault(require("lodash/reduce")),_has=_interopDefault(require("lodash/has")),_keys=_interopDefault(require("lodash/keys")),_isFunction=_interopDefault(require("lodash/isFunction")),_isRegExp=_interopDefault(require("lodash/isRegExp")),_isDate=_interopDefault(require("lodash/isDate")),_isPlainObject=_interopDefault(require("lodash/isPlainObject")),_isArray=_interopDefault(require("lodash/isArray")),_defaults=_interopDefault(require("lodash/defaults"));function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(r,!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?_assertThisInitialized(e):t}function _superPropBase(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf(e)););return e}function _get(e,t,r){return(_get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var o=_superPropBase(e,t);if(o){var n=Object.getOwnPropertyDescriptor(o,t);return n.get?n.get.call(r):n.value}})(e,t,r||e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}var _diffTypesDescription,diffTypes={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},hasSymbol="function"==typeof Symbol&&Symbol.for,REACT_MEMO_TYPE=hasSymbol?Symbol.for("react.memo"):60115,REACT_FORWARD_REF_TYPE=hasSymbol?Symbol.for("react.forward_ref"):60112,moreInfoUrl="http://bit.ly/wdyr02",moreInfoHooksUrl="http://bit.ly/wdyr3",diffTypesDescriptions=(_defineProperty(_diffTypesDescription={},diffTypes.different,"different objects."),_defineProperty(_diffTypesDescription,diffTypes.deepEquals,"different objects that are equal by value."),_defineProperty(_diffTypesDescription,diffTypes.date,"different date objects with the same value."),_defineProperty(_diffTypesDescription,diffTypes.regex,"different regular expressions with the same value."),_defineProperty(_diffTypesDescription,diffTypes.reactElement,"different React elements with the same displayName."),_defineProperty(_diffTypesDescription,diffTypes.function,"different functions with the same name."),_diffTypesDescription),inHotReload=!1;function shouldLog(e,t,r){return!inHotReload&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===diffTypes.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===diffTypes.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===diffTypes.different})))))}function logDifference(e){var t=e.Component,r=e.displayName,o=e.hookName,n=e.prefixMessage,i=e.diffObjType,a=e.differences,f=e.values,s=e.options;a&&a.length>0?(s.consoleLog(_defineProperty({},r,t),"".concat(n," of ").concat(i," changes:")),a.forEach((function(e){var t=e.pathString,r=e.diffType,n=e.prevValue,a=e.nextValue;s.consoleGroup("%c".concat("hook"===i?"[hook ".concat(o," result]"):"".concat(i,"."),"%c").concat(t,"%c"),"color:".concat(s.diffNameColor,";"),"color:".concat(s.diffPathColor,";"),"color:default;"),s.consoleLog("".concat(diffTypesDescriptions[r]," (more info at ").concat(o?moreInfoHooksUrl:moreInfoUrl,")")),s.consoleLog(_defineProperty({},"prev ".concat(t),n),"!==",_defineProperty({},"next ".concat(t),a)),s.consoleGroupEnd()}))):a&&(s.consoleLog(_defineProperty({},r,t),"".concat(n," the ").concat(i," object itself changed but its values are all equal."),"props"===i?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(moreInfoUrl)),s.consoleLog("prev ".concat(i,":"),f.prev," !== ",f.next,":next ".concat(i)))}function defaultNotifier(e){var t=e.Component,r=e.displayName,o=e.hookName,n=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook,p=e.reason,u=e.options;if(shouldLog(p,t,u)){u.consoleGroup("%c".concat(r),"color: ".concat(u.titleColor,";"));var l="Re-rendered because";p.propsDifferences&&(logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"props",differences:p.propsDifferences,values:{prev:n,next:f},options:u}),l="And because"),p.stateDifferences&&logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"state",differences:p.stateDifferences,values:{prev:i,next:s},options:u}),p.hookDifferences&&logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"hook",differences:p.hookDifferences,values:{prev:a,next:c},hookName:o,options:u}),p.propsDifferences||p.stateDifferences||p.hookDifferences||u.consoleLog(_defineProperty({},r,t),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(moreInfoUrl)),u.consoleGroupEnd()}}function createDefaultNotifier(e){return e&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(inHotReload=!0,setTimeout((function(){inHotReload=!1}),e))})),defaultNotifier}var emptyFn=function(){};function normalizeOptions(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=console.group,r=console.groupEnd;return e.collapseGroups?t=console.groupCollapsed:e.onlyLogs&&(t=console.log,r=emptyFn),_objectSpread2({include:null,exclude:null,notifier:e.notifier||createDefaultNotifier("hotReloadBufferMs"in e?e.hotReloadBufferMs:500),onlyLogs:!1,consoleLog:console.log,consoleGroup:t,consoleGroupEnd:r,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red"},e)}function getDisplayName(e){return e.displayName||e.name||e.type&&getDisplayName(e.type)||e.render&&getDisplayName(e.render)||(_isString(e)?e:void 0)}var hasElementType="undefined"!=typeof Element,hasSymbol$1="function"==typeof Symbol&&Symbol.for,REACT_ELEMENT_TYPE=hasSymbol$1?Symbol.for("react.element"):60103,isReactElement=function(e){return e.$$typeof===REACT_ELEMENT_TYPE};function trackDiff(e,t,r,o,n){return r.push({diffType:n,pathString:o,prevValue:e,nextValue:t}),n!==diffTypes.different}function accumulateDeepEqualDiffs(e,t,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(e===t)return!0;if(!e||!t)return trackDiff(e,t,r,o,diffTypes.different);if(_isArray(e)&&_isArray(t)){var n=e.length;if(n!==t.length)return trackDiff(e,t,r,o,diffTypes.different);for(var i=!0,a=n;0!=a--;)accumulateDeepEqualDiffs(e[a],t[a],r,"".concat(o,"[").concat(a,"]"))||(i=!1);return trackDiff(e,t,r,o,i?diffTypes.deepEquals:diffTypes.different)}if(_isDate(e)&&_isDate(t))return e.getTime()===t.getTime()?trackDiff(e,t,r,o,diffTypes.date):trackDiff(e,t,r,o,diffTypes.different);if(_isRegExp(e)&&_isRegExp(t))return e.toString()===t.toString()?trackDiff(e,t,r,o,diffTypes.regex):trackDiff(e,t,r,o,diffTypes.different);if(hasElementType&&e instanceof Element&&t instanceof Element)return trackDiff(e,t,r,o,diffTypes.different);if(isReactElement(e)&&isReactElement(t))return e.type!==t.type?trackDiff(e,t,r,o,diffTypes.different):trackDiff(e,t,r,o,accumulateDeepEqualDiffs(e.props,t.props,r,"".concat(o,".props"))?diffTypes.reactElement:diffTypes.different);if(_isFunction(e)&&_isFunction(t))return e.name===t.name?trackDiff(e,t,r,o,diffTypes.function):trackDiff(e,t,r,o,diffTypes.different);if(_isPlainObject(e)&&_isPlainObject(t)){var f=_keys(e),s=f.length;if(s!==_keys(t).length)return trackDiff(e,t,r,o,diffTypes.different);for(var c=s;0!=c--;)if(!_has(t,f[c]))return trackDiff(e,t,r,o,diffTypes.different);for(var p=!0,u=s;0!=u--;){var l=f[u];accumulateDeepEqualDiffs(e[l],t[l],r,"".concat(o,".").concat(l))||(p=!1)}return trackDiff(e,t,r,o,p?diffTypes.deepEquals:diffTypes.different)}return trackDiff(e,t,r,o,diffTypes.different)}function calculateDeepEqualDiffs(e,t,r){try{var o=[];return accumulateDeepEqualDiffs(e,t,o,r),o}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var emptyObject={};function findObjectsDifferences(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===r||r))return calculateDeepEqualDiffs(e,t);var o=e||emptyObject,n=t||emptyObject,i=Object.keys(_objectSpread2({},o,{},n));return _reduce(i,(function(e,t){var r=calculateDeepEqualDiffs(o[t],n[t],t);return r&&(e=[].concat(_toConsumableArray(e),_toConsumableArray(r))),e}),[])}function getUpdateReason(e,t,r,o,n,i){return{propsDifferences:findObjectsDifferences(e,o),stateDifferences:findObjectsDifferences(t,n),hookDifferences:findObjectsDifferences(r,i,{shallow:!1})}}function getUpdateInfo(e){var t=e.Component,r=e.displayName,o=e.hookName,n=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook;return{Component:t,displayName:r,hookName:o,prevProps:n,prevState:i,prevHook:a,nextProps:f,nextState:s,nextHook:c,options:e.options,reason:getUpdateReason(n,i,a,f,s,c)}}function shouldInclude(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}function shouldExclude(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}function shouldTrack(e,t,r){return!shouldExclude(t,r)&&!(!e.whyDidYouRender&&!shouldInclude(t,r))}var StrictMode=1;function checkIfInsideAStrictModeTree(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&StrictMode)return!0;t=t.return}return!1}function isReactClassComponent(e){return e.prototype&&!!e.prototype.isReactComponent}function isMemoComponent(e){return e.$$typeof===REACT_MEMO_TYPE}function isForwardRefComponent(e){return e.$$typeof===REACT_FORWARD_REF_TYPE}function patchClassComponent(e,t,r,o){var n=function(r){function n(t,r){var o;_classCallCheck(this,n),(o=_possibleConstructorReturn(this,_getPrototypeOf(n).call(this,t,r)))._WDYR={renderNumber:0};var i=_get(_getPrototypeOf(n.prototype),"render",_assertThisInitialized(o))||o.render;return i!==e.prototype.render&&(o.render=function(){return n.prototype.render.apply(_assertThisInitialized(o)),i()}),o}return _inherits(n,r),_createClass(n,[{key:"render",value:function(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=checkIfInsideAStrictModeTree(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&o.notifier(getUpdateInfo({Component:e,displayName:t,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:o})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),_get(_getPrototypeOf(n.prototype),"render",this)?_get(_getPrototypeOf(n.prototype),"render",this).call(this):null}}]),n}(e);return n.displayName=t,_defaults(n,e),n}var getFunctionalComponentFromStringComponent=function(e,t){return function(r){return t.createElement(e,r)}};function patchFunctionalOrStrComponent(e,t,r,o,n){var i="string"==typeof e?getFunctionalComponentFromStringComponent(e,o):e;function a(){var e=arguments[0],a=o.useRef(),f=a.current;if(a.current=e,f){var s=getUpdateInfo({Component:i,displayName:r,prevProps:f,nextProps:e,options:n});s.reason.propsDifferences&&!(t&&0===s.reason.propsDifferences.length)&&n.notifier(s)}return i.apply(void 0,arguments)}return a.displayName=r,a.ComponentForHooksTracking=i,_defaults(a,i),a}function patchMemoComponent(e,t,r,o){var n=e.type,i=isReactClassComponent(n),a=isForwardRefComponent(n),f=a?n.render:n,s=i?patchClassComponent(f,t,r,o):patchFunctionalOrStrComponent(f,!0,t,r,o);s.displayName=getDisplayName(f),s.ComponentForHooksTracking=e,_defaults(s,f);var c=r.memo(a?r.forwardRef(s):s,e.compare);return c.displayName=t,_defaults(c,e),c}function patchForwardRefComponent(e,t,r,o){var n=e.render,i=isMemoComponent(n),a=i?n.type:n,f=patchFunctionalOrStrComponent(a,i,t,r,o);f.displayName=getDisplayName(a),f.ComponentForHooksTracking=a,_defaults(f,a);var s=r.forwardRef(i?r.memo(f,n.compare):f);return s.displayName=t,_defaults(s,e),s}function trackHookChanges(e,t,r,o,n){var i=t.path,a=r,f=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current;if(!f)return a;var s=f.type.ComponentForHooksTracking||f.type,c=getDisplayName(s);if(!shouldTrack(s,c,n))return a;var p=o.useRef(),u=p.current;if(p.current=a,u){var l=getUpdateInfo({Component:s,displayName:c,hookName:e,prevHook:i?_get$1(u,i):u,nextHook:i?_get$1(a,i):a,options:n});l.reason.hookDifferences&&n.notifier(l)}return p.current}function createPatchedComponent(e,t,r,o,n){return isMemoComponent(t)?patchMemoComponent(t,r,o,n):isForwardRefComponent(t)?patchForwardRefComponent(t,r,o,n):isReactClassComponent(t)?patchClassComponent(t,r,o,n):patchFunctionalOrStrComponent(t,!1,r,o,n)}function getPatchedComponent(e,t,r,o,n){if(e.has(t))return e.get(t);var i=createPatchedComponent(e,t,r,o,n);return e.set(t,i),i}var hooksConfig={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function whyDidYouRender(e,t){var r,o=normalizeOptions(t),n=e.createElement,i=e.createFactory,a=new WeakMap;if(e.createElement=function(t){for(var r=null,i=null,f=null,s=arguments.length,c=new Array(s>1?s-1:0),p=1;p<s;p++)c[p-1]=arguments[p];try{if(r=("function"==typeof t||isMemoComponent(t)||isForwardRefComponent(t))&&shouldTrack(t,getDisplayName(t),o))return i=t&&t.whyDidYouRender&&t.whyDidYouRender.customName||getDisplayName(t),f=getPatchedComponent(a,t,i,e,o),n.apply(e,[f].concat(c))}catch(e){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:e,componentNameOrComponent:t,rest:c,options:o,isShouldTrack:r,displayName:i,WDYRPatchedComponent:f}})}return n.apply(e,[t].concat(c))},Object.assign(e.createElement,n),e.createFactory=function(t){var r=e.createElement.bind(null,t);return r.type=t,r},Object.assign(e.createFactory,i),o.trackHooks){var f=_mapValues(hooksConfig,(function(t,n){return function(){var i=r[n];if(!i)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var a=i.apply(void 0,arguments);return t&&trackHookChanges(n,!0===t?{}:t,a,e,o),a}}));Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){r=e&&_objectSpread2({},e,{},e.origHooks)},get:function(){return r&&_objectSpread2({},r,{},f,{origHooks:r})}})}return e.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(e,{createElement:n,createFactory:i}),a=null,Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:r}),delete e.__REVERT_WHY_DID_YOU_RENDER__},e}whyDidYouRender.defaultNotifier=defaultNotifier,module.exports=whyDidYouRender; | ||
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var _mapValues=_interopDefault(require("lodash/mapValues")),_get$1=_interopDefault(require("lodash/get")),_isString=_interopDefault(require("lodash/isString")),_reduce=_interopDefault(require("lodash/reduce")),_has=_interopDefault(require("lodash/has")),_keys=_interopDefault(require("lodash/keys")),_isFunction=_interopDefault(require("lodash/isFunction")),_isRegExp=_interopDefault(require("lodash/isRegExp")),_isDate=_interopDefault(require("lodash/isDate")),_isPlainObject=_interopDefault(require("lodash/isPlainObject")),_isArray=_interopDefault(require("lodash/isArray")),_defaults=_interopDefault(require("lodash/defaults"));function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?_assertThisInitialized(e):t}function _superPropBase(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf(e)););return e}function _get(e,t,r){return(_get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var o=_superPropBase(e,t);if(o){var n=Object.getOwnPropertyDescriptor(o,t);return n.get?n.get.call(r):n.value}})(e,t,r||e)}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _iterableToArrayLimit(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],o=!0,n=!1,i=void 0;try{for(var a,f=e[Symbol.iterator]();!(o=(a=f.next()).done)&&(r.push(a.value),!t||r.length!==t);o=!0);}catch(e){n=!0,i=e}finally{try{o||null==f.return||f.return()}finally{if(n)throw i}}return r}}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var _diffTypesDescription,diffTypes={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},hasSymbol="function"==typeof Symbol&&Symbol.for,REACT_MEMO_TYPE=hasSymbol?Symbol.for("react.memo"):60115,REACT_FORWARD_REF_TYPE=hasSymbol?Symbol.for("react.forward_ref"):60112,moreInfoUrl="http://bit.ly/wdyr02",moreInfoHooksUrl="http://bit.ly/wdyr3",diffTypesDescriptions=(_defineProperty(_diffTypesDescription={},diffTypes.different,"different objects."),_defineProperty(_diffTypesDescription,diffTypes.deepEquals,"different objects that are equal by value."),_defineProperty(_diffTypesDescription,diffTypes.date,"different date objects with the same value."),_defineProperty(_diffTypesDescription,diffTypes.regex,"different regular expressions with the same value."),_defineProperty(_diffTypesDescription,diffTypes.reactElement,"different React elements with the same displayName."),_defineProperty(_diffTypesDescription,diffTypes.function,"different functions with the same name."),_diffTypesDescription),inHotReload=!1;function shouldLog(e,t,r){return!inHotReload&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===diffTypes.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===diffTypes.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===diffTypes.different})))))}function logDifference(e){var t=e.Component,r=e.displayName,o=e.hookName,n=e.prefixMessage,i=e.diffObjType,a=e.differences,f=e.values,s=e.options;a&&a.length>0?(s.consoleLog(_defineProperty({},r,t),"".concat(n," of ").concat(i," changes:")),a.forEach((function(e){var t=e.pathString,r=e.diffType,n=e.prevValue,a=e.nextValue;s.consoleGroup("%c".concat("hook"===i?"[hook ".concat(o," result]"):"".concat(i,"."),"%c").concat(t,"%c"),"color:".concat(s.diffNameColor,";"),"color:".concat(s.diffPathColor,";"),"color:default;"),s.consoleLog("".concat(diffTypesDescriptions[r]," (more info at ").concat(o?moreInfoHooksUrl:moreInfoUrl,")")),s.consoleLog(_defineProperty({},"prev ".concat(t),n),"!==",_defineProperty({},"next ".concat(t),a)),s.consoleGroupEnd()}))):a&&(s.consoleLog(_defineProperty({},r,t),"".concat(n," the ").concat(i," object itself changed but its values are all equal."),"props"===i?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(moreInfoUrl)),s.consoleLog("prev ".concat(i,":"),f.prev," !== ",f.next,":next ".concat(i)))}function defaultNotifier(e){var t=e.Component,r=e.displayName,o=e.hookName,n=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook,p=e.reason,u=e.options;if(shouldLog(p,t,u)){u.consoleGroup("%c".concat(r),"color: ".concat(u.titleColor,";"));var l="Re-rendered because";p.propsDifferences&&(logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"props",differences:p.propsDifferences,values:{prev:n,next:f},options:u}),l="And because"),p.stateDifferences&&logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"state",differences:p.stateDifferences,values:{prev:i,next:s},options:u}),p.hookDifferences&&logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"hook",differences:p.hookDifferences,values:{prev:a,next:c},hookName:o,options:u}),p.propsDifferences||p.stateDifferences||p.hookDifferences||u.consoleLog(_defineProperty({},r,t),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(moreInfoUrl)),u.consoleGroupEnd()}}function createDefaultNotifier(e){return e&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(inHotReload=!0,setTimeout((function(){inHotReload=!1}),e))})),defaultNotifier}var emptyFn=function(){};function normalizeOptions(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=console.group,r=console.groupEnd;return e.collapseGroups?t=console.groupCollapsed:e.onlyLogs&&(t=console.log,r=emptyFn),_objectSpread2({include:null,exclude:null,notifier:e.notifier||createDefaultNotifier("hotReloadBufferMs"in e?e.hotReloadBufferMs:500),onlyLogs:!1,consoleLog:console.log,consoleGroup:t,consoleGroupEnd:r,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red",trackExtraHooks:[]},e)}function getDisplayName(e){return e.displayName||e.name||e.type&&getDisplayName(e.type)||e.render&&getDisplayName(e.render)||(_isString(e)?e:void 0)}var hasElementType="undefined"!=typeof Element,hasSymbol$1="function"==typeof Symbol&&Symbol.for,REACT_ELEMENT_TYPE=hasSymbol$1?Symbol.for("react.element"):60103,isReactElement=function(e){return e.$$typeof===REACT_ELEMENT_TYPE};function trackDiff(e,t,r,o,n){return r.push({diffType:n,pathString:o,prevValue:e,nextValue:t}),n!==diffTypes.different}function accumulateDeepEqualDiffs(e,t,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(e===t)return!0;if(!e||!t)return trackDiff(e,t,r,o,diffTypes.different);if(_isArray(e)&&_isArray(t)){var n=e.length;if(n!==t.length)return trackDiff(e,t,r,o,diffTypes.different);for(var i=!0,a=n;0!=a--;)accumulateDeepEqualDiffs(e[a],t[a],r,"".concat(o,"[").concat(a,"]"))||(i=!1);return trackDiff(e,t,r,o,i?diffTypes.deepEquals:diffTypes.different)}if(_isDate(e)&&_isDate(t))return e.getTime()===t.getTime()?trackDiff(e,t,r,o,diffTypes.date):trackDiff(e,t,r,o,diffTypes.different);if(_isRegExp(e)&&_isRegExp(t))return e.toString()===t.toString()?trackDiff(e,t,r,o,diffTypes.regex):trackDiff(e,t,r,o,diffTypes.different);if(hasElementType&&e instanceof Element&&t instanceof Element)return trackDiff(e,t,r,o,diffTypes.different);if(isReactElement(e)&&isReactElement(t))return e.type!==t.type?trackDiff(e,t,r,o,diffTypes.different):trackDiff(e,t,r,o,accumulateDeepEqualDiffs(e.props,t.props,r,"".concat(o,".props"))?diffTypes.reactElement:diffTypes.different);if(_isFunction(e)&&_isFunction(t))return e.name===t.name?trackDiff(e,t,r,o,diffTypes.function):trackDiff(e,t,r,o,diffTypes.different);if(_isPlainObject(e)&&_isPlainObject(t)){var f=_keys(e),s=f.length;if(s!==_keys(t).length)return trackDiff(e,t,r,o,diffTypes.different);for(var c=s;0!=c--;)if(!_has(t,f[c]))return trackDiff(e,t,r,o,diffTypes.different);for(var p=!0,u=s;0!=u--;){var l=f[u];accumulateDeepEqualDiffs(e[l],t[l],r,"".concat(o,".").concat(l))||(p=!1)}return trackDiff(e,t,r,o,p?diffTypes.deepEquals:diffTypes.different)}return trackDiff(e,t,r,o,diffTypes.different)}function calculateDeepEqualDiffs(e,t,r){try{var o=[];return accumulateDeepEqualDiffs(e,t,o,r),o}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var emptyObject={};function findObjectsDifferences(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===r||r))return calculateDeepEqualDiffs(e,t);var o=e||emptyObject,n=t||emptyObject,i=Object.keys(_objectSpread2({},o,{},n));return _reduce(i,(function(e,t){var r=calculateDeepEqualDiffs(o[t],n[t],t);return r&&(e=[].concat(_toConsumableArray(e),_toConsumableArray(r))),e}),[])}function getUpdateReason(e,t,r,o,n,i){return{propsDifferences:findObjectsDifferences(e,o),stateDifferences:findObjectsDifferences(t,n),hookDifferences:findObjectsDifferences(r,i,{shallow:!1})}}function getUpdateInfo(e){var t=e.Component,r=e.displayName,o=e.hookName,n=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook;return{Component:t,displayName:r,hookName:o,prevProps:n,prevState:i,prevHook:a,nextProps:f,nextState:s,nextHook:c,options:e.options,reason:getUpdateReason(n,i,a,f,s,c)}}function shouldInclude(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}function shouldExclude(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}function shouldTrack(e){var t=e.Component,r=e.displayName,o=e.options,n=e.isHookChange;return!shouldExclude(r,o)&&!(!t.whyDidYouRender&&!shouldInclude(r,o)||n&&t.whyDidYouRender&&!1===t.whyDidYouRender.trackHooks)}var StrictMode=1;function checkIfInsideAStrictModeTree(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&StrictMode)return!0;t=t.return}return!1}function isReactClassComponent(e){return e.prototype&&!!e.prototype.isReactComponent}function isMemoComponent(e){return e.$$typeof===REACT_MEMO_TYPE}function isForwardRefComponent(e){return e.$$typeof===REACT_FORWARD_REF_TYPE}function patchClassComponent(e,t,r,o){var n=function(r){function n(t,r){var o;_classCallCheck(this,n),(o=_possibleConstructorReturn(this,_getPrototypeOf(n).call(this,t,r)))._WDYR={renderNumber:0};var i=_get(_getPrototypeOf(n.prototype),"render",_assertThisInitialized(o))||o.render;return i!==e.prototype.render&&(o.render=function(){return n.prototype.render.apply(_assertThisInitialized(o)),i()}),o}return _inherits(n,r),_createClass(n,[{key:"render",value:function(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=checkIfInsideAStrictModeTree(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&o.notifier(getUpdateInfo({Component:e,displayName:t,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:o})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),_get(_getPrototypeOf(n.prototype),"render",this)?_get(_getPrototypeOf(n.prototype),"render",this).call(this):null}}]),n}(e);return n.displayName=t,_defaults(n,e),n}var getFunctionalComponentFromStringComponent=function(e,t){return function(r){return t.createElement(e,r)}};function patchFunctionalOrStrComponent(e,t,r,o,n){var i="string"==typeof e?getFunctionalComponentFromStringComponent(e,o):e;function a(){var e=arguments[0],a=o.useRef(),f=a.current;if(a.current=e,f){var s=getUpdateInfo({Component:i,displayName:r,prevProps:f,nextProps:e,options:n});s.reason.propsDifferences&&!(t&&0===s.reason.propsDifferences.length)&&n.notifier(s)}return i.apply(void 0,arguments)}return a.displayName=r,a.ComponentForHooksTracking=i,_defaults(a,i),a}function patchMemoComponent(e,t,r,o){var n=e.type,i=isReactClassComponent(n),a=isForwardRefComponent(n),f=a?n.render:n,s=i?patchClassComponent(f,t,r,o):patchFunctionalOrStrComponent(f,!0,t,r,o);s.displayName=getDisplayName(f),s.ComponentForHooksTracking=e,_defaults(s,f);var c=r.memo(a?r.forwardRef(s):s,e.compare);return c.displayName=t,_defaults(c,e),c}function patchForwardRefComponent(e,t,r,o){var n=e.render,i=isMemoComponent(n),a=i?n.type:n,f=patchFunctionalOrStrComponent(a,i,t,r,o);f.displayName=getDisplayName(a),f.ComponentForHooksTracking=a,_defaults(f,a);var s=r.forwardRef(i?r.memo(f,n.compare):f);return s.displayName=t,_defaults(s,e),s}function trackHookChanges(e,t,r,o,n){var i=t.path,a=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current,f=o.useRef();if(!a)return r;var s=a.type.ComponentForHooksTracking||a.type,c=getDisplayName(s);if(!shouldTrack({Component:s,displayName:c,options:n,isHookChange:!0}))return r;var p=f.current;if(f.current=r,p){var u=getUpdateInfo({Component:s,displayName:c,hookName:e,prevHook:i?_get$1(p,i):p,nextHook:i?_get$1(r,i):r,options:n});u.reason.hookDifferences&&n.notifier(u)}return r}function createPatchedComponent(e,t,r,o,n){return isMemoComponent(t)?patchMemoComponent(t,r,o,n):isForwardRefComponent(t)?patchForwardRefComponent(t,r,o,n):isReactClassComponent(t)?patchClassComponent(t,r,o,n):patchFunctionalOrStrComponent(t,!1,r,o,n)}function getPatchedComponent(e,t,r,o,n){if(e.has(t))return e.get(t);var i=createPatchedComponent(e,t,r,o,n);return e.set(t,i),i}var hooksConfig={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function whyDidYouRender(e,t){var r,o=normalizeOptions(t),n=e.createElement,i=e.createFactory,a=new WeakMap;if(e.createElement=function(t){for(var r=null,i=null,f=null,s=arguments.length,c=new Array(s>1?s-1:0),p=1;p<s;p++)c[p-1]=arguments[p];try{if(r=("function"==typeof t||isMemoComponent(t)||isForwardRefComponent(t))&&shouldTrack({Component:t,displayName:getDisplayName(t),options:o}))return i=t&&t.whyDidYouRender&&t.whyDidYouRender.customName||getDisplayName(t),f=getPatchedComponent(a,t,i,e,o),n.apply(e,[f].concat(c))}catch(e){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:e,componentNameOrComponent:t,rest:c,options:o,isShouldTrack:r,displayName:i,WDYRPatchedComponent:f}})}return n.apply(e,[t].concat(c))},Object.assign(e.createElement,n),e.createFactory=function(t){var r=e.createElement.bind(null,t);return r.type=t,r},Object.assign(e.createFactory,i),o.trackHooks){var f=_mapValues(hooksConfig,(function(t,n){return function(){var i=r[n];if(!i)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var a=i.apply(void 0,arguments);return t&&trackHookChanges(n,!0===t?{}:t,a,e,o),a}}));Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){r=e&&_objectSpread2({},e,{},e.origHooks)},get:function(){return r&&_objectSpread2({},r,{},f,{origHooks:r})}}),o.trackHooks&&o.trackExtraHooks.forEach((function(t){var r=_slicedToArray(t,2),n=r[0],i=r[1],a=n[i],f=i[0].toUpperCase()+i.slice(1),s=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var f=a.call.apply(a,[this].concat(r));return trackHookChanges(i,{},f,e,o),f};Object.defineProperty(s,"name",{value:f,writable:!1}),Object.assign(s,{originalHook:a}),n[i]=s}))}return e.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(e,{createElement:n,createFactory:i}),a=null,Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:r}),o.trackExtraHooks.forEach((function(e){var t=_slicedToArray(e,2),r=t[0],o=t[1];r[o]=r[o].originalHook})),delete e.__REVERT_WHY_DID_YOU_RENDER__},e}whyDidYouRender.defaultNotifier=defaultNotifier,module.exports=whyDidYouRender; | ||
//# sourceMappingURL=whyDidYouRender.min.js.map |
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
@@ -77,3 +77,3 @@ | ||
if (i % 2) { | ||
ownKeys(source, true).forEach(function (key) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
@@ -84,3 +84,3 @@ }); | ||
} else { | ||
ownKeys(source).forEach(function (key) { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
@@ -171,2 +171,6 @@ }); | ||
function _slicedToArray(arr, i) { | ||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); | ||
} | ||
function _toConsumableArray(arr) { | ||
@@ -184,2 +188,6 @@ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); | ||
function _arrayWithHoles(arr) { | ||
if (Array.isArray(arr)) return arr; | ||
} | ||
function _iterableToArray(iter) { | ||
@@ -189,2 +197,32 @@ if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); | ||
function _iterableToArrayLimit(arr, i) { | ||
if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { | ||
return; | ||
} | ||
var _arr = []; | ||
var _n = true; | ||
var _d = false; | ||
var _e = undefined; | ||
try { | ||
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { | ||
_arr.push(_s.value); | ||
if (i && _arr.length === i) break; | ||
} | ||
} catch (err) { | ||
_d = true; | ||
_e = err; | ||
} finally { | ||
try { | ||
if (!_n && _i["return"] != null) _i["return"](); | ||
} finally { | ||
if (_d) throw _e; | ||
} | ||
} | ||
return _arr; | ||
} | ||
function _nonIterableSpread() { | ||
@@ -194,2 +232,6 @@ throw new TypeError("Invalid attempt to spread non-iterable instance"); | ||
function _nonIterableRest() { | ||
throw new TypeError("Invalid attempt to destructure non-iterable instance"); | ||
} | ||
var diffTypes = { | ||
@@ -382,3 +424,4 @@ 'different': 'different', | ||
diffNameColor: 'blue', | ||
diffPathColor: 'red' | ||
diffPathColor: 'red', | ||
trackExtraHooks: [] | ||
}, userOptions); | ||
@@ -593,3 +636,8 @@ } | ||
function shouldTrack(Component, displayName, options) { | ||
function shouldTrack(_ref) { | ||
var Component = _ref.Component, | ||
displayName = _ref.displayName, | ||
options = _ref.options, | ||
isHookChange = _ref.isHookChange; | ||
if (shouldExclude(displayName, options)) { | ||
@@ -599,3 +647,3 @@ return false; | ||
return !!(Component.whyDidYouRender || shouldInclude(displayName, options)); | ||
return !!(Component.whyDidYouRender || shouldInclude(displayName, options)) && !(isHookChange && Component.whyDidYouRender && Component.whyDidYouRender.trackHooks === false); | ||
} | ||
@@ -782,7 +830,7 @@ | ||
var hookPath = _ref.path; | ||
var nextHook = hookResult; | ||
var ComponentHookDispatchedFromInstance = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current; | ||
var prevHookResultRef = React.useRef(); | ||
if (!ComponentHookDispatchedFromInstance) { | ||
return nextHook; | ||
return hookResult; | ||
} | ||
@@ -792,13 +840,17 @@ | ||
var displayName = getDisplayName(Component); | ||
var isShouldTrack = shouldTrack(Component, displayName, options); | ||
var isShouldTrack = shouldTrack({ | ||
Component: Component, | ||
displayName: displayName, | ||
options: options, | ||
isHookChange: true | ||
}); | ||
if (!isShouldTrack) { | ||
return nextHook; | ||
return hookResult; | ||
} | ||
var ref = React.useRef(); | ||
var prevHook = ref.current; | ||
ref.current = nextHook; | ||
var prevHookResult = prevHookResultRef.current; | ||
prevHookResultRef.current = hookResult; | ||
if (prevHook) { | ||
if (prevHookResult) { | ||
var notification = getUpdateInfo({ | ||
@@ -808,4 +860,4 @@ Component: Component, | ||
hookName: hookName, | ||
prevHook: hookPath ? _get$1(prevHook, hookPath) : prevHook, | ||
nextHook: hookPath ? _get$1(nextHook, hookPath) : nextHook, | ||
prevHook: hookPath ? _get$1(prevHookResult, hookPath) : prevHookResult, | ||
nextHook: hookPath ? _get$1(hookResult, hookPath) : hookResult, | ||
options: options | ||
@@ -819,3 +871,3 @@ }); | ||
return ref.current; | ||
return hookResult; | ||
} | ||
@@ -875,3 +927,7 @@ | ||
try { | ||
isShouldTrack = (typeof componentNameOrComponent === 'function' || isMemoComponent(componentNameOrComponent) || isForwardRefComponent(componentNameOrComponent)) && shouldTrack(componentNameOrComponent, getDisplayName(componentNameOrComponent), options); | ||
isShouldTrack = (typeof componentNameOrComponent === 'function' || isMemoComponent(componentNameOrComponent) || isForwardRefComponent(componentNameOrComponent)) && shouldTrack({ | ||
Component: componentNameOrComponent, | ||
displayName: getDisplayName(componentNameOrComponent), | ||
options: options | ||
}); | ||
@@ -940,2 +996,32 @@ if (isShouldTrack) { | ||
}); | ||
if (options.trackHooks) { | ||
options.trackExtraHooks.forEach(function (_ref2) { | ||
var _ref3 = _slicedToArray(_ref2, 2), | ||
hookParent = _ref3[0], | ||
hookName = _ref3[1]; | ||
var originalHook = hookParent[hookName]; | ||
var newHookName = hookName[0].toUpperCase() + hookName.slice(1); | ||
var newHook = function newHook() { | ||
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
args[_key2] = arguments[_key2]; | ||
} | ||
var hookResult = originalHook.call.apply(originalHook, [this].concat(args)); | ||
trackHookChanges(hookName, {}, hookResult, React, options); | ||
return hookResult; | ||
}; | ||
Object.defineProperty(newHook, 'name', { | ||
value: newHookName, | ||
writable: false | ||
}); | ||
Object.assign(newHook, { | ||
originalHook: originalHook | ||
}); | ||
hookParent[hookName] = newHook; | ||
}); | ||
} | ||
} | ||
@@ -953,2 +1039,9 @@ | ||
}); | ||
options.trackExtraHooks.forEach(function (_ref4) { | ||
var _ref5 = _slicedToArray(_ref4, 2), | ||
hookParent = _ref5[0], | ||
hookName = _ref5[1]; | ||
hookParent[hookName] = hookParent[hookName].originalHook; | ||
}); | ||
delete React.__REVERT_WHY_DID_YOU_RENDER__; | ||
@@ -955,0 +1048,0 @@ }; |
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
import e from"lodash/mapValues";import t from"lodash/get";import r from"lodash/isString";import n from"lodash/reduce";import o from"lodash/has";import i from"lodash/keys";import a from"lodash/isFunction";import f from"lodash/isRegExp";import c from"lodash/isDate";import s from"lodash/isPlainObject";import u from"lodash/isArray";import p from"lodash/defaults";function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(r,!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(e,t,r){return(b="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=y(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(r):o.value}})(e,t,r||e)}function _(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var D,O={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},R="function"==typeof Symbol&&Symbol.for,E=R?Symbol.for("react.memo"):60115,w=R?Symbol.for("react.forward_ref"):60112,k="http://bit.ly/wdyr02",N="http://bit.ly/wdyr3",S=(d(D={},O.different,"different objects."),d(D,O.deepEquals,"different objects that are equal by value."),d(D,O.date,"different date objects with the same value."),d(D,O.regex,"different regular expressions with the same value."),d(D,O.reactElement,"different React elements with the same displayName."),d(D,O.function,"different functions with the same name."),D),j=!1;function x(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prefixMessage,i=e.diffObjType,a=e.differences,f=e.values,c=e.options;a&&a.length>0?(c.consoleLog(d({},r,t),"".concat(o," of ").concat(i," changes:")),a.forEach((function(e){var t=e.pathString,r=e.diffType,o=e.prevValue,a=e.nextValue;c.consoleGroup("%c".concat("hook"===i?"[hook ".concat(n," result]"):"".concat(i,"."),"%c").concat(t,"%c"),"color:".concat(c.diffNameColor,";"),"color:".concat(c.diffPathColor,";"),"color:default;"),c.consoleLog("".concat(S[r]," (more info at ").concat(n?N:k,")")),c.consoleLog(d({},"prev ".concat(t),o),"!==",d({},"next ".concat(t),a)),c.consoleGroupEnd()}))):a&&(c.consoleLog(d({},r,t),"".concat(o," the ").concat(i," object itself changed but its values are all equal."),"props"===i?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(k)),c.consoleLog("prev ".concat(i,":"),f.prev," !== ",f.next,":next ".concat(i)))}function P(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,c=e.nextState,s=e.nextHook,u=e.reason,p=e.options;if(function(e,t,r){return!j&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===O.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===O.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===O.different})))))}(u,t,p)){p.consoleGroup("%c".concat(r),"color: ".concat(p.titleColor,";"));var l="Re-rendered because";u.propsDifferences&&(x({Component:t,displayName:r,prefixMessage:l,diffObjType:"props",differences:u.propsDifferences,values:{prev:o,next:f},options:p}),l="And because"),u.stateDifferences&&x({Component:t,displayName:r,prefixMessage:l,diffObjType:"state",differences:u.stateDifferences,values:{prev:i,next:c},options:p}),u.hookDifferences&&x({Component:t,displayName:r,prefixMessage:l,diffObjType:"hook",differences:u.hookDifferences,values:{prev:a,next:s},hookName:n,options:p}),u.propsDifferences||u.stateDifferences||u.hookDifferences||p.consoleLog(d({},r,t),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(k)),p.consoleGroupEnd()}}var T=function(){};function C(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=console.group,n=console.groupEnd;return t.collapseGroups?r=console.groupCollapsed:t.onlyLogs&&(r=console.log,n=T),h({include:null,exclude:null,notifier:t.notifier||((e="hotReloadBufferMs"in t?t.hotReloadBufferMs:500)&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(j=!0,setTimeout((function(){j=!1}),e))})),P),onlyLogs:!1,consoleLog:console.log,consoleGroup:r,consoleGroupEnd:n,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red"},t)}function Y(e){return e.displayName||e.name||e.type&&Y(e.type)||e.render&&Y(e.render)||(r(e)?e:void 0)}var H="undefined"!=typeof Element,W="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103,L=function(e){return e.$$typeof===W};function I(e,t,r,n,o){return r.push({diffType:o,pathString:n,prevValue:e,nextValue:t}),o!==O.different}function F(e,t,r){try{var n=[];return function e(t,r,n){var p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(t===r)return!0;if(!t||!r)return I(t,r,n,p,O.different);if(u(t)&&u(r)){var l=t.length;if(l!==r.length)return I(t,r,n,p,O.different);for(var d=!0,m=l;0!=m--;)e(t[m],r[m],n,"".concat(p,"[").concat(m,"]"))||(d=!1);return I(t,r,n,p,d?O.deepEquals:O.different)}if(c(t)&&c(r))return t.getTime()===r.getTime()?I(t,r,n,p,O.date):I(t,r,n,p,O.different);if(f(t)&&f(r))return t.toString()===r.toString()?I(t,r,n,p,O.regex):I(t,r,n,p,O.different);if(H&&t instanceof Element&&r instanceof Element)return I(t,r,n,p,O.different);if(L(t)&&L(r))return t.type!==r.type?I(t,r,n,p,O.different):I(t,r,n,p,e(t.props,r.props,n,"".concat(p,".props"))?O.reactElement:O.different);if(a(t)&&a(r))return t.name===r.name?I(t,r,n,p,O.function):I(t,r,n,p,O.different);if(s(t)&&s(r)){var h=i(t),y=h.length;if(y!==i(r).length)return I(t,r,n,p,O.different);for(var v=y;0!=v--;)if(!o(r,h[v]))return I(t,r,n,p,O.different);for(var g=!0,b=y;0!=b--;){var _=h[b];e(t[_],r[_],n,"".concat(p,".").concat(_))||(g=!1)}return I(t,r,n,p,g?O.deepEquals:O.different)}return I(t,r,n,p,O.different)}(e,t,n,r),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var A={};function M(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===r||r))return F(e,t);var o=e||A,i=t||A,a=Object.keys(h({},o,{},i));return n(a,(function(e,t){var r=F(o[t],i[t],t);return r&&(e=[].concat(_(e),_(r))),e}),[])}function V(e,t,r,n,o,i){return{propsDifferences:M(e,n),stateDifferences:M(t,o),hookDifferences:M(r,i,{shallow:!1})}}function U(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,c=e.nextState,s=e.nextHook;return{Component:t,displayName:r,hookName:n,prevProps:o,prevState:i,prevHook:a,nextProps:f,nextState:c,nextHook:s,options:e.options,reason:V(o,i,a,f,c,s)}}function q(e,t,r){return!function(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}(t,r)&&!(!e.whyDidYouRender&&!function(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}(t,r))}var G=1;function $(e){return e.prototype&&!!e.prototype.isReactComponent}function B(e){return e.$$typeof===E}function z(e){return e.$$typeof===w}function J(e,t,r,n){var o=function(r){function o(t,r){var n,i,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),i=this,a=y(o).call(this,t,r),(n=!a||"object"!=typeof a&&"function"!=typeof a?g(i):a)._WDYR={renderNumber:0};var f=b(y(o.prototype),"render",g(n))||n.render;return f!==e.prototype.render&&(n.render=function(){return o.prototype.render.apply(g(n)),f()}),n}var i,a,f;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&v(e,t)}(o,r),i=o,(a=[{key:"render",value:function(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=function(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&G)return!0;t=t.return}return!1}(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&n.notifier(U({Component:e,displayName:t,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:n})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),b(y(o.prototype),"render",this)?b(y(o.prototype),"render",this).call(this):null}}])&&l(i.prototype,a),f&&l(i,f),o}(e);return o.displayName=t,p(o,e),o}var K=function(e,t){return function(r){return t.createElement(e,r)}};function Q(e,t,r,n,o){var i="string"==typeof e?K(e,n):e;function a(){var e=arguments[0],a=n.useRef(),f=a.current;if(a.current=e,f){var c=U({Component:i,displayName:r,prevProps:f,nextProps:e,options:o});c.reason.propsDifferences&&!(t&&0===c.reason.propsDifferences.length)&&o.notifier(c)}return i.apply(void 0,arguments)}return a.displayName=r,a.ComponentForHooksTracking=i,p(a,i),a}function X(e,r,n,o,i){var a=r.path,f=n,c=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current;if(!c)return f;var s=c.type.ComponentForHooksTracking||c.type,u=Y(s);if(!q(s,u,i))return f;var p=o.useRef(),l=p.current;if(p.current=f,l){var d=U({Component:s,displayName:u,hookName:e,prevHook:a?t(l,a):l,nextHook:a?t(f,a):f,options:i});d.reason.hookDifferences&&i.notifier(d)}return p.current}function Z(e,t,r,n,o){return B(t)?function(e,t,r,n){var o=e.type,i=$(o),a=z(o),f=a?o.render:o,c=i?J(f,t,0,n):Q(f,!0,t,r,n);c.displayName=Y(f),c.ComponentForHooksTracking=e,p(c,f);var s=r.memo(a?r.forwardRef(c):c,e.compare);return s.displayName=t,p(s,e),s}(t,r,n,o):z(t)?function(e,t,r,n){var o=e.render,i=B(o),a=i?o.type:o,f=Q(a,i,t,r,n);f.displayName=Y(a),f.ComponentForHooksTracking=a,p(f,a);var c=r.forwardRef(i?r.memo(f,o.compare):f);return c.displayName=t,p(c,e),c}(t,r,n,o):$(t)?J(t,r,0,o):Q(t,!1,r,n,o)}function ee(e,t,r,n,o){if(e.has(t))return e.get(t);var i=Z(0,t,r,n,o);return e.set(t,i),i}var te={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function re(t,r){var n,o=C(r),i=t.createElement,a=t.createFactory,f=new WeakMap;if(t.createElement=function(e){for(var r=null,n=null,a=null,c=arguments.length,s=new Array(c>1?c-1:0),u=1;u<c;u++)s[u-1]=arguments[u];try{if(r=("function"==typeof e||B(e)||z(e))&&q(e,Y(e),o))return n=e&&e.whyDidYouRender&&e.whyDidYouRender.customName||Y(e),a=ee(f,e,n,t,o),i.apply(t,[a].concat(s))}catch(t){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:t,componentNameOrComponent:e,rest:s,options:o,isShouldTrack:r,displayName:n,WDYRPatchedComponent:a}})}return i.apply(t,[e].concat(s))},Object.assign(t.createElement,i),t.createFactory=function(e){var r=t.createElement.bind(null,e);return r.type=e,r},Object.assign(t.createFactory,a),o.trackHooks){var c=e(te,(function(e,r){return function(){var i=n[r];if(!i)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var a=i.apply(void 0,arguments);return e&&X(r,!0===e?{}:e,a,t,o),a}}));Object.defineProperty(t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){n=e&&h({},e,{},e.origHooks)},get:function(){return n&&h({},n,{},c,{origHooks:n})}})}return t.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(t,{createElement:i,createFactory:a}),f=null,Object.defineProperty(t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:n}),delete t.__REVERT_WHY_DID_YOU_RENDER__},t}re.defaultNotifier=P;export default re; | ||
import e from"lodash/mapValues";import t from"lodash/get";import r from"lodash/isString";import n from"lodash/reduce";import o from"lodash/has";import a from"lodash/keys";import i from"lodash/isFunction";import c from"lodash/isRegExp";import f from"lodash/isDate";import s from"lodash/isPlainObject";import u from"lodash/isArray";import p from"lodash/defaults";function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(e,t,r){return(b="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=y(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(r):o.value}})(e,t,r||e)}function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,a=void 0;try{for(var i,c=e[Symbol.iterator]();!(n=(i=c.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw a}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function O(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var D,E={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},k="function"==typeof Symbol&&Symbol.for,R=k?Symbol.for("react.memo"):60115,w=k?Symbol.for("react.forward_ref"):60112,N="http://bit.ly/wdyr02",S="http://bit.ly/wdyr3",j=(d(D={},E.different,"different objects."),d(D,E.deepEquals,"different objects that are equal by value."),d(D,E.date,"different date objects with the same value."),d(D,E.regex,"different regular expressions with the same value."),d(D,E.reactElement,"different React elements with the same displayName."),d(D,E.function,"different functions with the same name."),D),x=!1;function C(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prefixMessage,a=e.diffObjType,i=e.differences,c=e.values,f=e.options;i&&i.length>0?(f.consoleLog(d({},r,t),"".concat(o," of ").concat(a," changes:")),i.forEach((function(e){var t=e.pathString,r=e.diffType,o=e.prevValue,i=e.nextValue;f.consoleGroup("%c".concat("hook"===a?"[hook ".concat(n," result]"):"".concat(a,"."),"%c").concat(t,"%c"),"color:".concat(f.diffNameColor,";"),"color:".concat(f.diffPathColor,";"),"color:default;"),f.consoleLog("".concat(j[r]," (more info at ").concat(n?S:N,")")),f.consoleLog(d({},"prev ".concat(t),o),"!==",d({},"next ".concat(t),i)),f.consoleGroupEnd()}))):i&&(f.consoleLog(d({},r,t),"".concat(o," the ").concat(a," object itself changed but its values are all equal."),"props"===a?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(N)),f.consoleLog("prev ".concat(a,":"),c.prev," !== ",c.next,":next ".concat(a)))}function P(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,c=e.nextProps,f=e.nextState,s=e.nextHook,u=e.reason,p=e.options;if(function(e,t,r){return!x&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===E.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===E.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===E.different})))))}(u,t,p)){p.consoleGroup("%c".concat(r),"color: ".concat(p.titleColor,";"));var l="Re-rendered because";u.propsDifferences&&(C({Component:t,displayName:r,prefixMessage:l,diffObjType:"props",differences:u.propsDifferences,values:{prev:o,next:c},options:p}),l="And because"),u.stateDifferences&&C({Component:t,displayName:r,prefixMessage:l,diffObjType:"state",differences:u.stateDifferences,values:{prev:a,next:f},options:p}),u.hookDifferences&&C({Component:t,displayName:r,prefixMessage:l,diffObjType:"hook",differences:u.hookDifferences,values:{prev:i,next:s},hookName:n,options:p}),u.propsDifferences||u.stateDifferences||u.hookDifferences||p.consoleLog(d({},r,t),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(N)),p.consoleGroupEnd()}}var T=function(){};function H(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=console.group,n=console.groupEnd;return t.collapseGroups?r=console.groupCollapsed:t.onlyLogs&&(r=console.log,n=T),h({include:null,exclude:null,notifier:t.notifier||((e="hotReloadBufferMs"in t?t.hotReloadBufferMs:500)&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(x=!0,setTimeout((function(){x=!1}),e))})),P),onlyLogs:!1,consoleLog:console.log,consoleGroup:r,consoleGroupEnd:n,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red",trackExtraHooks:[]},t)}function Y(e){return e.displayName||e.name||e.type&&Y(e.type)||e.render&&Y(e.render)||(r(e)?e:void 0)}var W="undefined"!=typeof Element,L="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103,A=function(e){return e.$$typeof===L};function I(e,t,r,n,o){return r.push({diffType:o,pathString:n,prevValue:e,nextValue:t}),o!==E.different}function F(e,t,r){try{var n=[];return function e(t,r,n){var p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(t===r)return!0;if(!t||!r)return I(t,r,n,p,E.different);if(u(t)&&u(r)){var l=t.length;if(l!==r.length)return I(t,r,n,p,E.different);for(var d=!0,m=l;0!=m--;)e(t[m],r[m],n,"".concat(p,"[").concat(m,"]"))||(d=!1);return I(t,r,n,p,d?E.deepEquals:E.different)}if(f(t)&&f(r))return t.getTime()===r.getTime()?I(t,r,n,p,E.date):I(t,r,n,p,E.different);if(c(t)&&c(r))return t.toString()===r.toString()?I(t,r,n,p,E.regex):I(t,r,n,p,E.different);if(W&&t instanceof Element&&r instanceof Element)return I(t,r,n,p,E.different);if(A(t)&&A(r))return t.type!==r.type?I(t,r,n,p,E.different):I(t,r,n,p,e(t.props,r.props,n,"".concat(p,".props"))?E.reactElement:E.different);if(i(t)&&i(r))return t.name===r.name?I(t,r,n,p,E.function):I(t,r,n,p,E.different);if(s(t)&&s(r)){var h=a(t),y=h.length;if(y!==a(r).length)return I(t,r,n,p,E.different);for(var v=y;0!=v--;)if(!o(r,h[v]))return I(t,r,n,p,E.different);for(var g=!0,b=y;0!=b--;){var _=h[b];e(t[_],r[_],n,"".concat(p,".").concat(_))||(g=!1)}return I(t,r,n,p,g?E.deepEquals:E.different)}return I(t,r,n,p,E.different)}(e,t,n,r),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var M={};function U(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===r||r))return F(e,t);var o=e||M,a=t||M,i=Object.keys(h({},o,{},a));return n(i,(function(e,t){var r=F(o[t],a[t],t);return r&&(e=[].concat(O(e),O(r))),e}),[])}function V(e,t,r,n,o,a){return{propsDifferences:U(e,n),stateDifferences:U(t,o),hookDifferences:U(r,a,{shallow:!1})}}function q(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,c=e.nextProps,f=e.nextState,s=e.nextHook;return{Component:t,displayName:r,hookName:n,prevProps:o,prevState:a,prevHook:i,nextProps:c,nextState:f,nextHook:s,options:e.options,reason:V(o,a,i,c,f,s)}}function G(e){var t=e.Component,r=e.displayName,n=e.options,o=e.isHookChange;return!function(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}(r,n)&&!(!t.whyDidYouRender&&!function(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}(r,n)||o&&t.whyDidYouRender&&!1===t.whyDidYouRender.trackHooks)}var $=1;function B(e){return e.prototype&&!!e.prototype.isReactComponent}function z(e){return e.$$typeof===R}function J(e){return e.$$typeof===w}function K(e,t,r,n){var o=function(r){function o(t,r){var n,a,i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),a=this,i=y(o).call(this,t,r),(n=!i||"object"!=typeof i&&"function"!=typeof i?g(a):i)._WDYR={renderNumber:0};var c=b(y(o.prototype),"render",g(n))||n.render;return c!==e.prototype.render&&(n.render=function(){return o.prototype.render.apply(g(n)),c()}),n}var a,i,c;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&v(e,t)}(o,r),a=o,(i=[{key:"render",value:function(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=function(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&$)return!0;t=t.return}return!1}(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&n.notifier(q({Component:e,displayName:t,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:n})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),b(y(o.prototype),"render",this)?b(y(o.prototype),"render",this).call(this):null}}])&&l(a.prototype,i),c&&l(a,c),o}(e);return o.displayName=t,p(o,e),o}var Q=function(e,t){return function(r){return t.createElement(e,r)}};function X(e,t,r,n,o){var a="string"==typeof e?Q(e,n):e;function i(){var e=arguments[0],i=n.useRef(),c=i.current;if(i.current=e,c){var f=q({Component:a,displayName:r,prevProps:c,nextProps:e,options:o});f.reason.propsDifferences&&!(t&&0===f.reason.propsDifferences.length)&&o.notifier(f)}return a.apply(void 0,arguments)}return i.displayName=r,i.ComponentForHooksTracking=a,p(i,a),i}function Z(e,r,n,o,a){var i=r.path,c=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current,f=o.useRef();if(!c)return n;var s=c.type.ComponentForHooksTracking||c.type,u=Y(s);if(!G({Component:s,displayName:u,options:a,isHookChange:!0}))return n;var p=f.current;if(f.current=n,p){var l=q({Component:s,displayName:u,hookName:e,prevHook:i?t(p,i):p,nextHook:i?t(n,i):n,options:a});l.reason.hookDifferences&&a.notifier(l)}return n}function ee(e,t,r,n,o){return z(t)?function(e,t,r,n){var o=e.type,a=B(o),i=J(o),c=i?o.render:o,f=a?K(c,t,0,n):X(c,!0,t,r,n);f.displayName=Y(c),f.ComponentForHooksTracking=e,p(f,c);var s=r.memo(i?r.forwardRef(f):f,e.compare);return s.displayName=t,p(s,e),s}(t,r,n,o):J(t)?function(e,t,r,n){var o=e.render,a=z(o),i=a?o.type:o,c=X(i,a,t,r,n);c.displayName=Y(i),c.ComponentForHooksTracking=i,p(c,i);var f=r.forwardRef(a?r.memo(c,o.compare):c);return f.displayName=t,p(f,e),f}(t,r,n,o):B(t)?K(t,r,0,o):X(t,!1,r,n,o)}function te(e,t,r,n,o){if(e.has(t))return e.get(t);var a=ee(0,t,r,n,o);return e.set(t,a),a}var re={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function ne(t,r){var n,o=H(r),a=t.createElement,i=t.createFactory,c=new WeakMap;if(t.createElement=function(e){for(var r=null,n=null,i=null,f=arguments.length,s=new Array(f>1?f-1:0),u=1;u<f;u++)s[u-1]=arguments[u];try{if(r=("function"==typeof e||z(e)||J(e))&&G({Component:e,displayName:Y(e),options:o}))return n=e&&e.whyDidYouRender&&e.whyDidYouRender.customName||Y(e),i=te(c,e,n,t,o),a.apply(t,[i].concat(s))}catch(t){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:t,componentNameOrComponent:e,rest:s,options:o,isShouldTrack:r,displayName:n,WDYRPatchedComponent:i}})}return a.apply(t,[e].concat(s))},Object.assign(t.createElement,a),t.createFactory=function(e){var r=t.createElement.bind(null,e);return r.type=e,r},Object.assign(t.createFactory,i),o.trackHooks){var f=e(re,(function(e,r){return function(){var a=n[r];if(!a)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var i=a.apply(void 0,arguments);return e&&Z(r,!0===e?{}:e,i,t,o),i}}));Object.defineProperty(t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){n=e&&h({},e,{},e.origHooks)},get:function(){return n&&h({},n,{},f,{origHooks:n})}}),o.trackHooks&&o.trackExtraHooks.forEach((function(e){var r=_(e,2),n=r[0],a=r[1],i=n[a],c=a[0].toUpperCase()+a.slice(1),f=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var c=i.call.apply(i,[this].concat(r));return Z(a,{},c,t,o),c};Object.defineProperty(f,"name",{value:c,writable:!1}),Object.assign(f,{originalHook:i}),n[a]=f}))}return t.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(t,{createElement:a,createFactory:i}),c=null,Object.defineProperty(t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:n}),o.trackExtraHooks.forEach((function(e){var t=_(e,2),r=t[0],n=t[1];r[n]=r[n].originalHook})),delete t.__REVERT_WHY_DID_YOU_RENDER__},t}ne.defaultNotifier=P;export default ne; | ||
//# sourceMappingURL=whyDidYouRender.min.js.map |
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
@@ -59,3 +59,3 @@ | ||
if (i % 2) { | ||
ownKeys(source, true).forEach(function (key) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
@@ -66,3 +66,3 @@ }); | ||
} else { | ||
ownKeys(source).forEach(function (key) { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
@@ -76,2 +76,6 @@ }); | ||
function _slicedToArray(arr, i) { | ||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); | ||
} | ||
function _toConsumableArray(arr) { | ||
@@ -89,2 +93,6 @@ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); | ||
function _arrayWithHoles(arr) { | ||
if (Array.isArray(arr)) return arr; | ||
} | ||
function _iterableToArray(iter) { | ||
@@ -94,2 +102,32 @@ if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); | ||
function _iterableToArrayLimit(arr, i) { | ||
if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { | ||
return; | ||
} | ||
var _arr = []; | ||
var _n = true; | ||
var _d = false; | ||
var _e = undefined; | ||
try { | ||
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { | ||
_arr.push(_s.value); | ||
if (i && _arr.length === i) break; | ||
} | ||
} catch (err) { | ||
_d = true; | ||
_e = err; | ||
} finally { | ||
try { | ||
if (!_n && _i["return"] != null) _i["return"](); | ||
} finally { | ||
if (_d) throw _e; | ||
} | ||
} | ||
return _arr; | ||
} | ||
function _nonIterableSpread() { | ||
@@ -99,2 +137,6 @@ throw new TypeError("Invalid attempt to spread non-iterable instance"); | ||
function _nonIterableRest() { | ||
throw new TypeError("Invalid attempt to destructure non-iterable instance"); | ||
} | ||
var diffTypes = { | ||
@@ -287,3 +329,4 @@ 'different': 'different', | ||
diffNameColor: 'blue', | ||
diffPathColor: 'red' | ||
diffPathColor: 'red', | ||
trackExtraHooks: [] | ||
}, userOptions); | ||
@@ -498,3 +541,8 @@ } | ||
function shouldTrack(Component, displayName, options) { | ||
function shouldTrack(_ref) { | ||
var Component = _ref.Component, | ||
displayName = _ref.displayName, | ||
options = _ref.options, | ||
isHookChange = _ref.isHookChange; | ||
if (shouldExclude(displayName, options)) { | ||
@@ -504,3 +552,3 @@ return false; | ||
return !!(Component.whyDidYouRender || shouldInclude(displayName, options)); | ||
return !!(Component.whyDidYouRender || shouldInclude(displayName, options)) && !(isHookChange && Component.whyDidYouRender && Component.whyDidYouRender.trackHooks === false); | ||
} | ||
@@ -674,7 +722,7 @@ | ||
var hookPath = _ref.path; | ||
var nextHook = hookResult; | ||
var ComponentHookDispatchedFromInstance = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current; | ||
var prevHookResultRef = React.useRef(); | ||
if (!ComponentHookDispatchedFromInstance) { | ||
return nextHook; | ||
return hookResult; | ||
} | ||
@@ -684,13 +732,17 @@ | ||
var displayName = getDisplayName(Component); | ||
var isShouldTrack = shouldTrack(Component, displayName, options); | ||
var isShouldTrack = shouldTrack({ | ||
Component: Component, | ||
displayName: displayName, | ||
options: options, | ||
isHookChange: true | ||
}); | ||
if (!isShouldTrack) { | ||
return nextHook; | ||
return hookResult; | ||
} | ||
var ref = React.useRef(); | ||
var prevHook = ref.current; | ||
ref.current = nextHook; | ||
var prevHookResult = prevHookResultRef.current; | ||
prevHookResultRef.current = hookResult; | ||
if (prevHook) { | ||
if (prevHookResult) { | ||
var notification = getUpdateInfo({ | ||
@@ -700,4 +752,4 @@ Component: Component, | ||
hookName: hookName, | ||
prevHook: hookPath ? _get(prevHook, hookPath) : prevHook, | ||
nextHook: hookPath ? _get(nextHook, hookPath) : nextHook, | ||
prevHook: hookPath ? _get(prevHookResult, hookPath) : prevHookResult, | ||
nextHook: hookPath ? _get(hookResult, hookPath) : hookResult, | ||
options: options | ||
@@ -711,3 +763,3 @@ }); | ||
return ref.current; | ||
return hookResult; | ||
} | ||
@@ -767,3 +819,7 @@ | ||
try { | ||
isShouldTrack = (typeof componentNameOrComponent === 'function' || isMemoComponent(componentNameOrComponent) || isForwardRefComponent(componentNameOrComponent)) && shouldTrack(componentNameOrComponent, getDisplayName(componentNameOrComponent), options); | ||
isShouldTrack = (typeof componentNameOrComponent === 'function' || isMemoComponent(componentNameOrComponent) || isForwardRefComponent(componentNameOrComponent)) && shouldTrack({ | ||
Component: componentNameOrComponent, | ||
displayName: getDisplayName(componentNameOrComponent), | ||
options: options | ||
}); | ||
@@ -832,2 +888,32 @@ if (isShouldTrack) { | ||
}); | ||
if (options.trackHooks) { | ||
options.trackExtraHooks.forEach(function (_ref2) { | ||
var _ref3 = _slicedToArray(_ref2, 2), | ||
hookParent = _ref3[0], | ||
hookName = _ref3[1]; | ||
var originalHook = hookParent[hookName]; | ||
var newHookName = hookName[0].toUpperCase() + hookName.slice(1); | ||
var newHook = function newHook() { | ||
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
args[_key2] = arguments[_key2]; | ||
} | ||
var hookResult = originalHook.call.apply(originalHook, [this].concat(args)); | ||
trackHookChanges(hookName, {}, hookResult, React, options); | ||
return hookResult; | ||
}; | ||
Object.defineProperty(newHook, 'name', { | ||
value: newHookName, | ||
writable: false | ||
}); | ||
Object.assign(newHook, { | ||
originalHook: originalHook | ||
}); | ||
hookParent[hookName] = newHook; | ||
}); | ||
} | ||
} | ||
@@ -845,2 +931,9 @@ | ||
}); | ||
options.trackExtraHooks.forEach(function (_ref4) { | ||
var _ref5 = _slicedToArray(_ref4, 2), | ||
hookParent = _ref5[0], | ||
hookName = _ref5[1]; | ||
hookParent[hookName] = hookParent[hookName].originalHook; | ||
}); | ||
delete React.__REVERT_WHY_DID_YOU_RENDER__; | ||
@@ -847,0 +940,0 @@ }; |
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var _mapValues=_interopDefault(require("lodash/mapValues")),_get=_interopDefault(require("lodash/get")),_isString=_interopDefault(require("lodash/isString")),_reduce=_interopDefault(require("lodash/reduce")),_has=_interopDefault(require("lodash/has")),_keys=_interopDefault(require("lodash/keys")),_isFunction=_interopDefault(require("lodash/isFunction")),_isRegExp=_interopDefault(require("lodash/isRegExp")),_isDate=_interopDefault(require("lodash/isDate")),_isPlainObject=_interopDefault(require("lodash/isPlainObject")),_isArray=_interopDefault(require("lodash/isArray")),_defaults=_interopDefault(require("lodash/defaults"));function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(r,!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}var _diffTypesDescription,diffTypes={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},hasSymbol="function"==typeof Symbol&&Symbol.for,REACT_MEMO_TYPE=hasSymbol?Symbol.for("react.memo"):60115,REACT_FORWARD_REF_TYPE=hasSymbol?Symbol.for("react.forward_ref"):60112,moreInfoUrl="http://bit.ly/wdyr02",moreInfoHooksUrl="http://bit.ly/wdyr3",diffTypesDescriptions=(_defineProperty(_diffTypesDescription={},diffTypes.different,"different objects."),_defineProperty(_diffTypesDescription,diffTypes.deepEquals,"different objects that are equal by value."),_defineProperty(_diffTypesDescription,diffTypes.date,"different date objects with the same value."),_defineProperty(_diffTypesDescription,diffTypes.regex,"different regular expressions with the same value."),_defineProperty(_diffTypesDescription,diffTypes.reactElement,"different React elements with the same displayName."),_defineProperty(_diffTypesDescription,diffTypes.function,"different functions with the same name."),_diffTypesDescription),inHotReload=!1;function shouldLog(e,t,r){return!inHotReload&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===diffTypes.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===diffTypes.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===diffTypes.different})))))}function logDifference(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prefixMessage,i=e.diffObjType,a=e.differences,f=e.values,s=e.options;a&&a.length>0?(s.consoleLog(_defineProperty({},r,t),"".concat(o," of ").concat(i," changes:")),a.forEach((function(e){var t=e.pathString,r=e.diffType,o=e.prevValue,a=e.nextValue;s.consoleGroup("%c".concat("hook"===i?"[hook ".concat(n," result]"):"".concat(i,"."),"%c").concat(t,"%c"),"color:".concat(s.diffNameColor,";"),"color:".concat(s.diffPathColor,";"),"color:default;"),s.consoleLog("".concat(diffTypesDescriptions[r]," (more info at ").concat(n?moreInfoHooksUrl:moreInfoUrl,")")),s.consoleLog(_defineProperty({},"prev ".concat(t),o),"!==",_defineProperty({},"next ".concat(t),a)),s.consoleGroupEnd()}))):a&&(s.consoleLog(_defineProperty({},r,t),"".concat(o," the ").concat(i," object itself changed but its values are all equal."),"props"===i?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(moreInfoUrl)),s.consoleLog("prev ".concat(i,":"),f.prev," !== ",f.next,":next ".concat(i)))}function defaultNotifier(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook,p=e.reason,u=e.options;if(shouldLog(p,t,u)){u.consoleGroup("%c".concat(r),"color: ".concat(u.titleColor,";"));var l="Re-rendered because";p.propsDifferences&&(logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"props",differences:p.propsDifferences,values:{prev:o,next:f},options:u}),l="And because"),p.stateDifferences&&logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"state",differences:p.stateDifferences,values:{prev:i,next:s},options:u}),p.hookDifferences&&logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"hook",differences:p.hookDifferences,values:{prev:a,next:c},hookName:n,options:u}),p.propsDifferences||p.stateDifferences||p.hookDifferences||u.consoleLog(_defineProperty({},r,t),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(moreInfoUrl)),u.consoleGroupEnd()}}function createDefaultNotifier(e){return e&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(inHotReload=!0,setTimeout((function(){inHotReload=!1}),e))})),defaultNotifier}var emptyFn=function(){};function normalizeOptions(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=console.group,r=console.groupEnd;return e.collapseGroups?t=console.groupCollapsed:e.onlyLogs&&(t=console.log,r=emptyFn),_objectSpread2({include:null,exclude:null,notifier:e.notifier||createDefaultNotifier("hotReloadBufferMs"in e?e.hotReloadBufferMs:500),onlyLogs:!1,consoleLog:console.log,consoleGroup:t,consoleGroupEnd:r,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red"},e)}function getDisplayName(e){return e.displayName||e.name||e.type&&getDisplayName(e.type)||e.render&&getDisplayName(e.render)||(_isString(e)?e:void 0)}var hasElementType="undefined"!=typeof Element,hasSymbol$1="function"==typeof Symbol&&Symbol.for,REACT_ELEMENT_TYPE=hasSymbol$1?Symbol.for("react.element"):60103,isReactElement=function(e){return e.$$typeof===REACT_ELEMENT_TYPE};function trackDiff(e,t,r,n,o){return r.push({diffType:o,pathString:n,prevValue:e,nextValue:t}),o!==diffTypes.different}function accumulateDeepEqualDiffs(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(e===t)return!0;if(!e||!t)return trackDiff(e,t,r,n,diffTypes.different);if(_isArray(e)&&_isArray(t)){var o=e.length;if(o!==t.length)return trackDiff(e,t,r,n,diffTypes.different);for(var i=!0,a=o;0!=a--;)accumulateDeepEqualDiffs(e[a],t[a],r,"".concat(n,"[").concat(a,"]"))||(i=!1);return trackDiff(e,t,r,n,i?diffTypes.deepEquals:diffTypes.different)}if(_isDate(e)&&_isDate(t))return e.getTime()===t.getTime()?trackDiff(e,t,r,n,diffTypes.date):trackDiff(e,t,r,n,diffTypes.different);if(_isRegExp(e)&&_isRegExp(t))return e.toString()===t.toString()?trackDiff(e,t,r,n,diffTypes.regex):trackDiff(e,t,r,n,diffTypes.different);if(hasElementType&&e instanceof Element&&t instanceof Element)return trackDiff(e,t,r,n,diffTypes.different);if(isReactElement(e)&&isReactElement(t))return e.type!==t.type?trackDiff(e,t,r,n,diffTypes.different):trackDiff(e,t,r,n,accumulateDeepEqualDiffs(e.props,t.props,r,"".concat(n,".props"))?diffTypes.reactElement:diffTypes.different);if(_isFunction(e)&&_isFunction(t))return e.name===t.name?trackDiff(e,t,r,n,diffTypes.function):trackDiff(e,t,r,n,diffTypes.different);if(_isPlainObject(e)&&_isPlainObject(t)){var f=_keys(e),s=f.length;if(s!==_keys(t).length)return trackDiff(e,t,r,n,diffTypes.different);for(var c=s;0!=c--;)if(!_has(t,f[c]))return trackDiff(e,t,r,n,diffTypes.different);for(var p=!0,u=s;0!=u--;){var l=f[u];accumulateDeepEqualDiffs(e[l],t[l],r,"".concat(n,".").concat(l))||(p=!1)}return trackDiff(e,t,r,n,p?diffTypes.deepEquals:diffTypes.different)}return trackDiff(e,t,r,n,diffTypes.different)}function calculateDeepEqualDiffs(e,t,r){try{var n=[];return accumulateDeepEqualDiffs(e,t,n,r),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var emptyObject={};function findObjectsDifferences(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===r||r))return calculateDeepEqualDiffs(e,t);var n=e||emptyObject,o=t||emptyObject,i=Object.keys(_objectSpread2({},n,{},o));return _reduce(i,(function(e,t){var r=calculateDeepEqualDiffs(n[t],o[t],t);return r&&(e=[].concat(_toConsumableArray(e),_toConsumableArray(r))),e}),[])}function getUpdateReason(e,t,r,n,o,i){return{propsDifferences:findObjectsDifferences(e,n),stateDifferences:findObjectsDifferences(t,o),hookDifferences:findObjectsDifferences(r,i,{shallow:!1})}}function getUpdateInfo(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook;return{Component:t,displayName:r,hookName:n,prevProps:o,prevState:i,prevHook:a,nextProps:f,nextState:s,nextHook:c,options:e.options,reason:getUpdateReason(o,i,a,f,s,c)}}function shouldInclude(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}function shouldExclude(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}function shouldTrack(e,t,r){return!shouldExclude(t,r)&&!(!e.whyDidYouRender&&!shouldInclude(t,r))}var StrictMode=1;function checkIfInsideAStrictModeTree(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&StrictMode)return!0;t=t.return}return!1}function isReactClassComponent(e){return e.prototype&&!!e.prototype.isReactComponent}function isMemoComponent(e){return e.$$typeof===REACT_MEMO_TYPE}function isForwardRefComponent(e){return e.$$typeof===REACT_FORWARD_REF_TYPE}function patchClassComponent(e,t,r,n){class o extends e{constructor(t,r){var n;super(t,r),n=this,this._WDYR={renderNumber:0};var i=super.render||this.render;i!==e.prototype.render&&(this.render=function(){return o.prototype.render.apply(n),i()})}render(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=checkIfInsideAStrictModeTree(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&n.notifier(getUpdateInfo({Component:e,displayName:t,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:n})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),super.render?super.render():null}}return o.displayName=t,_defaults(o,e),o}var getFunctionalComponentFromStringComponent=function(e,t){return function(r){return t.createElement(e,r)}};function patchFunctionalOrStrComponent(e,t,r,n,o){var i="string"==typeof e?getFunctionalComponentFromStringComponent(e,n):e;function a(){var e=arguments[0],a=n.useRef(),f=a.current;if(a.current=e,f){var s=getUpdateInfo({Component:i,displayName:r,prevProps:f,nextProps:e,options:o});s.reason.propsDifferences&&!(t&&0===s.reason.propsDifferences.length)&&o.notifier(s)}return i.apply(void 0,arguments)}return a.displayName=r,a.ComponentForHooksTracking=i,_defaults(a,i),a}function patchMemoComponent(e,t,r,n){var o=e.type,i=isReactClassComponent(o),a=isForwardRefComponent(o),f=a?o.render:o,s=i?patchClassComponent(f,t,r,n):patchFunctionalOrStrComponent(f,!0,t,r,n);s.displayName=getDisplayName(f),s.ComponentForHooksTracking=e,_defaults(s,f);var c=r.memo(a?r.forwardRef(s):s,e.compare);return c.displayName=t,_defaults(c,e),c}function patchForwardRefComponent(e,t,r,n){var o=e.render,i=isMemoComponent(o),a=i?o.type:o,f=patchFunctionalOrStrComponent(a,i,t,r,n);f.displayName=getDisplayName(a),f.ComponentForHooksTracking=a,_defaults(f,a);var s=r.forwardRef(i?r.memo(f,o.compare):f);return s.displayName=t,_defaults(s,e),s}function trackHookChanges(e,t,r,n,o){var i=t.path,a=r,f=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current;if(!f)return a;var s=f.type.ComponentForHooksTracking||f.type,c=getDisplayName(s);if(!shouldTrack(s,c,o))return a;var p=n.useRef(),u=p.current;if(p.current=a,u){var l=getUpdateInfo({Component:s,displayName:c,hookName:e,prevHook:i?_get(u,i):u,nextHook:i?_get(a,i):a,options:o});l.reason.hookDifferences&&o.notifier(l)}return p.current}function createPatchedComponent(e,t,r,n,o){return isMemoComponent(t)?patchMemoComponent(t,r,n,o):isForwardRefComponent(t)?patchForwardRefComponent(t,r,n,o):isReactClassComponent(t)?patchClassComponent(t,r,n,o):patchFunctionalOrStrComponent(t,!1,r,n,o)}function getPatchedComponent(e,t,r,n,o){if(e.has(t))return e.get(t);var i=createPatchedComponent(e,t,r,n,o);return e.set(t,i),i}var hooksConfig={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function whyDidYouRender(e,t){var r,n=normalizeOptions(t),o=e.createElement,i=e.createFactory,a=new WeakMap;if(e.createElement=function(t){for(var r=null,i=null,f=null,s=arguments.length,c=new Array(s>1?s-1:0),p=1;p<s;p++)c[p-1]=arguments[p];try{if(r=("function"==typeof t||isMemoComponent(t)||isForwardRefComponent(t))&&shouldTrack(t,getDisplayName(t),n))return i=t&&t.whyDidYouRender&&t.whyDidYouRender.customName||getDisplayName(t),f=getPatchedComponent(a,t,i,e,n),o.apply(e,[f].concat(c))}catch(e){n.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:e,componentNameOrComponent:t,rest:c,options:n,isShouldTrack:r,displayName:i,WDYRPatchedComponent:f}})}return o.apply(e,[t].concat(c))},Object.assign(e.createElement,o),e.createFactory=function(t){var r=e.createElement.bind(null,t);return r.type=t,r},Object.assign(e.createFactory,i),n.trackHooks){var f=_mapValues(hooksConfig,(function(t,o){return function(){var i=r[o];if(!i)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var a=i.apply(void 0,arguments);return t&&trackHookChanges(o,!0===t?{}:t,a,e,n),a}}));Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){r=e&&_objectSpread2({},e,{},e.origHooks)},get:function(){return r&&_objectSpread2({},r,{},f,{origHooks:r})}})}return e.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(e,{createElement:o,createFactory:i}),a=null,Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:r}),delete e.__REVERT_WHY_DID_YOU_RENDER__},e}whyDidYouRender.defaultNotifier=defaultNotifier,module.exports=whyDidYouRender; | ||
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var _mapValues=_interopDefault(require("lodash/mapValues")),_get=_interopDefault(require("lodash/get")),_isString=_interopDefault(require("lodash/isString")),_reduce=_interopDefault(require("lodash/reduce")),_has=_interopDefault(require("lodash/has")),_keys=_interopDefault(require("lodash/keys")),_isFunction=_interopDefault(require("lodash/isFunction")),_isRegExp=_interopDefault(require("lodash/isRegExp")),_isDate=_interopDefault(require("lodash/isDate")),_isPlainObject=_interopDefault(require("lodash/isPlainObject")),_isArray=_interopDefault(require("lodash/isArray")),_defaults=_interopDefault(require("lodash/defaults"));function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _iterableToArrayLimit(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],o=!0,n=!1,i=void 0;try{for(var a,f=e[Symbol.iterator]();!(o=(a=f.next()).done)&&(r.push(a.value),!t||r.length!==t);o=!0);}catch(e){n=!0,i=e}finally{try{o||null==f.return||f.return()}finally{if(n)throw i}}return r}}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var _diffTypesDescription,diffTypes={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},hasSymbol="function"==typeof Symbol&&Symbol.for,REACT_MEMO_TYPE=hasSymbol?Symbol.for("react.memo"):60115,REACT_FORWARD_REF_TYPE=hasSymbol?Symbol.for("react.forward_ref"):60112,moreInfoUrl="http://bit.ly/wdyr02",moreInfoHooksUrl="http://bit.ly/wdyr3",diffTypesDescriptions=(_defineProperty(_diffTypesDescription={},diffTypes.different,"different objects."),_defineProperty(_diffTypesDescription,diffTypes.deepEquals,"different objects that are equal by value."),_defineProperty(_diffTypesDescription,diffTypes.date,"different date objects with the same value."),_defineProperty(_diffTypesDescription,diffTypes.regex,"different regular expressions with the same value."),_defineProperty(_diffTypesDescription,diffTypes.reactElement,"different React elements with the same displayName."),_defineProperty(_diffTypesDescription,diffTypes.function,"different functions with the same name."),_diffTypesDescription),inHotReload=!1;function shouldLog(e,t,r){return!inHotReload&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===diffTypes.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===diffTypes.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===diffTypes.different})))))}function logDifference(e){var t=e.Component,r=e.displayName,o=e.hookName,n=e.prefixMessage,i=e.diffObjType,a=e.differences,f=e.values,s=e.options;a&&a.length>0?(s.consoleLog(_defineProperty({},r,t),"".concat(n," of ").concat(i," changes:")),a.forEach((function(e){var t=e.pathString,r=e.diffType,n=e.prevValue,a=e.nextValue;s.consoleGroup("%c".concat("hook"===i?"[hook ".concat(o," result]"):"".concat(i,"."),"%c").concat(t,"%c"),"color:".concat(s.diffNameColor,";"),"color:".concat(s.diffPathColor,";"),"color:default;"),s.consoleLog("".concat(diffTypesDescriptions[r]," (more info at ").concat(o?moreInfoHooksUrl:moreInfoUrl,")")),s.consoleLog(_defineProperty({},"prev ".concat(t),n),"!==",_defineProperty({},"next ".concat(t),a)),s.consoleGroupEnd()}))):a&&(s.consoleLog(_defineProperty({},r,t),"".concat(n," the ").concat(i," object itself changed but its values are all equal."),"props"===i?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(moreInfoUrl)),s.consoleLog("prev ".concat(i,":"),f.prev," !== ",f.next,":next ".concat(i)))}function defaultNotifier(e){var t=e.Component,r=e.displayName,o=e.hookName,n=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook,p=e.reason,u=e.options;if(shouldLog(p,t,u)){u.consoleGroup("%c".concat(r),"color: ".concat(u.titleColor,";"));var l="Re-rendered because";p.propsDifferences&&(logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"props",differences:p.propsDifferences,values:{prev:n,next:f},options:u}),l="And because"),p.stateDifferences&&logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"state",differences:p.stateDifferences,values:{prev:i,next:s},options:u}),p.hookDifferences&&logDifference({Component:t,displayName:r,prefixMessage:l,diffObjType:"hook",differences:p.hookDifferences,values:{prev:a,next:c},hookName:o,options:u}),p.propsDifferences||p.stateDifferences||p.hookDifferences||u.consoleLog(_defineProperty({},r,t),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(moreInfoUrl)),u.consoleGroupEnd()}}function createDefaultNotifier(e){return e&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(inHotReload=!0,setTimeout((function(){inHotReload=!1}),e))})),defaultNotifier}var emptyFn=function(){};function normalizeOptions(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=console.group,r=console.groupEnd;return e.collapseGroups?t=console.groupCollapsed:e.onlyLogs&&(t=console.log,r=emptyFn),_objectSpread2({include:null,exclude:null,notifier:e.notifier||createDefaultNotifier("hotReloadBufferMs"in e?e.hotReloadBufferMs:500),onlyLogs:!1,consoleLog:console.log,consoleGroup:t,consoleGroupEnd:r,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red",trackExtraHooks:[]},e)}function getDisplayName(e){return e.displayName||e.name||e.type&&getDisplayName(e.type)||e.render&&getDisplayName(e.render)||(_isString(e)?e:void 0)}var hasElementType="undefined"!=typeof Element,hasSymbol$1="function"==typeof Symbol&&Symbol.for,REACT_ELEMENT_TYPE=hasSymbol$1?Symbol.for("react.element"):60103,isReactElement=function(e){return e.$$typeof===REACT_ELEMENT_TYPE};function trackDiff(e,t,r,o,n){return r.push({diffType:n,pathString:o,prevValue:e,nextValue:t}),n!==diffTypes.different}function accumulateDeepEqualDiffs(e,t,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(e===t)return!0;if(!e||!t)return trackDiff(e,t,r,o,diffTypes.different);if(_isArray(e)&&_isArray(t)){var n=e.length;if(n!==t.length)return trackDiff(e,t,r,o,diffTypes.different);for(var i=!0,a=n;0!=a--;)accumulateDeepEqualDiffs(e[a],t[a],r,"".concat(o,"[").concat(a,"]"))||(i=!1);return trackDiff(e,t,r,o,i?diffTypes.deepEquals:diffTypes.different)}if(_isDate(e)&&_isDate(t))return e.getTime()===t.getTime()?trackDiff(e,t,r,o,diffTypes.date):trackDiff(e,t,r,o,diffTypes.different);if(_isRegExp(e)&&_isRegExp(t))return e.toString()===t.toString()?trackDiff(e,t,r,o,diffTypes.regex):trackDiff(e,t,r,o,diffTypes.different);if(hasElementType&&e instanceof Element&&t instanceof Element)return trackDiff(e,t,r,o,diffTypes.different);if(isReactElement(e)&&isReactElement(t))return e.type!==t.type?trackDiff(e,t,r,o,diffTypes.different):trackDiff(e,t,r,o,accumulateDeepEqualDiffs(e.props,t.props,r,"".concat(o,".props"))?diffTypes.reactElement:diffTypes.different);if(_isFunction(e)&&_isFunction(t))return e.name===t.name?trackDiff(e,t,r,o,diffTypes.function):trackDiff(e,t,r,o,diffTypes.different);if(_isPlainObject(e)&&_isPlainObject(t)){var f=_keys(e),s=f.length;if(s!==_keys(t).length)return trackDiff(e,t,r,o,diffTypes.different);for(var c=s;0!=c--;)if(!_has(t,f[c]))return trackDiff(e,t,r,o,diffTypes.different);for(var p=!0,u=s;0!=u--;){var l=f[u];accumulateDeepEqualDiffs(e[l],t[l],r,"".concat(o,".").concat(l))||(p=!1)}return trackDiff(e,t,r,o,p?diffTypes.deepEquals:diffTypes.different)}return trackDiff(e,t,r,o,diffTypes.different)}function calculateDeepEqualDiffs(e,t,r){try{var o=[];return accumulateDeepEqualDiffs(e,t,o,r),o}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var emptyObject={};function findObjectsDifferences(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===r||r))return calculateDeepEqualDiffs(e,t);var o=e||emptyObject,n=t||emptyObject,i=Object.keys(_objectSpread2({},o,{},n));return _reduce(i,(function(e,t){var r=calculateDeepEqualDiffs(o[t],n[t],t);return r&&(e=[].concat(_toConsumableArray(e),_toConsumableArray(r))),e}),[])}function getUpdateReason(e,t,r,o,n,i){return{propsDifferences:findObjectsDifferences(e,o),stateDifferences:findObjectsDifferences(t,n),hookDifferences:findObjectsDifferences(r,i,{shallow:!1})}}function getUpdateInfo(e){var t=e.Component,r=e.displayName,o=e.hookName,n=e.prevProps,i=e.prevState,a=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook;return{Component:t,displayName:r,hookName:o,prevProps:n,prevState:i,prevHook:a,nextProps:f,nextState:s,nextHook:c,options:e.options,reason:getUpdateReason(n,i,a,f,s,c)}}function shouldInclude(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}function shouldExclude(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}function shouldTrack(e){var t=e.Component,r=e.displayName,o=e.options,n=e.isHookChange;return!shouldExclude(r,o)&&!(!t.whyDidYouRender&&!shouldInclude(r,o)||n&&t.whyDidYouRender&&!1===t.whyDidYouRender.trackHooks)}var StrictMode=1;function checkIfInsideAStrictModeTree(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&StrictMode)return!0;t=t.return}return!1}function isReactClassComponent(e){return e.prototype&&!!e.prototype.isReactComponent}function isMemoComponent(e){return e.$$typeof===REACT_MEMO_TYPE}function isForwardRefComponent(e){return e.$$typeof===REACT_FORWARD_REF_TYPE}function patchClassComponent(e,t,r,o){class n extends e{constructor(t,r){var o;super(t,r),o=this,this._WDYR={renderNumber:0};var i=super.render||this.render;i!==e.prototype.render&&(this.render=function(){return n.prototype.render.apply(o),i()})}render(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=checkIfInsideAStrictModeTree(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&o.notifier(getUpdateInfo({Component:e,displayName:t,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:o})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),super.render?super.render():null}}return n.displayName=t,_defaults(n,e),n}var getFunctionalComponentFromStringComponent=function(e,t){return function(r){return t.createElement(e,r)}};function patchFunctionalOrStrComponent(e,t,r,o,n){var i="string"==typeof e?getFunctionalComponentFromStringComponent(e,o):e;function a(){var e=arguments[0],a=o.useRef(),f=a.current;if(a.current=e,f){var s=getUpdateInfo({Component:i,displayName:r,prevProps:f,nextProps:e,options:n});s.reason.propsDifferences&&!(t&&0===s.reason.propsDifferences.length)&&n.notifier(s)}return i.apply(void 0,arguments)}return a.displayName=r,a.ComponentForHooksTracking=i,_defaults(a,i),a}function patchMemoComponent(e,t,r,o){var n=e.type,i=isReactClassComponent(n),a=isForwardRefComponent(n),f=a?n.render:n,s=i?patchClassComponent(f,t,r,o):patchFunctionalOrStrComponent(f,!0,t,r,o);s.displayName=getDisplayName(f),s.ComponentForHooksTracking=e,_defaults(s,f);var c=r.memo(a?r.forwardRef(s):s,e.compare);return c.displayName=t,_defaults(c,e),c}function patchForwardRefComponent(e,t,r,o){var n=e.render,i=isMemoComponent(n),a=i?n.type:n,f=patchFunctionalOrStrComponent(a,i,t,r,o);f.displayName=getDisplayName(a),f.ComponentForHooksTracking=a,_defaults(f,a);var s=r.forwardRef(i?r.memo(f,n.compare):f);return s.displayName=t,_defaults(s,e),s}function trackHookChanges(e,t,r,o,n){var i=t.path,a=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current,f=o.useRef();if(!a)return r;var s=a.type.ComponentForHooksTracking||a.type,c=getDisplayName(s);if(!shouldTrack({Component:s,displayName:c,options:n,isHookChange:!0}))return r;var p=f.current;if(f.current=r,p){var u=getUpdateInfo({Component:s,displayName:c,hookName:e,prevHook:i?_get(p,i):p,nextHook:i?_get(r,i):r,options:n});u.reason.hookDifferences&&n.notifier(u)}return r}function createPatchedComponent(e,t,r,o,n){return isMemoComponent(t)?patchMemoComponent(t,r,o,n):isForwardRefComponent(t)?patchForwardRefComponent(t,r,o,n):isReactClassComponent(t)?patchClassComponent(t,r,o,n):patchFunctionalOrStrComponent(t,!1,r,o,n)}function getPatchedComponent(e,t,r,o,n){if(e.has(t))return e.get(t);var i=createPatchedComponent(e,t,r,o,n);return e.set(t,i),i}var hooksConfig={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function whyDidYouRender(e,t){var r,o=normalizeOptions(t),n=e.createElement,i=e.createFactory,a=new WeakMap;if(e.createElement=function(t){for(var r=null,i=null,f=null,s=arguments.length,c=new Array(s>1?s-1:0),p=1;p<s;p++)c[p-1]=arguments[p];try{if(r=("function"==typeof t||isMemoComponent(t)||isForwardRefComponent(t))&&shouldTrack({Component:t,displayName:getDisplayName(t),options:o}))return i=t&&t.whyDidYouRender&&t.whyDidYouRender.customName||getDisplayName(t),f=getPatchedComponent(a,t,i,e,o),n.apply(e,[f].concat(c))}catch(e){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:e,componentNameOrComponent:t,rest:c,options:o,isShouldTrack:r,displayName:i,WDYRPatchedComponent:f}})}return n.apply(e,[t].concat(c))},Object.assign(e.createElement,n),e.createFactory=function(t){var r=e.createElement.bind(null,t);return r.type=t,r},Object.assign(e.createFactory,i),o.trackHooks){var f=_mapValues(hooksConfig,(function(t,n){return function(){var i=r[n];if(!i)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var a=i.apply(void 0,arguments);return t&&trackHookChanges(n,!0===t?{}:t,a,e,o),a}}));Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){r=e&&_objectSpread2({},e,{},e.origHooks)},get:function(){return r&&_objectSpread2({},r,{},f,{origHooks:r})}}),o.trackHooks&&o.trackExtraHooks.forEach((function(t){var r=_slicedToArray(t,2),n=r[0],i=r[1],a=n[i],f=i[0].toUpperCase()+i.slice(1),s=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var f=a.call.apply(a,[this].concat(r));return trackHookChanges(i,{},f,e,o),f};Object.defineProperty(s,"name",{value:f,writable:!1}),Object.assign(s,{originalHook:a}),n[i]=s}))}return e.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(e,{createElement:n,createFactory:i}),a=null,Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:r}),o.trackExtraHooks.forEach((function(e){var t=_slicedToArray(e,2),r=t[0],o=t[1];r[o]=r[o].originalHook})),delete e.__REVERT_WHY_DID_YOU_RENDER__},e}whyDidYouRender.defaultNotifier=defaultNotifier,module.exports=whyDidYouRender; | ||
//# sourceMappingURL=whyDidYouRender.min.js.map |
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
@@ -55,3 +55,3 @@ | ||
if (i % 2) { | ||
ownKeys(source, true).forEach(function (key) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
@@ -62,3 +62,3 @@ }); | ||
} else { | ||
ownKeys(source).forEach(function (key) { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
@@ -72,2 +72,6 @@ }); | ||
function _slicedToArray(arr, i) { | ||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); | ||
} | ||
function _toConsumableArray(arr) { | ||
@@ -85,2 +89,6 @@ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); | ||
function _arrayWithHoles(arr) { | ||
if (Array.isArray(arr)) return arr; | ||
} | ||
function _iterableToArray(iter) { | ||
@@ -90,2 +98,32 @@ if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); | ||
function _iterableToArrayLimit(arr, i) { | ||
if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { | ||
return; | ||
} | ||
var _arr = []; | ||
var _n = true; | ||
var _d = false; | ||
var _e = undefined; | ||
try { | ||
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { | ||
_arr.push(_s.value); | ||
if (i && _arr.length === i) break; | ||
} | ||
} catch (err) { | ||
_d = true; | ||
_e = err; | ||
} finally { | ||
try { | ||
if (!_n && _i["return"] != null) _i["return"](); | ||
} finally { | ||
if (_d) throw _e; | ||
} | ||
} | ||
return _arr; | ||
} | ||
function _nonIterableSpread() { | ||
@@ -95,2 +133,6 @@ throw new TypeError("Invalid attempt to spread non-iterable instance"); | ||
function _nonIterableRest() { | ||
throw new TypeError("Invalid attempt to destructure non-iterable instance"); | ||
} | ||
var diffTypes = { | ||
@@ -283,3 +325,4 @@ 'different': 'different', | ||
diffNameColor: 'blue', | ||
diffPathColor: 'red' | ||
diffPathColor: 'red', | ||
trackExtraHooks: [] | ||
}, userOptions); | ||
@@ -494,3 +537,8 @@ } | ||
function shouldTrack(Component, displayName, options) { | ||
function shouldTrack(_ref) { | ||
var Component = _ref.Component, | ||
displayName = _ref.displayName, | ||
options = _ref.options, | ||
isHookChange = _ref.isHookChange; | ||
if (shouldExclude(displayName, options)) { | ||
@@ -500,3 +548,3 @@ return false; | ||
return !!(Component.whyDidYouRender || shouldInclude(displayName, options)); | ||
return !!(Component.whyDidYouRender || shouldInclude(displayName, options)) && !(isHookChange && Component.whyDidYouRender && Component.whyDidYouRender.trackHooks === false); | ||
} | ||
@@ -670,7 +718,7 @@ | ||
var hookPath = _ref.path; | ||
var nextHook = hookResult; | ||
var ComponentHookDispatchedFromInstance = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current; | ||
var prevHookResultRef = React.useRef(); | ||
if (!ComponentHookDispatchedFromInstance) { | ||
return nextHook; | ||
return hookResult; | ||
} | ||
@@ -680,13 +728,17 @@ | ||
var displayName = getDisplayName(Component); | ||
var isShouldTrack = shouldTrack(Component, displayName, options); | ||
var isShouldTrack = shouldTrack({ | ||
Component: Component, | ||
displayName: displayName, | ||
options: options, | ||
isHookChange: true | ||
}); | ||
if (!isShouldTrack) { | ||
return nextHook; | ||
return hookResult; | ||
} | ||
var ref = React.useRef(); | ||
var prevHook = ref.current; | ||
ref.current = nextHook; | ||
var prevHookResult = prevHookResultRef.current; | ||
prevHookResultRef.current = hookResult; | ||
if (prevHook) { | ||
if (prevHookResult) { | ||
var notification = getUpdateInfo({ | ||
@@ -696,4 +748,4 @@ Component: Component, | ||
hookName: hookName, | ||
prevHook: hookPath ? _get(prevHook, hookPath) : prevHook, | ||
nextHook: hookPath ? _get(nextHook, hookPath) : nextHook, | ||
prevHook: hookPath ? _get(prevHookResult, hookPath) : prevHookResult, | ||
nextHook: hookPath ? _get(hookResult, hookPath) : hookResult, | ||
options: options | ||
@@ -707,3 +759,3 @@ }); | ||
return ref.current; | ||
return hookResult; | ||
} | ||
@@ -763,3 +815,7 @@ | ||
try { | ||
isShouldTrack = (typeof componentNameOrComponent === 'function' || isMemoComponent(componentNameOrComponent) || isForwardRefComponent(componentNameOrComponent)) && shouldTrack(componentNameOrComponent, getDisplayName(componentNameOrComponent), options); | ||
isShouldTrack = (typeof componentNameOrComponent === 'function' || isMemoComponent(componentNameOrComponent) || isForwardRefComponent(componentNameOrComponent)) && shouldTrack({ | ||
Component: componentNameOrComponent, | ||
displayName: getDisplayName(componentNameOrComponent), | ||
options: options | ||
}); | ||
@@ -828,2 +884,32 @@ if (isShouldTrack) { | ||
}); | ||
if (options.trackHooks) { | ||
options.trackExtraHooks.forEach(function (_ref2) { | ||
var _ref3 = _slicedToArray(_ref2, 2), | ||
hookParent = _ref3[0], | ||
hookName = _ref3[1]; | ||
var originalHook = hookParent[hookName]; | ||
var newHookName = hookName[0].toUpperCase() + hookName.slice(1); | ||
var newHook = function newHook() { | ||
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
args[_key2] = arguments[_key2]; | ||
} | ||
var hookResult = originalHook.call.apply(originalHook, [this].concat(args)); | ||
trackHookChanges(hookName, {}, hookResult, React, options); | ||
return hookResult; | ||
}; | ||
Object.defineProperty(newHook, 'name', { | ||
value: newHookName, | ||
writable: false | ||
}); | ||
Object.assign(newHook, { | ||
originalHook: originalHook | ||
}); | ||
hookParent[hookName] = newHook; | ||
}); | ||
} | ||
} | ||
@@ -841,2 +927,9 @@ | ||
}); | ||
options.trackExtraHooks.forEach(function (_ref4) { | ||
var _ref5 = _slicedToArray(_ref4, 2), | ||
hookParent = _ref5[0], | ||
hookName = _ref5[1]; | ||
hookParent[hookName] = hookParent[hookName].originalHook; | ||
}); | ||
delete React.__REVERT_WHY_DID_YOU_RENDER__; | ||
@@ -843,0 +936,0 @@ }; |
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
import e from"lodash/mapValues";import r from"lodash/get";import t from"lodash/isString";import n from"lodash/reduce";import o from"lodash/has";import a from"lodash/keys";import i from"lodash/isFunction";import f from"lodash/isRegExp";import s from"lodash/isDate";import c from"lodash/isPlainObject";import u from"lodash/isArray";import p from"lodash/defaults";function l(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function d(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function m(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?d(t,!0).forEach((function(r){l(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):d(t).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function h(e){return function(e){if(Array.isArray(e)){for(var r=0,t=new Array(e.length);r<e.length;r++)t[r]=e[r];return t}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var y,v={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},g="function"==typeof Symbol&&Symbol.for,b=g?Symbol.for("react.memo"):60115,D=g?Symbol.for("react.forward_ref"):60112,_="http://bit.ly/wdyr02",R="http://bit.ly/wdyr3",E=(l(y={},v.different,"different objects."),l(y,v.deepEquals,"different objects that are equal by value."),l(y,v.date,"different date objects with the same value."),l(y,v.regex,"different regular expressions with the same value."),l(y,v.reactElement,"different React elements with the same displayName."),l(y,v.function,"different functions with the same name."),y),O=!1;function k(e){var r=e.Component,t=e.displayName,n=e.hookName,o=e.prefixMessage,a=e.diffObjType,i=e.differences,f=e.values,s=e.options;i&&i.length>0?(s.consoleLog(l({},t,r),"".concat(o," of ").concat(a," changes:")),i.forEach((function(e){var r=e.pathString,t=e.diffType,o=e.prevValue,i=e.nextValue;s.consoleGroup("%c".concat("hook"===a?"[hook ".concat(n," result]"):"".concat(a,"."),"%c").concat(r,"%c"),"color:".concat(s.diffNameColor,";"),"color:".concat(s.diffPathColor,";"),"color:default;"),s.consoleLog("".concat(E[t]," (more info at ").concat(n?R:_,")")),s.consoleLog(l({},"prev ".concat(r),o),"!==",l({},"next ".concat(r),i)),s.consoleGroupEnd()}))):i&&(s.consoleLog(l({},t,r),"".concat(o," the ").concat(a," object itself changed but its values are all equal."),"props"===a?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(_)),s.consoleLog("prev ".concat(a,":"),f.prev," !== ",f.next,":next ".concat(a)))}function N(e){var r=e.Component,t=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook,u=e.reason,p=e.options;if(function(e,r,t){return!O&&(!!t.logOnDifferentValues||(!(!r.whyDidYouRender||!r.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===v.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===v.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===v.different})))))}(u,r,p)){p.consoleGroup("%c".concat(t),"color: ".concat(p.titleColor,";"));var d="Re-rendered because";u.propsDifferences&&(k({Component:r,displayName:t,prefixMessage:d,diffObjType:"props",differences:u.propsDifferences,values:{prev:o,next:f},options:p}),d="And because"),u.stateDifferences&&k({Component:r,displayName:t,prefixMessage:d,diffObjType:"state",differences:u.stateDifferences,values:{prev:a,next:s},options:p}),u.hookDifferences&&k({Component:r,displayName:t,prefixMessage:d,diffObjType:"hook",differences:u.hookDifferences,values:{prev:i,next:c},hookName:n,options:p}),u.propsDifferences||u.stateDifferences||u.hookDifferences||p.consoleLog(l({},t,r),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(_)),p.consoleGroupEnd()}}var S=function(){};function w(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=console.group,n=console.groupEnd;return r.collapseGroups?t=console.groupCollapsed:r.onlyLogs&&(t=console.log,n=S),m({include:null,exclude:null,notifier:r.notifier||((e="hotReloadBufferMs"in r?r.hotReloadBufferMs:500)&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(r){"idle"===r&&(O=!0,setTimeout((function(){O=!1}),e))})),N),onlyLogs:!1,consoleLog:console.log,consoleGroup:t,consoleGroupEnd:n,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red"},r)}function x(e){return e.displayName||e.name||e.type&&x(e.type)||e.render&&x(e.render)||(t(e)?e:void 0)}var T="undefined"!=typeof Element,C="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103,j=function(e){return e.$$typeof===C};function P(e,r,t,n,o){return t.push({diffType:o,pathString:n,prevValue:e,nextValue:r}),o!==v.different}function Y(e,r,t){try{var n=[];return function e(r,t,n){var p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(r===t)return!0;if(!r||!t)return P(r,t,n,p,v.different);if(u(r)&&u(t)){var l=r.length;if(l!==t.length)return P(r,t,n,p,v.different);for(var d=!0,m=l;0!=m--;)e(r[m],t[m],n,"".concat(p,"[").concat(m,"]"))||(d=!1);return P(r,t,n,p,d?v.deepEquals:v.different)}if(s(r)&&s(t))return r.getTime()===t.getTime()?P(r,t,n,p,v.date):P(r,t,n,p,v.different);if(f(r)&&f(t))return r.toString()===t.toString()?P(r,t,n,p,v.regex):P(r,t,n,p,v.different);if(T&&r instanceof Element&&t instanceof Element)return P(r,t,n,p,v.different);if(j(r)&&j(t))return r.type!==t.type?P(r,t,n,p,v.different):P(r,t,n,p,e(r.props,t.props,n,"".concat(p,".props"))?v.reactElement:v.different);if(i(r)&&i(t))return r.name===t.name?P(r,t,n,p,v.function):P(r,t,n,p,v.different);if(c(r)&&c(t)){var h=a(r),y=h.length;if(y!==a(t).length)return P(r,t,n,p,v.different);for(var g=y;0!=g--;)if(!o(t,h[g]))return P(r,t,n,p,v.different);for(var b=!0,D=y;0!=D--;){var _=h[D];e(r[_],t[_],n,"".concat(p,".").concat(_))||(b=!1)}return P(r,t,n,p,b?v.deepEquals:v.different)}return P(r,t,n,p,v.different)}(e,r,n,t),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var H={};function W(e,r){var t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===r)return!1;if(!(void 0===t||t))return Y(e,r);var o=e||H,a=r||H,i=Object.keys(m({},o,{},a));return n(i,(function(e,r){var t=Y(o[r],a[r],r);return t&&(e=[].concat(h(e),h(t))),e}),[])}function L(e,r,t,n,o,a){return{propsDifferences:W(e,n),stateDifferences:W(r,o),hookDifferences:W(t,a,{shallow:!1})}}function I(e){var r=e.Component,t=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,f=e.nextProps,s=e.nextState,c=e.nextHook;return{Component:r,displayName:t,hookName:n,prevProps:o,prevState:a,prevHook:i,nextProps:f,nextState:s,nextHook:c,options:e.options,reason:L(o,a,i,f,s,c)}}function F(e,r,t){return!function(e,r){return r.exclude&&r.exclude.length>0&&r.exclude.some((function(r){return r.test(e)}))}(r,t)&&!(!e.whyDidYouRender&&!function(e,r){return r.include&&r.include.length>0&&r.include.some((function(r){return r.test(e)}))}(r,t))}var A=1;function M(e){return e.prototype&&!!e.prototype.isReactComponent}function V(e){return e.$$typeof===b}function U(e){return e.$$typeof===D}function q(e,r,t,n){class o extends e{constructor(r,t){var n;super(r,t),n=this,this._WDYR={renderNumber:0};var a=super.render||this.render;a!==e.prototype.render&&(this.render=function(){return o.prototype.render.apply(n),a()})}render(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=function(e){for(var r=e&&e._reactInternalFiber;r;){if(r.mode&A)return!0;r=r.return}return!1}(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&n.notifier(I({Component:e,displayName:r,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:n})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),super.render?super.render():null}}return o.displayName=r,p(o,e),o}var G=function(e,r){return function(t){return r.createElement(e,t)}};function $(e,r,t,n,o){var a="string"==typeof e?G(e,n):e;function i(){var e=arguments[0],i=n.useRef(),f=i.current;if(i.current=e,f){var s=I({Component:a,displayName:t,prevProps:f,nextProps:e,options:o});s.reason.propsDifferences&&!(r&&0===s.reason.propsDifferences.length)&&o.notifier(s)}return a.apply(void 0,arguments)}return i.displayName=t,i.ComponentForHooksTracking=a,p(i,a),i}function B(e,t,n,o,a){var i=t.path,f=n,s=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current;if(!s)return f;var c=s.type.ComponentForHooksTracking||s.type,u=x(c);if(!F(c,u,a))return f;var p=o.useRef(),l=p.current;if(p.current=f,l){var d=I({Component:c,displayName:u,hookName:e,prevHook:i?r(l,i):l,nextHook:i?r(f,i):f,options:a});d.reason.hookDifferences&&a.notifier(d)}return p.current}function z(e,r,t,n,o){return V(r)?function(e,r,t,n){var o=e.type,a=M(o),i=U(o),f=i?o.render:o,s=a?q(f,r,0,n):$(f,!0,r,t,n);s.displayName=x(f),s.ComponentForHooksTracking=e,p(s,f);var c=t.memo(i?t.forwardRef(s):s,e.compare);return c.displayName=r,p(c,e),c}(r,t,n,o):U(r)?function(e,r,t,n){var o=e.render,a=V(o),i=a?o.type:o,f=$(i,a,r,t,n);f.displayName=x(i),f.ComponentForHooksTracking=i,p(f,i);var s=t.forwardRef(a?t.memo(f,o.compare):f);return s.displayName=r,p(s,e),s}(r,t,n,o):M(r)?q(r,t,0,o):$(r,!1,t,n,o)}function J(e,r,t,n,o){if(e.has(r))return e.get(r);var a=z(0,r,t,n,o);return e.set(r,a),a}var K={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function Q(r,t){var n,o=w(t),a=r.createElement,i=r.createFactory,f=new WeakMap;if(r.createElement=function(e){for(var t=null,n=null,i=null,s=arguments.length,c=new Array(s>1?s-1:0),u=1;u<s;u++)c[u-1]=arguments[u];try{if(t=("function"==typeof e||V(e)||U(e))&&F(e,x(e),o))return n=e&&e.whyDidYouRender&&e.whyDidYouRender.customName||x(e),i=J(f,e,n,r,o),a.apply(r,[i].concat(c))}catch(r){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:r,componentNameOrComponent:e,rest:c,options:o,isShouldTrack:t,displayName:n,WDYRPatchedComponent:i}})}return a.apply(r,[e].concat(c))},Object.assign(r.createElement,a),r.createFactory=function(e){var t=r.createElement.bind(null,e);return t.type=e,t},Object.assign(r.createFactory,i),o.trackHooks){var s=e(K,(function(e,t){return function(){var a=n[t];if(!a)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var i=a.apply(void 0,arguments);return e&&B(t,!0===e?{}:e,i,r,o),i}}));Object.defineProperty(r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){n=e&&m({},e,{},e.origHooks)},get:function(){return n&&m({},n,{},s,{origHooks:n})}})}return r.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(r,{createElement:a,createFactory:i}),f=null,Object.defineProperty(r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:n}),delete r.__REVERT_WHY_DID_YOU_RENDER__},r}Q.defaultNotifier=N;export default Q; | ||
import e from"lodash/mapValues";import r from"lodash/get";import t from"lodash/isString";import n from"lodash/reduce";import o from"lodash/has";import a from"lodash/keys";import i from"lodash/isFunction";import c from"lodash/isRegExp";import s from"lodash/isDate";import f from"lodash/isPlainObject";import u from"lodash/isArray";import p from"lodash/defaults";function l(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function d(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function m(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?d(Object(t),!0).forEach((function(r){l(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):d(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function h(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var t=[],n=!0,o=!1,a=void 0;try{for(var i,c=e[Symbol.iterator]();!(n=(i=c.next()).done)&&(t.push(i.value),!r||t.length!==r);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw a}}return t}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function y(e){return function(e){if(Array.isArray(e)){for(var r=0,t=new Array(e.length);r<e.length;r++)t[r]=e[r];return t}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var v,g={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},b="function"==typeof Symbol&&Symbol.for,D=b?Symbol.for("react.memo"):60115,_=b?Symbol.for("react.forward_ref"):60112,k="http://bit.ly/wdyr02",E="http://bit.ly/wdyr3",R=(l(v={},g.different,"different objects."),l(v,g.deepEquals,"different objects that are equal by value."),l(v,g.date,"different date objects with the same value."),l(v,g.regex,"different regular expressions with the same value."),l(v,g.reactElement,"different React elements with the same displayName."),l(v,g.function,"different functions with the same name."),v),O=!1;function w(e){var r=e.Component,t=e.displayName,n=e.hookName,o=e.prefixMessage,a=e.diffObjType,i=e.differences,c=e.values,s=e.options;i&&i.length>0?(s.consoleLog(l({},t,r),"".concat(o," of ").concat(a," changes:")),i.forEach((function(e){var r=e.pathString,t=e.diffType,o=e.prevValue,i=e.nextValue;s.consoleGroup("%c".concat("hook"===a?"[hook ".concat(n," result]"):"".concat(a,"."),"%c").concat(r,"%c"),"color:".concat(s.diffNameColor,";"),"color:".concat(s.diffPathColor,";"),"color:default;"),s.consoleLog("".concat(R[t]," (more info at ").concat(n?E:k,")")),s.consoleLog(l({},"prev ".concat(r),o),"!==",l({},"next ".concat(r),i)),s.consoleGroupEnd()}))):i&&(s.consoleLog(l({},t,r),"".concat(o," the ").concat(a," object itself changed but its values are all equal."),"props"===a?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(k)),s.consoleLog("prev ".concat(a,":"),c.prev," !== ",c.next,":next ".concat(a)))}function N(e){var r=e.Component,t=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,c=e.nextProps,s=e.nextState,f=e.nextHook,u=e.reason,p=e.options;if(function(e,r,t){return!O&&(!!t.logOnDifferentValues||(!(!r.whyDidYouRender||!r.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===g.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===g.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===g.different})))))}(u,r,p)){p.consoleGroup("%c".concat(t),"color: ".concat(p.titleColor,";"));var d="Re-rendered because";u.propsDifferences&&(w({Component:r,displayName:t,prefixMessage:d,diffObjType:"props",differences:u.propsDifferences,values:{prev:o,next:c},options:p}),d="And because"),u.stateDifferences&&w({Component:r,displayName:t,prefixMessage:d,diffObjType:"state",differences:u.stateDifferences,values:{prev:a,next:s},options:p}),u.hookDifferences&&w({Component:r,displayName:t,prefixMessage:d,diffObjType:"hook",differences:u.hookDifferences,values:{prev:i,next:f},hookName:n,options:p}),u.propsDifferences||u.stateDifferences||u.hookDifferences||p.consoleLog(l({},t,r),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(k)),p.consoleGroupEnd()}}var S=function(){};function x(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=console.group,n=console.groupEnd;return r.collapseGroups?t=console.groupCollapsed:r.onlyLogs&&(t=console.log,n=S),m({include:null,exclude:null,notifier:r.notifier||((e="hotReloadBufferMs"in r?r.hotReloadBufferMs:500)&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(r){"idle"===r&&(O=!0,setTimeout((function(){O=!1}),e))})),N),onlyLogs:!1,consoleLog:console.log,consoleGroup:t,consoleGroupEnd:n,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red",trackExtraHooks:[]},r)}function C(e){return e.displayName||e.name||e.type&&C(e.type)||e.render&&C(e.render)||(t(e)?e:void 0)}var j="undefined"!=typeof Element,T="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103,H=function(e){return e.$$typeof===T};function P(e,r,t,n,o){return t.push({diffType:o,pathString:n,prevValue:e,nextValue:r}),o!==g.different}function Y(e,r,t){try{var n=[];return function e(r,t,n){var p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(r===t)return!0;if(!r||!t)return P(r,t,n,p,g.different);if(u(r)&&u(t)){var l=r.length;if(l!==t.length)return P(r,t,n,p,g.different);for(var d=!0,m=l;0!=m--;)e(r[m],t[m],n,"".concat(p,"[").concat(m,"]"))||(d=!1);return P(r,t,n,p,d?g.deepEquals:g.different)}if(s(r)&&s(t))return r.getTime()===t.getTime()?P(r,t,n,p,g.date):P(r,t,n,p,g.different);if(c(r)&&c(t))return r.toString()===t.toString()?P(r,t,n,p,g.regex):P(r,t,n,p,g.different);if(j&&r instanceof Element&&t instanceof Element)return P(r,t,n,p,g.different);if(H(r)&&H(t))return r.type!==t.type?P(r,t,n,p,g.different):P(r,t,n,p,e(r.props,t.props,n,"".concat(p,".props"))?g.reactElement:g.different);if(i(r)&&i(t))return r.name===t.name?P(r,t,n,p,g.function):P(r,t,n,p,g.different);if(f(r)&&f(t)){var h=a(r),y=h.length;if(y!==a(t).length)return P(r,t,n,p,g.different);for(var v=y;0!=v--;)if(!o(t,h[v]))return P(r,t,n,p,g.different);for(var b=!0,D=y;0!=D--;){var _=h[D];e(r[_],t[_],n,"".concat(p,".").concat(_))||(b=!1)}return P(r,t,n,p,b?g.deepEquals:g.different)}return P(r,t,n,p,g.different)}(e,r,n,t),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var W={};function L(e,r){var t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===r)return!1;if(!(void 0===t||t))return Y(e,r);var o=e||W,a=r||W,i=Object.keys(m({},o,{},a));return n(i,(function(e,r){var t=Y(o[r],a[r],r);return t&&(e=[].concat(y(e),y(t))),e}),[])}function A(e,r,t,n,o,a){return{propsDifferences:L(e,n),stateDifferences:L(r,o),hookDifferences:L(t,a,{shallow:!1})}}function I(e){var r=e.Component,t=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,c=e.nextProps,s=e.nextState,f=e.nextHook;return{Component:r,displayName:t,hookName:n,prevProps:o,prevState:a,prevHook:i,nextProps:c,nextState:s,nextHook:f,options:e.options,reason:A(o,a,i,c,s,f)}}function F(e){var r=e.Component,t=e.displayName,n=e.options,o=e.isHookChange;return!function(e,r){return r.exclude&&r.exclude.length>0&&r.exclude.some((function(r){return r.test(e)}))}(t,n)&&!(!r.whyDidYouRender&&!function(e,r){return r.include&&r.include.length>0&&r.include.some((function(r){return r.test(e)}))}(t,n)||o&&r.whyDidYouRender&&!1===r.whyDidYouRender.trackHooks)}var M=1;function U(e){return e.prototype&&!!e.prototype.isReactComponent}function V(e){return e.$$typeof===D}function q(e){return e.$$typeof===_}function G(e,r,t,n){class o extends e{constructor(r,t){var n;super(r,t),n=this,this._WDYR={renderNumber:0};var a=super.render||this.render;a!==e.prototype.render&&(this.render=function(){return o.prototype.render.apply(n),a()})}render(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=function(e){for(var r=e&&e._reactInternalFiber;r;){if(r.mode&M)return!0;r=r.return}return!1}(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&n.notifier(I({Component:e,displayName:r,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:n})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),super.render?super.render():null}}return o.displayName=r,p(o,e),o}var $=function(e,r){return function(t){return r.createElement(e,t)}};function B(e,r,t,n,o){var a="string"==typeof e?$(e,n):e;function i(){var e=arguments[0],i=n.useRef(),c=i.current;if(i.current=e,c){var s=I({Component:a,displayName:t,prevProps:c,nextProps:e,options:o});s.reason.propsDifferences&&!(r&&0===s.reason.propsDifferences.length)&&o.notifier(s)}return a.apply(void 0,arguments)}return i.displayName=t,i.ComponentForHooksTracking=a,p(i,a),i}function z(e,t,n,o,a){var i=t.path,c=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current,s=o.useRef();if(!c)return n;var f=c.type.ComponentForHooksTracking||c.type,u=C(f);if(!F({Component:f,displayName:u,options:a,isHookChange:!0}))return n;var p=s.current;if(s.current=n,p){var l=I({Component:f,displayName:u,hookName:e,prevHook:i?r(p,i):p,nextHook:i?r(n,i):n,options:a});l.reason.hookDifferences&&a.notifier(l)}return n}function J(e,r,t,n,o){return V(r)?function(e,r,t,n){var o=e.type,a=U(o),i=q(o),c=i?o.render:o,s=a?G(c,r,0,n):B(c,!0,r,t,n);s.displayName=C(c),s.ComponentForHooksTracking=e,p(s,c);var f=t.memo(i?t.forwardRef(s):s,e.compare);return f.displayName=r,p(f,e),f}(r,t,n,o):q(r)?function(e,r,t,n){var o=e.render,a=V(o),i=a?o.type:o,c=B(i,a,r,t,n);c.displayName=C(i),c.ComponentForHooksTracking=i,p(c,i);var s=t.forwardRef(a?t.memo(c,o.compare):c);return s.displayName=r,p(s,e),s}(r,t,n,o):U(r)?G(r,t,0,o):B(r,!1,t,n,o)}function K(e,r,t,n,o){if(e.has(r))return e.get(r);var a=J(0,r,t,n,o);return e.set(r,a),a}var Q={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function X(r,t){var n,o=x(t),a=r.createElement,i=r.createFactory,c=new WeakMap;if(r.createElement=function(e){for(var t=null,n=null,i=null,s=arguments.length,f=new Array(s>1?s-1:0),u=1;u<s;u++)f[u-1]=arguments[u];try{if(t=("function"==typeof e||V(e)||q(e))&&F({Component:e,displayName:C(e),options:o}))return n=e&&e.whyDidYouRender&&e.whyDidYouRender.customName||C(e),i=K(c,e,n,r,o),a.apply(r,[i].concat(f))}catch(r){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:r,componentNameOrComponent:e,rest:f,options:o,isShouldTrack:t,displayName:n,WDYRPatchedComponent:i}})}return a.apply(r,[e].concat(f))},Object.assign(r.createElement,a),r.createFactory=function(e){var t=r.createElement.bind(null,e);return t.type=e,t},Object.assign(r.createFactory,i),o.trackHooks){var s=e(Q,(function(e,t){return function(){var a=n[t];if(!a)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var i=a.apply(void 0,arguments);return e&&z(t,!0===e?{}:e,i,r,o),i}}));Object.defineProperty(r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){n=e&&m({},e,{},e.origHooks)},get:function(){return n&&m({},n,{},s,{origHooks:n})}}),o.trackHooks&&o.trackExtraHooks.forEach((function(e){var t=h(e,2),n=t[0],a=t[1],i=n[a],c=a[0].toUpperCase()+a.slice(1),s=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var c=i.call.apply(i,[this].concat(t));return z(a,{},c,r,o),c};Object.defineProperty(s,"name",{value:c,writable:!1}),Object.assign(s,{originalHook:i}),n[a]=s}))}return r.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(r,{createElement:a,createFactory:i}),c=null,Object.defineProperty(r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:n}),o.trackExtraHooks.forEach((function(e){var r=h(e,2),t=r[0],n=r[1];t[n]=t[n].originalHook})),delete r.__REVERT_WHY_DID_YOU_RENDER__},r}X.defaultNotifier=N;export default X; | ||
//# sourceMappingURL=whyDidYouRender.min.js.map |
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).whyDidYouRender=t()}(this,(function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?t(o,!0).forEach((function(t){e(r,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):t(o).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}))}return r}function n(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function a(e,t){return e(t={exports:{}},t.exports),t.exports}var i="object"==typeof o&&o&&o.Object===Object&&o,u="object"==typeof self&&self&&self.Object===Object&&self,c=i||u||Function("return this")(),f=c.Symbol,s=Object.prototype,l=s.hasOwnProperty,p=s.toString,v=f?f.toStringTag:void 0;var d=function(e){var t=l.call(e,v),r=e[v];try{e[v]=void 0;var n=!0}catch(e){}var o=p.call(e);return n&&(t?e[v]=r:delete e[v]),o},h=Object.prototype.toString;var y=function(e){return h.call(e)},b="[object Null]",_="[object Undefined]",g=f?f.toStringTag:void 0;var m=function(e){return null==e?void 0===e?_:b:g&&g in Object(e)?d(e):y(e)};var j=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},O="[object AsyncFunction]",w="[object Function]",D="[object GeneratorFunction]",E="[object Proxy]";var S,R=function(e){if(!j(e))return!1;var t=m(e);return t==w||t==D||t==O||t==E},k=c["__core-js_shared__"],x=(S=/[^.]+$/.exec(k&&k.keys&&k.keys.IE_PROTO||""))?"Symbol(src)_1."+S:"";var P=function(e){return!!x&&x in e},N=Function.prototype.toString;var T=function(e){if(null!=e){try{return N.call(e)}catch(e){}try{return e+""}catch(e){}}return""},A=/^\[object .+?Constructor\]$/,C=Function.prototype,Y=Object.prototype,z=C.toString,L=Y.hasOwnProperty,W=RegExp("^"+z.call(L).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var F=function(e){return!(!j(e)||P(e))&&(R(e)?W:A).test(T(e))};var M=function(e,t){return null==e?void 0:e[t]};var H=function(e,t){var r=M(e,t);return F(r)?r:void 0},I=function(){try{var e=H(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();var $=function(e,t,r){"__proto__"==t&&I?I(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r};var U=function(e){return function(t,r,n){for(var o=-1,a=Object(t),i=n(t),u=i.length;u--;){var c=i[e?u:++o];if(!1===r(a[c],c,a))break}return t}}();var V=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};var B=function(e){return null!=e&&"object"==typeof e},q="[object Arguments]";var G=function(e){return B(e)&&m(e)==q},J=Object.prototype,K=J.hasOwnProperty,Q=J.propertyIsEnumerable,X=G(function(){return arguments}())?G:function(e){return B(e)&&K.call(e,"callee")&&!Q.call(e,"callee")},Z=Array.isArray;var ee=function(){return!1},te=a((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r?c.Buffer:void 0,a=(o?o.isBuffer:void 0)||ee;e.exports=a})),re=9007199254740991,ne=/^(?:0|[1-9]\d*)$/;var oe=function(e,t){var r=typeof e;return!!(t=null==t?re:t)&&("number"==r||"symbol"!=r&&ne.test(e))&&e>-1&&e%1==0&&e<t},ae=9007199254740991;var ie=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=ae},ue={};ue["[object Float32Array]"]=ue["[object Float64Array]"]=ue["[object Int8Array]"]=ue["[object Int16Array]"]=ue["[object Int32Array]"]=ue["[object Uint8Array]"]=ue["[object Uint8ClampedArray]"]=ue["[object Uint16Array]"]=ue["[object Uint32Array]"]=!0,ue["[object Arguments]"]=ue["[object Array]"]=ue["[object ArrayBuffer]"]=ue["[object Boolean]"]=ue["[object DataView]"]=ue["[object Date]"]=ue["[object Error]"]=ue["[object Function]"]=ue["[object Map]"]=ue["[object Number]"]=ue["[object Object]"]=ue["[object RegExp]"]=ue["[object Set]"]=ue["[object String]"]=ue["[object WeakMap]"]=!1;var ce=function(e){return B(e)&&ie(e.length)&&!!ue[m(e)]};var fe=function(e){return function(t){return e(t)}},se=a((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&i.process,a=function(){try{var e=n&&n.require&&n.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=a})),le=se&&se.isTypedArray,pe=le?fe(le):ce,ve=Object.prototype.hasOwnProperty;var de=function(e,t){var r=Z(e),n=!r&&X(e),o=!r&&!n&&te(e),a=!r&&!n&&!o&&pe(e),i=r||n||o||a,u=i?V(e.length,String):[],c=u.length;for(var f in e)!t&&!ve.call(e,f)||i&&("length"==f||o&&("offset"==f||"parent"==f)||a&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||oe(f,c))||u.push(f);return u},he=Object.prototype;var ye=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||he)};var be=function(e,t){return function(r){return e(t(r))}},_e=be(Object.keys,Object),ge=Object.prototype.hasOwnProperty;var me=function(e){if(!ye(e))return _e(e);var t=[];for(var r in Object(e))ge.call(e,r)&&"constructor"!=r&&t.push(r);return t};var je=function(e){return null!=e&&ie(e.length)&&!R(e)};var Oe=function(e){return je(e)?de(e):me(e)};var we=function(e,t){return e&&U(e,t,Oe)};var De=function(){this.__data__=[],this.size=0};var Ee=function(e,t){return e===t||e!=e&&t!=t};var Se=function(e,t){for(var r=e.length;r--;)if(Ee(e[r][0],t))return r;return-1},Re=Array.prototype.splice;var ke=function(e){var t=this.__data__,r=Se(t,e);return!(r<0)&&(r==t.length-1?t.pop():Re.call(t,r,1),--this.size,!0)};var xe=function(e){var t=this.__data__,r=Se(t,e);return r<0?void 0:t[r][1]};var Pe=function(e){return Se(this.__data__,e)>-1};var Ne=function(e,t){var r=this.__data__,n=Se(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function Te(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Te.prototype.clear=De,Te.prototype.delete=ke,Te.prototype.get=xe,Te.prototype.has=Pe,Te.prototype.set=Ne;var Ae=Te;var Ce=function(){this.__data__=new Ae,this.size=0};var Ye=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};var ze=function(e){return this.__data__.get(e)};var Le=function(e){return this.__data__.has(e)},We=H(c,"Map"),Fe=H(Object,"create");var Me=function(){this.__data__=Fe?Fe(null):{},this.size=0};var He=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Ie="__lodash_hash_undefined__",$e=Object.prototype.hasOwnProperty;var Ue=function(e){var t=this.__data__;if(Fe){var r=t[e];return r===Ie?void 0:r}return $e.call(t,e)?t[e]:void 0},Ve=Object.prototype.hasOwnProperty;var Be=function(e){var t=this.__data__;return Fe?void 0!==t[e]:Ve.call(t,e)},qe="__lodash_hash_undefined__";var Ge=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Fe&&void 0===t?qe:t,this};function Je(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Je.prototype.clear=Me,Je.prototype.delete=He,Je.prototype.get=Ue,Je.prototype.has=Be,Je.prototype.set=Ge;var Ke=Je;var Qe=function(){this.size=0,this.__data__={hash:new Ke,map:new(We||Ae),string:new Ke}};var Xe=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var Ze=function(e,t){var r=e.__data__;return Xe(t)?r["string"==typeof t?"string":"hash"]:r.map};var et=function(e){var t=Ze(this,e).delete(e);return this.size-=t?1:0,t};var tt=function(e){return Ze(this,e).get(e)};var rt=function(e){return Ze(this,e).has(e)};var nt=function(e,t){var r=Ze(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function ot(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}ot.prototype.clear=Qe,ot.prototype.delete=et,ot.prototype.get=tt,ot.prototype.has=rt,ot.prototype.set=nt;var at=ot,it=200;var ut=function(e,t){var r=this.__data__;if(r instanceof Ae){var n=r.__data__;if(!We||n.length<it-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new at(n)}return r.set(e,t),this.size=r.size,this};function ct(e){var t=this.__data__=new Ae(e);this.size=t.size}ct.prototype.clear=Ce,ct.prototype.delete=Ye,ct.prototype.get=ze,ct.prototype.has=Le,ct.prototype.set=ut;var ft=ct,st="__lodash_hash_undefined__";var lt=function(e){return this.__data__.set(e,st),this};var pt=function(e){return this.__data__.has(e)};function vt(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new at;++t<r;)this.add(e[t])}vt.prototype.add=vt.prototype.push=lt,vt.prototype.has=pt;var dt=vt;var ht=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1};var yt=function(e,t){return e.has(t)},bt=1,_t=2;var gt=function(e,t,r,n,o,a){var i=r&bt,u=e.length,c=t.length;if(u!=c&&!(i&&c>u))return!1;var f=a.get(e);if(f&&a.get(t))return f==t;var s=-1,l=!0,p=r&_t?new dt:void 0;for(a.set(e,t),a.set(t,e);++s<u;){var v=e[s],d=t[s];if(n)var h=i?n(d,v,s,t,e,a):n(v,d,s,e,t,a);if(void 0!==h){if(h)continue;l=!1;break}if(p){if(!ht(t,(function(e,t){if(!yt(p,t)&&(v===e||o(v,e,r,n,a)))return p.push(t)}))){l=!1;break}}else if(v!==d&&!o(v,d,r,n,a)){l=!1;break}}return a.delete(e),a.delete(t),l},mt=c.Uint8Array;var jt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r};var Ot=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},wt=1,Dt=2,Et="[object Boolean]",St="[object Date]",Rt="[object Error]",kt="[object Map]",xt="[object Number]",Pt="[object RegExp]",Nt="[object Set]",Tt="[object String]",At="[object Symbol]",Ct="[object ArrayBuffer]",Yt="[object DataView]",zt=f?f.prototype:void 0,Lt=zt?zt.valueOf:void 0;var Wt=function(e,t,r,n,o,a,i){switch(r){case Yt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Ct:return!(e.byteLength!=t.byteLength||!a(new mt(e),new mt(t)));case Et:case St:case xt:return Ee(+e,+t);case Rt:return e.name==t.name&&e.message==t.message;case Pt:case Tt:return e==t+"";case kt:var u=jt;case Nt:var c=n&wt;if(u||(u=Ot),e.size!=t.size&&!c)return!1;var f=i.get(e);if(f)return f==t;n|=Dt,i.set(e,t);var s=gt(u(e),u(t),n,o,a,i);return i.delete(e),s;case At:if(Lt)return Lt.call(e)==Lt.call(t)}return!1};var Ft=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e};var Mt=function(e,t,r){var n=t(e);return Z(e)?n:Ft(n,r(e))};var Ht=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a};var It=function(){return[]},$t=Object.prototype.propertyIsEnumerable,Ut=Object.getOwnPropertySymbols,Vt=Ut?function(e){return null==e?[]:(e=Object(e),Ht(Ut(e),(function(t){return $t.call(e,t)})))}:It;var Bt=function(e){return Mt(e,Oe,Vt)},qt=1,Gt=Object.prototype.hasOwnProperty;var Jt=function(e,t,r,n,o,a){var i=r&qt,u=Bt(e),c=u.length;if(c!=Bt(t).length&&!i)return!1;for(var f=c;f--;){var s=u[f];if(!(i?s in t:Gt.call(t,s)))return!1}var l=a.get(e);if(l&&a.get(t))return l==t;var p=!0;a.set(e,t),a.set(t,e);for(var v=i;++f<c;){var d=e[s=u[f]],h=t[s];if(n)var y=i?n(h,d,s,t,e,a):n(d,h,s,e,t,a);if(!(void 0===y?d===h||o(d,h,r,n,a):y)){p=!1;break}v||(v="constructor"==s)}if(p&&!v){var b=e.constructor,_=t.constructor;b!=_&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof _&&_ instanceof _)&&(p=!1)}return a.delete(e),a.delete(t),p},Kt=H(c,"DataView"),Qt=H(c,"Promise"),Xt=H(c,"Set"),Zt=H(c,"WeakMap"),er=T(Kt),tr=T(We),rr=T(Qt),nr=T(Xt),or=T(Zt),ar=m;(Kt&&"[object DataView]"!=ar(new Kt(new ArrayBuffer(1)))||We&&"[object Map]"!=ar(new We)||Qt&&"[object Promise]"!=ar(Qt.resolve())||Xt&&"[object Set]"!=ar(new Xt)||Zt&&"[object WeakMap]"!=ar(new Zt))&&(ar=function(e){var t=m(e),r="[object Object]"==t?e.constructor:void 0,n=r?T(r):"";if(n)switch(n){case er:return"[object DataView]";case tr:return"[object Map]";case rr:return"[object Promise]";case nr:return"[object Set]";case or:return"[object WeakMap]"}return t});var ir=ar,ur=1,cr="[object Arguments]",fr="[object Array]",sr="[object Object]",lr=Object.prototype.hasOwnProperty;var pr=function(e,t,r,n,o,a){var i=Z(e),u=Z(t),c=i?fr:ir(e),f=u?fr:ir(t),s=(c=c==cr?sr:c)==sr,l=(f=f==cr?sr:f)==sr,p=c==f;if(p&&te(e)){if(!te(t))return!1;i=!0,s=!1}if(p&&!s)return a||(a=new ft),i||pe(e)?gt(e,t,r,n,o,a):Wt(e,t,c,r,n,o,a);if(!(r&ur)){var v=s&&lr.call(e,"__wrapped__"),d=l&&lr.call(t,"__wrapped__");if(v||d){var h=v?e.value():e,y=d?t.value():t;return a||(a=new ft),o(h,y,r,n,a)}}return!!p&&(a||(a=new ft),Jt(e,t,r,n,o,a))};var vr=function e(t,r,n,o,a){return t===r||(null==t||null==r||!B(t)&&!B(r)?t!=t&&r!=r:pr(t,r,n,o,e,a))},dr=1,hr=2;var yr=function(e,t,r,n){var o=r.length,a=o,i=!n;if(null==e)return!a;for(e=Object(e);o--;){var u=r[o];if(i&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<a;){var c=(u=r[o])[0],f=e[c],s=u[1];if(i&&u[2]){if(void 0===f&&!(c in e))return!1}else{var l=new ft;if(n)var p=n(f,s,c,e,t,l);if(!(void 0===p?vr(s,f,dr|hr,n,l):p))return!1}}return!0};var br=function(e){return e==e&&!j(e)};var _r=function(e){for(var t=Oe(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,br(o)]}return t};var gr=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}};var mr=function(e){var t=_r(e);return 1==t.length&&t[0][2]?gr(t[0][0],t[0][1]):function(r){return r===e||yr(r,e,t)}},jr="[object Symbol]";var Or=function(e){return"symbol"==typeof e||B(e)&&m(e)==jr},wr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Dr=/^\w*$/;var Er=function(e,t){if(Z(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!Or(e))||(Dr.test(e)||!wr.test(e)||null!=t&&e in Object(t))},Sr="Expected a function";function Rr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(Sr);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(Rr.Cache||at),r}Rr.Cache=at;var kr=Rr,xr=500;var Pr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Nr=/\\(\\)?/g,Tr=function(e){var t=kr(e,(function(e){return r.size===xr&&r.clear(),e})),r=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Pr,(function(e,r,n,o){t.push(n?o.replace(Nr,"$1"):r||e)})),t}));var Ar=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o},Cr=1/0,Yr=f?f.prototype:void 0,zr=Yr?Yr.toString:void 0;var Lr=function e(t){if("string"==typeof t)return t;if(Z(t))return Ar(t,e)+"";if(Or(t))return zr?zr.call(t):"";var r=t+"";return"0"==r&&1/t==-Cr?"-0":r};var Wr=function(e){return null==e?"":Lr(e)};var Fr=function(e,t){return Z(e)?e:Er(e,t)?[e]:Tr(Wr(e))},Mr=1/0;var Hr=function(e){if("string"==typeof e||Or(e))return e;var t=e+"";return"0"==t&&1/e==-Mr?"-0":t};var Ir=function(e,t){for(var r=0,n=(t=Fr(t,e)).length;null!=e&&r<n;)e=e[Hr(t[r++])];return r&&r==n?e:void 0};var $r=function(e,t,r){var n=null==e?void 0:Ir(e,t);return void 0===n?r:n};var Ur=function(e,t){return null!=e&&t in Object(e)};var Vr=function(e,t,r){for(var n=-1,o=(t=Fr(t,e)).length,a=!1;++n<o;){var i=Hr(t[n]);if(!(a=null!=e&&r(e,i)))break;e=e[i]}return a||++n!=o?a:!!(o=null==e?0:e.length)&&ie(o)&&oe(i,o)&&(Z(e)||X(e))};var Br=function(e,t){return null!=e&&Vr(e,t,Ur)},qr=1,Gr=2;var Jr=function(e,t){return Er(e)&&br(t)?gr(Hr(e),t):function(r){var n=$r(r,e);return void 0===n&&n===t?Br(r,e):vr(t,n,qr|Gr)}};var Kr=function(e){return e};var Qr=function(e){return function(t){return null==t?void 0:t[e]}};var Xr=function(e){return function(t){return Ir(t,e)}};var Zr=function(e){return Er(e)?Qr(Hr(e)):Xr(e)};var en=function(e){return"function"==typeof e?e:null==e?Kr:"object"==typeof e?Z(e)?Jr(e[0],e[1]):mr(e):Zr(e)};var tn,rn=function(e,t){var r={};return t=en(t),we(e,(function(e,n,o){$(r,n,t(e,n,o))})),r},nn={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},on="function"==typeof Symbol&&Symbol.for,an=on?Symbol.for("react.memo"):60115,un=on?Symbol.for("react.forward_ref"):60112,cn="http://bit.ly/wdyr02",fn="http://bit.ly/wdyr3",sn=(e(tn={},nn.different,"different objects."),e(tn,nn.deepEquals,"different objects that are equal by value."),e(tn,nn.date,"different date objects with the same value."),e(tn,nn.regex,"different regular expressions with the same value."),e(tn,nn.reactElement,"different React elements with the same displayName."),e(tn,nn.function,"different functions with the same name."),tn),ln=!1;function pn(t){var r=t.Component,n=t.displayName,o=t.hookName,a=t.prefixMessage,i=t.diffObjType,u=t.differences,c=t.values,f=t.options;u&&u.length>0?(f.consoleLog(e({},n,r),"".concat(a," of ").concat(i," changes:")),u.forEach((function(t){var r=t.pathString,n=t.diffType,a=t.prevValue,u=t.nextValue;f.consoleGroup("%c".concat("hook"===i?"[hook ".concat(o," result]"):"".concat(i,"."),"%c").concat(r,"%c"),"color:".concat(f.diffNameColor,";"),"color:".concat(f.diffPathColor,";"),"color:default;"),f.consoleLog("".concat(sn[n]," (more info at ").concat(o?fn:cn,")")),f.consoleLog(e({},"prev ".concat(r),a),"!==",e({},"next ".concat(r),u)),f.consoleGroupEnd()}))):u&&(f.consoleLog(e({},n,r),"".concat(a," the ").concat(i," object itself changed but its values are all equal."),"props"===i?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(cn)),f.consoleLog("prev ".concat(i,":"),c.prev," !== ",c.next,":next ".concat(i)))}function vn(t){var r=t.Component,n=t.displayName,o=t.hookName,a=t.prevProps,i=t.prevState,u=t.prevHook,c=t.nextProps,f=t.nextState,s=t.nextHook,l=t.reason,p=t.options;if(function(e,t,r){return!ln&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===nn.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===nn.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===nn.different})))))}(l,r,p)){p.consoleGroup("%c".concat(n),"color: ".concat(p.titleColor,";"));var v="Re-rendered because";l.propsDifferences&&(pn({Component:r,displayName:n,prefixMessage:v,diffObjType:"props",differences:l.propsDifferences,values:{prev:a,next:c},options:p}),v="And because"),l.stateDifferences&&pn({Component:r,displayName:n,prefixMessage:v,diffObjType:"state",differences:l.stateDifferences,values:{prev:i,next:f},options:p}),l.hookDifferences&&pn({Component:r,displayName:n,prefixMessage:v,diffObjType:"hook",differences:l.hookDifferences,values:{prev:u,next:s},hookName:o,options:p}),l.propsDifferences||l.stateDifferences||l.hookDifferences||p.consoleLog(e({},n,r),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(cn)),p.consoleGroupEnd()}}var dn=function(){};function hn(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=console.group,o=console.groupEnd;return t.collapseGroups?n=console.groupCollapsed:t.onlyLogs&&(n=console.log,o=dn),r({include:null,exclude:null,notifier:t.notifier||((e="hotReloadBufferMs"in t?t.hotReloadBufferMs:500)&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(ln=!0,setTimeout((function(){ln=!1}),e))})),vn),onlyLogs:!1,consoleLog:console.log,consoleGroup:n,consoleGroupEnd:o,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red"},t)}var yn="[object String]";var bn=function(e){return"string"==typeof e||!Z(e)&&B(e)&&m(e)==yn};function _n(e){return e.displayName||e.name||e.type&&_n(e.type)||e.render&&_n(e.render)||(bn(e)?e:void 0)}var gn=function(e,t,r,n){var o=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++o]);++o<a;)r=t(r,e[o],o,e);return r};var mn=function(e,t){return function(r,n){if(null==r)return r;if(!je(r))return e(r,n);for(var o=r.length,a=t?o:-1,i=Object(r);(t?a--:++a<o)&&!1!==n(i[a],a,i););return r}}(we);var jn=function(e,t,r,n,o){return o(e,(function(e,o,a){r=n?(n=!1,e):t(r,e,o,a)})),r};var On=function(e,t,r){var n=Z(e)?gn:jn,o=arguments.length<3;return n(e,en(t),r,o,mn)},wn=Object.prototype.hasOwnProperty;var Dn=function(e,t){return null!=e&&wn.call(e,t)};var En=function(e,t){return null!=e&&Vr(e,t,Dn)},Sn="[object RegExp]";var Rn=function(e){return B(e)&&m(e)==Sn},kn=se&&se.isRegExp,xn=kn?fe(kn):Rn,Pn="[object Date]";var Nn=function(e){return B(e)&&m(e)==Pn},Tn=se&&se.isDate,An=Tn?fe(Tn):Nn,Cn=be(Object.getPrototypeOf,Object),Yn="[object Object]",zn=Function.prototype,Ln=Object.prototype,Wn=zn.toString,Fn=Ln.hasOwnProperty,Mn=Wn.call(Object);var Hn=function(e){if(!B(e)||m(e)!=Yn)return!1;var t=Cn(e);if(null===t)return!0;var r=Fn.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Wn.call(r)==Mn},In="undefined"!=typeof Element,$n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103,Un=function(e){return e.$$typeof===$n};function Vn(e,t,r,n,o){return r.push({diffType:o,pathString:n,prevValue:e,nextValue:t}),o!==nn.different}function Bn(e,t,r){try{var n=[];return function e(t,r,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(t===r)return!0;if(!t||!r)return Vn(t,r,n,o,nn.different);if(Z(t)&&Z(r)){var a=t.length;if(a!==r.length)return Vn(t,r,n,o,nn.different);for(var i=!0,u=a;0!=u--;)e(t[u],r[u],n,"".concat(o,"[").concat(u,"]"))||(i=!1);return Vn(t,r,n,o,i?nn.deepEquals:nn.different)}if(An(t)&&An(r))return t.getTime()===r.getTime()?Vn(t,r,n,o,nn.date):Vn(t,r,n,o,nn.different);if(xn(t)&&xn(r))return t.toString()===r.toString()?Vn(t,r,n,o,nn.regex):Vn(t,r,n,o,nn.different);if(In&&t instanceof Element&&r instanceof Element)return Vn(t,r,n,o,nn.different);if(Un(t)&&Un(r))return t.type!==r.type?Vn(t,r,n,o,nn.different):Vn(t,r,n,o,e(t.props,r.props,n,"".concat(o,".props"))?nn.reactElement:nn.different);if(R(t)&&R(r))return t.name===r.name?Vn(t,r,n,o,nn.function):Vn(t,r,n,o,nn.different);if(Hn(t)&&Hn(r)){var c=Oe(t),f=c.length;if(f!==Oe(r).length)return Vn(t,r,n,o,nn.different);for(var s=f;0!=s--;)if(!En(r,c[s]))return Vn(t,r,n,o,nn.different);for(var l=!0,p=f;0!=p--;){var v=c[p];e(t[v],r[v],n,"".concat(o,".").concat(v))||(l=!1)}return Vn(t,r,n,o,l?nn.deepEquals:nn.different)}return Vn(t,r,n,o,nn.different)}(e,t,n,r),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var qn={};function Gn(e,t){var o=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===o||o))return Bn(e,t);var a=e||qn,i=t||qn,u=Object.keys(r({},a,{},i));return On(u,(function(e,t){var r=Bn(a[t],i[t],t);return r&&(e=[].concat(n(e),n(r))),e}),[])}function Jn(e,t,r,n,o,a){return{propsDifferences:Gn(e,n),stateDifferences:Gn(t,o),hookDifferences:Gn(r,a,{shallow:!1})}}function Kn(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,u=e.nextProps,c=e.nextState,f=e.nextHook;return{Component:t,displayName:r,hookName:n,prevProps:o,prevState:a,prevHook:i,nextProps:u,nextState:c,nextHook:f,options:e.options,reason:Jn(o,a,i,u,c,f)}}function Qn(e,t,r){return!function(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}(t,r)&&!(!e.whyDidYouRender&&!function(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}(t,r))}var Xn=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},Zn=Math.max;var eo=function(e,t,r){return t=Zn(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,a=Zn(n.length-t,0),i=Array(a);++o<a;)i[o]=n[t+o];o=-1;for(var u=Array(t+1);++o<t;)u[o]=n[o];return u[t]=r(i),Xn(e,this,u)}};var to=function(e){return function(){return e}},ro=I?function(e,t){return I(e,"toString",{configurable:!0,enumerable:!1,value:to(t),writable:!0})}:Kr,no=800,oo=16,ao=Date.now;var io=function(e){var t=0,r=0;return function(){var n=ao(),o=oo-(n-r);if(r=n,o>0){if(++t>=no)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(ro);var uo=function(e,t){return io(eo(e,t,Kr),e+"")};var co=function(e,t,r){if(!j(r))return!1;var n=typeof t;return!!("number"==n?je(r)&&oe(t,r.length):"string"==n&&t in r)&&Ee(r[t],e)};var fo=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},so=Object.prototype.hasOwnProperty;var lo=function(e){if(!j(e))return fo(e);var t=ye(e),r=[];for(var n in e)("constructor"!=n||!t&&so.call(e,n))&&r.push(n);return r};var po=function(e){return je(e)?de(e,!0):lo(e)},vo=Object.prototype,ho=vo.hasOwnProperty,yo=uo((function(e,t){e=Object(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&co(t[0],t[1],o)&&(n=1);++r<n;)for(var a=t[r],i=po(a),u=-1,c=i.length;++u<c;){var f=i[u],s=e[f];(void 0===s||Ee(s,vo[f])&&!ho.call(e,f))&&(e[f]=a[f])}return e})),bo=1;function _o(e){return e.prototype&&!!e.prototype.isReactComponent}function go(e){return e.$$typeof===an}function mo(e){return e.$$typeof===un}function jo(e,t,r,n){class o extends e{constructor(t,r){var n;super(t,r),n=this,this._WDYR={renderNumber:0};var a=super.render||this.render;a!==e.prototype.render&&(this.render=function(){return o.prototype.render.apply(n),a()})}render(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=function(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&bo)return!0;t=t.return}return!1}(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&n.notifier(Kn({Component:e,displayName:t,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:n})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),super.render?super.render():null}}return o.displayName=t,yo(o,e),o}var Oo=function(e,t){return function(r){return t.createElement(e,r)}};function wo(e,t,r,n,o){var a="string"==typeof e?Oo(e,n):e;function i(){var e=arguments[0],i=n.useRef(),u=i.current;if(i.current=e,u){var c=Kn({Component:a,displayName:r,prevProps:u,nextProps:e,options:o});c.reason.propsDifferences&&!(t&&0===c.reason.propsDifferences.length)&&o.notifier(c)}return a.apply(void 0,arguments)}return i.displayName=r,i.ComponentForHooksTracking=a,yo(i,a),i}function Do(e,t,r,n,o){var a=t.path,i=r,u=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current;if(!u)return i;var c=u.type.ComponentForHooksTracking||u.type,f=_n(c);if(!Qn(c,f,o))return i;var s=n.useRef(),l=s.current;if(s.current=i,l){var p=Kn({Component:c,displayName:f,hookName:e,prevHook:a?$r(l,a):l,nextHook:a?$r(i,a):i,options:o});p.reason.hookDifferences&&o.notifier(p)}return s.current}function Eo(e,t,r,n,o){return go(t)?function(e,t,r,n){var o=e.type,a=_o(o),i=mo(o),u=i?o.render:o,c=a?jo(u,t,0,n):wo(u,!0,t,r,n);c.displayName=_n(u),c.ComponentForHooksTracking=e,yo(c,u);var f=r.memo(i?r.forwardRef(c):c,e.compare);return f.displayName=t,yo(f,e),f}(t,r,n,o):mo(t)?function(e,t,r,n){var o=e.render,a=go(o),i=a?o.type:o,u=wo(i,a,t,r,n);u.displayName=_n(i),u.ComponentForHooksTracking=i,yo(u,i);var c=r.forwardRef(a?r.memo(u,o.compare):u);return c.displayName=t,yo(c,e),c}(t,r,n,o):_o(t)?jo(t,r,0,o):wo(t,!1,r,n,o)}function So(e,t,r,n,o){if(e.has(t))return e.get(t);var a=Eo(0,t,r,n,o);return e.set(t,a),a}var Ro={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function ko(e,t){var n,o=hn(t),a=e.createElement,i=e.createFactory,u=new WeakMap;if(e.createElement=function(t){for(var r=null,n=null,i=null,c=arguments.length,f=new Array(c>1?c-1:0),s=1;s<c;s++)f[s-1]=arguments[s];try{if(r=("function"==typeof t||go(t)||mo(t))&&Qn(t,_n(t),o))return n=t&&t.whyDidYouRender&&t.whyDidYouRender.customName||_n(t),i=So(u,t,n,e,o),a.apply(e,[i].concat(f))}catch(e){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:e,componentNameOrComponent:t,rest:f,options:o,isShouldTrack:r,displayName:n,WDYRPatchedComponent:i}})}return a.apply(e,[t].concat(f))},Object.assign(e.createElement,a),e.createFactory=function(t){var r=e.createElement.bind(null,t);return r.type=t,r},Object.assign(e.createFactory,i),o.trackHooks){var c=rn(Ro,(function(t,r){return function(){var a=n[r];if(!a)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var i=a.apply(void 0,arguments);return t&&Do(r,!0===t?{}:t,i,e,o),i}}));Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){n=e&&r({},e,{},e.origHooks)},get:function(){return n&&r({},n,{},c,{origHooks:n})}})}return e.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(e,{createElement:a,createFactory:i}),u=null,Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:n}),delete e.__REVERT_WHY_DID_YOU_RENDER__},e}return ko.defaultNotifier=vn,ko})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).whyDidYouRender=t()}(this,(function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?t(Object(o),!0).forEach((function(t){e(r,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}))}return r}function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw a}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function i(e,t){return e(t={exports:{}},t.exports),t.exports}var u="object"==typeof a&&a&&a.Object===Object&&a,c="object"==typeof self&&self&&self.Object===Object&&self,f=u||c||Function("return this")(),s=f.Symbol,l=Object.prototype,p=l.hasOwnProperty,v=l.toString,d=s?s.toStringTag:void 0;var h=function(e){var t=p.call(e,d),r=e[d];try{e[d]=void 0;var n=!0}catch(e){}var o=v.call(e);return n&&(t?e[d]=r:delete e[d]),o},y=Object.prototype.toString;var b=function(e){return y.call(e)},_="[object Null]",g="[object Undefined]",m=s?s.toStringTag:void 0;var j=function(e){return null==e?void 0===e?g:_:m&&m in Object(e)?h(e):b(e)};var O=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},w="[object AsyncFunction]",D="[object Function]",E="[object GeneratorFunction]",k="[object Proxy]";var S,R=function(e){if(!O(e))return!1;var t=j(e);return t==D||t==E||t==w||t==k},x=f["__core-js_shared__"],P=(S=/[^.]+$/.exec(x&&x.keys&&x.keys.IE_PROTO||""))?"Symbol(src)_1."+S:"";var N=function(e){return!!P&&P in e},A=Function.prototype.toString;var T=function(e){if(null!=e){try{return A.call(e)}catch(e){}try{return e+""}catch(e){}}return""},C=/^\[object .+?Constructor\]$/,H=Function.prototype,Y=Object.prototype,z=H.toString,L=Y.hasOwnProperty,W=RegExp("^"+z.call(L).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var F=function(e){return!(!O(e)||N(e))&&(R(e)?W:C).test(T(e))};var M=function(e,t){return null==e?void 0:e[t]};var I=function(e,t){var r=M(e,t);return F(r)?r:void 0},U=function(){try{var e=I(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();var $=function(e,t,r){"__proto__"==t&&U?U(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r};var V=function(e){return function(t,r,n){for(var o=-1,a=Object(t),i=n(t),u=i.length;u--;){var c=i[e?u:++o];if(!1===r(a[c],c,a))break}return t}}();var B=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};var q=function(e){return null!=e&&"object"==typeof e},G="[object Arguments]";var J=function(e){return q(e)&&j(e)==G},K=Object.prototype,Q=K.hasOwnProperty,X=K.propertyIsEnumerable,Z=J(function(){return arguments}())?J:function(e){return q(e)&&Q.call(e,"callee")&&!X.call(e,"callee")},ee=Array.isArray;var te=function(){return!1},re=i((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r?f.Buffer:void 0,a=(o?o.isBuffer:void 0)||te;e.exports=a})),ne=9007199254740991,oe=/^(?:0|[1-9]\d*)$/;var ae=function(e,t){var r=typeof e;return!!(t=null==t?ne:t)&&("number"==r||"symbol"!=r&&oe.test(e))&&e>-1&&e%1==0&&e<t},ie=9007199254740991;var ue=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=ie},ce={};ce["[object Float32Array]"]=ce["[object Float64Array]"]=ce["[object Int8Array]"]=ce["[object Int16Array]"]=ce["[object Int32Array]"]=ce["[object Uint8Array]"]=ce["[object Uint8ClampedArray]"]=ce["[object Uint16Array]"]=ce["[object Uint32Array]"]=!0,ce["[object Arguments]"]=ce["[object Array]"]=ce["[object ArrayBuffer]"]=ce["[object Boolean]"]=ce["[object DataView]"]=ce["[object Date]"]=ce["[object Error]"]=ce["[object Function]"]=ce["[object Map]"]=ce["[object Number]"]=ce["[object Object]"]=ce["[object RegExp]"]=ce["[object Set]"]=ce["[object String]"]=ce["[object WeakMap]"]=!1;var fe=function(e){return q(e)&&ue(e.length)&&!!ce[j(e)]};var se=function(e){return function(t){return e(t)}},le=i((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&u.process,a=function(){try{var e=n&&n.require&&n.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=a})),pe=le&&le.isTypedArray,ve=pe?se(pe):fe,de=Object.prototype.hasOwnProperty;var he=function(e,t){var r=ee(e),n=!r&&Z(e),o=!r&&!n&&re(e),a=!r&&!n&&!o&&ve(e),i=r||n||o||a,u=i?B(e.length,String):[],c=u.length;for(var f in e)!t&&!de.call(e,f)||i&&("length"==f||o&&("offset"==f||"parent"==f)||a&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||ae(f,c))||u.push(f);return u},ye=Object.prototype;var be=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||ye)};var _e=function(e,t){return function(r){return e(t(r))}},ge=_e(Object.keys,Object),me=Object.prototype.hasOwnProperty;var je=function(e){if(!be(e))return ge(e);var t=[];for(var r in Object(e))me.call(e,r)&&"constructor"!=r&&t.push(r);return t};var Oe=function(e){return null!=e&&ue(e.length)&&!R(e)};var we=function(e){return Oe(e)?he(e):je(e)};var De=function(e,t){return e&&V(e,t,we)};var Ee=function(){this.__data__=[],this.size=0};var ke=function(e,t){return e===t||e!=e&&t!=t};var Se=function(e,t){for(var r=e.length;r--;)if(ke(e[r][0],t))return r;return-1},Re=Array.prototype.splice;var xe=function(e){var t=this.__data__,r=Se(t,e);return!(r<0)&&(r==t.length-1?t.pop():Re.call(t,r,1),--this.size,!0)};var Pe=function(e){var t=this.__data__,r=Se(t,e);return r<0?void 0:t[r][1]};var Ne=function(e){return Se(this.__data__,e)>-1};var Ae=function(e,t){var r=this.__data__,n=Se(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function Te(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Te.prototype.clear=Ee,Te.prototype.delete=xe,Te.prototype.get=Pe,Te.prototype.has=Ne,Te.prototype.set=Ae;var Ce=Te;var He=function(){this.__data__=new Ce,this.size=0};var Ye=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};var ze=function(e){return this.__data__.get(e)};var Le=function(e){return this.__data__.has(e)},We=I(f,"Map"),Fe=I(Object,"create");var Me=function(){this.__data__=Fe?Fe(null):{},this.size=0};var Ie=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Ue="__lodash_hash_undefined__",$e=Object.prototype.hasOwnProperty;var Ve=function(e){var t=this.__data__;if(Fe){var r=t[e];return r===Ue?void 0:r}return $e.call(t,e)?t[e]:void 0},Be=Object.prototype.hasOwnProperty;var qe=function(e){var t=this.__data__;return Fe?void 0!==t[e]:Be.call(t,e)},Ge="__lodash_hash_undefined__";var Je=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Fe&&void 0===t?Ge:t,this};function Ke(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Ke.prototype.clear=Me,Ke.prototype.delete=Ie,Ke.prototype.get=Ve,Ke.prototype.has=qe,Ke.prototype.set=Je;var Qe=Ke;var Xe=function(){this.size=0,this.__data__={hash:new Qe,map:new(We||Ce),string:new Qe}};var Ze=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var et=function(e,t){var r=e.__data__;return Ze(t)?r["string"==typeof t?"string":"hash"]:r.map};var tt=function(e){var t=et(this,e).delete(e);return this.size-=t?1:0,t};var rt=function(e){return et(this,e).get(e)};var nt=function(e){return et(this,e).has(e)};var ot=function(e,t){var r=et(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function at(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}at.prototype.clear=Xe,at.prototype.delete=tt,at.prototype.get=rt,at.prototype.has=nt,at.prototype.set=ot;var it=at,ut=200;var ct=function(e,t){var r=this.__data__;if(r instanceof Ce){var n=r.__data__;if(!We||n.length<ut-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new it(n)}return r.set(e,t),this.size=r.size,this};function ft(e){var t=this.__data__=new Ce(e);this.size=t.size}ft.prototype.clear=He,ft.prototype.delete=Ye,ft.prototype.get=ze,ft.prototype.has=Le,ft.prototype.set=ct;var st=ft,lt="__lodash_hash_undefined__";var pt=function(e){return this.__data__.set(e,lt),this};var vt=function(e){return this.__data__.has(e)};function dt(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new it;++t<r;)this.add(e[t])}dt.prototype.add=dt.prototype.push=pt,dt.prototype.has=vt;var ht=dt;var yt=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1};var bt=function(e,t){return e.has(t)},_t=1,gt=2;var mt=function(e,t,r,n,o,a){var i=r&_t,u=e.length,c=t.length;if(u!=c&&!(i&&c>u))return!1;var f=a.get(e);if(f&&a.get(t))return f==t;var s=-1,l=!0,p=r>?new ht:void 0;for(a.set(e,t),a.set(t,e);++s<u;){var v=e[s],d=t[s];if(n)var h=i?n(d,v,s,t,e,a):n(v,d,s,e,t,a);if(void 0!==h){if(h)continue;l=!1;break}if(p){if(!yt(t,(function(e,t){if(!bt(p,t)&&(v===e||o(v,e,r,n,a)))return p.push(t)}))){l=!1;break}}else if(v!==d&&!o(v,d,r,n,a)){l=!1;break}}return a.delete(e),a.delete(t),l},jt=f.Uint8Array;var Ot=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r};var wt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},Dt=1,Et=2,kt="[object Boolean]",St="[object Date]",Rt="[object Error]",xt="[object Map]",Pt="[object Number]",Nt="[object RegExp]",At="[object Set]",Tt="[object String]",Ct="[object Symbol]",Ht="[object ArrayBuffer]",Yt="[object DataView]",zt=s?s.prototype:void 0,Lt=zt?zt.valueOf:void 0;var Wt=function(e,t,r,n,o,a,i){switch(r){case Yt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Ht:return!(e.byteLength!=t.byteLength||!a(new jt(e),new jt(t)));case kt:case St:case Pt:return ke(+e,+t);case Rt:return e.name==t.name&&e.message==t.message;case Nt:case Tt:return e==t+"";case xt:var u=Ot;case At:var c=n&Dt;if(u||(u=wt),e.size!=t.size&&!c)return!1;var f=i.get(e);if(f)return f==t;n|=Et,i.set(e,t);var s=mt(u(e),u(t),n,o,a,i);return i.delete(e),s;case Ct:if(Lt)return Lt.call(e)==Lt.call(t)}return!1};var Ft=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e};var Mt=function(e,t,r){var n=t(e);return ee(e)?n:Ft(n,r(e))};var It=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a};var Ut=function(){return[]},$t=Object.prototype.propertyIsEnumerable,Vt=Object.getOwnPropertySymbols,Bt=Vt?function(e){return null==e?[]:(e=Object(e),It(Vt(e),(function(t){return $t.call(e,t)})))}:Ut;var qt=function(e){return Mt(e,we,Bt)},Gt=1,Jt=Object.prototype.hasOwnProperty;var Kt=function(e,t,r,n,o,a){var i=r&Gt,u=qt(e),c=u.length;if(c!=qt(t).length&&!i)return!1;for(var f=c;f--;){var s=u[f];if(!(i?s in t:Jt.call(t,s)))return!1}var l=a.get(e);if(l&&a.get(t))return l==t;var p=!0;a.set(e,t),a.set(t,e);for(var v=i;++f<c;){var d=e[s=u[f]],h=t[s];if(n)var y=i?n(h,d,s,t,e,a):n(d,h,s,e,t,a);if(!(void 0===y?d===h||o(d,h,r,n,a):y)){p=!1;break}v||(v="constructor"==s)}if(p&&!v){var b=e.constructor,_=t.constructor;b!=_&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof _&&_ instanceof _)&&(p=!1)}return a.delete(e),a.delete(t),p},Qt=I(f,"DataView"),Xt=I(f,"Promise"),Zt=I(f,"Set"),er=I(f,"WeakMap"),tr=T(Qt),rr=T(We),nr=T(Xt),or=T(Zt),ar=T(er),ir=j;(Qt&&"[object DataView]"!=ir(new Qt(new ArrayBuffer(1)))||We&&"[object Map]"!=ir(new We)||Xt&&"[object Promise]"!=ir(Xt.resolve())||Zt&&"[object Set]"!=ir(new Zt)||er&&"[object WeakMap]"!=ir(new er))&&(ir=function(e){var t=j(e),r="[object Object]"==t?e.constructor:void 0,n=r?T(r):"";if(n)switch(n){case tr:return"[object DataView]";case rr:return"[object Map]";case nr:return"[object Promise]";case or:return"[object Set]";case ar:return"[object WeakMap]"}return t});var ur=ir,cr=1,fr="[object Arguments]",sr="[object Array]",lr="[object Object]",pr=Object.prototype.hasOwnProperty;var vr=function(e,t,r,n,o,a){var i=ee(e),u=ee(t),c=i?sr:ur(e),f=u?sr:ur(t),s=(c=c==fr?lr:c)==lr,l=(f=f==fr?lr:f)==lr,p=c==f;if(p&&re(e)){if(!re(t))return!1;i=!0,s=!1}if(p&&!s)return a||(a=new st),i||ve(e)?mt(e,t,r,n,o,a):Wt(e,t,c,r,n,o,a);if(!(r&cr)){var v=s&&pr.call(e,"__wrapped__"),d=l&&pr.call(t,"__wrapped__");if(v||d){var h=v?e.value():e,y=d?t.value():t;return a||(a=new st),o(h,y,r,n,a)}}return!!p&&(a||(a=new st),Kt(e,t,r,n,o,a))};var dr=function e(t,r,n,o,a){return t===r||(null==t||null==r||!q(t)&&!q(r)?t!=t&&r!=r:vr(t,r,n,o,e,a))},hr=1,yr=2;var br=function(e,t,r,n){var o=r.length,a=o,i=!n;if(null==e)return!a;for(e=Object(e);o--;){var u=r[o];if(i&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<a;){var c=(u=r[o])[0],f=e[c],s=u[1];if(i&&u[2]){if(void 0===f&&!(c in e))return!1}else{var l=new st;if(n)var p=n(f,s,c,e,t,l);if(!(void 0===p?dr(s,f,hr|yr,n,l):p))return!1}}return!0};var _r=function(e){return e==e&&!O(e)};var gr=function(e){for(var t=we(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,_r(o)]}return t};var mr=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}};var jr=function(e){var t=gr(e);return 1==t.length&&t[0][2]?mr(t[0][0],t[0][1]):function(r){return r===e||br(r,e,t)}},Or="[object Symbol]";var wr=function(e){return"symbol"==typeof e||q(e)&&j(e)==Or},Dr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Er=/^\w*$/;var kr=function(e,t){if(ee(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!wr(e))||(Er.test(e)||!Dr.test(e)||null!=t&&e in Object(t))},Sr="Expected a function";function Rr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(Sr);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(Rr.Cache||it),r}Rr.Cache=it;var xr=Rr,Pr=500;var Nr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ar=/\\(\\)?/g,Tr=function(e){var t=xr(e,(function(e){return r.size===Pr&&r.clear(),e})),r=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Nr,(function(e,r,n,o){t.push(n?o.replace(Ar,"$1"):r||e)})),t}));var Cr=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o},Hr=1/0,Yr=s?s.prototype:void 0,zr=Yr?Yr.toString:void 0;var Lr=function e(t){if("string"==typeof t)return t;if(ee(t))return Cr(t,e)+"";if(wr(t))return zr?zr.call(t):"";var r=t+"";return"0"==r&&1/t==-Hr?"-0":r};var Wr=function(e){return null==e?"":Lr(e)};var Fr=function(e,t){return ee(e)?e:kr(e,t)?[e]:Tr(Wr(e))},Mr=1/0;var Ir=function(e){if("string"==typeof e||wr(e))return e;var t=e+"";return"0"==t&&1/e==-Mr?"-0":t};var Ur=function(e,t){for(var r=0,n=(t=Fr(t,e)).length;null!=e&&r<n;)e=e[Ir(t[r++])];return r&&r==n?e:void 0};var $r=function(e,t,r){var n=null==e?void 0:Ur(e,t);return void 0===n?r:n};var Vr=function(e,t){return null!=e&&t in Object(e)};var Br=function(e,t,r){for(var n=-1,o=(t=Fr(t,e)).length,a=!1;++n<o;){var i=Ir(t[n]);if(!(a=null!=e&&r(e,i)))break;e=e[i]}return a||++n!=o?a:!!(o=null==e?0:e.length)&&ue(o)&&ae(i,o)&&(ee(e)||Z(e))};var qr=function(e,t){return null!=e&&Br(e,t,Vr)},Gr=1,Jr=2;var Kr=function(e,t){return kr(e)&&_r(t)?mr(Ir(e),t):function(r){var n=$r(r,e);return void 0===n&&n===t?qr(r,e):dr(t,n,Gr|Jr)}};var Qr=function(e){return e};var Xr=function(e){return function(t){return null==t?void 0:t[e]}};var Zr=function(e){return function(t){return Ur(t,e)}};var en=function(e){return kr(e)?Xr(Ir(e)):Zr(e)};var tn=function(e){return"function"==typeof e?e:null==e?Qr:"object"==typeof e?ee(e)?Kr(e[0],e[1]):jr(e):en(e)};var rn,nn=function(e,t){var r={};return t=tn(t),De(e,(function(e,n,o){$(r,n,t(e,n,o))})),r},on={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},an="function"==typeof Symbol&&Symbol.for,un=an?Symbol.for("react.memo"):60115,cn=an?Symbol.for("react.forward_ref"):60112,fn="http://bit.ly/wdyr02",sn="http://bit.ly/wdyr3",ln=(e(rn={},on.different,"different objects."),e(rn,on.deepEquals,"different objects that are equal by value."),e(rn,on.date,"different date objects with the same value."),e(rn,on.regex,"different regular expressions with the same value."),e(rn,on.reactElement,"different React elements with the same displayName."),e(rn,on.function,"different functions with the same name."),rn),pn=!1;function vn(t){var r=t.Component,n=t.displayName,o=t.hookName,a=t.prefixMessage,i=t.diffObjType,u=t.differences,c=t.values,f=t.options;u&&u.length>0?(f.consoleLog(e({},n,r),"".concat(a," of ").concat(i," changes:")),u.forEach((function(t){var r=t.pathString,n=t.diffType,a=t.prevValue,u=t.nextValue;f.consoleGroup("%c".concat("hook"===i?"[hook ".concat(o," result]"):"".concat(i,"."),"%c").concat(r,"%c"),"color:".concat(f.diffNameColor,";"),"color:".concat(f.diffPathColor,";"),"color:default;"),f.consoleLog("".concat(ln[n]," (more info at ").concat(o?sn:fn,")")),f.consoleLog(e({},"prev ".concat(r),a),"!==",e({},"next ".concat(r),u)),f.consoleGroupEnd()}))):u&&(f.consoleLog(e({},n,r),"".concat(a," the ").concat(i," object itself changed but its values are all equal."),"props"===i?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(fn)),f.consoleLog("prev ".concat(i,":"),c.prev," !== ",c.next,":next ".concat(i)))}function dn(t){var r=t.Component,n=t.displayName,o=t.hookName,a=t.prevProps,i=t.prevState,u=t.prevHook,c=t.nextProps,f=t.nextState,s=t.nextHook,l=t.reason,p=t.options;if(function(e,t,r){return!pn&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===on.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===on.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===on.different})))))}(l,r,p)){p.consoleGroup("%c".concat(n),"color: ".concat(p.titleColor,";"));var v="Re-rendered because";l.propsDifferences&&(vn({Component:r,displayName:n,prefixMessage:v,diffObjType:"props",differences:l.propsDifferences,values:{prev:a,next:c},options:p}),v="And because"),l.stateDifferences&&vn({Component:r,displayName:n,prefixMessage:v,diffObjType:"state",differences:l.stateDifferences,values:{prev:i,next:f},options:p}),l.hookDifferences&&vn({Component:r,displayName:n,prefixMessage:v,diffObjType:"hook",differences:l.hookDifferences,values:{prev:u,next:s},hookName:o,options:p}),l.propsDifferences||l.stateDifferences||l.hookDifferences||p.consoleLog(e({},n,r),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(fn)),p.consoleGroupEnd()}}var hn=function(){};function yn(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=console.group,o=console.groupEnd;return t.collapseGroups?n=console.groupCollapsed:t.onlyLogs&&(n=console.log,o=hn),r({include:null,exclude:null,notifier:t.notifier||((e="hotReloadBufferMs"in t?t.hotReloadBufferMs:500)&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(pn=!0,setTimeout((function(){pn=!1}),e))})),dn),onlyLogs:!1,consoleLog:console.log,consoleGroup:n,consoleGroupEnd:o,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red",trackExtraHooks:[]},t)}var bn="[object String]";var _n=function(e){return"string"==typeof e||!ee(e)&&q(e)&&j(e)==bn};function gn(e){return e.displayName||e.name||e.type&&gn(e.type)||e.render&&gn(e.render)||(_n(e)?e:void 0)}var mn=function(e,t,r,n){var o=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++o]);++o<a;)r=t(r,e[o],o,e);return r};var jn=function(e,t){return function(r,n){if(null==r)return r;if(!Oe(r))return e(r,n);for(var o=r.length,a=t?o:-1,i=Object(r);(t?a--:++a<o)&&!1!==n(i[a],a,i););return r}}(De);var On=function(e,t,r,n,o){return o(e,(function(e,o,a){r=n?(n=!1,e):t(r,e,o,a)})),r};var wn=function(e,t,r){var n=ee(e)?mn:On,o=arguments.length<3;return n(e,tn(t),r,o,jn)},Dn=Object.prototype.hasOwnProperty;var En=function(e,t){return null!=e&&Dn.call(e,t)};var kn=function(e,t){return null!=e&&Br(e,t,En)},Sn="[object RegExp]";var Rn=function(e){return q(e)&&j(e)==Sn},xn=le&&le.isRegExp,Pn=xn?se(xn):Rn,Nn="[object Date]";var An=function(e){return q(e)&&j(e)==Nn},Tn=le&&le.isDate,Cn=Tn?se(Tn):An,Hn=_e(Object.getPrototypeOf,Object),Yn="[object Object]",zn=Function.prototype,Ln=Object.prototype,Wn=zn.toString,Fn=Ln.hasOwnProperty,Mn=Wn.call(Object);var In=function(e){if(!q(e)||j(e)!=Yn)return!1;var t=Hn(e);if(null===t)return!0;var r=Fn.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Wn.call(r)==Mn},Un="undefined"!=typeof Element,$n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103,Vn=function(e){return e.$$typeof===$n};function Bn(e,t,r,n,o){return r.push({diffType:o,pathString:n,prevValue:e,nextValue:t}),o!==on.different}function qn(e,t,r){try{var n=[];return function e(t,r,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(t===r)return!0;if(!t||!r)return Bn(t,r,n,o,on.different);if(ee(t)&&ee(r)){var a=t.length;if(a!==r.length)return Bn(t,r,n,o,on.different);for(var i=!0,u=a;0!=u--;)e(t[u],r[u],n,"".concat(o,"[").concat(u,"]"))||(i=!1);return Bn(t,r,n,o,i?on.deepEquals:on.different)}if(Cn(t)&&Cn(r))return t.getTime()===r.getTime()?Bn(t,r,n,o,on.date):Bn(t,r,n,o,on.different);if(Pn(t)&&Pn(r))return t.toString()===r.toString()?Bn(t,r,n,o,on.regex):Bn(t,r,n,o,on.different);if(Un&&t instanceof Element&&r instanceof Element)return Bn(t,r,n,o,on.different);if(Vn(t)&&Vn(r))return t.type!==r.type?Bn(t,r,n,o,on.different):Bn(t,r,n,o,e(t.props,r.props,n,"".concat(o,".props"))?on.reactElement:on.different);if(R(t)&&R(r))return t.name===r.name?Bn(t,r,n,o,on.function):Bn(t,r,n,o,on.different);if(In(t)&&In(r)){var c=we(t),f=c.length;if(f!==we(r).length)return Bn(t,r,n,o,on.different);for(var s=f;0!=s--;)if(!kn(r,c[s]))return Bn(t,r,n,o,on.different);for(var l=!0,p=f;0!=p--;){var v=c[p];e(t[v],r[v],n,"".concat(o,".").concat(v))||(l=!1)}return Bn(t,r,n,o,l?on.deepEquals:on.different)}return Bn(t,r,n,o,on.different)}(e,t,n,r),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var Gn={};function Jn(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===n||n))return qn(e,t);var a=e||Gn,i=t||Gn,u=Object.keys(r({},a,{},i));return wn(u,(function(e,t){var r=qn(a[t],i[t],t);return r&&(e=[].concat(o(e),o(r))),e}),[])}function Kn(e,t,r,n,o,a){return{propsDifferences:Jn(e,n),stateDifferences:Jn(t,o),hookDifferences:Jn(r,a,{shallow:!1})}}function Qn(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,u=e.nextProps,c=e.nextState,f=e.nextHook;return{Component:t,displayName:r,hookName:n,prevProps:o,prevState:a,prevHook:i,nextProps:u,nextState:c,nextHook:f,options:e.options,reason:Kn(o,a,i,u,c,f)}}function Xn(e){var t=e.Component,r=e.displayName,n=e.options,o=e.isHookChange;return!function(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}(r,n)&&!(!t.whyDidYouRender&&!function(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}(r,n)||o&&t.whyDidYouRender&&!1===t.whyDidYouRender.trackHooks)}var Zn=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},eo=Math.max;var to=function(e,t,r){return t=eo(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,a=eo(n.length-t,0),i=Array(a);++o<a;)i[o]=n[t+o];o=-1;for(var u=Array(t+1);++o<t;)u[o]=n[o];return u[t]=r(i),Zn(e,this,u)}};var ro=function(e){return function(){return e}},no=U?function(e,t){return U(e,"toString",{configurable:!0,enumerable:!1,value:ro(t),writable:!0})}:Qr,oo=800,ao=16,io=Date.now;var uo=function(e){var t=0,r=0;return function(){var n=io(),o=ao-(n-r);if(r=n,o>0){if(++t>=oo)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(no);var co=function(e,t){return uo(to(e,t,Qr),e+"")};var fo=function(e,t,r){if(!O(r))return!1;var n=typeof t;return!!("number"==n?Oe(r)&&ae(t,r.length):"string"==n&&t in r)&&ke(r[t],e)};var so=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},lo=Object.prototype.hasOwnProperty;var po=function(e){if(!O(e))return so(e);var t=be(e),r=[];for(var n in e)("constructor"!=n||!t&&lo.call(e,n))&&r.push(n);return r};var vo=function(e){return Oe(e)?he(e,!0):po(e)},ho=Object.prototype,yo=ho.hasOwnProperty,bo=co((function(e,t){e=Object(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&fo(t[0],t[1],o)&&(n=1);++r<n;)for(var a=t[r],i=vo(a),u=-1,c=i.length;++u<c;){var f=i[u],s=e[f];(void 0===s||ke(s,ho[f])&&!yo.call(e,f))&&(e[f]=a[f])}return e})),_o=1;function go(e){return e.prototype&&!!e.prototype.isReactComponent}function mo(e){return e.$$typeof===un}function jo(e){return e.$$typeof===cn}function Oo(e,t,r,n){class o extends e{constructor(t,r){var n;super(t,r),n=this,this._WDYR={renderNumber:0};var a=super.render||this.render;a!==e.prototype.render&&(this.render=function(){return o.prototype.render.apply(n),a()})}render(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=function(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&_o)return!0;t=t.return}return!1}(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&n.notifier(Qn({Component:e,displayName:t,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:n})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),super.render?super.render():null}}return o.displayName=t,bo(o,e),o}var wo=function(e,t){return function(r){return t.createElement(e,r)}};function Do(e,t,r,n,o){var a="string"==typeof e?wo(e,n):e;function i(){var e=arguments[0],i=n.useRef(),u=i.current;if(i.current=e,u){var c=Qn({Component:a,displayName:r,prevProps:u,nextProps:e,options:o});c.reason.propsDifferences&&!(t&&0===c.reason.propsDifferences.length)&&o.notifier(c)}return a.apply(void 0,arguments)}return i.displayName=r,i.ComponentForHooksTracking=a,bo(i,a),i}function Eo(e,t,r,n,o){var a=t.path,i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current,u=n.useRef();if(!i)return r;var c=i.type.ComponentForHooksTracking||i.type,f=gn(c);if(!Xn({Component:c,displayName:f,options:o,isHookChange:!0}))return r;var s=u.current;if(u.current=r,s){var l=Qn({Component:c,displayName:f,hookName:e,prevHook:a?$r(s,a):s,nextHook:a?$r(r,a):r,options:o});l.reason.hookDifferences&&o.notifier(l)}return r}function ko(e,t,r,n,o){return mo(t)?function(e,t,r,n){var o=e.type,a=go(o),i=jo(o),u=i?o.render:o,c=a?Oo(u,t,0,n):Do(u,!0,t,r,n);c.displayName=gn(u),c.ComponentForHooksTracking=e,bo(c,u);var f=r.memo(i?r.forwardRef(c):c,e.compare);return f.displayName=t,bo(f,e),f}(t,r,n,o):jo(t)?function(e,t,r,n){var o=e.render,a=mo(o),i=a?o.type:o,u=Do(i,a,t,r,n);u.displayName=gn(i),u.ComponentForHooksTracking=i,bo(u,i);var c=r.forwardRef(a?r.memo(u,o.compare):u);return c.displayName=t,bo(c,e),c}(t,r,n,o):go(t)?Oo(t,r,0,o):Do(t,!1,r,n,o)}function So(e,t,r,n,o){if(e.has(t))return e.get(t);var a=ko(0,t,r,n,o);return e.set(t,a),a}var Ro={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function xo(e,t){var o,a=yn(t),i=e.createElement,u=e.createFactory,c=new WeakMap;if(e.createElement=function(t){for(var r=null,n=null,o=null,u=arguments.length,f=new Array(u>1?u-1:0),s=1;s<u;s++)f[s-1]=arguments[s];try{if(r=("function"==typeof t||mo(t)||jo(t))&&Xn({Component:t,displayName:gn(t),options:a}))return n=t&&t.whyDidYouRender&&t.whyDidYouRender.customName||gn(t),o=So(c,t,n,e,a),i.apply(e,[o].concat(f))}catch(e){a.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:e,componentNameOrComponent:t,rest:f,options:a,isShouldTrack:r,displayName:n,WDYRPatchedComponent:o}})}return i.apply(e,[t].concat(f))},Object.assign(e.createElement,i),e.createFactory=function(t){var r=e.createElement.bind(null,t);return r.type=t,r},Object.assign(e.createFactory,u),a.trackHooks){var f=nn(Ro,(function(t,r){return function(){var n=o[r];if(!n)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var i=n.apply(void 0,arguments);return t&&Eo(r,!0===t?{}:t,i,e,a),i}}));Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){o=e&&r({},e,{},e.origHooks)},get:function(){return o&&r({},o,{},f,{origHooks:o})}}),a.trackHooks&&a.trackExtraHooks.forEach((function(t){var r=n(t,2),o=r[0],i=r[1],u=o[i],c=i[0].toUpperCase()+i.slice(1),f=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var o=u.call.apply(u,[this].concat(r));return Eo(i,{},o,e,a),o};Object.defineProperty(f,"name",{value:c,writable:!1}),Object.assign(f,{originalHook:u}),o[i]=f}))}return e.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(e,{createElement:i,createFactory:u}),c=null,Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:o}),a.trackExtraHooks.forEach((function(e){var t=n(e,2),r=t[0],o=t[1];r[o]=r[o].originalHook})),delete e.__REVERT_WHY_DID_YOU_RENDER__},e}return xo.defaultNotifier=dn,xo})); | ||
//# sourceMappingURL=whyDidYouRender.min.js.map |
/** | ||
* @welldone-software/why-did-you-render 3.3.9 | ||
* @welldone-software/why-did-you-render 3.4.0 | ||
* MIT Licensed | ||
* Generated by Vitali Zaidman <vzaidman@gmail.com> (https://github.com/vzaidman) | ||
* Generated at 2019-11-09 | ||
* Generated at 2019-12-16 | ||
*/ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).whyDidYouRender=t()}(this,(function(){"use strict";function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function n(e){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?r(o,!0).forEach((function(r){t(e,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):r(o).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function i(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function u(e,t,r){return(u="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=o(e)););return e}(e,t);if(n){var a=Object.getOwnPropertyDescriptor(n,t);return a.get?a.get.call(r):a.value}})(e,t,r||e)}function c(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function s(e,t){return e(t={exports:{}},t.exports),t.exports}var l="object"==typeof f&&f&&f.Object===Object&&f,p="object"==typeof self&&self&&self.Object===Object&&self,v=l||p||Function("return this")(),d=v.Symbol,h=Object.prototype,y=h.hasOwnProperty,b=h.toString,_=d?d.toStringTag:void 0;var g=function(e){var t=y.call(e,_),r=e[_];try{e[_]=void 0;var n=!0}catch(e){}var o=b.call(e);return n&&(t?e[_]=r:delete e[_]),o},m=Object.prototype.toString;var j=function(e){return m.call(e)},O="[object Null]",w="[object Undefined]",D=d?d.toStringTag:void 0;var E=function(e){return null==e?void 0===e?w:O:D&&D in Object(e)?g(e):j(e)};var S=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},R="[object AsyncFunction]",k="[object Function]",P="[object GeneratorFunction]",x="[object Proxy]";var N,T=function(e){if(!S(e))return!1;var t=E(e);return t==k||t==P||t==R||t==x},A=v["__core-js_shared__"],C=(N=/[^.]+$/.exec(A&&A.keys&&A.keys.IE_PROTO||""))?"Symbol(src)_1."+N:"";var Y=function(e){return!!C&&C in e},z=Function.prototype.toString;var L=function(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""},W=/^\[object .+?Constructor\]$/,F=Function.prototype,M=Object.prototype,H=F.toString,I=M.hasOwnProperty,$=RegExp("^"+H.call(I).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var U=function(e){return!(!S(e)||Y(e))&&(T(e)?$:W).test(L(e))};var V=function(e,t){return null==e?void 0:e[t]};var B=function(e,t){var r=V(e,t);return U(r)?r:void 0},q=function(){try{var e=B(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();var G=function(e,t,r){"__proto__"==t&&q?q(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r};var J=function(e){return function(t,r,n){for(var o=-1,a=Object(t),i=n(t),u=i.length;u--;){var c=i[e?u:++o];if(!1===r(a[c],c,a))break}return t}}();var K=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};var Q=function(e){return null!=e&&"object"==typeof e},X="[object Arguments]";var Z=function(e){return Q(e)&&E(e)==X},ee=Object.prototype,te=ee.hasOwnProperty,re=ee.propertyIsEnumerable,ne=Z(function(){return arguments}())?Z:function(e){return Q(e)&&te.call(e,"callee")&&!re.call(e,"callee")},oe=Array.isArray;var ae=function(){return!1},ie=s((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r?v.Buffer:void 0,a=(o?o.isBuffer:void 0)||ae;e.exports=a})),ue=9007199254740991,ce=/^(?:0|[1-9]\d*)$/;var fe=function(e,t){var r=typeof e;return!!(t=null==t?ue:t)&&("number"==r||"symbol"!=r&&ce.test(e))&&e>-1&&e%1==0&&e<t},se=9007199254740991;var le=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=se},pe={};pe["[object Float32Array]"]=pe["[object Float64Array]"]=pe["[object Int8Array]"]=pe["[object Int16Array]"]=pe["[object Int32Array]"]=pe["[object Uint8Array]"]=pe["[object Uint8ClampedArray]"]=pe["[object Uint16Array]"]=pe["[object Uint32Array]"]=!0,pe["[object Arguments]"]=pe["[object Array]"]=pe["[object ArrayBuffer]"]=pe["[object Boolean]"]=pe["[object DataView]"]=pe["[object Date]"]=pe["[object Error]"]=pe["[object Function]"]=pe["[object Map]"]=pe["[object Number]"]=pe["[object Object]"]=pe["[object RegExp]"]=pe["[object Set]"]=pe["[object String]"]=pe["[object WeakMap]"]=!1;var ve=function(e){return Q(e)&&le(e.length)&&!!pe[E(e)]};var de=function(e){return function(t){return e(t)}},he=s((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&l.process,a=function(){try{var e=n&&n.require&&n.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=a})),ye=he&&he.isTypedArray,be=ye?de(ye):ve,_e=Object.prototype.hasOwnProperty;var ge=function(e,t){var r=oe(e),n=!r&&ne(e),o=!r&&!n&&ie(e),a=!r&&!n&&!o&&be(e),i=r||n||o||a,u=i?K(e.length,String):[],c=u.length;for(var f in e)!t&&!_e.call(e,f)||i&&("length"==f||o&&("offset"==f||"parent"==f)||a&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||fe(f,c))||u.push(f);return u},me=Object.prototype;var je=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||me)};var Oe=function(e,t){return function(r){return e(t(r))}},we=Oe(Object.keys,Object),De=Object.prototype.hasOwnProperty;var Ee=function(e){if(!je(e))return we(e);var t=[];for(var r in Object(e))De.call(e,r)&&"constructor"!=r&&t.push(r);return t};var Se=function(e){return null!=e&&le(e.length)&&!T(e)};var Re=function(e){return Se(e)?ge(e):Ee(e)};var ke=function(e,t){return e&&J(e,t,Re)};var Pe=function(){this.__data__=[],this.size=0};var xe=function(e,t){return e===t||e!=e&&t!=t};var Ne=function(e,t){for(var r=e.length;r--;)if(xe(e[r][0],t))return r;return-1},Te=Array.prototype.splice;var Ae=function(e){var t=this.__data__,r=Ne(t,e);return!(r<0)&&(r==t.length-1?t.pop():Te.call(t,r,1),--this.size,!0)};var Ce=function(e){var t=this.__data__,r=Ne(t,e);return r<0?void 0:t[r][1]};var Ye=function(e){return Ne(this.__data__,e)>-1};var ze=function(e,t){var r=this.__data__,n=Ne(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function Le(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Le.prototype.clear=Pe,Le.prototype.delete=Ae,Le.prototype.get=Ce,Le.prototype.has=Ye,Le.prototype.set=ze;var We=Le;var Fe=function(){this.__data__=new We,this.size=0};var Me=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};var He=function(e){return this.__data__.get(e)};var Ie=function(e){return this.__data__.has(e)},$e=B(v,"Map"),Ue=B(Object,"create");var Ve=function(){this.__data__=Ue?Ue(null):{},this.size=0};var Be=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},qe="__lodash_hash_undefined__",Ge=Object.prototype.hasOwnProperty;var Je=function(e){var t=this.__data__;if(Ue){var r=t[e];return r===qe?void 0:r}return Ge.call(t,e)?t[e]:void 0},Ke=Object.prototype.hasOwnProperty;var Qe=function(e){var t=this.__data__;return Ue?void 0!==t[e]:Ke.call(t,e)},Xe="__lodash_hash_undefined__";var Ze=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ue&&void 0===t?Xe:t,this};function et(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}et.prototype.clear=Ve,et.prototype.delete=Be,et.prototype.get=Je,et.prototype.has=Qe,et.prototype.set=Ze;var tt=et;var rt=function(){this.size=0,this.__data__={hash:new tt,map:new($e||We),string:new tt}};var nt=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var ot=function(e,t){var r=e.__data__;return nt(t)?r["string"==typeof t?"string":"hash"]:r.map};var at=function(e){var t=ot(this,e).delete(e);return this.size-=t?1:0,t};var it=function(e){return ot(this,e).get(e)};var ut=function(e){return ot(this,e).has(e)};var ct=function(e,t){var r=ot(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function ft(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}ft.prototype.clear=rt,ft.prototype.delete=at,ft.prototype.get=it,ft.prototype.has=ut,ft.prototype.set=ct;var st=ft,lt=200;var pt=function(e,t){var r=this.__data__;if(r instanceof We){var n=r.__data__;if(!$e||n.length<lt-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new st(n)}return r.set(e,t),this.size=r.size,this};function vt(e){var t=this.__data__=new We(e);this.size=t.size}vt.prototype.clear=Fe,vt.prototype.delete=Me,vt.prototype.get=He,vt.prototype.has=Ie,vt.prototype.set=pt;var dt=vt,ht="__lodash_hash_undefined__";var yt=function(e){return this.__data__.set(e,ht),this};var bt=function(e){return this.__data__.has(e)};function _t(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new st;++t<r;)this.add(e[t])}_t.prototype.add=_t.prototype.push=yt,_t.prototype.has=bt;var gt=_t;var mt=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1};var jt=function(e,t){return e.has(t)},Ot=1,wt=2;var Dt=function(e,t,r,n,o,a){var i=r&Ot,u=e.length,c=t.length;if(u!=c&&!(i&&c>u))return!1;var f=a.get(e);if(f&&a.get(t))return f==t;var s=-1,l=!0,p=r&wt?new gt:void 0;for(a.set(e,t),a.set(t,e);++s<u;){var v=e[s],d=t[s];if(n)var h=i?n(d,v,s,t,e,a):n(v,d,s,e,t,a);if(void 0!==h){if(h)continue;l=!1;break}if(p){if(!mt(t,(function(e,t){if(!jt(p,t)&&(v===e||o(v,e,r,n,a)))return p.push(t)}))){l=!1;break}}else if(v!==d&&!o(v,d,r,n,a)){l=!1;break}}return a.delete(e),a.delete(t),l},Et=v.Uint8Array;var St=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r};var Rt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},kt=1,Pt=2,xt="[object Boolean]",Nt="[object Date]",Tt="[object Error]",At="[object Map]",Ct="[object Number]",Yt="[object RegExp]",zt="[object Set]",Lt="[object String]",Wt="[object Symbol]",Ft="[object ArrayBuffer]",Mt="[object DataView]",Ht=d?d.prototype:void 0,It=Ht?Ht.valueOf:void 0;var $t=function(e,t,r,n,o,a,i){switch(r){case Mt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Ft:return!(e.byteLength!=t.byteLength||!a(new Et(e),new Et(t)));case xt:case Nt:case Ct:return xe(+e,+t);case Tt:return e.name==t.name&&e.message==t.message;case Yt:case Lt:return e==t+"";case At:var u=St;case zt:var c=n&kt;if(u||(u=Rt),e.size!=t.size&&!c)return!1;var f=i.get(e);if(f)return f==t;n|=Pt,i.set(e,t);var s=Dt(u(e),u(t),n,o,a,i);return i.delete(e),s;case Wt:if(It)return It.call(e)==It.call(t)}return!1};var Ut=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e};var Vt=function(e,t,r){var n=t(e);return oe(e)?n:Ut(n,r(e))};var Bt=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a};var qt=function(){return[]},Gt=Object.prototype.propertyIsEnumerable,Jt=Object.getOwnPropertySymbols,Kt=Jt?function(e){return null==e?[]:(e=Object(e),Bt(Jt(e),(function(t){return Gt.call(e,t)})))}:qt;var Qt=function(e){return Vt(e,Re,Kt)},Xt=1,Zt=Object.prototype.hasOwnProperty;var er=function(e,t,r,n,o,a){var i=r&Xt,u=Qt(e),c=u.length;if(c!=Qt(t).length&&!i)return!1;for(var f=c;f--;){var s=u[f];if(!(i?s in t:Zt.call(t,s)))return!1}var l=a.get(e);if(l&&a.get(t))return l==t;var p=!0;a.set(e,t),a.set(t,e);for(var v=i;++f<c;){var d=e[s=u[f]],h=t[s];if(n)var y=i?n(h,d,s,t,e,a):n(d,h,s,e,t,a);if(!(void 0===y?d===h||o(d,h,r,n,a):y)){p=!1;break}v||(v="constructor"==s)}if(p&&!v){var b=e.constructor,_=t.constructor;b!=_&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof _&&_ instanceof _)&&(p=!1)}return a.delete(e),a.delete(t),p},tr=B(v,"DataView"),rr=B(v,"Promise"),nr=B(v,"Set"),or=B(v,"WeakMap"),ar=L(tr),ir=L($e),ur=L(rr),cr=L(nr),fr=L(or),sr=E;(tr&&"[object DataView]"!=sr(new tr(new ArrayBuffer(1)))||$e&&"[object Map]"!=sr(new $e)||rr&&"[object Promise]"!=sr(rr.resolve())||nr&&"[object Set]"!=sr(new nr)||or&&"[object WeakMap]"!=sr(new or))&&(sr=function(e){var t=E(e),r="[object Object]"==t?e.constructor:void 0,n=r?L(r):"";if(n)switch(n){case ar:return"[object DataView]";case ir:return"[object Map]";case ur:return"[object Promise]";case cr:return"[object Set]";case fr:return"[object WeakMap]"}return t});var lr=sr,pr=1,vr="[object Arguments]",dr="[object Array]",hr="[object Object]",yr=Object.prototype.hasOwnProperty;var br=function(e,t,r,n,o,a){var i=oe(e),u=oe(t),c=i?dr:lr(e),f=u?dr:lr(t),s=(c=c==vr?hr:c)==hr,l=(f=f==vr?hr:f)==hr,p=c==f;if(p&&ie(e)){if(!ie(t))return!1;i=!0,s=!1}if(p&&!s)return a||(a=new dt),i||be(e)?Dt(e,t,r,n,o,a):$t(e,t,c,r,n,o,a);if(!(r&pr)){var v=s&&yr.call(e,"__wrapped__"),d=l&&yr.call(t,"__wrapped__");if(v||d){var h=v?e.value():e,y=d?t.value():t;return a||(a=new dt),o(h,y,r,n,a)}}return!!p&&(a||(a=new dt),er(e,t,r,n,o,a))};var _r=function e(t,r,n,o,a){return t===r||(null==t||null==r||!Q(t)&&!Q(r)?t!=t&&r!=r:br(t,r,n,o,e,a))},gr=1,mr=2;var jr=function(e,t,r,n){var o=r.length,a=o,i=!n;if(null==e)return!a;for(e=Object(e);o--;){var u=r[o];if(i&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<a;){var c=(u=r[o])[0],f=e[c],s=u[1];if(i&&u[2]){if(void 0===f&&!(c in e))return!1}else{var l=new dt;if(n)var p=n(f,s,c,e,t,l);if(!(void 0===p?_r(s,f,gr|mr,n,l):p))return!1}}return!0};var Or=function(e){return e==e&&!S(e)};var wr=function(e){for(var t=Re(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,Or(o)]}return t};var Dr=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}};var Er=function(e){var t=wr(e);return 1==t.length&&t[0][2]?Dr(t[0][0],t[0][1]):function(r){return r===e||jr(r,e,t)}},Sr="[object Symbol]";var Rr=function(e){return"symbol"==typeof e||Q(e)&&E(e)==Sr},kr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Pr=/^\w*$/;var xr=function(e,t){if(oe(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!Rr(e))||(Pr.test(e)||!kr.test(e)||null!=t&&e in Object(t))},Nr="Expected a function";function Tr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(Nr);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(Tr.Cache||st),r}Tr.Cache=st;var Ar=Tr,Cr=500;var Yr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,zr=/\\(\\)?/g,Lr=function(e){var t=Ar(e,(function(e){return r.size===Cr&&r.clear(),e})),r=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Yr,(function(e,r,n,o){t.push(n?o.replace(zr,"$1"):r||e)})),t}));var Wr=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o},Fr=1/0,Mr=d?d.prototype:void 0,Hr=Mr?Mr.toString:void 0;var Ir=function e(t){if("string"==typeof t)return t;if(oe(t))return Wr(t,e)+"";if(Rr(t))return Hr?Hr.call(t):"";var r=t+"";return"0"==r&&1/t==-Fr?"-0":r};var $r=function(e){return null==e?"":Ir(e)};var Ur=function(e,t){return oe(e)?e:xr(e,t)?[e]:Lr($r(e))},Vr=1/0;var Br=function(e){if("string"==typeof e||Rr(e))return e;var t=e+"";return"0"==t&&1/e==-Vr?"-0":t};var qr=function(e,t){for(var r=0,n=(t=Ur(t,e)).length;null!=e&&r<n;)e=e[Br(t[r++])];return r&&r==n?e:void 0};var Gr=function(e,t,r){var n=null==e?void 0:qr(e,t);return void 0===n?r:n};var Jr=function(e,t){return null!=e&&t in Object(e)};var Kr=function(e,t,r){for(var n=-1,o=(t=Ur(t,e)).length,a=!1;++n<o;){var i=Br(t[n]);if(!(a=null!=e&&r(e,i)))break;e=e[i]}return a||++n!=o?a:!!(o=null==e?0:e.length)&&le(o)&&fe(i,o)&&(oe(e)||ne(e))};var Qr=function(e,t){return null!=e&&Kr(e,t,Jr)},Xr=1,Zr=2;var en=function(e,t){return xr(e)&&Or(t)?Dr(Br(e),t):function(r){var n=Gr(r,e);return void 0===n&&n===t?Qr(r,e):_r(t,n,Xr|Zr)}};var tn=function(e){return e};var rn=function(e){return function(t){return null==t?void 0:t[e]}};var nn=function(e){return function(t){return qr(t,e)}};var on=function(e){return xr(e)?rn(Br(e)):nn(e)};var an=function(e){return"function"==typeof e?e:null==e?tn:"object"==typeof e?oe(e)?en(e[0],e[1]):Er(e):on(e)};var un,cn=function(e,t){var r={};return t=an(t),ke(e,(function(e,n,o){G(r,n,t(e,n,o))})),r},fn={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},sn="function"==typeof Symbol&&Symbol.for,ln=sn?Symbol.for("react.memo"):60115,pn=sn?Symbol.for("react.forward_ref"):60112,vn="http://bit.ly/wdyr02",dn="http://bit.ly/wdyr3",hn=(t(un={},fn.different,"different objects."),t(un,fn.deepEquals,"different objects that are equal by value."),t(un,fn.date,"different date objects with the same value."),t(un,fn.regex,"different regular expressions with the same value."),t(un,fn.reactElement,"different React elements with the same displayName."),t(un,fn.function,"different functions with the same name."),un),yn=!1;function bn(e){var r=e.Component,n=e.displayName,o=e.hookName,a=e.prefixMessage,i=e.diffObjType,u=e.differences,c=e.values,f=e.options;u&&u.length>0?(f.consoleLog(t({},n,r),"".concat(a," of ").concat(i," changes:")),u.forEach((function(e){var r=e.pathString,n=e.diffType,a=e.prevValue,u=e.nextValue;f.consoleGroup("%c".concat("hook"===i?"[hook ".concat(o," result]"):"".concat(i,"."),"%c").concat(r,"%c"),"color:".concat(f.diffNameColor,";"),"color:".concat(f.diffPathColor,";"),"color:default;"),f.consoleLog("".concat(hn[n]," (more info at ").concat(o?dn:vn,")")),f.consoleLog(t({},"prev ".concat(r),a),"!==",t({},"next ".concat(r),u)),f.consoleGroupEnd()}))):u&&(f.consoleLog(t({},n,r),"".concat(a," the ").concat(i," object itself changed but its values are all equal."),"props"===i?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(vn)),f.consoleLog("prev ".concat(i,":"),c.prev," !== ",c.next,":next ".concat(i)))}function _n(e){var r=e.Component,n=e.displayName,o=e.hookName,a=e.prevProps,i=e.prevState,u=e.prevHook,c=e.nextProps,f=e.nextState,s=e.nextHook,l=e.reason,p=e.options;if(function(e,t,r){return!yn&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===fn.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===fn.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===fn.different})))))}(l,r,p)){p.consoleGroup("%c".concat(n),"color: ".concat(p.titleColor,";"));var v="Re-rendered because";l.propsDifferences&&(bn({Component:r,displayName:n,prefixMessage:v,diffObjType:"props",differences:l.propsDifferences,values:{prev:a,next:c},options:p}),v="And because"),l.stateDifferences&&bn({Component:r,displayName:n,prefixMessage:v,diffObjType:"state",differences:l.stateDifferences,values:{prev:i,next:f},options:p}),l.hookDifferences&&bn({Component:r,displayName:n,prefixMessage:v,diffObjType:"hook",differences:l.hookDifferences,values:{prev:u,next:s},hookName:o,options:p}),l.propsDifferences||l.stateDifferences||l.hookDifferences||p.consoleLog(t({},n,r),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(vn)),p.consoleGroupEnd()}}var gn=function(){};function mn(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=console.group,o=console.groupEnd;return t.collapseGroups?r=console.groupCollapsed:t.onlyLogs&&(r=console.log,o=gn),n({include:null,exclude:null,notifier:t.notifier||((e="hotReloadBufferMs"in t?t.hotReloadBufferMs:500)&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(yn=!0,setTimeout((function(){yn=!1}),e))})),_n),onlyLogs:!1,consoleLog:console.log,consoleGroup:r,consoleGroupEnd:o,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red"},t)}var jn="[object String]";var On=function(e){return"string"==typeof e||!oe(e)&&Q(e)&&E(e)==jn};function wn(e){return e.displayName||e.name||e.type&&wn(e.type)||e.render&&wn(e.render)||(On(e)?e:void 0)}var Dn=function(e,t,r,n){var o=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++o]);++o<a;)r=t(r,e[o],o,e);return r};var En=function(e,t){return function(r,n){if(null==r)return r;if(!Se(r))return e(r,n);for(var o=r.length,a=t?o:-1,i=Object(r);(t?a--:++a<o)&&!1!==n(i[a],a,i););return r}}(ke);var Sn=function(e,t,r,n,o){return o(e,(function(e,o,a){r=n?(n=!1,e):t(r,e,o,a)})),r};var Rn=function(e,t,r){var n=oe(e)?Dn:Sn,o=arguments.length<3;return n(e,an(t),r,o,En)},kn=Object.prototype.hasOwnProperty;var Pn=function(e,t){return null!=e&&kn.call(e,t)};var xn=function(e,t){return null!=e&&Kr(e,t,Pn)},Nn="[object RegExp]";var Tn=function(e){return Q(e)&&E(e)==Nn},An=he&&he.isRegExp,Cn=An?de(An):Tn,Yn="[object Date]";var zn=function(e){return Q(e)&&E(e)==Yn},Ln=he&&he.isDate,Wn=Ln?de(Ln):zn,Fn=Oe(Object.getPrototypeOf,Object),Mn="[object Object]",Hn=Function.prototype,In=Object.prototype,$n=Hn.toString,Un=In.hasOwnProperty,Vn=$n.call(Object);var Bn=function(e){if(!Q(e)||E(e)!=Mn)return!1;var t=Fn(e);if(null===t)return!0;var r=Un.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&$n.call(r)==Vn},qn="undefined"!=typeof Element,Gn="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103,Jn=function(e){return e.$$typeof===Gn};function Kn(e,t,r,n,o){return r.push({diffType:o,pathString:n,prevValue:e,nextValue:t}),o!==fn.different}function Qn(e,t,r){try{var n=[];return function e(t,r,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(t===r)return!0;if(!t||!r)return Kn(t,r,n,o,fn.different);if(oe(t)&&oe(r)){var a=t.length;if(a!==r.length)return Kn(t,r,n,o,fn.different);for(var i=!0,u=a;0!=u--;)e(t[u],r[u],n,"".concat(o,"[").concat(u,"]"))||(i=!1);return Kn(t,r,n,o,i?fn.deepEquals:fn.different)}if(Wn(t)&&Wn(r))return t.getTime()===r.getTime()?Kn(t,r,n,o,fn.date):Kn(t,r,n,o,fn.different);if(Cn(t)&&Cn(r))return t.toString()===r.toString()?Kn(t,r,n,o,fn.regex):Kn(t,r,n,o,fn.different);if(qn&&t instanceof Element&&r instanceof Element)return Kn(t,r,n,o,fn.different);if(Jn(t)&&Jn(r))return t.type!==r.type?Kn(t,r,n,o,fn.different):Kn(t,r,n,o,e(t.props,r.props,n,"".concat(o,".props"))?fn.reactElement:fn.different);if(T(t)&&T(r))return t.name===r.name?Kn(t,r,n,o,fn.function):Kn(t,r,n,o,fn.different);if(Bn(t)&&Bn(r)){var c=Re(t),f=c.length;if(f!==Re(r).length)return Kn(t,r,n,o,fn.different);for(var s=f;0!=s--;)if(!xn(r,c[s]))return Kn(t,r,n,o,fn.different);for(var l=!0,p=f;0!=p--;){var v=c[p];e(t[v],r[v],n,"".concat(o,".").concat(v))||(l=!1)}return Kn(t,r,n,o,l?fn.deepEquals:fn.different)}return Kn(t,r,n,o,fn.different)}(e,t,n,r),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var Xn={};function Zn(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===r||r))return Qn(e,t);var o=e||Xn,a=t||Xn,i=Object.keys(n({},o,{},a));return Rn(i,(function(e,t){var r=Qn(o[t],a[t],t);return r&&(e=[].concat(c(e),c(r))),e}),[])}function eo(e,t,r,n,o,a){return{propsDifferences:Zn(e,n),stateDifferences:Zn(t,o),hookDifferences:Zn(r,a,{shallow:!1})}}function to(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,u=e.nextProps,c=e.nextState,f=e.nextHook;return{Component:t,displayName:r,hookName:n,prevProps:o,prevState:a,prevHook:i,nextProps:u,nextState:c,nextHook:f,options:e.options,reason:eo(o,a,i,u,c,f)}}function ro(e,t,r){return!function(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}(t,r)&&!(!e.whyDidYouRender&&!function(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}(t,r))}var no=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},oo=Math.max;var ao=function(e,t,r){return t=oo(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,a=oo(n.length-t,0),i=Array(a);++o<a;)i[o]=n[t+o];o=-1;for(var u=Array(t+1);++o<t;)u[o]=n[o];return u[t]=r(i),no(e,this,u)}};var io=function(e){return function(){return e}},uo=q?function(e,t){return q(e,"toString",{configurable:!0,enumerable:!1,value:io(t),writable:!0})}:tn,co=800,fo=16,so=Date.now;var lo=function(e){var t=0,r=0;return function(){var n=so(),o=fo-(n-r);if(r=n,o>0){if(++t>=co)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(uo);var po=function(e,t){return lo(ao(e,t,tn),e+"")};var vo=function(e,t,r){if(!S(r))return!1;var n=typeof t;return!!("number"==n?Se(r)&&fe(t,r.length):"string"==n&&t in r)&&xe(r[t],e)};var ho=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},yo=Object.prototype.hasOwnProperty;var bo=function(e){if(!S(e))return ho(e);var t=je(e),r=[];for(var n in e)("constructor"!=n||!t&&yo.call(e,n))&&r.push(n);return r};var _o=function(e){return Se(e)?ge(e,!0):bo(e)},go=Object.prototype,mo=go.hasOwnProperty,jo=po((function(e,t){e=Object(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&vo(t[0],t[1],o)&&(n=1);++r<n;)for(var a=t[r],i=_o(a),u=-1,c=i.length;++u<c;){var f=i[u],s=e[f];(void 0===s||xe(s,go[f])&&!mo.call(e,f))&&(e[f]=a[f])}return e})),Oo=1;function wo(e){return e.prototype&&!!e.prototype.isReactComponent}function Do(e){return e.$$typeof===ln}function Eo(e){return e.$$typeof===pn}function So(t,r,n,c){var f=function(n){function f(e,r){var n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),(n=function(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?i(e):t}(this,o(f).call(this,e,r)))._WDYR={renderNumber:0};var a=u(o(f.prototype),"render",i(n))||n.render;return a!==t.prototype.render&&(n.render=function(){return f.prototype.render.apply(i(n)),a()}),n}var s,l,p;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(f,n),s=f,(l=[{key:"render",value:function(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=function(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&Oo)return!0;t=t.return}return!1}(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&c.notifier(to({Component:t,displayName:r,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:c})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),u(o(f.prototype),"render",this)?u(o(f.prototype),"render",this).call(this):null}}])&&e(s.prototype,l),p&&e(s,p),f}(t);return f.displayName=r,jo(f,t),f}var Ro=function(e,t){return function(r){return t.createElement(e,r)}};function ko(e,t,r,n,o){var a="string"==typeof e?Ro(e,n):e;function i(){var e=arguments[0],i=n.useRef(),u=i.current;if(i.current=e,u){var c=to({Component:a,displayName:r,prevProps:u,nextProps:e,options:o});c.reason.propsDifferences&&!(t&&0===c.reason.propsDifferences.length)&&o.notifier(c)}return a.apply(void 0,arguments)}return i.displayName=r,i.ComponentForHooksTracking=a,jo(i,a),i}function Po(e,t,r,n,o){var a=t.path,i=r,u=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current;if(!u)return i;var c=u.type.ComponentForHooksTracking||u.type,f=wn(c);if(!ro(c,f,o))return i;var s=n.useRef(),l=s.current;if(s.current=i,l){var p=to({Component:c,displayName:f,hookName:e,prevHook:a?Gr(l,a):l,nextHook:a?Gr(i,a):i,options:o});p.reason.hookDifferences&&o.notifier(p)}return s.current}function xo(e,t,r,n,o){return Do(t)?function(e,t,r,n){var o=e.type,a=wo(o),i=Eo(o),u=i?o.render:o,c=a?So(u,t,0,n):ko(u,!0,t,r,n);c.displayName=wn(u),c.ComponentForHooksTracking=e,jo(c,u);var f=r.memo(i?r.forwardRef(c):c,e.compare);return f.displayName=t,jo(f,e),f}(t,r,n,o):Eo(t)?function(e,t,r,n){var o=e.render,a=Do(o),i=a?o.type:o,u=ko(i,a,t,r,n);u.displayName=wn(i),u.ComponentForHooksTracking=i,jo(u,i);var c=r.forwardRef(a?r.memo(u,o.compare):u);return c.displayName=t,jo(c,e),c}(t,r,n,o):wo(t)?So(t,r,0,o):ko(t,!1,r,n,o)}function No(e,t,r,n,o){if(e.has(t))return e.get(t);var a=xo(0,t,r,n,o);return e.set(t,a),a}var To={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function Ao(e,t){var r,o=mn(t),a=e.createElement,i=e.createFactory,u=new WeakMap;if(e.createElement=function(t){for(var r=null,n=null,i=null,c=arguments.length,f=new Array(c>1?c-1:0),s=1;s<c;s++)f[s-1]=arguments[s];try{if(r=("function"==typeof t||Do(t)||Eo(t))&&ro(t,wn(t),o))return n=t&&t.whyDidYouRender&&t.whyDidYouRender.customName||wn(t),i=No(u,t,n,e,o),a.apply(e,[i].concat(f))}catch(e){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:e,componentNameOrComponent:t,rest:f,options:o,isShouldTrack:r,displayName:n,WDYRPatchedComponent:i}})}return a.apply(e,[t].concat(f))},Object.assign(e.createElement,a),e.createFactory=function(t){var r=e.createElement.bind(null,t);return r.type=t,r},Object.assign(e.createFactory,i),o.trackHooks){var c=cn(To,(function(t,n){return function(){var a=r[n];if(!a)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var i=a.apply(void 0,arguments);return t&&Po(n,!0===t?{}:t,i,e,o),i}}));Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){r=e&&n({},e,{},e.origHooks)},get:function(){return r&&n({},r,{},c,{origHooks:r})}})}return e.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(e,{createElement:a,createFactory:i}),u=null,Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:r}),delete e.__REVERT_WHY_DID_YOU_RENDER__},e}return Ao.defaultNotifier=_n,Ao})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).whyDidYouRender=t()}(this,(function(){"use strict";function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function n(e){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?r(Object(o),!0).forEach((function(r){t(e,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function i(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function u(e,t,r){return(u="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=o(e)););return e}(e,t);if(n){var a=Object.getOwnPropertyDescriptor(n,t);return a.get?a.get.call(r):a.value}})(e,t,r||e)}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw a}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function f(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(e,t){return e(t={exports:{}},t.exports),t.exports}var p="object"==typeof s&&s&&s.Object===Object&&s,v="object"==typeof self&&self&&self.Object===Object&&self,d=p||v||Function("return this")(),h=d.Symbol,y=Object.prototype,b=y.hasOwnProperty,g=y.toString,_=h?h.toStringTag:void 0;var m=function(e){var t=b.call(e,_),r=e[_];try{e[_]=void 0;var n=!0}catch(e){}var o=g.call(e);return n&&(t?e[_]=r:delete e[_]),o},j=Object.prototype.toString;var O=function(e){return j.call(e)},w="[object Null]",E="[object Undefined]",D=h?h.toStringTag:void 0;var k=function(e){return null==e?void 0===e?E:w:D&&D in Object(e)?m(e):O(e)};var S=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},R="[object AsyncFunction]",x="[object Function]",P="[object GeneratorFunction]",N="[object Proxy]";var T,A=function(e){if(!S(e))return!1;var t=k(e);return t==x||t==P||t==R||t==N},C=d["__core-js_shared__"],H=(T=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||""))?"Symbol(src)_1."+T:"";var Y=function(e){return!!H&&H in e},z=Function.prototype.toString;var L=function(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""},W=/^\[object .+?Constructor\]$/,F=Function.prototype,M=Object.prototype,I=F.toString,U=M.hasOwnProperty,$=RegExp("^"+I.call(U).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var V=function(e){return!(!S(e)||Y(e))&&(A(e)?$:W).test(L(e))};var B=function(e,t){return null==e?void 0:e[t]};var q=function(e,t){var r=B(e,t);return V(r)?r:void 0},G=function(){try{var e=q(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();var J=function(e,t,r){"__proto__"==t&&G?G(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r};var K=function(e){return function(t,r,n){for(var o=-1,a=Object(t),i=n(t),u=i.length;u--;){var c=i[e?u:++o];if(!1===r(a[c],c,a))break}return t}}();var Q=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};var X=function(e){return null!=e&&"object"==typeof e},Z="[object Arguments]";var ee=function(e){return X(e)&&k(e)==Z},te=Object.prototype,re=te.hasOwnProperty,ne=te.propertyIsEnumerable,oe=ee(function(){return arguments}())?ee:function(e){return X(e)&&re.call(e,"callee")&&!ne.call(e,"callee")},ae=Array.isArray;var ie=function(){return!1},ue=l((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r?d.Buffer:void 0,a=(o?o.isBuffer:void 0)||ie;e.exports=a})),ce=9007199254740991,fe=/^(?:0|[1-9]\d*)$/;var se=function(e,t){var r=typeof e;return!!(t=null==t?ce:t)&&("number"==r||"symbol"!=r&&fe.test(e))&&e>-1&&e%1==0&&e<t},le=9007199254740991;var pe=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=le},ve={};ve["[object Float32Array]"]=ve["[object Float64Array]"]=ve["[object Int8Array]"]=ve["[object Int16Array]"]=ve["[object Int32Array]"]=ve["[object Uint8Array]"]=ve["[object Uint8ClampedArray]"]=ve["[object Uint16Array]"]=ve["[object Uint32Array]"]=!0,ve["[object Arguments]"]=ve["[object Array]"]=ve["[object ArrayBuffer]"]=ve["[object Boolean]"]=ve["[object DataView]"]=ve["[object Date]"]=ve["[object Error]"]=ve["[object Function]"]=ve["[object Map]"]=ve["[object Number]"]=ve["[object Object]"]=ve["[object RegExp]"]=ve["[object Set]"]=ve["[object String]"]=ve["[object WeakMap]"]=!1;var de=function(e){return X(e)&&pe(e.length)&&!!ve[k(e)]};var he=function(e){return function(t){return e(t)}},ye=l((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&p.process,a=function(){try{var e=n&&n.require&&n.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=a})),be=ye&&ye.isTypedArray,ge=be?he(be):de,_e=Object.prototype.hasOwnProperty;var me=function(e,t){var r=ae(e),n=!r&&oe(e),o=!r&&!n&&ue(e),a=!r&&!n&&!o&&ge(e),i=r||n||o||a,u=i?Q(e.length,String):[],c=u.length;for(var f in e)!t&&!_e.call(e,f)||i&&("length"==f||o&&("offset"==f||"parent"==f)||a&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||se(f,c))||u.push(f);return u},je=Object.prototype;var Oe=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||je)};var we=function(e,t){return function(r){return e(t(r))}},Ee=we(Object.keys,Object),De=Object.prototype.hasOwnProperty;var ke=function(e){if(!Oe(e))return Ee(e);var t=[];for(var r in Object(e))De.call(e,r)&&"constructor"!=r&&t.push(r);return t};var Se=function(e){return null!=e&&pe(e.length)&&!A(e)};var Re=function(e){return Se(e)?me(e):ke(e)};var xe=function(e,t){return e&&K(e,t,Re)};var Pe=function(){this.__data__=[],this.size=0};var Ne=function(e,t){return e===t||e!=e&&t!=t};var Te=function(e,t){for(var r=e.length;r--;)if(Ne(e[r][0],t))return r;return-1},Ae=Array.prototype.splice;var Ce=function(e){var t=this.__data__,r=Te(t,e);return!(r<0)&&(r==t.length-1?t.pop():Ae.call(t,r,1),--this.size,!0)};var He=function(e){var t=this.__data__,r=Te(t,e);return r<0?void 0:t[r][1]};var Ye=function(e){return Te(this.__data__,e)>-1};var ze=function(e,t){var r=this.__data__,n=Te(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function Le(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Le.prototype.clear=Pe,Le.prototype.delete=Ce,Le.prototype.get=He,Le.prototype.has=Ye,Le.prototype.set=ze;var We=Le;var Fe=function(){this.__data__=new We,this.size=0};var Me=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};var Ie=function(e){return this.__data__.get(e)};var Ue=function(e){return this.__data__.has(e)},$e=q(d,"Map"),Ve=q(Object,"create");var Be=function(){this.__data__=Ve?Ve(null):{},this.size=0};var qe=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Ge="__lodash_hash_undefined__",Je=Object.prototype.hasOwnProperty;var Ke=function(e){var t=this.__data__;if(Ve){var r=t[e];return r===Ge?void 0:r}return Je.call(t,e)?t[e]:void 0},Qe=Object.prototype.hasOwnProperty;var Xe=function(e){var t=this.__data__;return Ve?void 0!==t[e]:Qe.call(t,e)},Ze="__lodash_hash_undefined__";var et=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ve&&void 0===t?Ze:t,this};function tt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}tt.prototype.clear=Be,tt.prototype.delete=qe,tt.prototype.get=Ke,tt.prototype.has=Xe,tt.prototype.set=et;var rt=tt;var nt=function(){this.size=0,this.__data__={hash:new rt,map:new($e||We),string:new rt}};var ot=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var at=function(e,t){var r=e.__data__;return ot(t)?r["string"==typeof t?"string":"hash"]:r.map};var it=function(e){var t=at(this,e).delete(e);return this.size-=t?1:0,t};var ut=function(e){return at(this,e).get(e)};var ct=function(e){return at(this,e).has(e)};var ft=function(e,t){var r=at(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function st(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}st.prototype.clear=nt,st.prototype.delete=it,st.prototype.get=ut,st.prototype.has=ct,st.prototype.set=ft;var lt=st,pt=200;var vt=function(e,t){var r=this.__data__;if(r instanceof We){var n=r.__data__;if(!$e||n.length<pt-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new lt(n)}return r.set(e,t),this.size=r.size,this};function dt(e){var t=this.__data__=new We(e);this.size=t.size}dt.prototype.clear=Fe,dt.prototype.delete=Me,dt.prototype.get=Ie,dt.prototype.has=Ue,dt.prototype.set=vt;var ht=dt,yt="__lodash_hash_undefined__";var bt=function(e){return this.__data__.set(e,yt),this};var gt=function(e){return this.__data__.has(e)};function _t(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new lt;++t<r;)this.add(e[t])}_t.prototype.add=_t.prototype.push=bt,_t.prototype.has=gt;var mt=_t;var jt=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1};var Ot=function(e,t){return e.has(t)},wt=1,Et=2;var Dt=function(e,t,r,n,o,a){var i=r&wt,u=e.length,c=t.length;if(u!=c&&!(i&&c>u))return!1;var f=a.get(e);if(f&&a.get(t))return f==t;var s=-1,l=!0,p=r&Et?new mt:void 0;for(a.set(e,t),a.set(t,e);++s<u;){var v=e[s],d=t[s];if(n)var h=i?n(d,v,s,t,e,a):n(v,d,s,e,t,a);if(void 0!==h){if(h)continue;l=!1;break}if(p){if(!jt(t,(function(e,t){if(!Ot(p,t)&&(v===e||o(v,e,r,n,a)))return p.push(t)}))){l=!1;break}}else if(v!==d&&!o(v,d,r,n,a)){l=!1;break}}return a.delete(e),a.delete(t),l},kt=d.Uint8Array;var St=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r};var Rt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},xt=1,Pt=2,Nt="[object Boolean]",Tt="[object Date]",At="[object Error]",Ct="[object Map]",Ht="[object Number]",Yt="[object RegExp]",zt="[object Set]",Lt="[object String]",Wt="[object Symbol]",Ft="[object ArrayBuffer]",Mt="[object DataView]",It=h?h.prototype:void 0,Ut=It?It.valueOf:void 0;var $t=function(e,t,r,n,o,a,i){switch(r){case Mt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Ft:return!(e.byteLength!=t.byteLength||!a(new kt(e),new kt(t)));case Nt:case Tt:case Ht:return Ne(+e,+t);case At:return e.name==t.name&&e.message==t.message;case Yt:case Lt:return e==t+"";case Ct:var u=St;case zt:var c=n&xt;if(u||(u=Rt),e.size!=t.size&&!c)return!1;var f=i.get(e);if(f)return f==t;n|=Pt,i.set(e,t);var s=Dt(u(e),u(t),n,o,a,i);return i.delete(e),s;case Wt:if(Ut)return Ut.call(e)==Ut.call(t)}return!1};var Vt=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e};var Bt=function(e,t,r){var n=t(e);return ae(e)?n:Vt(n,r(e))};var qt=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a};var Gt=function(){return[]},Jt=Object.prototype.propertyIsEnumerable,Kt=Object.getOwnPropertySymbols,Qt=Kt?function(e){return null==e?[]:(e=Object(e),qt(Kt(e),(function(t){return Jt.call(e,t)})))}:Gt;var Xt=function(e){return Bt(e,Re,Qt)},Zt=1,er=Object.prototype.hasOwnProperty;var tr=function(e,t,r,n,o,a){var i=r&Zt,u=Xt(e),c=u.length;if(c!=Xt(t).length&&!i)return!1;for(var f=c;f--;){var s=u[f];if(!(i?s in t:er.call(t,s)))return!1}var l=a.get(e);if(l&&a.get(t))return l==t;var p=!0;a.set(e,t),a.set(t,e);for(var v=i;++f<c;){var d=e[s=u[f]],h=t[s];if(n)var y=i?n(h,d,s,t,e,a):n(d,h,s,e,t,a);if(!(void 0===y?d===h||o(d,h,r,n,a):y)){p=!1;break}v||(v="constructor"==s)}if(p&&!v){var b=e.constructor,g=t.constructor;b!=g&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof g&&g instanceof g)&&(p=!1)}return a.delete(e),a.delete(t),p},rr=q(d,"DataView"),nr=q(d,"Promise"),or=q(d,"Set"),ar=q(d,"WeakMap"),ir=L(rr),ur=L($e),cr=L(nr),fr=L(or),sr=L(ar),lr=k;(rr&&"[object DataView]"!=lr(new rr(new ArrayBuffer(1)))||$e&&"[object Map]"!=lr(new $e)||nr&&"[object Promise]"!=lr(nr.resolve())||or&&"[object Set]"!=lr(new or)||ar&&"[object WeakMap]"!=lr(new ar))&&(lr=function(e){var t=k(e),r="[object Object]"==t?e.constructor:void 0,n=r?L(r):"";if(n)switch(n){case ir:return"[object DataView]";case ur:return"[object Map]";case cr:return"[object Promise]";case fr:return"[object Set]";case sr:return"[object WeakMap]"}return t});var pr=lr,vr=1,dr="[object Arguments]",hr="[object Array]",yr="[object Object]",br=Object.prototype.hasOwnProperty;var gr=function(e,t,r,n,o,a){var i=ae(e),u=ae(t),c=i?hr:pr(e),f=u?hr:pr(t),s=(c=c==dr?yr:c)==yr,l=(f=f==dr?yr:f)==yr,p=c==f;if(p&&ue(e)){if(!ue(t))return!1;i=!0,s=!1}if(p&&!s)return a||(a=new ht),i||ge(e)?Dt(e,t,r,n,o,a):$t(e,t,c,r,n,o,a);if(!(r&vr)){var v=s&&br.call(e,"__wrapped__"),d=l&&br.call(t,"__wrapped__");if(v||d){var h=v?e.value():e,y=d?t.value():t;return a||(a=new ht),o(h,y,r,n,a)}}return!!p&&(a||(a=new ht),tr(e,t,r,n,o,a))};var _r=function e(t,r,n,o,a){return t===r||(null==t||null==r||!X(t)&&!X(r)?t!=t&&r!=r:gr(t,r,n,o,e,a))},mr=1,jr=2;var Or=function(e,t,r,n){var o=r.length,a=o,i=!n;if(null==e)return!a;for(e=Object(e);o--;){var u=r[o];if(i&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<a;){var c=(u=r[o])[0],f=e[c],s=u[1];if(i&&u[2]){if(void 0===f&&!(c in e))return!1}else{var l=new ht;if(n)var p=n(f,s,c,e,t,l);if(!(void 0===p?_r(s,f,mr|jr,n,l):p))return!1}}return!0};var wr=function(e){return e==e&&!S(e)};var Er=function(e){for(var t=Re(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,wr(o)]}return t};var Dr=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}};var kr=function(e){var t=Er(e);return 1==t.length&&t[0][2]?Dr(t[0][0],t[0][1]):function(r){return r===e||Or(r,e,t)}},Sr="[object Symbol]";var Rr=function(e){return"symbol"==typeof e||X(e)&&k(e)==Sr},xr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Pr=/^\w*$/;var Nr=function(e,t){if(ae(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!Rr(e))||(Pr.test(e)||!xr.test(e)||null!=t&&e in Object(t))},Tr="Expected a function";function Ar(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(Tr);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(Ar.Cache||lt),r}Ar.Cache=lt;var Cr=Ar,Hr=500;var Yr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,zr=/\\(\\)?/g,Lr=function(e){var t=Cr(e,(function(e){return r.size===Hr&&r.clear(),e})),r=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Yr,(function(e,r,n,o){t.push(n?o.replace(zr,"$1"):r||e)})),t}));var Wr=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o},Fr=1/0,Mr=h?h.prototype:void 0,Ir=Mr?Mr.toString:void 0;var Ur=function e(t){if("string"==typeof t)return t;if(ae(t))return Wr(t,e)+"";if(Rr(t))return Ir?Ir.call(t):"";var r=t+"";return"0"==r&&1/t==-Fr?"-0":r};var $r=function(e){return null==e?"":Ur(e)};var Vr=function(e,t){return ae(e)?e:Nr(e,t)?[e]:Lr($r(e))},Br=1/0;var qr=function(e){if("string"==typeof e||Rr(e))return e;var t=e+"";return"0"==t&&1/e==-Br?"-0":t};var Gr=function(e,t){for(var r=0,n=(t=Vr(t,e)).length;null!=e&&r<n;)e=e[qr(t[r++])];return r&&r==n?e:void 0};var Jr=function(e,t,r){var n=null==e?void 0:Gr(e,t);return void 0===n?r:n};var Kr=function(e,t){return null!=e&&t in Object(e)};var Qr=function(e,t,r){for(var n=-1,o=(t=Vr(t,e)).length,a=!1;++n<o;){var i=qr(t[n]);if(!(a=null!=e&&r(e,i)))break;e=e[i]}return a||++n!=o?a:!!(o=null==e?0:e.length)&&pe(o)&&se(i,o)&&(ae(e)||oe(e))};var Xr=function(e,t){return null!=e&&Qr(e,t,Kr)},Zr=1,en=2;var tn=function(e,t){return Nr(e)&&wr(t)?Dr(qr(e),t):function(r){var n=Jr(r,e);return void 0===n&&n===t?Xr(r,e):_r(t,n,Zr|en)}};var rn=function(e){return e};var nn=function(e){return function(t){return null==t?void 0:t[e]}};var on=function(e){return function(t){return Gr(t,e)}};var an=function(e){return Nr(e)?nn(qr(e)):on(e)};var un=function(e){return"function"==typeof e?e:null==e?rn:"object"==typeof e?ae(e)?tn(e[0],e[1]):kr(e):an(e)};var cn,fn=function(e,t){var r={};return t=un(t),xe(e,(function(e,n,o){J(r,n,t(e,n,o))})),r},sn={different:"different",deepEquals:"deepEquals",date:"date",regex:"regex",reactElement:"reactElement",function:"function"},ln="function"==typeof Symbol&&Symbol.for,pn=ln?Symbol.for("react.memo"):60115,vn=ln?Symbol.for("react.forward_ref"):60112,dn="http://bit.ly/wdyr02",hn="http://bit.ly/wdyr3",yn=(t(cn={},sn.different,"different objects."),t(cn,sn.deepEquals,"different objects that are equal by value."),t(cn,sn.date,"different date objects with the same value."),t(cn,sn.regex,"different regular expressions with the same value."),t(cn,sn.reactElement,"different React elements with the same displayName."),t(cn,sn.function,"different functions with the same name."),cn),bn=!1;function gn(e){var r=e.Component,n=e.displayName,o=e.hookName,a=e.prefixMessage,i=e.diffObjType,u=e.differences,c=e.values,f=e.options;u&&u.length>0?(f.consoleLog(t({},n,r),"".concat(a," of ").concat(i," changes:")),u.forEach((function(e){var r=e.pathString,n=e.diffType,a=e.prevValue,u=e.nextValue;f.consoleGroup("%c".concat("hook"===i?"[hook ".concat(o," result]"):"".concat(i,"."),"%c").concat(r,"%c"),"color:".concat(f.diffNameColor,";"),"color:".concat(f.diffPathColor,";"),"color:default;"),f.consoleLog("".concat(yn[n]," (more info at ").concat(o?hn:dn,")")),f.consoleLog(t({},"prev ".concat(r),a),"!==",t({},"next ".concat(r),u)),f.consoleGroupEnd()}))):u&&(f.consoleLog(t({},n,r),"".concat(a," the ").concat(i," object itself changed but its values are all equal."),"props"===i?"This could have been avoided by making the component pure, or by preventing its father from re-rendering.":"This usually means this component called setState when no changes in its state actually occurred.","More info at ".concat(dn)),f.consoleLog("prev ".concat(i,":"),c.prev," !== ",c.next,":next ".concat(i)))}function _n(e){var r=e.Component,n=e.displayName,o=e.hookName,a=e.prevProps,i=e.prevState,u=e.prevHook,c=e.nextProps,f=e.nextState,s=e.nextHook,l=e.reason,p=e.options;if(function(e,t,r){return!bn&&(!!r.logOnDifferentValues||(!(!t.whyDidYouRender||!t.whyDidYouRender.logOnDifferentValues)||!(e.propsDifferences&&e.propsDifferences.some((function(e){return e.diffType===sn.different}))||e.stateDifferences&&e.stateDifferences.some((function(e){return e.diffType===sn.different}))||e.hookDifferences&&e.hookDifferences.some((function(e){return e.diffType===sn.different})))))}(l,r,p)){p.consoleGroup("%c".concat(n),"color: ".concat(p.titleColor,";"));var v="Re-rendered because";l.propsDifferences&&(gn({Component:r,displayName:n,prefixMessage:v,diffObjType:"props",differences:l.propsDifferences,values:{prev:a,next:c},options:p}),v="And because"),l.stateDifferences&&gn({Component:r,displayName:n,prefixMessage:v,diffObjType:"state",differences:l.stateDifferences,values:{prev:i,next:f},options:p}),l.hookDifferences&&gn({Component:r,displayName:n,prefixMessage:v,diffObjType:"hook",differences:l.hookDifferences,values:{prev:u,next:s},hookName:o,options:p}),l.propsDifferences||l.stateDifferences||l.hookDifferences||p.consoleLog(t({},n,r),"Re-rendered although props and state objects are the same.","This usually means there was a call to this.forceUpdate() inside the component.","more info at ".concat(dn)),p.consoleGroupEnd()}}var mn=function(){};function jn(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=console.group,o=console.groupEnd;return t.collapseGroups?r=console.groupCollapsed:t.onlyLogs&&(r=console.log,o=mn),n({include:null,exclude:null,notifier:t.notifier||((e="hotReloadBufferMs"in t?t.hotReloadBufferMs:500)&&"undefined"!=typeof module&&module.hot&&module.hot.addStatusHandler&&module.hot.addStatusHandler((function(t){"idle"===t&&(bn=!0,setTimeout((function(){bn=!1}),e))})),_n),onlyLogs:!1,consoleLog:console.log,consoleGroup:r,consoleGroupEnd:o,logOnDifferentValues:!1,trackHooks:!0,titleColor:"#058",diffNameColor:"blue",diffPathColor:"red",trackExtraHooks:[]},t)}var On="[object String]";var wn=function(e){return"string"==typeof e||!ae(e)&&X(e)&&k(e)==On};function En(e){return e.displayName||e.name||e.type&&En(e.type)||e.render&&En(e.render)||(wn(e)?e:void 0)}var Dn=function(e,t,r,n){var o=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++o]);++o<a;)r=t(r,e[o],o,e);return r};var kn=function(e,t){return function(r,n){if(null==r)return r;if(!Se(r))return e(r,n);for(var o=r.length,a=t?o:-1,i=Object(r);(t?a--:++a<o)&&!1!==n(i[a],a,i););return r}}(xe);var Sn=function(e,t,r,n,o){return o(e,(function(e,o,a){r=n?(n=!1,e):t(r,e,o,a)})),r};var Rn=function(e,t,r){var n=ae(e)?Dn:Sn,o=arguments.length<3;return n(e,un(t),r,o,kn)},xn=Object.prototype.hasOwnProperty;var Pn=function(e,t){return null!=e&&xn.call(e,t)};var Nn=function(e,t){return null!=e&&Qr(e,t,Pn)},Tn="[object RegExp]";var An=function(e){return X(e)&&k(e)==Tn},Cn=ye&&ye.isRegExp,Hn=Cn?he(Cn):An,Yn="[object Date]";var zn=function(e){return X(e)&&k(e)==Yn},Ln=ye&&ye.isDate,Wn=Ln?he(Ln):zn,Fn=we(Object.getPrototypeOf,Object),Mn="[object Object]",In=Function.prototype,Un=Object.prototype,$n=In.toString,Vn=Un.hasOwnProperty,Bn=$n.call(Object);var qn=function(e){if(!X(e)||k(e)!=Mn)return!1;var t=Fn(e);if(null===t)return!0;var r=Vn.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&$n.call(r)==Bn},Gn="undefined"!=typeof Element,Jn="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103,Kn=function(e){return e.$$typeof===Jn};function Qn(e,t,r,n,o){return r.push({diffType:o,pathString:n,prevValue:e,nextValue:t}),o!==sn.different}function Xn(e,t,r){try{var n=[];return function e(t,r,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(t===r)return!0;if(!t||!r)return Qn(t,r,n,o,sn.different);if(ae(t)&&ae(r)){var a=t.length;if(a!==r.length)return Qn(t,r,n,o,sn.different);for(var i=!0,u=a;0!=u--;)e(t[u],r[u],n,"".concat(o,"[").concat(u,"]"))||(i=!1);return Qn(t,r,n,o,i?sn.deepEquals:sn.different)}if(Wn(t)&&Wn(r))return t.getTime()===r.getTime()?Qn(t,r,n,o,sn.date):Qn(t,r,n,o,sn.different);if(Hn(t)&&Hn(r))return t.toString()===r.toString()?Qn(t,r,n,o,sn.regex):Qn(t,r,n,o,sn.different);if(Gn&&t instanceof Element&&r instanceof Element)return Qn(t,r,n,o,sn.different);if(Kn(t)&&Kn(r))return t.type!==r.type?Qn(t,r,n,o,sn.different):Qn(t,r,n,o,e(t.props,r.props,n,"".concat(o,".props"))?sn.reactElement:sn.different);if(A(t)&&A(r))return t.name===r.name?Qn(t,r,n,o,sn.function):Qn(t,r,n,o,sn.different);if(qn(t)&&qn(r)){var c=Re(t),f=c.length;if(f!==Re(r).length)return Qn(t,r,n,o,sn.different);for(var s=f;0!=s--;)if(!Nn(r,c[s]))return Qn(t,r,n,o,sn.different);for(var l=!0,p=f;0!=p--;){var v=c[p];e(t[v],r[v],n,"".concat(o,".").concat(v))||(l=!1)}return Qn(t,r,n,o,l?sn.deepEquals:sn.different)}return Qn(t,r,n,o,sn.different)}(e,t,n,r),n}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn("Warning: why-did-you-render couldn't handle circular references in props.",e.name,e.message),!1;throw e}}var Zn={};function eo(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).shallow;if(e===t)return!1;if(!(void 0===r||r))return Xn(e,t);var o=e||Zn,a=t||Zn,i=Object.keys(n({},o,{},a));return Rn(i,(function(e,t){var r=Xn(o[t],a[t],t);return r&&(e=[].concat(f(e),f(r))),e}),[])}function to(e,t,r,n,o,a){return{propsDifferences:eo(e,n),stateDifferences:eo(t,o),hookDifferences:eo(r,a,{shallow:!1})}}function ro(e){var t=e.Component,r=e.displayName,n=e.hookName,o=e.prevProps,a=e.prevState,i=e.prevHook,u=e.nextProps,c=e.nextState,f=e.nextHook;return{Component:t,displayName:r,hookName:n,prevProps:o,prevState:a,prevHook:i,nextProps:u,nextState:c,nextHook:f,options:e.options,reason:to(o,a,i,u,c,f)}}function no(e){var t=e.Component,r=e.displayName,n=e.options,o=e.isHookChange;return!function(e,t){return t.exclude&&t.exclude.length>0&&t.exclude.some((function(t){return t.test(e)}))}(r,n)&&!(!t.whyDidYouRender&&!function(e,t){return t.include&&t.include.length>0&&t.include.some((function(t){return t.test(e)}))}(r,n)||o&&t.whyDidYouRender&&!1===t.whyDidYouRender.trackHooks)}var oo=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},ao=Math.max;var io=function(e,t,r){return t=ao(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,a=ao(n.length-t,0),i=Array(a);++o<a;)i[o]=n[t+o];o=-1;for(var u=Array(t+1);++o<t;)u[o]=n[o];return u[t]=r(i),oo(e,this,u)}};var uo=function(e){return function(){return e}},co=G?function(e,t){return G(e,"toString",{configurable:!0,enumerable:!1,value:uo(t),writable:!0})}:rn,fo=800,so=16,lo=Date.now;var po=function(e){var t=0,r=0;return function(){var n=lo(),o=so-(n-r);if(r=n,o>0){if(++t>=fo)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(co);var vo=function(e,t){return po(io(e,t,rn),e+"")};var ho=function(e,t,r){if(!S(r))return!1;var n=typeof t;return!!("number"==n?Se(r)&&se(t,r.length):"string"==n&&t in r)&&Ne(r[t],e)};var yo=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},bo=Object.prototype.hasOwnProperty;var go=function(e){if(!S(e))return yo(e);var t=Oe(e),r=[];for(var n in e)("constructor"!=n||!t&&bo.call(e,n))&&r.push(n);return r};var _o=function(e){return Se(e)?me(e,!0):go(e)},mo=Object.prototype,jo=mo.hasOwnProperty,Oo=vo((function(e,t){e=Object(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&ho(t[0],t[1],o)&&(n=1);++r<n;)for(var a=t[r],i=_o(a),u=-1,c=i.length;++u<c;){var f=i[u],s=e[f];(void 0===s||Ne(s,mo[f])&&!jo.call(e,f))&&(e[f]=a[f])}return e})),wo=1;function Eo(e){return e.prototype&&!!e.prototype.isReactComponent}function Do(e){return e.$$typeof===pn}function ko(e){return e.$$typeof===vn}function So(t,r,n,c){var f=function(n){function f(e,r){var n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),(n=function(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?i(e):t}(this,o(f).call(this,e,r)))._WDYR={renderNumber:0};var a=u(o(f.prototype),"render",i(n))||n.render;return a!==t.prototype.render&&(n.render=function(){return f.prototype.render.apply(i(n)),a()}),n}var s,l,p;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(f,n),s=f,(l=[{key:"render",value:function(){return this._WDYR.renderNumber++,"isStrictMode"in this._WDYR||(this._WDYR.isStrictMode=function(e){for(var t=e&&e._reactInternalFiber;t;){if(t.mode&wo)return!0;t=t.return}return!1}(this)),this._WDYR.isStrictMode&&this._WDYR.renderNumber%2==1||(this._WDYR.prevProps&&c.notifier(ro({Component:t,displayName:r,prevProps:this._WDYR.prevProps,prevState:this._WDYR.prevState,nextProps:this.props,nextState:this.state,options:c})),this._WDYR.prevProps=this.props,this._WDYR.prevState=this.state),u(o(f.prototype),"render",this)?u(o(f.prototype),"render",this).call(this):null}}])&&e(s.prototype,l),p&&e(s,p),f}(t);return f.displayName=r,Oo(f,t),f}var Ro=function(e,t){return function(r){return t.createElement(e,r)}};function xo(e,t,r,n,o){var a="string"==typeof e?Ro(e,n):e;function i(){var e=arguments[0],i=n.useRef(),u=i.current;if(i.current=e,u){var c=ro({Component:a,displayName:r,prevProps:u,nextProps:e,options:o});c.reason.propsDifferences&&!(t&&0===c.reason.propsDifferences.length)&&o.notifier(c)}return a.apply(void 0,arguments)}return i.displayName=r,i.ComponentForHooksTracking=a,Oo(i,a),i}function Po(e,t,r,n,o){var a=t.path,i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current,u=n.useRef();if(!i)return r;var c=i.type.ComponentForHooksTracking||i.type,f=En(c);if(!no({Component:c,displayName:f,options:o,isHookChange:!0}))return r;var s=u.current;if(u.current=r,s){var l=ro({Component:c,displayName:f,hookName:e,prevHook:a?Jr(s,a):s,nextHook:a?Jr(r,a):r,options:o});l.reason.hookDifferences&&o.notifier(l)}return r}function No(e,t,r,n,o){return Do(t)?function(e,t,r,n){var o=e.type,a=Eo(o),i=ko(o),u=i?o.render:o,c=a?So(u,t,0,n):xo(u,!0,t,r,n);c.displayName=En(u),c.ComponentForHooksTracking=e,Oo(c,u);var f=r.memo(i?r.forwardRef(c):c,e.compare);return f.displayName=t,Oo(f,e),f}(t,r,n,o):ko(t)?function(e,t,r,n){var o=e.render,a=Do(o),i=a?o.type:o,u=xo(i,a,t,r,n);u.displayName=En(i),u.ComponentForHooksTracking=i,Oo(u,i);var c=r.forwardRef(a?r.memo(u,o.compare):u);return c.displayName=t,Oo(c,e),c}(t,r,n,o):Eo(t)?So(t,r,0,o):xo(t,!1,r,n,o)}function To(e,t,r,n,o){if(e.has(t))return e.get(t);var a=No(0,t,r,n,o);return e.set(t,a),a}var Ao={useState:{path:"0"},useReducer:{path:"0"},useContext:!0,useMemo:!0};function Co(e,t){var r,o=jn(t),a=e.createElement,i=e.createFactory,u=new WeakMap;if(e.createElement=function(t){for(var r=null,n=null,i=null,c=arguments.length,f=new Array(c>1?c-1:0),s=1;s<c;s++)f[s-1]=arguments[s];try{if(r=("function"==typeof t||Do(t)||ko(t))&&no({Component:t,displayName:En(t),options:o}))return n=t&&t.whyDidYouRender&&t.whyDidYouRender.customName||En(t),i=To(u,t,n,e,o),a.apply(e,[i].concat(f))}catch(e){o.consoleLog("whyDidYouRender error. Please file a bug at https://github.com/welldone-software/why-did-you-render/issues.",{errorInfo:{error:e,componentNameOrComponent:t,rest:f,options:o,isShouldTrack:r,displayName:n,WDYRPatchedComponent:i}})}return a.apply(e,[t].concat(f))},Object.assign(e.createElement,a),e.createFactory=function(t){var r=e.createElement.bind(null,t);return r.type=t,r},Object.assign(e.createFactory,i),o.trackHooks){var f=fn(Ao,(function(t,n){return function(){var a=r[n];if(!a)throw new Error("[WhyDidYouRender] A problem with React Hooks patching occurred.");var i=a.apply(void 0,arguments);return t&&Po(n,!0===t?{}:t,i,e,o),i}}));Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{set:function(e){r=e&&n({},e,{},e.origHooks)},get:function(){return r&&n({},r,{},f,{origHooks:r})}}),o.trackHooks&&o.trackExtraHooks.forEach((function(t){var r=c(t,2),n=r[0],a=r[1],i=n[a],u=a[0].toUpperCase()+a.slice(1),f=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var u=i.call.apply(i,[this].concat(r));return Po(a,{},u,e,o),u};Object.defineProperty(f,"name",{value:u,writable:!1}),Object.assign(f,{originalHook:i}),n[a]=f}))}return e.__REVERT_WHY_DID_YOU_RENDER__=function(){Object.assign(e,{createElement:a,createFactory:i}),u=null,Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{writable:!0,value:r}),o.trackExtraHooks.forEach((function(e){var t=c(e,2),r=t[0],n=t[1];r[n]=r[n].originalHook})),delete e.__REVERT_WHY_DID_YOU_RENDER__},e}return Co.defaultNotifier=_n,Co})); | ||
//# sourceMappingURL=whyDidYouRender.min.js.map |
{ | ||
"name": "@welldone-software/why-did-you-render", | ||
"version": "3.3.9", | ||
"version": "3.4.0", | ||
"description": "Monkey patches React to notify you about avoidable re-renders.", | ||
@@ -62,13 +62,13 @@ "types": "types.d.ts", | ||
"peerDependencies": { | ||
"react": ">=16.9" | ||
"react": ">=16.12" | ||
}, | ||
"devDependencies": { | ||
"@babel/cli": "^7.7.0", | ||
"@babel/core": "^7.7.0", | ||
"@babel/plugin-proposal-class-properties": "^7.7.0", | ||
"@babel/preset-env": "^7.7.0", | ||
"@babel/preset-react": "^7.7.0", | ||
"@testing-library/jest-dom": "^4.2.3", | ||
"@testing-library/react": "^9.3.2", | ||
"@types/react": "^16.9.11", | ||
"@babel/cli": "^7.7.5", | ||
"@babel/core": "^7.7.5", | ||
"@babel/plugin-proposal-class-properties": "^7.7.4", | ||
"@babel/preset-env": "^7.7.6", | ||
"@babel/preset-react": "^7.7.4", | ||
"@testing-library/jest-dom": "^4.2.4", | ||
"@testing-library/react": "^9.4.0", | ||
"@types/react": "^16.9.16", | ||
"@welldone-software/jest-console-handler": "^0.1.1", | ||
@@ -81,31 +81,31 @@ "acorn-walk": "^7.0.0", | ||
"babel-plugin-lodash": "^3.3.4", | ||
"concurrently": "^5.0.0", | ||
"concurrently": "^5.0.1", | ||
"create-react-class": "^15.6.3", | ||
"cross-env": "^6.0.3", | ||
"eslint": "^6.6.0", | ||
"eslint-plugin-jest": "^23.0.2", | ||
"eslint-plugin-react": "^7.16.0", | ||
"eslint": "^6.7.2", | ||
"eslint-plugin-jest": "^23.1.1", | ||
"eslint-plugin-react": "^7.17.0", | ||
"express": "^4.17.1", | ||
"express-history-api-fallback": "^2.2.1", | ||
"husky": "^3.0.9", | ||
"husky": "^3.1.0", | ||
"jest": "^24.9.0", | ||
"jest-cli": "^24.9.0", | ||
"magic-string": "^0.25.4", | ||
"nollup": "^0.8.3", | ||
"react": "^16.10.1", | ||
"react-dom": "npm:@hot-loader/react-dom@^16.10.1", | ||
"react-hot-loader": "^4.12.15", | ||
"react-redux": "^7.1.1", | ||
"nollup": "^0.9.0", | ||
"react": "^16.12.0", | ||
"react-dom": "npm:@hot-loader/react-dom@^16.11.0", | ||
"react-hot-loader": "^4.12.18", | ||
"react-redux": "^7.1.3", | ||
"redux": "^4.0.4", | ||
"rimraf": "^3.0.0", | ||
"rollup": "^1.26.3", | ||
"rollup": "^1.27.12", | ||
"rollup-plugin-babel": "^4.3.3", | ||
"rollup-plugin-commonjs": "^10.1.0", | ||
"rollup-plugin-commonjs-alternate": "^0.0.7", | ||
"rollup-plugin-license": "^0.12.1", | ||
"rollup-plugin-license": "^0.13.0", | ||
"rollup-plugin-node-resolve": "^5.2.0", | ||
"rollup-plugin-replace": "^2.2.0", | ||
"rollup-plugin-terser": "^5.1.2", | ||
"rollup-plugin-terser": "^5.1.3", | ||
"styled-components": "^4.4.1" | ||
} | ||
} |
@@ -23,2 +23,6 @@ # Why Did You Render | ||
## Setup | ||
> The required React version for the library is **16.12** but it is expected to work with older versions as well. | ||
> For versions before 16.8 turn off hooks support by using `trackHooks: false` in `whyDidYouRender`'s init options.* | ||
``` | ||
@@ -32,6 +36,4 @@ npm install @welldone-software/why-did-you-render --save | ||
> *Notice: the required **React version** for the library is **>=16.8** but it might work with older versions by using `trackHooks: false` in `whyDidYouRender`'s init options.* | ||
## Installation | ||
Execute `whyDidYouRender` with `React` as it's first argument. | ||
Execute `whyDidYouRender` with `React` as it's first argument **before any `React` element is created**. | ||
@@ -47,18 +49,4 @@ ```js | ||
If you are building for latest browsers and don't transpile, the "class" keyword use the "no-classes-transpile" dist: | ||
```js | ||
import React from 'react'; | ||
if (process.env.NODE_ENV !== 'production') { | ||
const whyDidYouRender = require('@welldone-software/why-did-you-render/dist/no-classes-transpile/umd/whyDidYouRender.min.js'); | ||
whyDidYouRender(React); | ||
} | ||
``` | ||
Not doing so will [result in a bug](https://github.com/welldone-software/why-did-you-render/issues/5) | ||
where a transpiled class tries to extend a native class: | ||
`Class constructors must be invoked with 'new'`. | ||
## Usage | ||
Mark all the components you want to be notified about their re-renders with `whyDidYouRender` like this: | ||
Mark any component you want to be notified about their "redundant" re-renders with `whyDidYouRender` like this: | ||
@@ -92,3 +80,3 @@ ```js | ||
logOnDifferentValues: true, | ||
customName: 'EnhancedMenu' | ||
customName: 'Menu' | ||
} | ||
@@ -115,3 +103,3 @@ ``` | ||
```js | ||
const EnhancedMenu = Connect(withPropsOnChange(withPropsOnChange(withStateHandlers(withPropsOnChange(withState(withPropsOnChange(lifecycle(withPropsOnChange(withPropsOnChange(onlyUpdateForKeys(LoadNamespace(Connect(withState(withState(withPropsOnChange(lifecycle(withPropsOnChange(withHandlers(withHandlers(withHandlers(withHandlers(Connect(lifecycle(Menu)))))))))))))))))))))))) | ||
const EnhancedMenu = withPropsOnChange(withPropsOnChange(withStateHandlers(withPropsOnChange(withState(withPropsOnChange(lifecycle(withPropsOnChange(withPropsOnChange(onlyUpdateForKeys(LoadNamespace(Connect(withState(withState(withPropsOnChange(lifecycle(withPropsOnChange(withHandlers(withHandlers(withHandlers(withHandlers(Connect(lifecycle(Menu))))))))))))))))))))))) | ||
``` | ||
@@ -122,3 +110,3 @@ | ||
```js | ||
Connect(withPropsOnChange(withPropsOnChange(withStateHandlers(withPropsOnChange(withState(withPropsOnChange(lifecycle(withPropsOnChange(withPropsOnChange(onlyUpdateForKeys(LoadNamespace(Connect(withState(withState(withPropsOnChange(lifecycle(withPropsOnChange(withHandlers(withHandlers(withHandlers(withHandlers(Connect(lifecycle(Menu)))))))))))))))))))))))) | ||
withPropsOnChange(withPropsOnChange(withStateHandlers(withPropsOnChange(withState(withPropsOnChange(lifecycle(withPropsOnChange(withPropsOnChange(onlyUpdateForKeys(LoadNamespace(Connect(withState(withState(withPropsOnChange(lifecycle(withPropsOnChange(withHandlers(withHandlers(withHandlers(withHandlers(Connect(lifecycle(Menu))))))))))))))))))))))) | ||
``` | ||
@@ -129,6 +117,7 @@ | ||
## Options | ||
Optionally you can pass in options as a second parameter. The following options are available: | ||
Optionally you can pass in `options` as the second parameter. The following options are available: | ||
- `include: [RegExp, ...]` (`null` by default) | ||
- `exclude: [RegExp, ...]` (`null` by default) | ||
- `trackHooks: true` | ||
- `trackExtraHooks: []` | ||
- `logOnDifferentValues: false` | ||
@@ -159,2 +148,10 @@ - `hotReloadBufferMs: 500` | ||
#### trackExtraHooks | ||
Adding extra hooks to track for "redundant" results: | ||
```js | ||
whyDidYouRender(React, {trackExtraHooks: [ | ||
[Redux, 'useSelector'] | ||
]}); | ||
``` | ||
#### logOnDifferentValues | ||
@@ -189,2 +186,34 @@ Normally, you only want notifications about component re-renders when their props and state | ||
## Troubleshooting | ||
### `Class constructors must be invoked with 'new'`. | ||
If you are building for latest browsers (or using es6 classes without building) you don't transpile the "class" keyword. | ||
This causes an error because the library uses transpiled classes, and [transpiled classes currently can't extend native classes](https://github.com/welldone-software/why-did-you-render/issues/5). | ||
To fix this, use the "no-classes-transpile" dist: | ||
```js | ||
import React from 'react'; | ||
if (process.env.NODE_ENV !== 'production') { | ||
const whyDidYouRender = require('@welldone-software/why-did-you-render/dist/no-classes-transpile/umd/whyDidYouRender.min.js'); | ||
whyDidYouRender(React); | ||
} | ||
``` | ||
### React-Redux `connect` HOC is spamming the console | ||
Since `connect` hoists statics, if you add WDYR to the inner component, it is also added to the HOC component where complex hooks are running. | ||
To fix this, add the `whyDidYouRender = true` static to a component after the connect: | ||
```js | ||
const SimpleComponent = ({a}) => <div data-testid="foo">{a.b}</div>) | ||
// not before the connect: | ||
// SimpleComponent.whyDidYouRender = true | ||
const ConnectedSimpleComponent = connect( | ||
state => ({a: state.a}) | ||
)(SimpleComponent) | ||
// after the connect: | ||
SimpleComponent.whyDidYouRender = true | ||
``` | ||
## Credit | ||
@@ -191,0 +220,0 @@ |
@@ -37,4 +37,5 @@ /* eslint-disable no-console */ | ||
diffPathColor: 'red', | ||
trackExtraHooks: [], | ||
...userOptions | ||
} | ||
} |
@@ -17,3 +17,3 @@ function shouldInclude(displayName, options){ | ||
export default function shouldTrack(Component, displayName, options){ | ||
export default function shouldTrack({Component, displayName, options, isHookChange}){ | ||
if(shouldExclude(displayName, options)){ | ||
@@ -26,3 +26,7 @@ return false | ||
shouldInclude(displayName, options) | ||
) && !( | ||
isHookChange && ( | ||
Component.whyDidYouRender && Component.whyDidYouRender.trackHooks === false | ||
) | ||
) | ||
} |
@@ -16,8 +16,7 @@ import {get, mapValues} from 'lodash' | ||
function trackHookChanges(hookName, {path: hookPath}, hookResult, React, options){ | ||
const nextHook = hookResult | ||
const ComponentHookDispatchedFromInstance = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current | ||
const prevHookResultRef = React.useRef() | ||
if(!ComponentHookDispatchedFromInstance){ | ||
return nextHook | ||
return hookResult | ||
} | ||
@@ -28,12 +27,11 @@ | ||
const isShouldTrack = shouldTrack(Component, displayName, options) | ||
const isShouldTrack = shouldTrack({Component, displayName, options, isHookChange: true}) | ||
if(!isShouldTrack){ | ||
return nextHook | ||
return hookResult | ||
} | ||
const ref = React.useRef() | ||
const prevHook = ref.current | ||
ref.current = nextHook | ||
const prevHookResult = prevHookResultRef.current | ||
prevHookResultRef.current = hookResult | ||
if(prevHook){ | ||
if(prevHookResult){ | ||
const notification = getUpdateInfo({ | ||
@@ -43,4 +41,4 @@ Component: Component, | ||
hookName, | ||
prevHook: hookPath ? get(prevHook, hookPath) : prevHook, | ||
nextHook: hookPath ? get(nextHook, hookPath) : nextHook, | ||
prevHook: hookPath ? get(prevHookResult, hookPath) : prevHookResult, | ||
nextHook: hookPath ? get(hookResult, hookPath) : hookResult, | ||
options | ||
@@ -54,3 +52,3 @@ }) | ||
return ref.current | ||
return hookResult | ||
} | ||
@@ -112,3 +110,3 @@ | ||
) && | ||
shouldTrack(componentNameOrComponent, getDisplayName(componentNameOrComponent), options) | ||
shouldTrack({Component: componentNameOrComponent, displayName: getDisplayName(componentNameOrComponent), options}) | ||
) | ||
@@ -191,2 +189,17 @@ | ||
) | ||
if(options.trackHooks){ | ||
options.trackExtraHooks.forEach(([hookParent, hookName]) => { | ||
const originalHook = hookParent[hookName] | ||
const newHookName = hookName[0].toUpperCase() + hookName.slice(1) | ||
const newHook = function(...args){ | ||
const hookResult = originalHook.call(this, ...args) | ||
trackHookChanges(hookName, {}, hookResult, React, options) | ||
return hookResult | ||
} | ||
Object.defineProperty(newHook, 'name', {value: newHookName, writable: false}) | ||
Object.assign(newHook, {originalHook}) | ||
hookParent[hookName] = newHook | ||
}) | ||
} | ||
} | ||
@@ -208,2 +221,5 @@ | ||
) | ||
options.trackExtraHooks.forEach(([hookParent, hookName]) => { | ||
hookParent[hookName] = hookParent[hookName].originalHook | ||
}) | ||
delete React.__REVERT_WHY_DID_YOU_RENDER__ | ||
@@ -210,0 +226,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
1149581
12586
221