@mic-rexjs/usecases-react 4.0.0-beta.3 → 4.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see index.min.js.LICENSE.txt */
2
- (()=>{var t={698(t,e){"use strict";var n=Symbol.for("react.transitional.element");Symbol.for("react.fragment"),e.jsx=function(t,e,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==e.key&&(o=""+e.key),"key"in e)for(var u in r={},e)"key"!==u&&(r[u]=e[u]);else r=e;return e=r.ref,{$$typeof:n,type:t,key:o,ref:void 0!==e?e:null,props:r}}},848(t,e,n){"use strict";t.exports=n(698)},172(t){t.exports=function(t,e){this.v=t,this.k=e},t.exports.__esModule=!0,t.exports.default=t.exports},993(t,e,n){var r=n(546);function o(){var e,n,u="function"==typeof Symbol?Symbol:{},i=u.iterator||"@@iterator",a=u.toStringTag||"@@toStringTag";function c(t,o,u,i){var a=o&&o.prototype instanceof s?o:s,c=Object.create(a.prototype);return r(c,"_invoke",function(t,r,o){var u,i,a,c=0,s=o||[],l=!1,y={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return u=t,i=0,a=e,y.n=n,f}};function p(t,r){for(i=t,a=r,n=0;!l&&c&&!o&&n<s.length;n++){var o,u=s[n],p=y.p,v=u[2];t>3?(o=v===r)&&(a=u[(i=u[4])?5:(i=3,3)],u[4]=u[5]=e):u[0]<=p&&((o=t<2&&p<u[1])?(i=0,y.v=r,y.n=u[1]):p<v&&(o=t<3||u[0]>r||r>v)&&(u[4]=t,u[5]=r,y.n=v,i=0))}if(o||t>1)return f;throw l=!0,r}return function(o,s,v){if(c>1)throw TypeError("Generator is already running");for(l&&1===s&&p(s,v),i=s,a=v;(n=i<2?e:a)||!l;){u||(i?i<3?(i>1&&(y.n=-1),p(i,a)):y.n=a:y.v=a);try{if(c=2,u){if(i||(o="next"),n=u[o]){if(!(n=n.call(u,a)))throw TypeError("iterator result is not an object");if(!n.done)return n;a=n.value,i<2&&(i=0)}else 1===i&&(n=u.return)&&n.call(u),i<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),i=1);u=e}else if((n=(l=y.n<0)?a:t.call(r,y))!==f)break}catch(t){u=e,i=1,a=t}finally{c=1}}return{value:n,done:l}}}(t,u,i),!0),c}var f={};function s(){}function l(){}function y(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(r(n={},i,function(){return this}),n),v=y.prototype=s.prototype=Object.create(p);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,r(t,a,"GeneratorFunction")),t.prototype=Object.create(v),t}return l.prototype=y,r(v,"constructor",y),r(y,"constructor",l),l.displayName="GeneratorFunction",r(y,a,"GeneratorFunction"),r(v),r(v,a,"Generator"),r(v,i,function(){return this}),r(v,"toString",function(){return"[object Generator]"}),(t.exports=o=function(){return{w:c,m:d}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},869(t,e,n){var r=n(887);t.exports=function(t,e,n,o,u){var i=r(t,e,n,o,u);return i.next().then(function(t){return t.done?t.value:i.next()})},t.exports.__esModule=!0,t.exports.default=t.exports},887(t,e,n){var r=n(993),o=n(791);t.exports=function(t,e,n,u,i){return new o(r().w(t,e,n,u),i||Promise)},t.exports.__esModule=!0,t.exports.default=t.exports},791(t,e,n){var r=n(172),o=n(546);t.exports=function t(e,n){function u(t,o,i,a){try{var c=e[t](o),f=c.value;return f instanceof r?n.resolve(f.v).then(function(t){u("next",t,i,a)},function(t){u("throw",t,i,a)}):n.resolve(f).then(function(t){c.value=t,i(c)},function(t){return u("throw",t,i,a)})}catch(t){a(t)}}var i;this.next||(o(t.prototype),o(t.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),o(this,"_invoke",function(t,e,r){function o(){return new n(function(e,n){u(t,r,e,n)})}return i=i?i.then(o,o):o()},!0)},t.exports.__esModule=!0,t.exports.default=t.exports},546(t){function e(n,r,o,u){var i=Object.defineProperty;try{i({},"",{})}catch(n){i=0}t.exports=e=function(t,n,r,o){function u(n,r){e(t,n,function(t){return this._invoke(n,r,t)})}n?i?i(t,n,{value:r,enumerable:!o,configurable:!o,writable:!o}):t[n]=r:(u("next",0),u("throw",1),u("return",2))},t.exports.__esModule=!0,t.exports.default=t.exports,e(n,r,o,u)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},373(t){t.exports=function(t){var e=Object(t),n=[];for(var r in e)n.unshift(r);return function t(){for(;n.length;)if((r=n.pop())in e)return t.value=r,t.done=!1,t;return t.done=!0,t}},t.exports.__esModule=!0,t.exports.default=t.exports},633(t,e,n){var r=n(172),o=n(993),u=n(869),i=n(887),a=n(791),c=n(373),f=n(579);function s(){"use strict";var e=o(),n=e.m(s),l=(Object.getPrototypeOf?Object.getPrototypeOf(n):n.__proto__).constructor;function y(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===l||"GeneratorFunction"===(e.displayName||e.name))}var p={throw:1,return:2,break:3,continue:3};function v(t){var e,n;return function(r){e||(e={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(t,e){return n(r.a,p[t],e)},delegateYield:function(t,o,u){return e.resultName=o,n(r.d,f(t),u)},finish:function(t){return n(r.f,t)}},n=function(t,n,o){r.p=e.prev,r.n=e.next;try{return t(n,o)}finally{e.next=r.n}}),e.resultName&&(e[e.resultName]=r.v,e.resultName=void 0),e.sent=r.v,e.next=r.n;try{return t.call(this,e)}finally{r.p=e.prev,r.n=e.next}}}return(t.exports=s=function(){return{wrap:function(t,n,r,o){return e.w(v(t),n,r,o&&o.reverse())},isGeneratorFunction:y,mark:e.m,awrap:function(t,e){return new r(t,e)},AsyncIterator:a,async:function(t,e,n,r,o){return(y(e)?i:u)(v(t),e,n,r,o)},keys:c,values:f}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports},579(t,e,n){var r=n(738).default;t.exports=function(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}throw new TypeError(r(t)+" is not iterable")},t.exports.__esModule=!0,t.exports.default=t.exports},738(t){function e(n){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},756(t,e,n){var r=n(633)();t.exports=r;try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var u=e[r]={exports:{}};return t[r](u,u.exports,n),u.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(e,n,r){return(n=function(e){var n=function(e){if("object"!=t(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function o(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(-1!==e.indexOf(r))continue;n[r]=t[r]}return n}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(r=0;r<u.length;r++)n=u[r],-1===e.indexOf(n)&&{}.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}n.r(r),n.d(r,{UseCaseFragment:()=>z,lifecycleUseCase:()=>q,useProviders:()=>B,useUseCase:()=>X});var u=n(848);function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function a(t,e){if(t){if("string"==typeof t)return i(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}}function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,u,i,a=[],c=!0,f=!1;try{if(u=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=u.call(n)).done)&&(a.push(r.value),a.length!==e);c=!0);}catch(t){f=!0,o=t}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return a}}(t,e)||a(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const f=React;var s=n.n(f),l=function(t){return c((0,f.useState)(t),1)[0]};const y=ahooks;var p=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t,e){return t!==e})(t,(0,y.usePrevious)(t,function(){return!0}))};function v(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||a(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var d=function(){var e=function(e){return"object"===t(e)&&null!==e},n=function(t,n){return!!e(t)&&Object.hasOwn(t,n)};return{hasField:n,isObject:e,isEqual:function(t,r,o){if(t===r)return!0;var u=e(t),i=e(r),a=u?Object.keys(t):[],c=i?Object.keys(r):[],f="function"==typeof o;if(!u&&!i)return!1;for(var s=!0,l=a.length,y=[].concat(v(a),v(c)),p=0,d=y.length;p<d;p++){var b=y[p],h=a.includes(b);if(!(p>=l&&h)){var m=n(t,b),O=n(r,b),g=m?t[b]:void 0,j=O?r[b]:void 0;if(!m||!O||g!==j){if(s=!1,!f)break;o(b,j,g)}}}return s},matchProperty:function(t,e,r,o){var u=!0,i=r,a=[{fieldPaths:[],newEntity:e,newValue:e,oldEntity:t,oldValue:t}];do{var f=a.shift(),s=f.oldValue,l=f.newValue,y=f.fieldPaths,p=c(i.match(/^([^.]+)\.(.+)$/)||[],3),d=p[1],b=void 0===d?i:d,h=p[2],m=void 0===h?"":h,O=n(s,b),g=n(l,b);if(O||g){var j=c(O?[s[b]]:[],1)[0],x=c(g?[l[b]]:[],1)[0],w={fieldPaths:[].concat(v(y),[b]),newEntity:e,newValue:x,oldEntity:t,oldValue:j};if(m){i=m,a.push(w);continue}if(x===j)continue;u=!1,null==o||o(w)}else if(!/^\d+^/.test(b))for(var E=Array.isArray(s)?s:[],P=Array.isArray(l)?l:[],R=E.length,S=P.length,C=Math.max(R,S),_=0;_<C;_++)a.push({fieldPaths:[].concat(v(y),["".concat(_)]),newEntity:e,newValue:P[_],oldEntity:t,oldValue:E[_]})}while(a.length>0);return u}}},b=function(t){var e=(0,f.useRef)(0),n=l(d).isEqual,r=p(t,function(t,e){return!n(t,e)});return(0,y.useMemoizedFn)(function(){var t=e.current;if(!r)return t;var n=t+1;return e.current=n,n})()},h=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[t],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[t],r=c(Array.isArray(e)?[null,e]:[e,n],2),o=r[0],u=r[1],i=b(u),a=(0,f.useRef)(null),s=function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];null===(t=a.current)||void 0===t||t.call(a,e)},l=(0,y.useMemoizedFn)(function(){return s(),a.current=o,t()});return(0,y.useUnmount)(function(){s(!0)}),(0,y.useCreation)(function(){return l()},[i,l])};const m=usecases;var O=(0,m.createUseCase)(function(){var t=new Map;return function(){var e=function(){return t};return{getContext:function(t){var n=e();return n.has(t)?n.get(t).value:(0,f.createContext)(null)},registerUseCase:function(t){var n=e();if(n.has(t)){var r=n.get(t),o=r.value,u=r.times;return n.set(t,{value:o,times:u+1}),o}var i=(0,f.createContext)(null);return n.set(t,{value:i,times:1}),i},unregisterUseCase:function(t){var n=e();if(!n.has(t))return!1;var r=n.get(t),o=r.value,u=r.times;return 1===u?n.delete(t):n.set(t,{value:o,times:u-1}),!0}}}});function g(t,e,n,r,o,u,i){try{var a=t[u](i),c=a.value}catch(t){return void n(t)}a.done?e(c):Promise.resolve(c).then(r,o)}var j,x=n(756),w=n.n(x),E=function(t,e,n,r){var o=c(Array.isArray(n)?[null,n]:[n,r],2),u=o[0],i=o[1];return h(function(){return t?e():null},function(e){t&&(null==u||u(e))},i)};!function(t){t[t.None=0]="None",t[t.Entity=4]="Entity",t[t.RootRuntime=8]="RootRuntime",t[t.EntityRootRuntime=12]="EntityRootRuntime",t[t.EntityContextRuntime=20]="EntityContextRuntime",t[t.InitialEntityX=32]="InitialEntityX",t[t.InitialEntityY=64]="InitialEntityY",t[t.InitialEntityKey=96]="InitialEntityKey",t[t.UseCaseX=128]="UseCaseX",t[t.UseCaseY=256]="UseCaseY",t[t.UseCaseKey=384]="UseCaseKey",t[t.DepsX=512]="DepsX",t[t.DepsY=1024]="DepsY",t[t.DepsKey=1536]="DepsKey",t[t.ReducersX=2048]="ReducersX",t[t.ReducersY=4096]="ReducersY",t[t.ReducersKey=6144]="ReducersKey",t[t.RootX=8192]="RootX",t[t.RootY=16384]="RootY",t[t.RootKey=24576]="RootKey"}(j||(j={}));var P=function(t,e,n,r,o){var u=Array.isArray(n),i=Array.isArray(r),a="number"==typeof n,c=u||a?null:n,f=a?n:"number"==typeof r?r:j.RootRuntime,s=u?n:i?r:o||[],l=t&j.RootKey,y=(t&f)===f,p=(t&j.EntityRootRuntime)===j.EntityRootRuntime;return E(y,function(){return e(p)},function(){null==c||c(p)},[l].concat(v(s)))},R=function(t,e,n,r){var o=c(Array.isArray(n)?[null,n]:[n,r],2),u=o[0],i=o[1];return P(t,e,u||null,j.EntityRootRuntime,i)},S=function(){R.apply(void 0,arguments)};function C(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var _=(0,m.createUseCase)(function(){var t=new Map,e=[],n=(0,m.utilsUseCase)().createKey;return function(){return{createLifecycleKey:function(){return n()},deleteLifecycleEvents:function(e){return t.delete(e)},setLifecycleEvents:function(t){e.push(t)},getLifecycleEvents:function(e){return t.get(e)||{}},bindLifecycleEventsKey:function(n){if(0===e.length)return{};var r=e.splice(0),o=["onBind","onUnbind","onAdopt","onDiscard","onChange","onUpdate"].map(function(t){return[t,function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return function(t,e){var n,o=void 0,u=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return C(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,i=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){a=!0,u=t},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw u}}}}(r);try{for(u.s();!(n=u.n()).done;){var i=n.value[t];"function"==typeof i&&(null!=o||(o=Reflect.apply(i,null,e)))}}catch(t){u.e(t)}finally{u.f()}return o}(t,n)}]}),u=Object.fromEntries(o);return t.set(n,u),u}}}}),A=function(e,n,r,o){var u=e.value,i=function(){var t=(0,y.useUpdate)(),e=(0,f.useRef)(-1),n=(0,f.useRef)(0),r=function(){n.current=Date.now(),t()};return(0,y.useMemoizedFn)(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(0!==t){var o=e.current,u=n.current,i=t-(Date.now()-u);if(clearTimeout(o),i<=0)r();else{var a=setTimeout(function(){r()},i);e.current=a}}else r()})}(),a=(0,y.useLatest)(o),s=(0,f.useRef)(u),p=(r&j.Entity)===j.Entity,v=l(_),b=v.createLifecycleKey,h=v.bindLifecycleEventsKey,m=v.getLifecycleEvents,O=v.deleteLifecycleEvents,x=l(function(){return b()}),P=(0,y.useMemoizedFn)(function(t,e){var n=a.current.watch;n&&function(t,e,n){for(var r,o=d().matchProperty,u=function(){var t=a[i],u=(r=c(t,2))[0],f=r[1];o(n,e,u,function(t){f(t)})},i=0,a=Object.entries(t);i<a.length;i++)u()}(n,t,e)}),R=(0,y.useMemoizedFn)(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.current,n=s.current;if(p&&n!==t){var r=m(x),o=r.onUpdate,i=r.onAdopt,a=r.onDiscard;s.current=t,P(t,e),null==a||a(e),null==i||i(t,e),null==o||o(t,e)}}),C=(0,y.useMemoizedFn)(function(){var e,n=(e=w().mark(function e(n,r){var o,u,a,c;return w().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(o=m(x),u=o.onChange,!((a=null==u?void 0:u(n,r))instanceof Promise)){e.next=2;break}return e.next=1,a;case 1:a=e.sent;case 2:c=t(a),e.next="number"===c?3:"undefined"===c?4:5;break;case 3:return i(a),e.abrupt("return");case 4:return i(),e.abrupt("return");case 5:if(!a){e.next=6;break}return e.abrupt("return");case 6:i();case 7:case"end":return e.stop()}},e)}),function(){var t=this,n=arguments;return new Promise(function(r,o){var u=e.apply(t,n);function i(t){g(u,r,o,i,a,"next",t)}function a(t){g(u,r,o,i,a,"throw",t)}i(void 0)})});return function(t,e){return n.apply(this,arguments)}}()),A=(0,y.useMemoizedFn)(function(t,e){var n=a.current.onChange;null==n||n(t,e)});return S(r,function(){var t=h(x),n=t.onBind,r=t.onAdopt;e.watch(C),null==n||n(u),null==r||r(u)},function(){var t=e.value,n=m(x),r=n.onUnbind,o=n.onDiscard;e.unwatch(C),O(x),null==r||r(t),null==o||o(t)}),function(t,n,r,o){var u=c(Array.isArray(r)?[null,r]:[r,o],2),i=u[0],a=u[1],f=(t&j.Entity)===j.Entity;E(f,function(){e.watch(A),e.watch(R)},i||null,a)}(r,0,function(){e.unwatch(A),e.unwatch(R)},[e]),(0,y.useUpdateEffect)(function(){R()},[u,R]),u};function D(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}var U=["watch","onChange"],M=function(t,n,r,u,i){var a=((0,f.useContext)(r)||{}).reducers,c=void 0===a?null:a,s=(i.watch,i.onChange,o(i,U)),l=i.options,p=void 0===l?s:l,v=(0,y.useLatest)(p),d=u&j.ReducersKey,b=function(t){return function(){var e=v.current[t];if("function"==typeof e)return e.apply(void 0,arguments)}};return h(function(){var r=(u&j.Entity)===j.Entity,o=(u&j.EntityRootRuntime)===j.EntityRootRuntime;if(!r)return t(i);if(!o)return c;var a=function(){for(var t=function(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?D(Object(r),!0).forEach(function(n){e(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},p),n=0,r=Object.keys(t);n<r.length;n++){var o=r[n];"function"==typeof t[o]&&(t[o]=b(o))}return t}();return(0,m.createEntityReducers)(n,t,{options:a,onGenerate:function(t,e){return e}})},[d])},k=function(t,e,n){var r=(0,f.useRef)(e),o=p(t);return h(function(){var t=r.current;if(!o)return t;var u=t===e?n:e;return r.current=u,u})};function I(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function K(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?I(Object(r),!0).forEach(function(n){e(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var F=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=(0,m.entityUseCase)(),n=t.onInit;return K(K({},e),{},{initEntity:function(t){return"function"!=typeof n?t:n(t)}})},Y=function(t,e,n){var r=(0,f.useRef)([]),o=function(t){var e=t&j.RootKey,n=(0,f.useRef)(!0);return h(function(){var t=n.current;return n.current=!1,t},function(){n.current=!0},[e])}(n),u=((0,f.useContext)(e)||{}).store,i=void 0===u?null:u,a=n&j.InitialEntityKey,c=P(n,function(){return new m.EntityStore(void 0)})||i;return S(n,function(){"function"==typeof t?function(){if(o){var e=r.current;r.current=function(t,e,n,r){var o=!1,u=0,i=[],a=d(),c=a.isObject,f=a.isEqual,s=function(e){return!r||o?e:t.initValue(e)},l=(0,m.createEntityReducers)(t,F,{onInit:function(t){return e(t)},onCreate:function(t,e){var r=u,o=c(e),a=o&&Array.isArray(e);if(u++,i[r]=t,!o||a)return(0,m.createEntity)(e,t);var s={},l=n[r];return f(l,t,function(e){var n=Object.getOwnPropertyDescriptor(t,e)||null;null!==n&&(s[e]=n)}),(0,m.createEntity)(e,Object.defineProperties({},s))},onGenerate:function(e,n){if(void 0===n)return[e,n];var r=(0,m.createEntity)(e,n);return t.setValue(r),[r,n]},onYield:function(t){return s(t)},onReturn:function(e){var n=s(e);return t.setValue(n),n}}).initEntity;return t.disableWatchers(),l(),t.enableWatchers(),o=!0,i}(c,t,e,o)}}():o?c.initValue(t):c.setValue(t)},[a]),c};function T(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}var X=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];var u,i="function"==typeof r[1],a=function(t,e){var n=c(t,4),r=n[0],o=n[1],u=n[2],i=n[3];return e?[r,o,u||{},i||[]]:[null,r,o||{},u||[]]}(r,i),p=c(a,3),v=p[0],m=p[1],g=p[2],x=function(t,e){var n=l(O),r=n.getContext,o=n.registerUseCase,u=n.unregisterUseCase;return h(function(){return e?o(t):r(t)},function(){e&&u(t)},[t,e])}(m,i),w=function(t,e,n){var r=j.None,o=c(t,4),u=o[0],i=o[1],a=o[3],s="function"==typeof u,l=(0,f.useContext)(e),y=!n&&null!==l,p=(y?l:{key:n?j.RootX:j.RootY}).key,v=b(a),d=b([i,p]),h=b([d,v]),m=k(d,j.RootX,j.RootY),O=k(i,j.UseCaseX,j.UseCaseY),g=k(h,j.ReducersX,j.ReducersY),x=k(v,j.DepsX,j.DepsY),w=k(s?h:u,j.InitialEntityX,j.InitialEntityY);switch(!0){case n:r|=w,r|=j.EntityRootRuntime;break;case y:r|=j.EntityContextRuntime;break;default:r|=j.RootRuntime}return r|=m,r|=O,(r|=g)|x}(a,x,i),E=Y(v,x,w),P=M(m,E,x,w,g),R=A(E,0,w,g),S=function(t,e,n,r){var o=(0,f.useId)();return h(function(){return{key:o,store:e,reducers:n,statuses:r}},[o,t,e,n,r])}(R,E,P,w),C=function(t,e){var n=(0,y.useLatest)(e);return l(function(){return function(e){var r=e.children,o=e.with,u=void 0===o?[]:o,i=t.Provider,a=n.current,c=Array.isArray(u)?u:[u];return s().createElement(i,{value:a},c.reduceRight(function(t,e){return s().createElement(e,{},t)},r))}})}(x,S),_=(u=(0,y.useLatest)(!0),(0,f.useEffect)(function(){u.current=!1}),u);return h(function(){if((w&j.Entity)!==j.Entity)return P;var n=function(t,e){var n={};return Object.entries(t).forEach(function(t){var r=c(t,2),o=r[0],u=r[1];n[o]=function(t,e){var n,r=d().isEqual,o=e||{},u=o.onShouldCache,i=void 0===u?function(){return!0}:u,a=o.onCompare,c=void 0===a?function(t,e){return r(t,e)}:a;return new Proxy(t,{apply:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=i();if(n&&o){var u=n,a=u.parameters,f=u.returnValue;if(c(a,r))return f}var s=Reflect.apply(t,e,r);return o&&(n={parameters:r,returnValue:s}),s}})}(u,e)}),n}(P,{onShouldCache:function(){return _.current}}),r=null===R,o=Array.isArray(R),u="object"!==t(R)||r||o?R:function(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?T(Object(r),!0).forEach(function(n){e(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},R);return[u,n,C]},[R,P,C,w])},L=function(t){var e=t.usecase,n=t.watch,r=t.onMount,o=t.onUpdate,i=t.onChange,a=c(X(e,{watch:n,onChange:i}),1)[0],s=(0,y.useMemoizedFn)(function(){null==o||o(a)});return(0,y.useMount)(function(){null==r||r(a)}),(0,y.useUpdateEffect)(function(){s()},[a,s]),(0,u.jsx)(f.Fragment,{})};function V(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function N(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?V(Object(r),!0).forEach(function(n){e(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var G=["usecase"],z=function(t){var e=t.usecase,n=o(t,G),r=(0,X(O).getContext)(e),i=(0,f.useContext)(r);return(0,u.jsx)(f.Fragment,{children:null===i?null:(0,u.jsx)(L,N({usecase:e},n))})};function $(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}var q=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.onAdopt,r=t.onDiscard,o=t.onBind,u=t.onUnbind,i=t.onChange,a=t.onUpdate,c=_().setLifecycleEvents,f=(0,m.entityUseCase)();return c({onAdopt:n,onDiscard:r,onBind:o,onUnbind:u,onChange:i,onUpdate:a}),function(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?$(Object(r),!0).forEach(function(n){e(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},f)},B=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var r=b(e),o=(0,y.useLatest)(e);return h(function(){return o.current},[r])}})();var o=usecases="undefined"==typeof usecases?{}:usecases;for(var u in r)o[u]=r[u];r.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();
2
+ (()=>{var e={698(e,t){"use strict";var n=Symbol.for("react.transitional.element");Symbol.for("react.fragment"),t.jsx=function(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var u in r={},t)"key"!==u&&(r[u]=t[u]);else r=t;return t=r.ref,{$$typeof:n,type:e,key:o,ref:void 0!==t?t:null,props:r}}},848(e,t,n){"use strict";e.exports=n(698)},172(e){e.exports=function(e,t){this.v=e,this.k=t},e.exports.__esModule=!0,e.exports.default=e.exports},993(e,t,n){var r=n(546);function o(){var t,n,u="function"==typeof Symbol?Symbol:{},i=u.iterator||"@@iterator",a=u.toStringTag||"@@toStringTag";function c(e,o,u,i){var a=o&&o.prototype instanceof s?o:s,c=Object.create(a.prototype);return r(c,"_invoke",function(e,r,o){var u,i,a,c=0,s=o||[],l=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return u=e,i=0,a=t,y.n=n,f}};function p(e,r){for(i=e,a=r,n=0;!l&&c&&!o&&n<s.length;n++){var o,u=s[n],p=y.p,v=u[2];e>3?(o=v===r)&&(a=u[(i=u[4])?5:(i=3,3)],u[4]=u[5]=t):u[0]<=p&&((o=e<2&&p<u[1])?(i=0,y.v=r,y.n=u[1]):p<v&&(o=e<3||u[0]>r||r>v)&&(u[4]=e,u[5]=r,y.n=v,i=0))}if(o||e>1)return f;throw l=!0,r}return function(o,s,v){if(c>1)throw TypeError("Generator is already running");for(l&&1===s&&p(s,v),i=s,a=v;(n=i<2?t:a)||!l;){u||(i?i<3?(i>1&&(y.n=-1),p(i,a)):y.n=a:y.v=a);try{if(c=2,u){if(i||(o="next"),n=u[o]){if(!(n=n.call(u,a)))throw TypeError("iterator result is not an object");if(!n.done)return n;a=n.value,i<2&&(i=0)}else 1===i&&(n=u.return)&&n.call(u),i<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),i=1);u=t}else if((n=(l=y.n<0)?a:e.call(r,y))!==f)break}catch(e){u=t,i=1,a=e}finally{c=1}}return{value:n,done:l}}}(e,u,i),!0),c}var f={};function s(){}function l(){}function y(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(r(n={},i,function(){return this}),n),v=y.prototype=s.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,r(e,a,"GeneratorFunction")),e.prototype=Object.create(v),e}return l.prototype=y,r(v,"constructor",y),r(y,"constructor",l),l.displayName="GeneratorFunction",r(y,a,"GeneratorFunction"),r(v),r(v,a,"Generator"),r(v,i,function(){return this}),r(v,"toString",function(){return"[object Generator]"}),(e.exports=o=function(){return{w:c,m:d}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},869(e,t,n){var r=n(887);e.exports=function(e,t,n,o,u){var i=r(e,t,n,o,u);return i.next().then(function(e){return e.done?e.value:i.next()})},e.exports.__esModule=!0,e.exports.default=e.exports},887(e,t,n){var r=n(993),o=n(791);e.exports=function(e,t,n,u,i){return new o(r().w(e,t,n,u),i||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports},791(e,t,n){var r=n(172),o=n(546);e.exports=function e(t,n){function u(e,o,i,a){try{var c=t[e](o),f=c.value;return f instanceof r?n.resolve(f.v).then(function(e){u("next",e,i,a)},function(e){u("throw",e,i,a)}):n.resolve(f).then(function(e){c.value=e,i(c)},function(e){return u("throw",e,i,a)})}catch(e){a(e)}}var i;this.next||(o(e.prototype),o(e.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),o(this,"_invoke",function(e,t,r){function o(){return new n(function(t,n){u(e,r,t,n)})}return i=i?i.then(o,o):o()},!0)},e.exports.__esModule=!0,e.exports.default=e.exports},546(e){function t(n,r,o,u){var i=Object.defineProperty;try{i({},"",{})}catch(n){i=0}e.exports=t=function(e,n,r,o){function u(n,r){t(e,n,function(e){return this._invoke(n,r,e)})}n?i?i(e,n,{value:r,enumerable:!o,configurable:!o,writable:!o}):e[n]=r:(u("next",0),u("throw",1),u("return",2))},e.exports.__esModule=!0,e.exports.default=e.exports,t(n,r,o,u)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},373(e){e.exports=function(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports},633(e,t,n){var r=n(172),o=n(993),u=n(869),i=n(887),a=n(791),c=n(373),f=n(579);function s(){"use strict";var t=o(),n=t.m(s),l=(Object.getPrototypeOf?Object.getPrototypeOf(n):n.__proto__).constructor;function y(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===l||"GeneratorFunction"===(t.displayName||t.name))}var p={throw:1,return:2,break:3,continue:3};function v(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,p[e],t)},delegateYield:function(e,o,u){return t.resultName=o,n(r.d,f(e),u)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(e.exports=s=function(){return{wrap:function(e,n,r,o){return t.w(v(e),n,r,o&&o.reverse())},isGeneratorFunction:y,mark:t.m,awrap:function(e,t){return new r(e,t)},AsyncIterator:a,async:function(e,t,n,r,o){return(y(t)?i:u)(v(e),t,n,r,o)},keys:c,values:f}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=s,e.exports.__esModule=!0,e.exports.default=e.exports},579(e,t,n){var r=n(738).default;e.exports=function(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(r(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports},738(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},756(e,t,n){var r=n(633)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var u=t[r]={exports:{}};return e[r](u,u.exports,n),u.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,n,r){return(n=function(t){var n=function(t){if("object"!=e(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=e(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(n)?n:n+""}(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function o(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.r(r),n.d(r,{UseCaseFragment:()=>z,lifecycleUseCase:()=>q,useProviders:()=>B,useUseCase:()=>X});var u=n(848);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t){if(e){if("string"==typeof e)return i(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,u,i,a=[],c=!0,f=!1;try{if(u=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=u.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return a}}(e,t)||a(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const f=React;var s=n.n(f),l=function(e){return c((0,f.useState)(e),1)[0]};const y=ahooks;var p=function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e,t){return e!==t})(e,(0,y.usePrevious)(e,function(){return!0}))};function v(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var d=function(){var t=function(t){return"object"===e(t)&&null!==t},n=function(e,n){return!!t(e)&&Object.hasOwn(e,n)};return{hasField:n,isObject:t,isEqual:function(e,r,o){if(e===r)return!0;var u=t(e),i=t(r),a=u?Object.keys(e):[],c=i?Object.keys(r):[],f="function"==typeof o;if(!u&&!i)return!1;for(var s=!0,l=a.length,y=[].concat(v(a),v(c)),p=0,d=y.length;p<d;p++){var b=y[p],h=a.includes(b);if(!(p>=l&&h)){var m=n(e,b),O=n(r,b),g=m?e[b]:void 0,j=O?r[b]:void 0;if(!m||!O||g!==j){if(s=!1,!f)break;o(b,j,g)}}}return s},matchProperty:function(e,t,r,o){var u=!0,i=r,a=[{fieldPaths:[],newEntity:t,newValue:t,oldEntity:e,oldValue:e}];do{var f=a.shift(),s=f.oldValue,l=f.newValue,y=f.fieldPaths,p=c(i.match(/^([^.]+)\.(.+)$/)||[],3),d=p[1],b=void 0===d?i:d,h=p[2],m=void 0===h?"":h,O=n(s,b),g=n(l,b);if(O||g){var j=c(O?[s[b]]:[],1)[0],x=c(g?[l[b]]:[],1)[0],w={fieldPaths:[].concat(v(y),[b]),newEntity:t,newValue:x,oldEntity:e,oldValue:j};if(m){i=m,a.push(w);continue}if(x===j)continue;u=!1,null==o||o(w)}else if(!/^\d+^/.test(b))for(var E=Array.isArray(s)?s:[],P=Array.isArray(l)?l:[],R=E.length,S=P.length,C=Math.max(R,S),_=0;_<C;_++)a.push({fieldPaths:[].concat(v(y),["".concat(_)]),newEntity:t,newValue:P[_],oldEntity:e,oldValue:E[_]})}while(a.length>0);return u}}},b=function(e){var t=(0,f.useRef)(0),n=l(d).isEqual,r=p(e,function(e,t){return!n(e,t)});return(0,y.useMemoizedFn)(function(){var e=t.current;if(!r)return e;var n=e+1;return t.current=n,n})()},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[e],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[e],r=c(Array.isArray(t)?[null,t]:[t,n],2),o=r[0],u=r[1],i=b(u),a=(0,f.useRef)(null),s=function(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];null===(e=a.current)||void 0===e||e.call(a,t)},l=(0,y.useMemoizedFn)(function(){return s(),a.current=o,e()});return(0,y.useUnmount)(function(){s(!0)}),(0,y.useCreation)(function(){return l()},[i,l])};const m=usecases;var O=(0,m.createUseCase)(function(){var e=new Map;return function(){var t=function(){return e};return{getContext:function(e){var n=t();return n.has(e)?n.get(e).value:(0,f.createContext)(null)},registerUseCase:function(e){var n=t();if(n.has(e)){var r=n.get(e),o=r.value,u=r.times;return n.set(e,{value:o,times:u+1}),o}var i=(0,f.createContext)(null);return n.set(e,{value:i,times:1}),i},unregisterUseCase:function(e){var n=t();if(!n.has(e))return!1;var r=n.get(e),o=r.value,u=r.times;return 1===u?n.delete(e):n.set(e,{value:o,times:u-1}),!0}}}});function g(e,t,n,r,o,u,i){try{var a=e[u](i),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,o)}var j,x=n(756),w=n.n(x),E=function(e,t,n,r){var o=c(Array.isArray(n)?[null,n]:[n,r],2),u=o[0],i=o[1];return h(function(){return e?t():null},function(t){e&&(null==u||u(t))},i)};!function(e){e[e.None=0]="None",e[e.Entity=4]="Entity",e[e.RootRuntime=8]="RootRuntime",e[e.EntityRootRuntime=12]="EntityRootRuntime",e[e.EntityContextRuntime=20]="EntityContextRuntime",e[e.InitialEntityX=32]="InitialEntityX",e[e.InitialEntityY=64]="InitialEntityY",e[e.InitialEntityKey=96]="InitialEntityKey",e[e.UseCaseX=128]="UseCaseX",e[e.UseCaseY=256]="UseCaseY",e[e.UseCaseKey=384]="UseCaseKey",e[e.DepsX=512]="DepsX",e[e.DepsY=1024]="DepsY",e[e.DepsKey=1536]="DepsKey",e[e.ReducersX=2048]="ReducersX",e[e.ReducersY=4096]="ReducersY",e[e.ReducersKey=6144]="ReducersKey",e[e.RootX=8192]="RootX",e[e.RootY=16384]="RootY",e[e.RootKey=24576]="RootKey"}(j||(j={}));var P=function(e,t,n,r,o){var u=Array.isArray(n),i=Array.isArray(r),a="number"==typeof n,c=u||a?null:n,f=a?n:"number"==typeof r?r:j.RootRuntime,s=u?n:i?r:o||[],l=e&j.RootKey,y=(e&f)===f,p=(e&j.EntityRootRuntime)===j.EntityRootRuntime;return E(y,function(){return t(p)},function(){null==c||c(p)},[l].concat(v(s)))},R=function(e,t,n,r){var o=c(Array.isArray(n)?[null,n]:[n,r],2),u=o[0],i=o[1];return P(e,t,u||null,j.EntityRootRuntime,i)},S=function(){R.apply(void 0,arguments)};function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var _=(0,m.createUseCase)(function(){var e=new Map,t=[],n=(0,m.utilsUseCase)().createKey;return function(){return{createLifecycleKey:function(){return n()},deleteLifecycleEvents:function(t){return e.delete(t)},setLifecycleEvents:function(e){t.push(e)},getLifecycleEvents:function(t){return e.get(t)||{}},bindLifecycleEventsKey:function(n){if(0===t.length)return{};var r=t.splice(0),o=["onBind","onUnbind","onAdopt","onDiscard","onChange","onUpdate"].map(function(e){return[e,function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return function(e,t){var n,o=void 0,u=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return C(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,u=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw u}}}}(r);try{for(u.s();!(n=u.n()).done;){var i=n.value[e];"function"==typeof i&&(null!=o||(o=Reflect.apply(i,null,t)))}}catch(e){u.e(e)}finally{u.f()}return o}(e,n)}]}),u=Object.fromEntries(o);return e.set(n,u),u}}}}),A=function(t,n,r,o){var u=t.value,i=function(){var e=(0,y.useUpdate)(),t=(0,f.useRef)(-1),n=(0,f.useRef)(0),r=function(){n.current=Date.now(),e()};return(0,y.useMemoizedFn)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(0!==e){var o=t.current,u=n.current,i=e-(Date.now()-u);if(clearTimeout(o),i<=0)r();else{var a=setTimeout(function(){r()},i);t.current=a}}else r()})}(),a=(0,y.useLatest)(o),s=(0,f.useRef)(u),p=(r&j.Entity)===j.Entity,v=l(_),b=v.createLifecycleKey,h=v.bindLifecycleEventsKey,m=v.getLifecycleEvents,O=v.deleteLifecycleEvents,x=l(function(){return b()}),P=(0,y.useMemoizedFn)(function(e,t){var n=a.current.watch;n&&function(e,t,n){for(var r,o=d().matchProperty,u=function(){var e=a[i],u=(r=c(e,2))[0],f=r[1];o(n,t,u,function(e){f(e)})},i=0,a=Object.entries(e);i<a.length;i++)u()}(n,e,t)}),R=(0,y.useMemoizedFn)(function(e){var t=s.current;if(p&&t!==e){var n=m(x),r=n.onUpdate,o=n.onAdopt,u=n.onDiscard;s.current=e,P(e,t),null==u||u(t),null==o||o(e,t),null==r||r(e,t)}}),C=(0,y.useMemoizedFn)(function(){R(t.value)}),A=(0,y.useMemoizedFn)(function(){var t,n=(t=w().mark(function t(n,r){var o,u,a,c;return w().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(o=m(x),u=o.onChange,!((a=null==u?void 0:u(n,r))instanceof Promise)){t.next=2;break}return t.next=1,a;case 1:a=t.sent;case 2:c=e(a),t.next="number"===c?3:"undefined"===c?4:5;break;case 3:return i(a),t.abrupt("return");case 4:return i(),t.abrupt("return");case 5:if(!a){t.next=6;break}return t.abrupt("return");case 6:i();case 7:case"end":return t.stop()}},t)}),function(){var e=this,n=arguments;return new Promise(function(r,o){var u=t.apply(e,n);function i(e){g(u,r,o,i,a,"next",e)}function a(e){g(u,r,o,i,a,"throw",e)}i(void 0)})});return function(e,t){return n.apply(this,arguments)}}()),D=(0,y.useMemoizedFn)(function(e,t){var n=a.current.onChange;null==n||n(e,t)});return S(r,function(){var e=h(x),n=e.onBind,r=e.onAdopt;t.watch(A),null==n||n(u),null==r||r(u)},function(){var e=t.value,n=m(x),r=n.onUnbind,o=n.onDiscard;t.unwatch(A),O(x),null==r||r(e),null==o||o(e)}),function(e,n,r,o){var u=c(Array.isArray(r)?[null,r]:[r,o],2),i=u[0],a=u[1],f=(e&j.Entity)===j.Entity;E(f,function(){t.watch(D),t.watch(R)},i||null,a)}(r,0,function(){t.unwatch(D),t.unwatch(R)},[t]),(0,y.useUpdateEffect)(function(){C()},[u,C]),u};function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var M=["watch","onChange"],U=function(e,n,r,u,i){var a=((0,f.useContext)(r)||{}).reducers,c=void 0===a?null:a,s=(i.watch,i.onChange,o(i,M)),l=i.options,p=void 0===l?s:l,v=(0,y.useLatest)(p),d=u&j.ReducersKey,b=function(e){return function(){var t=v.current[e];if("function"==typeof t)return t.apply(void 0,arguments)}};return h(function(){var r=(u&j.Entity)===j.Entity,o=(u&j.EntityRootRuntime)===j.EntityRootRuntime;if(!r)return e(i);if(!o)return c;var a=function(){for(var e=function(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?D(Object(r),!0).forEach(function(n){t(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},p),n=0,r=Object.keys(e);n<r.length;n++){var o=r[n];"function"==typeof e[o]&&(e[o]=b(o))}return e}();return(0,m.createEntityReducers)(n,e,{options:a,onGenerate:function(e,t){return t}})},[d])},k=function(e,t,n){var r=(0,f.useRef)(t),o=p(e);return h(function(){var e=r.current;if(!o)return e;var u=e===t?n:t;return r.current=u,u})};function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function F(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?I(Object(r),!0).forEach(function(n){t(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var K=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,m.entityUseCase)(),n=e.onInit;return F(F({},t),{},{initEntity:function(e){return"function"!=typeof n?e:n(e)}})},Y=function(e,t,n){var r=(0,f.useRef)([]),o=function(e){var t=e&j.RootKey,n=(0,f.useRef)(!0);return h(function(){var e=n.current;return n.current=!1,e},function(){n.current=!0},[t])}(n),u=((0,f.useContext)(t)||{}).store,i=void 0===u?null:u,a=n&j.InitialEntityKey,c=P(n,function(){return new m.EntityStore(void 0)})||i;return S(n,function(){"function"==typeof e?function(){if(o){var t=r.current;r.current=function(e,t,n,r){var o=!1,u=0,i=[],a=d(),c=a.isObject,f=a.isEqual,s=function(t){return!r||o?t:e.initValue(t)},l=(0,m.createEntityReducers)(e,K,{onInit:function(e){return t(e)},onCreate:function(e,t){var r=u,o=c(t),a=o&&Array.isArray(t);if(u++,i[r]=e,!o||a)return(0,m.createEntity)(t,e);var s={},l=n[r];return f(l,e,function(t){var n=Object.getOwnPropertyDescriptor(e,t)||null;null!==n&&(s[t]=n)}),(0,m.createEntity)(t,Object.defineProperties({},s))},onGenerate:function(t,n){if(void 0===n)return[t,n];var r=(0,m.createEntity)(t,n);return e.setValue(r),[r,n]},onYield:function(e){return s(e)},onReturn:function(t){var n=s(t);return e.setValue(n),n}}).initEntity;return e.disableWatchers(),l(),e.enableWatchers(),o=!0,i}(c,e,t,o)}}():o?c.initValue(e):c.setValue(e)},[a]),c};function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var X=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];var u,i="function"==typeof r[1],a=function(e,t){var n=c(e,4),r=n[0],o=n[1],u=n[2],i=n[3];return t?[r,o,u||{},i||[]]:[null,r,o||{},u||[]]}(r,i),p=c(a,3),v=p[0],m=p[1],g=p[2],x=function(e,t){var n=l(O),r=n.getContext,o=n.registerUseCase,u=n.unregisterUseCase;return h(function(){return t?o(e):r(e)},function(){t&&u(e)},[e,t])}(m,i),w=function(e,t,n){var r=j.None,o=c(e,4),u=o[0],i=o[1],a=o[3],s="function"==typeof u,l=(0,f.useContext)(t),y=!n&&null!==l,p=(y?l:{key:n?j.RootX:j.RootY}).key,v=b(a),d=b([i,p]),h=b([d,v]),m=k(d,j.RootX,j.RootY),O=k(i,j.UseCaseX,j.UseCaseY),g=k(h,j.ReducersX,j.ReducersY),x=k(v,j.DepsX,j.DepsY),w=k(s?h:u,j.InitialEntityX,j.InitialEntityY);switch(!0){case n:r|=w,r|=j.EntityRootRuntime;break;case y:r|=j.EntityContextRuntime;break;default:r|=j.RootRuntime}return r|=m,r|=O,(r|=g)|x}(a,x,i),E=Y(v,x,w),P=U(m,E,x,w,g),R=A(E,0,w,g),S=function(e,t,n,r){var o=(0,f.useId)();return h(function(){return{key:o,store:t,reducers:n,statuses:r}},[o,e,t,n,r])}(R,E,P,w),C=function(e,t){var n=(0,y.useLatest)(t);return l(function(){return function(t){var r=t.children,o=t.with,u=void 0===o?[]:o,i=e.Provider,a=n.current,c=Array.isArray(u)?u:[u];return s().createElement(i,{value:a},c.reduceRight(function(e,t){return s().createElement(t,{},e)},r))}})}(x,S),_=(u=(0,y.useLatest)(!0),(0,f.useEffect)(function(){u.current=!1}),u);return h(function(){if((w&j.Entity)!==j.Entity)return P;var n=function(e,t){var n={};return Object.entries(e).forEach(function(e){var r=c(e,2),o=r[0],u=r[1];n[o]=function(e,t){var n,r=d().isEqual,o=t||{},u=o.onShouldCache,i=void 0===u?function(){return!0}:u,a=o.onCompare,c=void 0===a?function(e,t){return r(e,t)}:a;return new Proxy(e,{apply:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=i();if(n&&o){var u=n,a=u.parameters,f=u.returnValue;if(c(a,r))return f}var s=Reflect.apply(e,t,r);return o&&(n={parameters:r,returnValue:s}),s}})}(u,t)}),n}(P,{onShouldCache:function(){return _.current}}),r=null===R,o=Array.isArray(R),u="object"!==e(R)||r||o?R:function(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?T(Object(r),!0).forEach(function(n){t(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},R);return[u,n,C]},[R,P,C,w])},L=function(e){var t=e.usecase,n=e.watch,r=e.onMount,o=e.onUpdate,i=e.onChange,a=c(X(t,{watch:n,onChange:i}),1)[0],s=(0,y.useMemoizedFn)(function(){null==o||o(a)});return(0,y.useMount)(function(){null==r||r(a)}),(0,y.useUpdateEffect)(function(){s()},[a,s]),(0,u.jsx)(f.Fragment,{})};function V(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function N(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?V(Object(r),!0).forEach(function(n){t(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var G=["usecase"],z=function(e){var t=e.usecase,n=o(e,G),r=(0,X(O).getContext)(t),i=(0,f.useContext)(r);return(0,u.jsx)(f.Fragment,{children:null===i?null:(0,u.jsx)(L,N({usecase:t},n))})};function $(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var q=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.onAdopt,r=e.onDiscard,o=e.onBind,u=e.onUnbind,i=e.onChange,a=e.onUpdate,c=_().setLifecycleEvents,f=(0,m.entityUseCase)();return c({onAdopt:n,onDiscard:r,onBind:o,onUnbind:u,onChange:i,onUpdate:a}),function(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?$(Object(r),!0).forEach(function(n){t(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},f)},B=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=b(t),o=(0,y.useLatest)(t);return h(function(){return o.current},[r])}})();var o=usecases="undefined"==typeof usecases?{}:usecases;for(var u in r)o[u]=r[u];r.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();
@@ -30,9 +30,7 @@ reducers, statuses, options) => {
30
30
  }
31
31
  triggerWatchers(watch, newEntity, oldEntity);
32
32
  });
33
- const onEntityUpdate = useMemoizedFn(function () {
34
- let newEntity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : entity;
35
- let oldEntity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prevEntityRef.current;
33
+ const onEntityUpdate = useMemoizedFn(newEntity => {
36
34
  const prevEntity = prevEntityRef.current;
37
35
  if (!hasEntity) {
38
36
  return;
@@ -45,10 +43,14 @@ reducers, statuses, options) => {
45
43
  onAdopt = _getLifecycleEvents.onAdopt,
46
44
  onDiscard = _getLifecycleEvents.onDiscard;
47
45
  prevEntityRef.current = newEntity;
48
- onTriggerWatchers(newEntity, oldEntity);
49
- onDiscard === null || onDiscard === void 0 || onDiscard(oldEntity);
50
- onAdopt === null || onAdopt === void 0 || onAdopt(newEntity, oldEntity);
51
- onUpdate === null || onUpdate === void 0 || onUpdate(newEntity, oldEntity);
46
+ onTriggerWatchers(newEntity, prevEntity);
47
+ onDiscard === null || onDiscard === void 0 || onDiscard(prevEntity);
48
+ onAdopt === null || onAdopt === void 0 || onAdopt(newEntity, prevEntity);
49
+ onUpdate === null || onUpdate === void 0 || onUpdate(newEntity, prevEntity);
50
+ });
51
+ const onEntityUpdateEffect = useMemoizedFn(() => {
52
+ // 不能使用 `entity` 变量,因为 `effect` 执行的有延迟,`entity` 可能已经被更新了
53
+ onEntityUpdate(store.value);
52
54
  });
53
55
  const onEntityLifecycleChange = useMemoizedFn(async (newEntity, oldEntity) => {
54
56
  const _getLifecycleEvents2 = getLifecycleEvents(lifecycleKey),
@@ -109,8 +111,8 @@ reducers, statuses, options) => {
109
111
  store.unwatch(onEntityUpdate);
110
112
  }, [store]);
111
113
  useUpdateEffect(() => {
112
- onEntityUpdate();
113
- }, [entity, onEntityUpdate]);
114
+ onEntityUpdateEffect();
115
+ }, [entity, onEntityUpdateEffect]);
114
116
  // 强制传入 `reducers` 参数,目的是让该 `hook` 一定在 `useReducers` 之后执行
115
117
  void reducers;
116
118
  return entity;
@@ -1951,6 +1951,55 @@ describe('useUseCase', () => {
1951
1951
  oldValue: EXT_1
1952
1952
  });
1953
1953
  });
1954
+ test.only('`options.watch` should not trigger when entity changes between render and effect phase', async () => {
1955
+ let currentPath = '';
1956
+ let currentSetPath = path => {
1957
+ void path;
1958
+ };
1959
+ const onPathChange = jest.fn();
1960
+ const _renderHook37 = renderHook(() => {
1961
+ const cp = currentPath;
1962
+ const onEffect = useMemoizedFn(() => {
1963
+ if (cp !== PATH_1) {
1964
+ return;
1965
+ }
1966
+ currentSetPath(PATH_2);
1967
+ });
1968
+ /**
1969
+ * 这里一定要在 `useUseCase` 前面,因为 `jest` 的测试环境,`useEffect` 会在 `setTimeout(fn, 0)` 之前执行,
1970
+ * 也就是 `useEffect` 不会存在异步的情况,但实际环境却存在 `useEffect` 是异步的情况,
1971
+ * 比如在 `render` 阶段与 `useEffect` 阶段之间,`touchmove` 等事件会触发修改状态。
1972
+ *
1973
+ * 所以,我们在 `useUseCase` 之前使用 `useUpdateEffect`,
1974
+ * 来模拟在 `useUseCase` 的 `render` 阶段与 `useEffect` 阶段之间运行的异步。
1975
+ */
1976
+ useUpdateEffect(() => {
1977
+ if (cp !== PATH_1) {
1978
+ return;
1979
+ }
1980
+ onEffect();
1981
+ }, [cp, onEffect]);
1982
+ const core = useUseCase(defaultFile, fileUseCase, {
1983
+ watch: {
1984
+ path(_ref6) {
1985
+ let newValue = _ref6.newValue;
1986
+ currentPath = newValue;
1987
+ onPathChange(newValue);
1988
+ }
1989
+ }
1990
+ });
1991
+ return core;
1992
+ }),
1993
+ result = _renderHook37.result;
1994
+ const current = result.current;
1995
+ const _current8 = _slicedToArray(current, 2),
1996
+ setPath = _current8[1].setPath;
1997
+ currentSetPath = setPath;
1998
+ act(() => {
1999
+ setPath(PATH_1);
2000
+ });
2001
+ expect(onPathChange).toHaveBeenCalledTimes(2);
2002
+ });
1954
2003
  test('multiple `Provider` should work', () => {
1955
2004
  const onNumberMount = jest.fn();
1956
2005
  const onStringMount = jest.fn();
@@ -2039,13 +2088,13 @@ describe('useUseCase', () => {
2039
2088
  ...entityReducers
2040
2089
  };
2041
2090
  };
2042
- const _renderHook37 = renderHook(() => {
2091
+ const _renderHook38 = renderHook(() => {
2043
2092
  return useUseCase(5, testUseCase);
2044
2093
  }),
2045
- result = _renderHook37.result;
2094
+ result = _renderHook38.result;
2046
2095
  const current = result.current;
2047
- const _current8 = _slicedToArray(current, 2),
2048
- setEntity = _current8[1].setEntity;
2096
+ const _current9 = _slicedToArray(current, 2),
2097
+ setEntity = _current9[1].setEntity;
2049
2098
  expect(onChange).toHaveBeenCalledTimes(0);
2050
2099
  act(() => {
2051
2100
  setEntity(100);
@@ -2070,17 +2119,17 @@ describe('useUseCase', () => {
2070
2119
  ...entityReducers
2071
2120
  };
2072
2121
  };
2073
- const _renderHook38 = renderHook(() => {
2122
+ const _renderHook39 = renderHook(() => {
2074
2123
  const core = useUseCase(5, testUseCase);
2075
2124
  const _core = _slicedToArray(core, 1),
2076
2125
  value = _core[0];
2077
2126
  onRenderHook(value);
2078
2127
  return core;
2079
2128
  }),
2080
- result = _renderHook38.result;
2129
+ result = _renderHook39.result;
2081
2130
  const current = result.current;
2082
- const _current9 = _slicedToArray(current, 2),
2083
- setEntity = _current9[1].setEntity;
2131
+ const _current0 = _slicedToArray(current, 2),
2132
+ setEntity = _current0[1].setEntity;
2084
2133
  expect(onRenderHook).toHaveBeenCalledTimes(1);
2085
2134
  expect(onRenderHook).toHaveBeenLastCalledWith(5);
2086
2135
  act(() => {
@@ -2116,17 +2165,17 @@ describe('useUseCase', () => {
2116
2165
  ...entityReducers
2117
2166
  };
2118
2167
  };
2119
- const _renderHook39 = renderHook(() => {
2168
+ const _renderHook40 = renderHook(() => {
2120
2169
  const core = useUseCase(5, testUseCase);
2121
2170
  const _core2 = _slicedToArray(core, 1),
2122
2171
  value = _core2[0];
2123
2172
  onRenderHook(value);
2124
2173
  return core;
2125
2174
  }),
2126
- result = _renderHook39.result;
2175
+ result = _renderHook40.result;
2127
2176
  const current = result.current;
2128
- const _current0 = _slicedToArray(current, 2),
2129
- setEntity = _current0[1].setEntity;
2177
+ const _current1 = _slicedToArray(current, 2),
2178
+ setEntity = _current1[1].setEntity;
2130
2179
  expect(onRenderHook).toHaveBeenCalledTimes(1);
2131
2180
  expect(onRenderHook).toHaveBeenLastCalledWith(5);
2132
2181
  act(() => {
@@ -2163,17 +2212,17 @@ describe('useUseCase', () => {
2163
2212
  ...entityReducers
2164
2213
  };
2165
2214
  };
2166
- const _renderHook40 = renderHook(() => {
2215
+ const _renderHook41 = renderHook(() => {
2167
2216
  const core = useUseCase(5, testUseCase);
2168
2217
  const _core3 = _slicedToArray(core, 1),
2169
2218
  value = _core3[0];
2170
2219
  onRenderHook(value);
2171
2220
  return core;
2172
2221
  }),
2173
- result = _renderHook40.result;
2222
+ result = _renderHook41.result;
2174
2223
  const current = result.current;
2175
- const _current1 = _slicedToArray(current, 2),
2176
- setEntity = _current1[1].setEntity;
2224
+ const _current10 = _slicedToArray(current, 2),
2225
+ setEntity = _current10[1].setEntity;
2177
2226
  expect(onRenderHook).toHaveBeenCalledTimes(1);
2178
2227
  expect(onRenderHook).toHaveBeenLastCalledWith(5);
2179
2228
  act(() => {
@@ -2217,13 +2266,13 @@ describe('useUseCase', () => {
2217
2266
  ...entityReducers
2218
2267
  };
2219
2268
  };
2220
- const _renderHook41 = renderHook(() => {
2269
+ const _renderHook42 = renderHook(() => {
2221
2270
  return useUseCase(5, testUseCase);
2222
2271
  }),
2223
- result = _renderHook41.result;
2272
+ result = _renderHook42.result;
2224
2273
  const current = result.current;
2225
- const _current10 = _slicedToArray(current, 2),
2226
- setEntity = _current10[1].setEntity;
2274
+ const _current11 = _slicedToArray(current, 2),
2275
+ setEntity = _current11[1].setEntity;
2227
2276
  expect(onUpdate).toHaveBeenCalledTimes(0);
2228
2277
  act(() => {
2229
2278
  setEntity(100);
@@ -2244,7 +2293,7 @@ describe('useUseCase', () => {
2244
2293
  ...entityReducers
2245
2294
  };
2246
2295
  };
2247
- const _renderHook42 = renderHook(() => {
2296
+ const _renderHook43 = renderHook(() => {
2248
2297
  const _useUseCase26 = useUseCase(5, testUseCase),
2249
2298
  _useUseCase27 = _slicedToArray(_useUseCase26, 2),
2250
2299
  setEntity = _useUseCase27[1].setEntity;
@@ -2252,7 +2301,7 @@ describe('useUseCase', () => {
2252
2301
  setEntity(100);
2253
2302
  });
2254
2303
  }),
2255
- unmount = _renderHook42.unmount;
2304
+ unmount = _renderHook43.unmount;
2256
2305
  expect(onUnbind).toHaveBeenCalledTimes(0);
2257
2306
  unmount();
2258
2307
  expect(onUnbind).toHaveBeenCalledTimes(1);
@@ -2272,13 +2321,13 @@ describe('useUseCase', () => {
2272
2321
  ...entityReducers
2273
2322
  };
2274
2323
  };
2275
- const _renderHook43 = renderHook(() => {
2324
+ const _renderHook44 = renderHook(() => {
2276
2325
  return useUseCase(5, testUseCase);
2277
2326
  }),
2278
- result = _renderHook43.result;
2327
+ result = _renderHook44.result;
2279
2328
  const current = result.current;
2280
- const _current11 = _slicedToArray(current, 2),
2281
- setEntity = _current11[1].setEntity;
2329
+ const _current12 = _slicedToArray(current, 2),
2330
+ setEntity = _current12[1].setEntity;
2282
2331
  expect(onAdopt).toHaveBeenCalledTimes(1);
2283
2332
  expect(onAdopt).toHaveBeenCalledWith(5);
2284
2333
  act(() => {
@@ -2300,14 +2349,14 @@ describe('useUseCase', () => {
2300
2349
  ...entityReducers
2301
2350
  };
2302
2351
  };
2303
- const _renderHook44 = renderHook(() => {
2352
+ const _renderHook45 = renderHook(() => {
2304
2353
  return useUseCase(5, testUseCase);
2305
2354
  }),
2306
- result = _renderHook44.result,
2307
- unmount = _renderHook44.unmount;
2355
+ result = _renderHook45.result,
2356
+ unmount = _renderHook45.unmount;
2308
2357
  const current = result.current;
2309
- const _current12 = _slicedToArray(current, 2),
2310
- setEntity = _current12[1].setEntity;
2358
+ const _current13 = _slicedToArray(current, 2),
2359
+ setEntity = _current13[1].setEntity;
2311
2360
  expect(onDiscard).toHaveBeenCalledTimes(0);
2312
2361
  act(() => {
2313
2362
  setEntity(100);
@@ -2361,14 +2410,14 @@ describe('useUseCase', () => {
2361
2410
  ...parentReducers
2362
2411
  };
2363
2412
  };
2364
- const _renderHook45 = renderHook(() => {
2413
+ const _renderHook46 = renderHook(() => {
2365
2414
  return useUseCase(5, childUseCase);
2366
2415
  }),
2367
- result = _renderHook45.result,
2368
- unmount = _renderHook45.unmount;
2416
+ result = _renderHook46.result,
2417
+ unmount = _renderHook46.unmount;
2369
2418
  const current = result.current;
2370
- const _current13 = _slicedToArray(current, 2),
2371
- setEntity = _current13[1].setEntity;
2419
+ const _current14 = _slicedToArray(current, 2),
2420
+ setEntity = _current14[1].setEntity;
2372
2421
  expect(onParentBind).toHaveBeenCalledTimes(1);
2373
2422
  expect(onParentBind).toHaveBeenCalledWith(5);
2374
2423
  expect(onParentChange).toHaveBeenCalledTimes(0);
@@ -2699,8 +2748,8 @@ describe('useUseCase', () => {
2699
2748
  const onChangeB = jest.fn(updateChangeTimes);
2700
2749
  const onChangeC = jest.fn(updateChangeTimes);
2701
2750
  const buttonText = 'my button';
2702
- const A = _ref6 => {
2703
- let children = _ref6.children;
2751
+ const A = _ref7 => {
2752
+ let children = _ref7.children;
2704
2753
  useUseCase(fileUseCase, {
2705
2754
  onChange: onChangeA
2706
2755
  });
@@ -2844,8 +2893,8 @@ describe('useUseCase', () => {
2844
2893
  const onChangeB = jest.fn(updateChangeTimes);
2845
2894
  const onChangeC = jest.fn(updateChangeTimes);
2846
2895
  const buttonText = 'my button';
2847
- const A = _ref7 => {
2848
- let children = _ref7.children;
2896
+ const A = _ref8 => {
2897
+ let children = _ref8.children;
2849
2898
  useUseCase(fileUseCase, {
2850
2899
  watch: {
2851
2900
  ext: onChangeA
@@ -2953,38 +3002,38 @@ describe('useUseCase', () => {
2953
3002
  });
2954
3003
  describe('`useUseCase` should work the same as `useReducers`', () => {
2955
3004
  test('`entity` should equal `defaultFile`', () => {
2956
- const _renderHook46 = renderHook(() => {
3005
+ const _renderHook47 = renderHook(() => {
2957
3006
  return useUseCase(mathUseCase);
2958
3007
  }),
2959
- result = _renderHook46.result;
3008
+ result = _renderHook47.result;
2960
3009
  const reducers = result.current;
2961
3010
  expect(Array.isArray(reducers)).toBe(false);
2962
3011
  });
2963
3012
  test('returned reducer should work', () => {
2964
- const _renderHook47 = renderHook(() => {
3013
+ const _renderHook48 = renderHook(() => {
2965
3014
  return useUseCase(mathUseCase);
2966
3015
  }),
2967
- result = _renderHook47.result;
3016
+ result = _renderHook48.result;
2968
3017
  const reducers = result.current;
2969
3018
  const add = reducers.add;
2970
3019
  expect(add(1, 2)).toBe(3);
2971
3020
  });
2972
3021
  test('`usecase` should be called only once if deps has not provided', () => {
2973
3022
  const mockUseCase = jest.fn(mathUseCase);
2974
- const _renderHook48 = renderHook(() => {
3023
+ const _renderHook49 = renderHook(() => {
2975
3024
  return useUseCase(mockUseCase);
2976
3025
  }),
2977
- rerender = _renderHook48.rerender;
3026
+ rerender = _renderHook49.rerender;
2978
3027
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2979
3028
  rerender();
2980
3029
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2981
3030
  });
2982
3031
  test('`usecase` should be called only once if deps has not changed', () => {
2983
3032
  const mockUseCase = jest.fn(mathUseCase);
2984
- const _renderHook49 = renderHook(() => {
3033
+ const _renderHook50 = renderHook(() => {
2985
3034
  return useUseCase(mockUseCase, {}, [1, 'x']);
2986
3035
  }),
2987
- rerender = _renderHook49.rerender;
3036
+ rerender = _renderHook50.rerender;
2988
3037
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2989
3038
  rerender();
2990
3039
  expect(mockUseCase).toHaveBeenCalledTimes(1);
@@ -2992,10 +3041,10 @@ describe('useUseCase', () => {
2992
3041
  test('`usecase` should be called if deps has changed', () => {
2993
3042
  let i = 0;
2994
3043
  const mockUseCase = jest.fn(mathUseCase);
2995
- const _renderHook50 = renderHook(() => {
3044
+ const _renderHook51 = renderHook(() => {
2996
3045
  return useUseCase(mockUseCase, {}, [i++, 'x']);
2997
3046
  }),
2998
- rerender = _renderHook50.rerender;
3047
+ rerender = _renderHook51.rerender;
2999
3048
  expect(mockUseCase).toHaveBeenCalledTimes(1);
3000
3049
  rerender();
3001
3050
  expect(mockUseCase).toHaveBeenCalledTimes(2);
@@ -3079,12 +3128,12 @@ describe('useUseCase', () => {
3079
3128
  expect(subtractionReducer).toHaveReturnedWith(4);
3080
3129
  });
3081
3130
  test('`options.extraValue` should be added after call `add` method', () => {
3082
- const _renderHook51 = renderHook(() => {
3131
+ const _renderHook52 = renderHook(() => {
3083
3132
  return useUseCase(mathUseCase, {
3084
3133
  extraValue: 5
3085
3134
  });
3086
3135
  }),
3087
- result = _renderHook51.result;
3136
+ result = _renderHook52.result;
3088
3137
  const reducers = result.current;
3089
3138
  const add = reducers.add;
3090
3139
  expect(add(1, 2)).toBe(8);
@@ -3092,7 +3141,7 @@ describe('useUseCase', () => {
3092
3141
  test('when `options` has changed, it should not trigger update', () => {
3093
3142
  const onUpdate = jest.fn();
3094
3143
  const onDeepUpdate = jest.fn();
3095
- const _renderHook52 = renderHook(() => {
3144
+ const _renderHook53 = renderHook(() => {
3096
3145
  const _useState7 = useState(0),
3097
3146
  _useState8 = _slicedToArray(_useState7, 2),
3098
3147
  extraValue = _useState8[0],
@@ -3108,7 +3157,7 @@ describe('useUseCase', () => {
3108
3157
  }, [reducers]);
3109
3158
  return setExtraValue;
3110
3159
  }),
3111
- result = _renderHook52.result;
3160
+ result = _renderHook53.result;
3112
3161
  expect(onUpdate).toHaveBeenCalledTimes(0);
3113
3162
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
3114
3163
  act(() => {
@@ -3120,7 +3169,7 @@ describe('useUseCase', () => {
3120
3169
  test('when `deps` change, it should update reducers', () => {
3121
3170
  const onUpdate = jest.fn();
3122
3171
  const onDeepUpdate = jest.fn();
3123
- const _renderHook53 = renderHook(() => {
3172
+ const _renderHook54 = renderHook(() => {
3124
3173
  const _useState9 = useState(0),
3125
3174
  _useState0 = _slicedToArray(_useState9, 2),
3126
3175
  extraValue = _useState0[0],
@@ -3136,7 +3185,7 @@ describe('useUseCase', () => {
3136
3185
  }, [reducers]);
3137
3186
  return setExtraValue;
3138
3187
  }),
3139
- result = _renderHook53.result;
3188
+ result = _renderHook54.result;
3140
3189
  expect(onUpdate).toHaveBeenCalledTimes(0);
3141
3190
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
3142
3191
  act(() => {
@@ -3148,7 +3197,7 @@ describe('useUseCase', () => {
3148
3197
  test('empty `deps` should not update reducers', () => {
3149
3198
  const onUpdate = jest.fn();
3150
3199
  const onDeepUpdate = jest.fn();
3151
- const _renderHook54 = renderHook(() => {
3200
+ const _renderHook55 = renderHook(() => {
3152
3201
  const _useState1 = useState(0),
3153
3202
  _useState10 = _slicedToArray(_useState1, 2),
3154
3203
  extraValue = _useState10[0],
@@ -3164,7 +3213,7 @@ describe('useUseCase', () => {
3164
3213
  }, [reducers]);
3165
3214
  return setExtraValue;
3166
3215
  }),
3167
- result = _renderHook54.result;
3216
+ result = _renderHook55.result;
3168
3217
  expect(onUpdate).toHaveBeenCalledTimes(0);
3169
3218
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
3170
3219
  act(() => {
@@ -40,9 +40,7 @@ reducers, statuses, options) {
40
40
  }
41
41
  (0, _triggerWatchers.triggerWatchers)(watch, newEntity, oldEntity);
42
42
  });
43
- var onEntityUpdate = (0, _ahooks.useMemoizedFn)(function () {
44
- var newEntity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : entity;
45
- var oldEntity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prevEntityRef.current;
43
+ var onEntityUpdate = (0, _ahooks.useMemoizedFn)(function (newEntity) {
46
44
  var prevEntity = prevEntityRef.current;
47
45
  if (!hasEntity) {
48
46
  return;
@@ -55,10 +53,14 @@ reducers, statuses, options) {
55
53
  onAdopt = _getLifecycleEvents.onAdopt,
56
54
  onDiscard = _getLifecycleEvents.onDiscard;
57
55
  prevEntityRef.current = newEntity;
58
- onTriggerWatchers(newEntity, oldEntity);
59
- onDiscard === null || onDiscard === void 0 || onDiscard(oldEntity);
60
- onAdopt === null || onAdopt === void 0 || onAdopt(newEntity, oldEntity);
61
- onUpdate === null || onUpdate === void 0 || onUpdate(newEntity, oldEntity);
56
+ onTriggerWatchers(newEntity, prevEntity);
57
+ onDiscard === null || onDiscard === void 0 || onDiscard(prevEntity);
58
+ onAdopt === null || onAdopt === void 0 || onAdopt(newEntity, prevEntity);
59
+ onUpdate === null || onUpdate === void 0 || onUpdate(newEntity, prevEntity);
60
+ });
61
+ var onEntityUpdateEffect = (0, _ahooks.useMemoizedFn)(function () {
62
+ // 不能使用 `entity` 变量,因为 `effect` 执行的有延迟,`entity` 可能已经被更新了
63
+ onEntityUpdate(store.value);
62
64
  });
63
65
  var onEntityLifecycleChange = (0, _ahooks.useMemoizedFn)(/*#__PURE__*/function () {
64
66
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(newEntity, oldEntity) {
@@ -143,8 +145,8 @@ reducers, statuses, options) {
143
145
  store.unwatch(onEntityUpdate);
144
146
  }, [store]);
145
147
  (0, _ahooks.useUpdateEffect)(function () {
146
- onEntityUpdate();
147
- }, [entity, onEntityUpdate]);
148
+ onEntityUpdateEffect();
149
+ }, [entity, onEntityUpdateEffect]);
148
150
  // 强制传入 `reducers` 参数,目的是让该 `hook` 一定在 `useReducers` 之后执行
149
151
  void reducers;
150
152
  return entity;
@@ -80,7 +80,7 @@ var fileUseCase = function fileUseCase() {
80
80
  }, setPath);
81
81
  });
82
82
  var readFile = /*#__PURE__*/function () {
83
- var _ref8 = (0, _wrapAsyncGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(entity, path) {
83
+ var _ref9 = (0, _wrapAsyncGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(entity, path) {
84
84
  var _onReadFile, size;
85
85
  return _regenerator["default"].wrap(function (_context5) {
86
86
  while (1) switch (_context5.prev = _context5.next) {
@@ -106,7 +106,7 @@ var fileUseCase = function fileUseCase() {
106
106
  }, _callee2);
107
107
  }));
108
108
  return function readFile(_x, _x2) {
109
- return _ref8.apply(this, arguments);
109
+ return _ref9.apply(this, arguments);
110
110
  };
111
111
  }();
112
112
  var isImage = function isImage(entity) {
@@ -405,7 +405,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
405
405
  case 2:
406
406
  _context8.next = 3;
407
407
  return /*#__PURE__*/function () {
408
- var _ref0 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(currentEntity) {
408
+ var _ref1 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(currentEntity) {
409
409
  return _regenerator["default"].wrap(function (_context7) {
410
410
  while (1) switch (_context7.prev = _context7.next) {
411
411
  case 0:
@@ -422,7 +422,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
422
422
  }, _callee4);
423
423
  }));
424
424
  return function (_x3) {
425
- return _ref0.apply(this, arguments);
425
+ return _ref1.apply(this, arguments);
426
426
  };
427
427
  }();
428
428
  case 3:
@@ -1977,6 +1977,62 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1977
1977
  oldValue: EXT_1
1978
1978
  });
1979
1979
  });
1980
+ _globals.test.only('`options.watch` should not trigger when entity changes between render and effect phase', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
1981
+ var currentPath, currentSetPath, onPathChange, _renderHook37, result, current, _current8, setPath;
1982
+ return _regenerator["default"].wrap(function (_context13) {
1983
+ while (1) switch (_context13.prev = _context13.next) {
1984
+ case 0:
1985
+ currentPath = '';
1986
+ currentSetPath = function currentSetPath(path) {
1987
+ void path;
1988
+ };
1989
+ onPathChange = _globals.jest.fn();
1990
+ _renderHook37 = (0, _react.renderHook)(function () {
1991
+ var cp = currentPath;
1992
+ var onEffect = (0, _ahooks.useMemoizedFn)(function () {
1993
+ if (cp !== PATH_1) {
1994
+ return;
1995
+ }
1996
+ currentSetPath(PATH_2);
1997
+ });
1998
+ /**
1999
+ * 这里一定要在 `useUseCase` 前面,因为 `jest` 的测试环境,`useEffect` 会在 `setTimeout(fn, 0)` 之前执行,
2000
+ * 也就是 `useEffect` 不会存在异步的情况,但实际环境却存在 `useEffect` 是异步的情况,
2001
+ * 比如在 `render` 阶段与 `useEffect` 阶段之间,`touchmove` 等事件会触发修改状态。
2002
+ *
2003
+ * 所以,我们在 `useUseCase` 之前使用 `useUpdateEffect`,
2004
+ * 来模拟在 `useUseCase` 的 `render` 阶段与 `useEffect` 阶段之间运行的异步。
2005
+ */
2006
+ (0, _ahooks.useUpdateEffect)(function () {
2007
+ if (cp !== PATH_1) {
2008
+ return;
2009
+ }
2010
+ onEffect();
2011
+ }, [cp, onEffect]);
2012
+ var core = (0, _.useUseCase)(defaultFile, fileUseCase, {
2013
+ watch: {
2014
+ path: function path(_ref6) {
2015
+ var newValue = _ref6.newValue;
2016
+ currentPath = newValue;
2017
+ onPathChange(newValue);
2018
+ }
2019
+ }
2020
+ });
2021
+ return core;
2022
+ }), result = _renderHook37.result;
2023
+ current = result.current;
2024
+ _current8 = (0, _slicedToArray2["default"])(current, 2), setPath = _current8[1].setPath;
2025
+ currentSetPath = setPath;
2026
+ (0, _react.act)(function () {
2027
+ setPath(PATH_1);
2028
+ });
2029
+ (0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(2);
2030
+ case 1:
2031
+ case "end":
2032
+ return _context13.stop();
2033
+ }
2034
+ }, _callee10);
2035
+ })));
1980
2036
  (0, _globals.test)('multiple `Provider` should work', function () {
1981
2037
  var onNumberMount = _globals.jest.fn();
1982
2038
  var onStringMount = _globals.jest.fn();
@@ -2061,13 +2117,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2061
2117
  });
2062
2118
  return _objectSpread({}, entityReducers);
2063
2119
  };
2064
- var _renderHook37 = (0, _react.renderHook)(function () {
2120
+ var _renderHook38 = (0, _react.renderHook)(function () {
2065
2121
  return (0, _.useUseCase)(5, testUseCase);
2066
2122
  }),
2067
- result = _renderHook37.result;
2123
+ result = _renderHook38.result;
2068
2124
  var current = result.current;
2069
- var _current8 = (0, _slicedToArray2["default"])(current, 2),
2070
- setEntity = _current8[1].setEntity;
2125
+ var _current9 = (0, _slicedToArray2["default"])(current, 2),
2126
+ setEntity = _current9[1].setEntity;
2071
2127
  (0, _globals.expect)(onChange).toHaveBeenCalledTimes(0);
2072
2128
  (0, _react.act)(function () {
2073
2129
  setEntity(100);
@@ -2090,17 +2146,17 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2090
2146
  });
2091
2147
  return _objectSpread({}, entityReducers);
2092
2148
  };
2093
- var _renderHook38 = (0, _react.renderHook)(function () {
2149
+ var _renderHook39 = (0, _react.renderHook)(function () {
2094
2150
  var core = (0, _.useUseCase)(5, testUseCase);
2095
2151
  var _core = (0, _slicedToArray2["default"])(core, 1),
2096
2152
  value = _core[0];
2097
2153
  onRenderHook(value);
2098
2154
  return core;
2099
2155
  }),
2100
- result = _renderHook38.result;
2156
+ result = _renderHook39.result;
2101
2157
  var current = result.current;
2102
- var _current9 = (0, _slicedToArray2["default"])(current, 2),
2103
- setEntity = _current9[1].setEntity;
2158
+ var _current0 = (0, _slicedToArray2["default"])(current, 2),
2159
+ setEntity = _current0[1].setEntity;
2104
2160
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2105
2161
  (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(5);
2106
2162
  (0, _react.act)(function () {
@@ -2113,10 +2169,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2113
2169
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2114
2170
  (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(200);
2115
2171
  });
2116
- (0, _globals.test)('Lifecycle `onChange` event should support returning a Promise<boolean> to control whether the component updates', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
2117
- var i, promise, onChange, onRenderHook, testUseCase, _renderHook39, result, current, _current0, setEntity;
2118
- return _regenerator["default"].wrap(function (_context15) {
2119
- while (1) switch (_context15.prev = _context15.next) {
2172
+ (0, _globals.test)('Lifecycle `onChange` event should support returning a Promise<boolean> to control whether the component updates', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
2173
+ var i, promise, onChange, onRenderHook, testUseCase, _renderHook40, result, current, _current1, setEntity;
2174
+ return _regenerator["default"].wrap(function (_context16) {
2175
+ while (1) switch (_context16.prev = _context16.next) {
2120
2176
  case 0:
2121
2177
  i = 0;
2122
2178
  promise = null;
@@ -2138,33 +2194,33 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2138
2194
  });
2139
2195
  return _objectSpread({}, entityReducers);
2140
2196
  };
2141
- _renderHook39 = (0, _react.renderHook)(function () {
2197
+ _renderHook40 = (0, _react.renderHook)(function () {
2142
2198
  var core = (0, _.useUseCase)(5, testUseCase);
2143
2199
  var _core2 = (0, _slicedToArray2["default"])(core, 1),
2144
2200
  value = _core2[0];
2145
2201
  onRenderHook(value);
2146
2202
  return core;
2147
- }), result = _renderHook39.result;
2203
+ }), result = _renderHook40.result;
2148
2204
  current = result.current;
2149
- _current0 = (0, _slicedToArray2["default"])(current, 2), setEntity = _current0[1].setEntity;
2205
+ _current1 = (0, _slicedToArray2["default"])(current, 2), setEntity = _current1[1].setEntity;
2150
2206
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2151
2207
  (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(5);
2152
2208
  (0, _react.act)(function () {
2153
2209
  setEntity(100);
2154
2210
  });
2155
2211
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2156
- _context15.next = 1;
2157
- return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
2158
- return _regenerator["default"].wrap(function (_context13) {
2159
- while (1) switch (_context13.prev = _context13.next) {
2212
+ _context16.next = 1;
2213
+ return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
2214
+ return _regenerator["default"].wrap(function (_context14) {
2215
+ while (1) switch (_context14.prev = _context14.next) {
2160
2216
  case 0:
2161
- _context13.next = 1;
2217
+ _context14.next = 1;
2162
2218
  return Promise.resolve(promise);
2163
2219
  case 1:
2164
2220
  case "end":
2165
- return _context13.stop();
2221
+ return _context14.stop();
2166
2222
  }
2167
- }, _callee10);
2223
+ }, _callee11);
2168
2224
  })));
2169
2225
  case 1:
2170
2226
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
@@ -2172,32 +2228,32 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2172
2228
  setEntity(200);
2173
2229
  });
2174
2230
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2175
- _context15.next = 2;
2176
- return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
2177
- return _regenerator["default"].wrap(function (_context14) {
2178
- while (1) switch (_context14.prev = _context14.next) {
2231
+ _context16.next = 2;
2232
+ return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
2233
+ return _regenerator["default"].wrap(function (_context15) {
2234
+ while (1) switch (_context15.prev = _context15.next) {
2179
2235
  case 0:
2180
- _context14.next = 1;
2236
+ _context15.next = 1;
2181
2237
  return Promise.resolve(promise);
2182
2238
  case 1:
2183
2239
  case "end":
2184
- return _context14.stop();
2240
+ return _context15.stop();
2185
2241
  }
2186
- }, _callee11);
2242
+ }, _callee12);
2187
2243
  })));
2188
2244
  case 2:
2189
2245
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2190
2246
  (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(200);
2191
2247
  case 3:
2192
2248
  case "end":
2193
- return _context15.stop();
2249
+ return _context16.stop();
2194
2250
  }
2195
- }, _callee12);
2251
+ }, _callee13);
2196
2252
  })));
2197
- (0, _globals.test)('Lifecycle `onChange` event should support returning a number to control whether the component updates', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
2198
- var onChange, onRenderHook, testUseCase, _renderHook40, result, current, _current1, setEntity;
2199
- return _regenerator["default"].wrap(function (_context16) {
2200
- while (1) switch (_context16.prev = _context16.next) {
2253
+ (0, _globals.test)('Lifecycle `onChange` event should support returning a number to control whether the component updates', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14() {
2254
+ var onChange, onRenderHook, testUseCase, _renderHook41, result, current, _current10, setEntity;
2255
+ return _regenerator["default"].wrap(function (_context17) {
2256
+ while (1) switch (_context17.prev = _context17.next) {
2201
2257
  case 0:
2202
2258
  onChange = _globals.jest.fn(function (newEntity, oldEntity) {
2203
2259
  void newEntity;
@@ -2212,15 +2268,15 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2212
2268
  });
2213
2269
  return _objectSpread({}, entityReducers);
2214
2270
  };
2215
- _renderHook40 = (0, _react.renderHook)(function () {
2271
+ _renderHook41 = (0, _react.renderHook)(function () {
2216
2272
  var core = (0, _.useUseCase)(5, testUseCase);
2217
2273
  var _core3 = (0, _slicedToArray2["default"])(core, 1),
2218
2274
  value = _core3[0];
2219
2275
  onRenderHook(value);
2220
2276
  return core;
2221
- }), result = _renderHook40.result;
2277
+ }), result = _renderHook41.result;
2222
2278
  current = result.current;
2223
- _current1 = (0, _slicedToArray2["default"])(current, 2), setEntity = _current1[1].setEntity;
2279
+ _current10 = (0, _slicedToArray2["default"])(current, 2), setEntity = _current10[1].setEntity;
2224
2280
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2225
2281
  (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(5);
2226
2282
  (0, _react.act)(function () {
@@ -2228,7 +2284,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2228
2284
  });
2229
2285
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2230
2286
  (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(100);
2231
- _context16.next = 1;
2287
+ _context17.next = 1;
2232
2288
  return (0, _react.act)(function () {
2233
2289
  return new Promise(function (res) {
2234
2290
  setEntity(200);
@@ -2237,7 +2293,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2237
2293
  });
2238
2294
  case 1:
2239
2295
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2240
- _context16.next = 2;
2296
+ _context17.next = 2;
2241
2297
  return (0, _react.act)(function () {
2242
2298
  return new Promise(function (res) {
2243
2299
  setEntity(300);
@@ -2246,7 +2302,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2246
2302
  });
2247
2303
  case 2:
2248
2304
  (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2249
- _context16.next = 3;
2305
+ _context17.next = 3;
2250
2306
  return (0, _react.act)(function () {
2251
2307
  return new Promise(function (res) {
2252
2308
  setTimeout(res, 500);
@@ -2257,9 +2313,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2257
2313
  (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(300);
2258
2314
  case 4:
2259
2315
  case "end":
2260
- return _context16.stop();
2316
+ return _context17.stop();
2261
2317
  }
2262
- }, _callee13);
2318
+ }, _callee14);
2263
2319
  })));
2264
2320
  (0, _globals.test)('Lifecycle `onUpdate` event should be called when entity change', function () {
2265
2321
  var onUpdate = _globals.jest.fn(function (newEntity, oldEntity) {
@@ -2273,13 +2329,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2273
2329
  });
2274
2330
  return _objectSpread({}, entityReducers);
2275
2331
  };
2276
- var _renderHook41 = (0, _react.renderHook)(function () {
2332
+ var _renderHook42 = (0, _react.renderHook)(function () {
2277
2333
  return (0, _.useUseCase)(5, testUseCase);
2278
2334
  }),
2279
- result = _renderHook41.result;
2335
+ result = _renderHook42.result;
2280
2336
  var current = result.current;
2281
- var _current10 = (0, _slicedToArray2["default"])(current, 2),
2282
- setEntity = _current10[1].setEntity;
2337
+ var _current11 = (0, _slicedToArray2["default"])(current, 2),
2338
+ setEntity = _current11[1].setEntity;
2283
2339
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2284
2340
  (0, _react.act)(function () {
2285
2341
  setEntity(100);
@@ -2298,7 +2354,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2298
2354
  });
2299
2355
  return _objectSpread({}, entityReducers);
2300
2356
  };
2301
- var _renderHook42 = (0, _react.renderHook)(function () {
2357
+ var _renderHook43 = (0, _react.renderHook)(function () {
2302
2358
  var _useUseCase26 = (0, _.useUseCase)(5, testUseCase),
2303
2359
  _useUseCase27 = (0, _slicedToArray2["default"])(_useUseCase26, 2),
2304
2360
  setEntity = _useUseCase27[1].setEntity;
@@ -2306,7 +2362,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2306
2362
  setEntity(100);
2307
2363
  });
2308
2364
  }),
2309
- unmount = _renderHook42.unmount;
2365
+ unmount = _renderHook43.unmount;
2310
2366
  (0, _globals.expect)(onUnbind).toHaveBeenCalledTimes(0);
2311
2367
  unmount();
2312
2368
  (0, _globals.expect)(onUnbind).toHaveBeenCalledTimes(1);
@@ -2324,13 +2380,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2324
2380
  });
2325
2381
  return _objectSpread({}, entityReducers);
2326
2382
  };
2327
- var _renderHook43 = (0, _react.renderHook)(function () {
2383
+ var _renderHook44 = (0, _react.renderHook)(function () {
2328
2384
  return (0, _.useUseCase)(5, testUseCase);
2329
2385
  }),
2330
- result = _renderHook43.result;
2386
+ result = _renderHook44.result;
2331
2387
  var current = result.current;
2332
- var _current11 = (0, _slicedToArray2["default"])(current, 2),
2333
- setEntity = _current11[1].setEntity;
2388
+ var _current12 = (0, _slicedToArray2["default"])(current, 2),
2389
+ setEntity = _current12[1].setEntity;
2334
2390
  (0, _globals.expect)(onAdopt).toHaveBeenCalledTimes(1);
2335
2391
  (0, _globals.expect)(onAdopt).toHaveBeenCalledWith(5);
2336
2392
  (0, _react.act)(function () {
@@ -2350,14 +2406,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2350
2406
  });
2351
2407
  return _objectSpread({}, entityReducers);
2352
2408
  };
2353
- var _renderHook44 = (0, _react.renderHook)(function () {
2409
+ var _renderHook45 = (0, _react.renderHook)(function () {
2354
2410
  return (0, _.useUseCase)(5, testUseCase);
2355
2411
  }),
2356
- result = _renderHook44.result,
2357
- unmount = _renderHook44.unmount;
2412
+ result = _renderHook45.result,
2413
+ unmount = _renderHook45.unmount;
2358
2414
  var current = result.current;
2359
- var _current12 = (0, _slicedToArray2["default"])(current, 2),
2360
- setEntity = _current12[1].setEntity;
2415
+ var _current13 = (0, _slicedToArray2["default"])(current, 2),
2416
+ setEntity = _current13[1].setEntity;
2361
2417
  (0, _globals.expect)(onDiscard).toHaveBeenCalledTimes(0);
2362
2418
  (0, _react.act)(function () {
2363
2419
  setEntity(100);
@@ -2407,14 +2463,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2407
2463
  });
2408
2464
  return _objectSpread({}, parentReducers);
2409
2465
  };
2410
- var _renderHook45 = (0, _react.renderHook)(function () {
2466
+ var _renderHook46 = (0, _react.renderHook)(function () {
2411
2467
  return (0, _.useUseCase)(5, childUseCase);
2412
2468
  }),
2413
- result = _renderHook45.result,
2414
- unmount = _renderHook45.unmount;
2469
+ result = _renderHook46.result,
2470
+ unmount = _renderHook46.unmount;
2415
2471
  var current = result.current;
2416
- var _current13 = (0, _slicedToArray2["default"])(current, 2),
2417
- setEntity = _current13[1].setEntity;
2472
+ var _current14 = (0, _slicedToArray2["default"])(current, 2),
2473
+ setEntity = _current14[1].setEntity;
2418
2474
  (0, _globals.expect)(onParentBind).toHaveBeenCalledTimes(1);
2419
2475
  (0, _globals.expect)(onParentBind).toHaveBeenCalledWith(5);
2420
2476
  (0, _globals.expect)(onParentChange).toHaveBeenCalledTimes(0);
@@ -2735,8 +2791,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2735
2791
  var onChangeB = _globals.jest.fn(updateChangeTimes);
2736
2792
  var onChangeC = _globals.jest.fn(updateChangeTimes);
2737
2793
  var buttonText = 'my button';
2738
- var A = function A(_ref6) {
2739
- var children = _ref6.children;
2794
+ var A = function A(_ref7) {
2795
+ var children = _ref7.children;
2740
2796
  (0, _.useUseCase)(fileUseCase, {
2741
2797
  onChange: onChangeA
2742
2798
  });
@@ -2878,8 +2934,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2878
2934
  var onChangeB = _globals.jest.fn(updateChangeTimes);
2879
2935
  var onChangeC = _globals.jest.fn(updateChangeTimes);
2880
2936
  var buttonText = 'my button';
2881
- var A = function A(_ref7) {
2882
- var children = _ref7.children;
2937
+ var A = function A(_ref8) {
2938
+ var children = _ref8.children;
2883
2939
  (0, _.useUseCase)(fileUseCase, {
2884
2940
  watch: {
2885
2941
  ext: onChangeA
@@ -2986,38 +3042,38 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2986
3042
  });
2987
3043
  (0, _globals.describe)('`useUseCase` should work the same as `useReducers`', function () {
2988
3044
  (0, _globals.test)('`entity` should equal `defaultFile`', function () {
2989
- var _renderHook46 = (0, _react.renderHook)(function () {
3045
+ var _renderHook47 = (0, _react.renderHook)(function () {
2990
3046
  return (0, _.useUseCase)(mathUseCase);
2991
3047
  }),
2992
- result = _renderHook46.result;
3048
+ result = _renderHook47.result;
2993
3049
  var reducers = result.current;
2994
3050
  (0, _globals.expect)(Array.isArray(reducers)).toBe(false);
2995
3051
  });
2996
3052
  (0, _globals.test)('returned reducer should work', function () {
2997
- var _renderHook47 = (0, _react.renderHook)(function () {
3053
+ var _renderHook48 = (0, _react.renderHook)(function () {
2998
3054
  return (0, _.useUseCase)(mathUseCase);
2999
3055
  }),
3000
- result = _renderHook47.result;
3056
+ result = _renderHook48.result;
3001
3057
  var reducers = result.current;
3002
3058
  var add = reducers.add;
3003
3059
  (0, _globals.expect)(add(1, 2)).toBe(3);
3004
3060
  });
3005
3061
  (0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
3006
3062
  var mockUseCase = _globals.jest.fn(mathUseCase);
3007
- var _renderHook48 = (0, _react.renderHook)(function () {
3063
+ var _renderHook49 = (0, _react.renderHook)(function () {
3008
3064
  return (0, _.useUseCase)(mockUseCase);
3009
3065
  }),
3010
- rerender = _renderHook48.rerender;
3066
+ rerender = _renderHook49.rerender;
3011
3067
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
3012
3068
  rerender();
3013
3069
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
3014
3070
  });
3015
3071
  (0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
3016
3072
  var mockUseCase = _globals.jest.fn(mathUseCase);
3017
- var _renderHook49 = (0, _react.renderHook)(function () {
3073
+ var _renderHook50 = (0, _react.renderHook)(function () {
3018
3074
  return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
3019
3075
  }),
3020
- rerender = _renderHook49.rerender;
3076
+ rerender = _renderHook50.rerender;
3021
3077
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
3022
3078
  rerender();
3023
3079
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
@@ -3025,10 +3081,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3025
3081
  (0, _globals.test)('`usecase` should be called if deps has changed', function () {
3026
3082
  var i = 0;
3027
3083
  var mockUseCase = _globals.jest.fn(mathUseCase);
3028
- var _renderHook50 = (0, _react.renderHook)(function () {
3084
+ var _renderHook51 = (0, _react.renderHook)(function () {
3029
3085
  return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
3030
3086
  }),
3031
- rerender = _renderHook50.rerender;
3087
+ rerender = _renderHook51.rerender;
3032
3088
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
3033
3089
  rerender();
3034
3090
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
@@ -3112,12 +3168,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3112
3168
  (0, _globals.expect)(subtractionReducer).toHaveReturnedWith(4);
3113
3169
  });
3114
3170
  (0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
3115
- var _renderHook51 = (0, _react.renderHook)(function () {
3171
+ var _renderHook52 = (0, _react.renderHook)(function () {
3116
3172
  return (0, _.useUseCase)(mathUseCase, {
3117
3173
  extraValue: 5
3118
3174
  });
3119
3175
  }),
3120
- result = _renderHook51.result;
3176
+ result = _renderHook52.result;
3121
3177
  var reducers = result.current;
3122
3178
  var add = reducers.add;
3123
3179
  (0, _globals.expect)(add(1, 2)).toBe(8);
@@ -3125,7 +3181,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3125
3181
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
3126
3182
  var onUpdate = _globals.jest.fn();
3127
3183
  var onDeepUpdate = _globals.jest.fn();
3128
- var _renderHook52 = (0, _react.renderHook)(function () {
3184
+ var _renderHook53 = (0, _react.renderHook)(function () {
3129
3185
  var _useState7 = (0, _react2.useState)(0),
3130
3186
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
3131
3187
  extraValue = _useState8[0],
@@ -3141,7 +3197,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3141
3197
  }, [reducers]);
3142
3198
  return setExtraValue;
3143
3199
  }),
3144
- result = _renderHook52.result;
3200
+ result = _renderHook53.result;
3145
3201
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
3146
3202
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
3147
3203
  (0, _react.act)(function () {
@@ -3153,7 +3209,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3153
3209
  (0, _globals.test)('when `deps` change, it should update reducers', function () {
3154
3210
  var onUpdate = _globals.jest.fn();
3155
3211
  var onDeepUpdate = _globals.jest.fn();
3156
- var _renderHook53 = (0, _react.renderHook)(function () {
3212
+ var _renderHook54 = (0, _react.renderHook)(function () {
3157
3213
  var _useState9 = (0, _react2.useState)(0),
3158
3214
  _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
3159
3215
  extraValue = _useState0[0],
@@ -3169,7 +3225,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3169
3225
  }, [reducers]);
3170
3226
  return setExtraValue;
3171
3227
  }),
3172
- result = _renderHook53.result;
3228
+ result = _renderHook54.result;
3173
3229
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
3174
3230
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
3175
3231
  (0, _react.act)(function () {
@@ -3181,7 +3237,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3181
3237
  (0, _globals.test)('empty `deps` should not update reducers', function () {
3182
3238
  var onUpdate = _globals.jest.fn();
3183
3239
  var onDeepUpdate = _globals.jest.fn();
3184
- var _renderHook54 = (0, _react.renderHook)(function () {
3240
+ var _renderHook55 = (0, _react.renderHook)(function () {
3185
3241
  var _useState1 = (0, _react2.useState)(0),
3186
3242
  _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
3187
3243
  extraValue = _useState10[0],
@@ -3197,7 +3253,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3197
3253
  }, [reducers]);
3198
3254
  return setExtraValue;
3199
3255
  }),
3200
- result = _renderHook54.result;
3256
+ result = _renderHook55.result;
3201
3257
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
3202
3258
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
3203
3259
  (0, _react.act)(function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mic-rexjs/usecases-react",
3
- "version": "4.0.0-beta.3",
3
+ "version": "4.0.0-beta.4",
4
4
  "description": "React-based solution for use usecases of Clean Architecture",
5
5
  "private": false,
6
6
  "sideEffects": false,