@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(
|
|
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,
|
|
49
|
-
onDiscard === null || onDiscard === void 0 || onDiscard(
|
|
50
|
-
onAdopt === null || onAdopt === void 0 || onAdopt(newEntity,
|
|
51
|
-
onUpdate === null || onUpdate === void 0 || onUpdate(newEntity,
|
|
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
|
-
|
|
113
|
-
}, [entity,
|
|
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
|
|
2091
|
+
const _renderHook38 = renderHook(() => {
|
|
2043
2092
|
return useUseCase(5, testUseCase);
|
|
2044
2093
|
}),
|
|
2045
|
-
result =
|
|
2094
|
+
result = _renderHook38.result;
|
|
2046
2095
|
const current = result.current;
|
|
2047
|
-
const
|
|
2048
|
-
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
|
|
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 =
|
|
2129
|
+
result = _renderHook39.result;
|
|
2081
2130
|
const current = result.current;
|
|
2082
|
-
const
|
|
2083
|
-
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
|
|
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 =
|
|
2175
|
+
result = _renderHook40.result;
|
|
2127
2176
|
const current = result.current;
|
|
2128
|
-
const
|
|
2129
|
-
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
|
|
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 =
|
|
2222
|
+
result = _renderHook41.result;
|
|
2174
2223
|
const current = result.current;
|
|
2175
|
-
const
|
|
2176
|
-
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
|
|
2269
|
+
const _renderHook42 = renderHook(() => {
|
|
2221
2270
|
return useUseCase(5, testUseCase);
|
|
2222
2271
|
}),
|
|
2223
|
-
result =
|
|
2272
|
+
result = _renderHook42.result;
|
|
2224
2273
|
const current = result.current;
|
|
2225
|
-
const
|
|
2226
|
-
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
|
|
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 =
|
|
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
|
|
2324
|
+
const _renderHook44 = renderHook(() => {
|
|
2276
2325
|
return useUseCase(5, testUseCase);
|
|
2277
2326
|
}),
|
|
2278
|
-
result =
|
|
2327
|
+
result = _renderHook44.result;
|
|
2279
2328
|
const current = result.current;
|
|
2280
|
-
const
|
|
2281
|
-
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
|
|
2352
|
+
const _renderHook45 = renderHook(() => {
|
|
2304
2353
|
return useUseCase(5, testUseCase);
|
|
2305
2354
|
}),
|
|
2306
|
-
result =
|
|
2307
|
-
unmount =
|
|
2355
|
+
result = _renderHook45.result,
|
|
2356
|
+
unmount = _renderHook45.unmount;
|
|
2308
2357
|
const current = result.current;
|
|
2309
|
-
const
|
|
2310
|
-
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
|
|
2413
|
+
const _renderHook46 = renderHook(() => {
|
|
2365
2414
|
return useUseCase(5, childUseCase);
|
|
2366
2415
|
}),
|
|
2367
|
-
result =
|
|
2368
|
-
unmount =
|
|
2416
|
+
result = _renderHook46.result,
|
|
2417
|
+
unmount = _renderHook46.unmount;
|
|
2369
2418
|
const current = result.current;
|
|
2370
|
-
const
|
|
2371
|
-
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 =
|
|
2703
|
-
let 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 =
|
|
2848
|
-
let 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
|
|
3005
|
+
const _renderHook47 = renderHook(() => {
|
|
2957
3006
|
return useUseCase(mathUseCase);
|
|
2958
3007
|
}),
|
|
2959
|
-
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
|
|
3013
|
+
const _renderHook48 = renderHook(() => {
|
|
2965
3014
|
return useUseCase(mathUseCase);
|
|
2966
3015
|
}),
|
|
2967
|
-
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
|
|
3023
|
+
const _renderHook49 = renderHook(() => {
|
|
2975
3024
|
return useUseCase(mockUseCase);
|
|
2976
3025
|
}),
|
|
2977
|
-
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
|
|
3033
|
+
const _renderHook50 = renderHook(() => {
|
|
2985
3034
|
return useUseCase(mockUseCase, {}, [1, 'x']);
|
|
2986
3035
|
}),
|
|
2987
|
-
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
|
|
3044
|
+
const _renderHook51 = renderHook(() => {
|
|
2996
3045
|
return useUseCase(mockUseCase, {}, [i++, 'x']);
|
|
2997
3046
|
}),
|
|
2998
|
-
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
|
|
3131
|
+
const _renderHook52 = renderHook(() => {
|
|
3083
3132
|
return useUseCase(mathUseCase, {
|
|
3084
3133
|
extraValue: 5
|
|
3085
3134
|
});
|
|
3086
3135
|
}),
|
|
3087
|
-
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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,
|
|
59
|
-
onDiscard === null || onDiscard === void 0 || onDiscard(
|
|
60
|
-
onAdopt === null || onAdopt === void 0 || onAdopt(newEntity,
|
|
61
|
-
onUpdate === null || onUpdate === void 0 || onUpdate(newEntity,
|
|
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
|
-
|
|
147
|
-
}, [entity,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2120
|
+
var _renderHook38 = (0, _react.renderHook)(function () {
|
|
2065
2121
|
return (0, _.useUseCase)(5, testUseCase);
|
|
2066
2122
|
}),
|
|
2067
|
-
result =
|
|
2123
|
+
result = _renderHook38.result;
|
|
2068
2124
|
var current = result.current;
|
|
2069
|
-
var
|
|
2070
|
-
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
|
|
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 =
|
|
2156
|
+
result = _renderHook39.result;
|
|
2101
2157
|
var current = result.current;
|
|
2102
|
-
var
|
|
2103
|
-
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
|
|
2117
|
-
var i, promise, onChange, onRenderHook, testUseCase,
|
|
2118
|
-
return _regenerator["default"].wrap(function (
|
|
2119
|
-
while (1) switch (
|
|
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
|
-
|
|
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 =
|
|
2203
|
+
}), result = _renderHook40.result;
|
|
2148
2204
|
current = result.current;
|
|
2149
|
-
|
|
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
|
-
|
|
2157
|
-
return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function
|
|
2158
|
-
return _regenerator["default"].wrap(function (
|
|
2159
|
-
while (1) switch (
|
|
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
|
-
|
|
2217
|
+
_context14.next = 1;
|
|
2162
2218
|
return Promise.resolve(promise);
|
|
2163
2219
|
case 1:
|
|
2164
2220
|
case "end":
|
|
2165
|
-
return
|
|
2221
|
+
return _context14.stop();
|
|
2166
2222
|
}
|
|
2167
|
-
},
|
|
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
|
-
|
|
2176
|
-
return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function
|
|
2177
|
-
return _regenerator["default"].wrap(function (
|
|
2178
|
-
while (1) switch (
|
|
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
|
-
|
|
2236
|
+
_context15.next = 1;
|
|
2181
2237
|
return Promise.resolve(promise);
|
|
2182
2238
|
case 1:
|
|
2183
2239
|
case "end":
|
|
2184
|
-
return
|
|
2240
|
+
return _context15.stop();
|
|
2185
2241
|
}
|
|
2186
|
-
},
|
|
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
|
|
2249
|
+
return _context16.stop();
|
|
2194
2250
|
}
|
|
2195
|
-
},
|
|
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
|
|
2198
|
-
var onChange, onRenderHook, testUseCase,
|
|
2199
|
-
return _regenerator["default"].wrap(function (
|
|
2200
|
-
while (1) switch (
|
|
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
|
-
|
|
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 =
|
|
2277
|
+
}), result = _renderHook41.result;
|
|
2222
2278
|
current = result.current;
|
|
2223
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
2316
|
+
return _context17.stop();
|
|
2261
2317
|
}
|
|
2262
|
-
},
|
|
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
|
|
2332
|
+
var _renderHook42 = (0, _react.renderHook)(function () {
|
|
2277
2333
|
return (0, _.useUseCase)(5, testUseCase);
|
|
2278
2334
|
}),
|
|
2279
|
-
result =
|
|
2335
|
+
result = _renderHook42.result;
|
|
2280
2336
|
var current = result.current;
|
|
2281
|
-
var
|
|
2282
|
-
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
|
|
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 =
|
|
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
|
|
2383
|
+
var _renderHook44 = (0, _react.renderHook)(function () {
|
|
2328
2384
|
return (0, _.useUseCase)(5, testUseCase);
|
|
2329
2385
|
}),
|
|
2330
|
-
result =
|
|
2386
|
+
result = _renderHook44.result;
|
|
2331
2387
|
var current = result.current;
|
|
2332
|
-
var
|
|
2333
|
-
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
|
|
2409
|
+
var _renderHook45 = (0, _react.renderHook)(function () {
|
|
2354
2410
|
return (0, _.useUseCase)(5, testUseCase);
|
|
2355
2411
|
}),
|
|
2356
|
-
result =
|
|
2357
|
-
unmount =
|
|
2412
|
+
result = _renderHook45.result,
|
|
2413
|
+
unmount = _renderHook45.unmount;
|
|
2358
2414
|
var current = result.current;
|
|
2359
|
-
var
|
|
2360
|
-
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
|
|
2466
|
+
var _renderHook46 = (0, _react.renderHook)(function () {
|
|
2411
2467
|
return (0, _.useUseCase)(5, childUseCase);
|
|
2412
2468
|
}),
|
|
2413
|
-
result =
|
|
2414
|
-
unmount =
|
|
2469
|
+
result = _renderHook46.result,
|
|
2470
|
+
unmount = _renderHook46.unmount;
|
|
2415
2471
|
var current = result.current;
|
|
2416
|
-
var
|
|
2417
|
-
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(
|
|
2739
|
-
var 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(
|
|
2882
|
-
var 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
|
|
3045
|
+
var _renderHook47 = (0, _react.renderHook)(function () {
|
|
2990
3046
|
return (0, _.useUseCase)(mathUseCase);
|
|
2991
3047
|
}),
|
|
2992
|
-
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
|
|
3053
|
+
var _renderHook48 = (0, _react.renderHook)(function () {
|
|
2998
3054
|
return (0, _.useUseCase)(mathUseCase);
|
|
2999
3055
|
}),
|
|
3000
|
-
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
|
|
3063
|
+
var _renderHook49 = (0, _react.renderHook)(function () {
|
|
3008
3064
|
return (0, _.useUseCase)(mockUseCase);
|
|
3009
3065
|
}),
|
|
3010
|
-
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
|
|
3073
|
+
var _renderHook50 = (0, _react.renderHook)(function () {
|
|
3018
3074
|
return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
|
|
3019
3075
|
}),
|
|
3020
|
-
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
|
|
3084
|
+
var _renderHook51 = (0, _react.renderHook)(function () {
|
|
3029
3085
|
return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
|
|
3030
3086
|
}),
|
|
3031
|
-
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
|
|
3171
|
+
var _renderHook52 = (0, _react.renderHook)(function () {
|
|
3116
3172
|
return (0, _.useUseCase)(mathUseCase, {
|
|
3117
3173
|
extraValue: 5
|
|
3118
3174
|
});
|
|
3119
3175
|
}),
|
|
3120
|
-
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 () {
|