@mic-rexjs/usecases-react 2.2.1 → 2.3.1

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={20:(t,e,n)=>{"use strict";var r=n(594),o=Symbol.for("react.element"),a=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),u=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};e.jsx=function(t,e,n){var r,l={},c=null,s=null;for(r in void 0!==n&&(c=""+n),void 0!==e.key&&(c=""+e.key),void 0!==e.ref&&(s=e.ref),e)a.call(e,r)&&!i.hasOwnProperty(r)&&(l[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps)void 0===l[r]&&(l[r]=e[r]);return{$$typeof:o,type:t,key:c,ref:s,props:l,_owner:u.current}}},848:(t,e,n)=>{"use strict";t.exports=n(20)},594:t=>{"use strict";t.exports=React}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.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";n.r(r),n.d(r,{UseCaseFragment:()=>A,useGlobalUseCase:()=>N,useStatelessUseCase:()=>G,useUseCase:()=>x});var t=n(848),e=n(594),o=n.n(e);function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function u(t,e){if(t){if("string"==typeof t)return a(t,e);var n=Object.prototype.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)?a(t,e):void 0}}function i(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,a,u,i=[],l=!0,c=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(i.push(r.value),i.length!==e);l=!0);}catch(t){c=!0,o=t}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return i}}(t,e)||u(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 l=ahooks;var c,s=function(t){return i((0,e.useState)((function(){return t})),1)[0]};function f(t){return f="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},f(t)}function b(t){var e=function(t,e){if("object"!=f(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==f(e)?e:String(e)}!function(t){t[t.None=0]="None",t[t.RootEnabled=2]="RootEnabled",t[t.ContextEnabled=4]="ContextEnabled",t[t.EntityEnabled=8]="EntityEnabled",t[t.ContextRootEnabled=22]="ContextRootEnabled",t[t.EntityRootEnabled=62]="EntityRootEnabled",t[t.StatelessEnabled=72]="StatelessEnabled",t[t.GlobalEnabled=150]="GlobalEnabled"}(c||(c={}));const y=usecases;var d=["watch","onChange","options"];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 E(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?v(Object(n),!0).forEach((function(e){var r,o,a;r=t,o=e,a=n[e],(o=b(o))in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var p,m=function(t){return i((0,e.useState)(t),1)[0]},h=new Map;!function(t){t[t.None=0]="None",t[t.Entity=2]="Entity",t[t.Mode=4]="Mode"}(p||(p={}));var S,g=(0,e.createContext)(null);!function(t){t[t.Normal=2]="Normal",t[t.Stateless=4]="Stateless",t[t.Global=8]="Global",t[t.StatelessGlobal=12]="StatelessGlobal"}(S||(S={}));var O=function(t,e){var n=t.length;if(n!==e.length)return!1;for(var r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0},w=function(t,e){var n,r=e||{},o=r.onShouldCache,a=void 0===o?function(){return!0}:o,u=r.onCompare,i=void 0===u?function(t,e){return O(t,e)}:u;return function(){for(var e=a(),r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];if(n&&e){var l=n,c=l.parameters,s=l.returnValue;if(i(c,o))return s}var f=t.apply(void 0,o);return e&&(n={parameters:o,returnValue:f}),f}},j=function(t,n,r){var o,a,u,i=(o=r,a=function(t){var n=(0,e.useRef)(0),r=(0,e.useRef)([]),o=r.current,a=O(t,o);return r.current=t,n.current+=a?0:1,n.current}(arguments.length>3&&void 0!==arguments[3]?arguments[3]:[]),u=(0,l.useLatest)(o),(0,l.useCreation)((function(){return w(u.current,{onCompare:function(){return!0}})}),[a,u]));return(0,l.useCreation)((function(){return(n&c.RootEnabled)!==c.RootEnabled&&t?t:i()}),[n,t,i])};function C(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||u(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 R=function(t,e){return"object"===f(t)&&null!==t&&Object.hasOwn(t,e)},P=function t(e,n,r,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],u=void 0,l=i(r.match(/^([^.]+)\.(.+)$/)||[],3),c=l[1],s=void 0===c?r:c,f=l[2],b=void 0===f?"":f,y=R(e,s),d=R(n,s),v=[].concat(C(a),[s]);if(y||d){var E=y?e[s]:u,p=d?n[s]:u;if(b)return void t(E,p,b,o,v);if(E===p)return;o(E,p,v)}else if(!/^\d+^/.test(s))for(var m=Array.isArray(e)?e:[],h=Array.isArray(n)?n:[],S=m.length,g=h.length,O=Math.max(S,g),w=0;w<O;w++)t(m[w],h[w],r,o,[].concat(C(a),["".concat(w)]))},_=function(t,e,n){for(var r=function(){var t=i(a[o],2),r=t[0],u=t[1];P(n,e,r,(function(t,r,o){u({fieldPaths:o,newEntity:e,oldEntity:n,newValue:r,oldValue:t})}))},o=0,a=Object.entries(t);o<a.length;o++)r()},x=function(){for(var t,n=((t=(0,e.useRef)(!0)).current=!0,(0,e.useEffect)((function(){t.current=!1})),t),r=arguments.length,a=new Array(r),u=0;u<r;u++)a[u]=arguments[u];var b=function(t){return m((function(){var e=p.None,n=i(t,3),r=n[1],o=n[2];return"function"===f(r)&&(e|=p.Entity,"number"==typeof o&&(e|=p.Mode)),e}))}(a),v=function(t,e){var n=i(t,5),r=n[0],o=n[1],a=n[2],u=n[3],l=n[4],c=(e&p.Entity)===p.Entity,s=(e&p.Mode)===p.Mode;return c?s?[r,o,a,u||{},l||[]]:[r,o,S.Normal,a||{},u||[]]:[null,r,S.Normal,o||{},a||[]]}(a,b),O=i(v,5),C=O[0],R=O[1],P=O[2],x=O[3],A=O[4],N=s(R),G=N,M=N,I=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p.None,r=h,o=m((function(){if(r.has(t)){var o=r.get(t),a=o.value,u=o.times;return r.set(t,{value:a,times:u+1}),a}if((n&p.Entity)!==p.Entity)return g;var i=(0,e.createContext)(null);return r.set(t,{value:i,times:1}),i}));return(0,l.useUnmount)((function(){if(r.has(t)){var e=r.get(t),n=e.value,a=e.times;o===n&&(1!==a?r.set(t,{value:n,times:a-1}):r.delete(t))}})),o}(N,b),T=(0,e.useContext)(I),U=T,k=function(t,e,n){return(0,l.useCreation)((function(){var r=c.None,o=(n||{}).store;return(t&p.Entity)===p.Entity&&(r|=c.EntityRootEnabled),r|=n?c.ContextEnabled:c.RootEnabled,o&&(r|=c.EntityEnabled),(e&S.Stateless)===S.Stateless&&(r|=c.StatelessEnabled),(e&S.Global)===S.Global&&(r|=c.GlobalEnabled),r}),[t,n,e])}(b,P,T),D=T||{},L=D.reducers,V=void 0===L?null:L,$=D.statuses,F=void 0===$?c.None:$,B=(U||{}).store,W=i(function(t,n,r,o){var a=i((0,e.useState)(n),2),u=a[0],s=a[1],f=r?r.value:null,b=function(t,e,n,r){return(t&c.EntityRootEnabled)!==c.EntityRootEnabled?r:(t&c.StatelessEnabled)!==c.StatelessEnabled?e:"function"==typeof n?n():n}(t,u,n,f),d=(0,l.useLatest)(o),v=(t&c.EntityRootEnabled)===c.EntityRootEnabled,E=j(r,t,(function(){if(!v)return new y.EntityStore(null);var e=(t&c.StatelessEnabled)===c.StatelessEnabled;return new y.EntityStore(b,{onChange:function(t){e||s(t)}})}));return v&&(E.value=b),(0,e.useEffect)((function(){if((t&c.EntityEnabled)===c.EntityEnabled){var e=function(t,e){var n=d.current,r=n.onChange,o=n.watch;o&&_(o,t,e),null==r||r(t,e)};return E.watch(e),function(){E.unwatch(e)}}}),[t,E,d]),(0,l.useCreation)((function(){return[b,E]}),[b,E])}(k,C,void 0===B?null:B,x),2),Y=W[0],q=W[1],z=j(V,k,(function(){return(k&c.EntityEnabled)!==c.EntityEnabled?G(x):function(t,e,n){n.watch,n.onChange;var r=n.options,o=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},a=Object.keys(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(n,d);return(0,y.createEntityReducers)(e,t,E(E(E({},o),r),{},{onGenerate:function(t,e){return e}}))}(M,q,x)}),A),H=function(t,n,r,a){var u=r.value,i=(0,e.useMemo)((function(){return(t&c.EntityEnabled)===c.EntityEnabled?{store:r,reducers:a,statuses:t}:{reducers:a,statuses:t}}),[t,u,r,a]),f=(0,l.useLatest)(i);return s((function(t){var e=t.children,r=t.with,a=void 0===r?[]:r,u=n.Provider;return o().createElement(u,{value:f.current},a.reduceRight((function(t,e){return o().createElement(e,{},t)}),e))}))}(k,I,q,z);return(0,l.useCreation)((function(){if((k&c.EntityEnabled)!==c.EntityEnabled)return z;var t=(k&c.RootEnabled)===c.RootEnabled,e=function(t,e){var n={};return Object.entries(t).forEach((function(t){var r=i(t,2),o=r[0],a=r[1];n[o]=w(a,e)})),n}(z,{onShouldCache:function(){return n.current}});return t?[Y,e,H]:(F&c.GlobalEnabled)===c.GlobalEnabled?e:[Y,e]}),[k,F,Y,z,H,n])},A=function(n){var r=n.usecase,o=n.watch,a=n.onChange;return x(r,{watch:o,onChange:a}),(0,t.jsx)(e.Fragment,{})},N=function(t,e,n,r){return x(t,e,S.Global,n,r)},G=function(t,e,n,r){return x(t,e,S.Stateless,n,r)}})();var o=usecases="undefined"==typeof usecases?{}:usecases;for(var a in r)o[a]=r[a];r.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();
2
+ (()=>{var t={20:(t,e,n)=>{"use strict";var r=n(594),o=Symbol.for("react.element"),u=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),a=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};e.jsx=function(t,e,n){var r,l={},c=null,f=null;for(r in void 0!==n&&(c=""+n),void 0!==e.key&&(c=""+e.key),void 0!==e.ref&&(f=e.ref),e)u.call(e,r)&&!i.hasOwnProperty(r)&&(l[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps)void 0===l[r]&&(l[r]=e[r]);return{$$typeof:o,type:t,key:c,ref:f,props:l,_owner:a.current}}},848:(t,e,n)=>{"use strict";t.exports=n(20)},594:t=>{"use strict";t.exports=React}},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";n.r(r),n.d(r,{UseCaseFragment:()=>A,useStatelessUseCase:()=>M,useUseCase:()=>x});var t=n(848),e=n(594),o=n.n(e);function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function a(t,e){if(t){if("string"==typeof t)return u(t,e);var n=Object.prototype.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)?u(t,e):void 0}}function i(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,a,i=[],l=!0,c=!1;try{if(u=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=u.call(n)).done)&&(i.push(r.value),i.length!==e);l=!0);}catch(t){c=!0,o=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return i}}(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 l=ahooks;var c,f=function(t){return i((0,e.useState)((function(){return t})),1)[0]};function s(t){return s="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},s(t)}function y(t){var e=function(t,e){if("object"!=s(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:String(e)}!function(t){t[t.None=0]="None",t[t.RootEnabled=2]="RootEnabled",t[t.ContextEnabled=4]="ContextEnabled",t[t.EntityEnabled=8]="EntityEnabled",t[t.ContextRootEnabled=22]="ContextRootEnabled",t[t.EntityRootEnabled=62]="EntityRootEnabled",t[t.StatelessEnabled=72]="StatelessEnabled"}(c||(c={}));const d=usecases;var b=["watch","onChange","options"];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 E(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?v(Object(n),!0).forEach((function(e){var r,o,u;r=t,o=e,u=n[e],(o=y(o))in r?Object.defineProperty(r,o,{value:u,enumerable:!0,configurable:!0,writable:!0}):r[o]=u})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var p,m=function(t){return i((0,e.useState)(t),1)[0]},h=new Map;!function(t){t[t.None=0]="None",t[t.Entity=2]="Entity",t[t.Mode=4]="Mode"}(p||(p={}));var S,g=(0,e.createContext)(null);!function(t){t[t.Normal=2]="Normal",t[t.Stateless=4]="Stateless"}(S||(S={}));var O=function(t,e){var n=t.length;if(n!==e.length)return!1;for(var r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0},w=function(t,e){var n,r=e||{},o=r.onShouldCache,u=void 0===o?function(){return!0}:o,a=r.onCompare,i=void 0===a?function(t,e){return O(t,e)}:a;return function(){for(var e=u(),r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];if(n&&e){var l=n,c=l.parameters,f=l.returnValue;if(i(c,o))return f}var s=t.apply(void 0,o);return e&&(n={parameters:o,returnValue:s}),s}},j=function(t,n,r){var o,u,a,i=(o=r,u=function(t){var n=(0,e.useRef)(0),r=(0,e.useRef)([]),o=r.current,u=O(t,o);return r.current=t,n.current+=u?0:1,n.current}(arguments.length>3&&void 0!==arguments[3]?arguments[3]:[]),a=(0,l.useLatest)(o),(0,l.useCreation)((function(){return w(a.current,{onCompare:function(){return!0}})}),[u,a]));return(0,l.useCreation)((function(){return(n&c.RootEnabled)!==c.RootEnabled&&t?t:i()}),[n,t,i])};function C(t){return function(t){if(Array.isArray(t))return u(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 R=function(t,e){return"object"===s(t)&&null!==t&&Object.hasOwn(t,e)},P=function t(e,n,r,o){var u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=void 0,l=i(r.match(/^([^.]+)\.(.+)$/)||[],3),c=l[1],f=void 0===c?r:c,s=l[2],y=void 0===s?"":s,d=R(e,f),b=R(n,f),v=[].concat(C(u),[f]);if(d||b){var E=d?e[f]:a,p=b?n[f]:a;if(y)return void t(E,p,y,o,v);if(E===p)return;o(E,p,v)}else if(!/^\d+^/.test(f))for(var m=Array.isArray(e)?e:[],h=Array.isArray(n)?n:[],S=m.length,g=h.length,O=Math.max(S,g),w=0;w<O;w++)t(m[w],h[w],r,o,[].concat(C(u),["".concat(w)]))},_=function(t,e,n){for(var r=function(){var t=i(u[o],2),r=t[0],a=t[1];P(n,e,r,(function(t,r,o){a({fieldPaths:o,newEntity:e,oldEntity:n,newValue:r,oldValue:t})}))},o=0,u=Object.entries(t);o<u.length;o++)r()},x=function(){for(var t,n=((t=(0,e.useRef)(!0)).current=!0,(0,e.useEffect)((function(){t.current=!1})),t),r=arguments.length,u=new Array(r),a=0;a<r;a++)u[a]=arguments[a];var y=function(t){return m((function(){var e=p.None,n=i(t,3),r=n[1],o=n[2];return"function"===s(r)&&(e|=p.Entity,"number"==typeof o&&(e|=p.Mode)),e}))}(u),v=function(t,e){var n=i(t,5),r=n[0],o=n[1],u=n[2],a=n[3],l=n[4],c=(e&p.Entity)===p.Entity,f=(e&p.Mode)===p.Mode;return c?f?[r,o,u,a||{},l||[]]:[r,o,S.Normal,u||{},a||[]]:[null,r,S.Normal,o||{},u||[]]}(u,y),O=i(v,5),C=O[0],R=O[1],P=O[2],x=O[3],A=O[4],M=f(R),N=M,I=M,T=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p.None,r=h,o=m((function(){if(r.has(t)){var o=r.get(t),u=o.value,a=o.times;return r.set(t,{value:u,times:a+1}),u}if((n&p.Entity)!==p.Entity)return g;var i=(0,e.createContext)(null);return r.set(t,{value:i,times:1}),i}));return(0,l.useUnmount)((function(){if(r.has(t)){var e=r.get(t),n=e.value,u=e.times;o===n&&(1!==u?r.set(t,{value:n,times:u-1}):r.delete(t))}})),o}(M,y),k=(0,e.useContext)(T),U=k,D=function(t,e,n){return(0,l.useCreation)((function(){var r=c.None,o=(n||{}).store;return(t&p.Entity)===p.Entity&&(r|=c.EntityRootEnabled),r|=n?c.ContextEnabled:c.RootEnabled,o&&(r|=c.EntityEnabled),(e&S.Stateless)===S.Stateless&&(r|=c.StatelessEnabled),r}),[t,n,e])}(y,P,k),L=(k||{}).reducers,V=void 0===L?null:L,$=(U||{}).store,F=i(function(t,n,r,o){var u=i((0,e.useState)(n),2),a=u[0],f=u[1],s=r?r.value:null,y=function(t,e,n,r){return(t&c.EntityRootEnabled)!==c.EntityRootEnabled?r:(t&c.StatelessEnabled)!==c.StatelessEnabled?e:"function"==typeof n?n():n}(t,a,n,s),b=(0,l.useLatest)(o),v=(t&c.EntityRootEnabled)===c.EntityRootEnabled,E=j(r,t,(function(){if(!v)return new d.EntityStore(null);var e=(t&c.StatelessEnabled)===c.StatelessEnabled;return new d.EntityStore(y,{onChange:function(t){e||f(t)}})}));return v&&(E.value=y),(0,e.useEffect)((function(){if((t&c.EntityEnabled)===c.EntityEnabled){var e=function(t,e){var n=b.current,r=n.onChange,o=n.watch;o&&_(o,t,e),null==r||r(t,e)};return E.watch(e),function(){E.unwatch(e)}}}),[t,E,b]),(0,l.useCreation)((function(){return[y,E]}),[y,E])}(D,C,void 0===$?null:$,x),2),B=F[0],G=F[1],W=j(V,D,(function(){return(D&c.EntityEnabled)!==c.EntityEnabled?N(x):function(t,e,n){n.watch,n.onChange;var r=n.options,o=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},u=Object.keys(t);for(r=0;r<u.length;r++)n=u[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(r=0;r<u.length;r++)n=u[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(n,b);return(0,d.createEntityReducers)(e,t,E(E(E({},o),r),{},{onGenerate:function(t,e){return e}}))}(I,G,x)}),A),Y=function(t,n,r,u){var a=r.value,i=(0,e.useMemo)((function(){return(t&c.EntityEnabled)===c.EntityEnabled?{store:r,reducers:u,statuses:t}:{reducers:u,statuses:t}}),[t,a,r,u]),s=(0,l.useLatest)(i);return f((function(t){var e=t.children,r=t.with,u=void 0===r?[]:r,a=n.Provider;return o().createElement(a,{value:s.current},u.reduceRight((function(t,e){return o().createElement(e,{},t)}),e))}))}(D,T,G,W);return(0,l.useCreation)((function(){if((D&c.EntityEnabled)!==c.EntityEnabled)return W;var t=(D&c.RootEnabled)===c.RootEnabled,e=function(t,e){var n={};return Object.entries(t).forEach((function(t){var r=i(t,2),o=r[0],u=r[1];n[o]=w(u,e)})),n}(W,{onShouldCache:function(){return n.current}});return t?[B,e,Y]:[B,e]}),[D,B,W,Y,n])},A=function(n){var r=n.usecase,o=n.watch,u=n.onChange;return x(r,{watch:o,onChange:u}),(0,t.jsx)(e.Fragment,{})},M=function(t,e,n,r){return x(t,e,S.Stateless,n,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})})();
@@ -1,6 +1,4 @@
1
1
  export declare enum UseCaseModes {
2
2
  Normal = 2,
3
- Stateless = 4,
4
- Global = 8,
5
- StatelessGlobal = 12
3
+ Stateless = 4
6
4
  }
@@ -2,6 +2,4 @@ export var UseCaseModes;
2
2
  (function (UseCaseModes) {
3
3
  UseCaseModes[UseCaseModes["Normal"] = 2] = "Normal";
4
4
  UseCaseModes[UseCaseModes["Stateless"] = 4] = "Stateless";
5
- UseCaseModes[UseCaseModes["Global"] = 8] = "Global";
6
- UseCaseModes[UseCaseModes["StatelessGlobal"] = 12] = "StatelessGlobal";
7
5
  })(UseCaseModes || (UseCaseModes = {}));
@@ -5,6 +5,5 @@ export declare enum UseCaseStatuses {
5
5
  EntityEnabled = 8,
6
6
  ContextRootEnabled = 22,
7
7
  EntityRootEnabled = 62,
8
- StatelessEnabled = 72,
9
- GlobalEnabled = 150
8
+ StatelessEnabled = 72
10
9
  }
@@ -13,6 +13,4 @@ export var UseCaseStatuses;
13
13
  UseCaseStatuses[UseCaseStatuses["EntityRootEnabled"] = 62] = "EntityRootEnabled";
14
14
  // 是否不需要 `entity` 状态管理
15
15
  UseCaseStatuses[UseCaseStatuses["StatelessEnabled"] = 72] = "StatelessEnabled";
16
- // 是否为全局模式
17
- UseCaseStatuses[UseCaseStatuses["GlobalEnabled"] = 150] = "GlobalEnabled";
18
16
  })(UseCaseStatuses || (UseCaseStatuses = {}));
@@ -24,7 +24,7 @@ export const useUseCase = ((...args) => {
24
24
  const contextValue = useContext(context);
25
25
  const entityContextValue = contextValue;
26
26
  const statuses = useUseCaseStatuses(argumentTypes, mode, contextValue);
27
- const { reducers: contextReducers = null, statuses: contextStatueses = UseCaseStatuses.None } = contextValue || {};
27
+ const { reducers: contextReducers = null } = contextValue || {};
28
28
  const { store: contextStore = null } = entityContextValue || {};
29
29
  const [entity, store] = useEntity(statuses, unsafeEntity, contextStore, options);
30
30
  const reducers = useContextualItem(contextReducers, statuses, () => {
@@ -48,9 +48,6 @@ export const useUseCase = ((...args) => {
48
48
  if (rootEnabled) {
49
49
  return [entity, cachedReducers, Provider];
50
50
  }
51
- if ((contextStatueses & UseCaseStatuses.GlobalEnabled) === UseCaseStatuses.GlobalEnabled) {
52
- return cachedReducers;
53
- }
54
51
  return [entity, cachedReducers];
55
- }, [statuses, contextStatueses, entity, reducers, Provider, isRenderingRef]);
52
+ }, [statuses, entity, reducers, Provider, isRenderingRef]);
56
53
  });
@@ -1114,7 +1114,7 @@ describe('useUseCase', () => {
1114
1114
  });
1115
1115
  });
1116
1116
  describe('`useUseCase` should work the same as `ModeCoreCollectionHook`', () => {
1117
- test.each([UseCaseModes.Normal, UseCaseModes.Global, UseCaseModes.Stateless, UseCaseModes.StatelessGlobal])('check context type', (mode) => {
1117
+ test.each([UseCaseModes.Normal, UseCaseModes.Stateless])('check context type', (mode) => {
1118
1118
  const { result } = renderHook(() => {
1119
1119
  return useUseCase(defaultFile, fileUseCase, mode);
1120
1120
  });
@@ -1181,7 +1181,7 @@ describe('useUseCase', () => {
1181
1181
  expect(onPathChange).toHaveBeenCalledWith(PATH_2);
1182
1182
  expect(onUndefinedEntity).toHaveBeenCalledTimes(0);
1183
1183
  });
1184
- test.each([UseCaseModes.Stateless, UseCaseModes.StatelessGlobal])('[mode=%s]: stateless mode should not trigger Parent & Child to update', () => {
1184
+ test.each([UseCaseModes.Stateless])('[mode=%s]: stateless mode should not trigger Parent & Child to update', () => {
1185
1185
  const onParentUpdate = jest.fn();
1186
1186
  const onChildUpdate = jest.fn();
1187
1187
  const onSetPath = jest.fn(() => {
@@ -1398,28 +1398,6 @@ describe('useUseCase', () => {
1398
1398
  expect(onChangeC).toHaveReturnedWith(3);
1399
1399
  });
1400
1400
  });
1401
- describe('`useUseCase` should work the same as `ContextualReducersHook`', () => {
1402
- test('the return value should be `ContextualEntityReducers`', () => {
1403
- const { result: rootResult } = renderHook(() => {
1404
- return useUseCase({
1405
- ...defaultFile,
1406
- path: PATH_2,
1407
- ext: EXT_1,
1408
- }, fileUseCase, UseCaseModes.Global);
1409
- });
1410
- const [, , Provider] = rootResult.current;
1411
- const { result: contextualResult } = renderHook(() => {
1412
- return useUseCase(fileUseCase);
1413
- }, {
1414
- wrapper: Provider,
1415
- });
1416
- const { current } = contextualResult;
1417
- expect(Array.isArray(current)).toBe(false);
1418
- expect(typeof current).toBe('object');
1419
- const { isImage } = current;
1420
- expect(isImage()).toBe(true);
1421
- });
1422
- });
1423
1401
  describe('`useUseCase` should work the same as `useReducers`', () => {
1424
1402
  test('`entity` should equal `defaultFile`', () => {
1425
1403
  const { result } = renderHook(() => {
@@ -2,7 +2,7 @@ import { EntityReducers, EntityUseCase, Reducers, UseCase } from '@mic-rexjs/use
2
2
  import { UseCaseProvider } from '../useProvider/types';
3
3
  import { UseCaseModes } from '../../enums/UseCaseModes';
4
4
  import { ContextualEntityReducers } from '../../configs/defaultUseCaseContext/types';
5
- import { GlobalReducers, GlobalUseCase, SymbolSet, SymbolSetTarget } from '@mic-rexjs/usecases/es/types';
5
+ import { SymbolSet, SymbolSetTarget } from '@mic-rexjs/usecases/es/types';
6
6
  export interface NonEntitySymbolSet extends SymbolSet {
7
7
  entity?: never;
8
8
  }
@@ -48,9 +48,6 @@ export type UseCaseHookOptions<T, TUseCaseOptions extends object = object> = TUs
48
48
  export interface ReducersHook {
49
49
  <T extends Reducers, TUseCaseOptions extends object = object>(usecase: UseCase<T & SymbolSetTarget<NonEntitySymbolSet>, TUseCaseOptions>, options?: TUseCaseOptions, deps?: unknown[]): T;
50
50
  }
51
- export interface ContextualReducersHook {
52
- <T, TGlobalReducers extends GlobalReducers<T>>(usecase: GlobalUseCase<T, TGlobalReducers> & UseCase<EntityReducers<T>>): ContextualEntityReducers<T, TGlobalReducers>;
53
- }
54
51
  export interface ContextualCoreCollectionHook {
55
52
  <T, TEntityReducers extends EntityReducers<T>>(usecase: EntityUseCase<T, TEntityReducers> & UseCase<EntityReducers<T>>, options?: UseCaseHookContextualOptions<T>): ContextualCoreCollection<T, TEntityReducers>;
56
53
  }
@@ -62,6 +59,6 @@ export interface ModeCoreCollectionHook {
62
59
  }
63
60
  export interface CoreCollectionHook extends ContextualCoreCollectionHook, RootCoreCollectionHook, ModeCoreCollectionHook {
64
61
  }
65
- export type UseCaseHookParameters = Parameters<ReducersHook> | Parameters<ContextualReducersHook> | Parameters<ContextualCoreCollectionHook> | Parameters<RootCoreCollectionHook> | Parameters<ModeCoreCollectionHook>;
66
- export interface UseCaseHook extends ReducersHook, ContextualReducersHook, CoreCollectionHook {
62
+ export type UseCaseHookParameters = Parameters<ReducersHook> | Parameters<ContextualCoreCollectionHook> | Parameters<RootCoreCollectionHook> | Parameters<ModeCoreCollectionHook>;
63
+ export interface UseCaseHook extends ReducersHook, CoreCollectionHook {
67
64
  }
@@ -21,9 +21,6 @@ export const useUseCaseStatuses = (argumentTypes, mode, contextValue) => {
21
21
  if ((mode & UseCaseModes.Stateless) === UseCaseModes.Stateless) {
22
22
  statuses |= UseCaseStatuses.StatelessEnabled;
23
23
  }
24
- if ((mode & UseCaseModes.Global) === UseCaseModes.Global) {
25
- statuses |= UseCaseStatuses.GlobalEnabled;
26
- }
27
24
  return statuses;
28
25
  }, [argumentTypes, contextValue, mode]);
29
26
  };
package/es/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { UseCaseFragment } from './components/UseCaseFragment';
2
2
  export { useUseCase } from './hooks/useUseCase';
3
- export { useGlobalUseCase } from './hooks/useGlobalUseCase';
4
3
  export { useStatelessUseCase } from './hooks/useStatelessUseCase';
5
4
  export type { RootCoreCollection, ContextualCoreCollection, CoreCollection } from './hooks/useUseCase/types';
6
5
  export type { UseCaseHookOptions } from './hooks/useUseCase/types';
package/es/index.js CHANGED
@@ -1,4 +1,3 @@
1
1
  export { UseCaseFragment } from './components/UseCaseFragment';
2
2
  export { useUseCase } from './hooks/useUseCase';
3
- export { useGlobalUseCase } from './hooks/useGlobalUseCase';
4
3
  export { useStatelessUseCase } from './hooks/useStatelessUseCase';
@@ -8,6 +8,4 @@ var UseCaseModes;
8
8
  (function (UseCaseModes) {
9
9
  UseCaseModes[UseCaseModes["Normal"] = 2] = "Normal";
10
10
  UseCaseModes[UseCaseModes["Stateless"] = 4] = "Stateless";
11
- UseCaseModes[UseCaseModes["Global"] = 8] = "Global";
12
- UseCaseModes[UseCaseModes["StatelessGlobal"] = 12] = "StatelessGlobal";
13
11
  })(UseCaseModes || (exports.UseCaseModes = UseCaseModes = {}));
@@ -19,6 +19,4 @@ var UseCaseStatuses;
19
19
  UseCaseStatuses[UseCaseStatuses["EntityRootEnabled"] = 62] = "EntityRootEnabled";
20
20
  // 是否不需要 `entity` 状态管理
21
21
  UseCaseStatuses[UseCaseStatuses["StatelessEnabled"] = 72] = "StatelessEnabled";
22
- // 是否为全局模式
23
- UseCaseStatuses[UseCaseStatuses["GlobalEnabled"] = 150] = "GlobalEnabled";
24
22
  })(UseCaseStatuses || (exports.UseCaseStatuses = UseCaseStatuses = {}));
@@ -42,9 +42,7 @@ var useUseCase = exports.useUseCase = function useUseCase() {
42
42
  var statuses = (0, _useUseCaseStatuses.useUseCaseStatuses)(argumentTypes, mode, contextValue);
43
43
  var _ref = contextValue || {},
44
44
  _ref$reducers = _ref.reducers,
45
- contextReducers = _ref$reducers === void 0 ? null : _ref$reducers,
46
- _ref$statuses = _ref.statuses,
47
- contextStatueses = _ref$statuses === void 0 ? _UseCaseStatuses.UseCaseStatuses.None : _ref$statuses;
45
+ contextReducers = _ref$reducers === void 0 ? null : _ref$reducers;
48
46
  var _ref2 = entityContextValue || {},
49
47
  _ref2$store = _ref2.store,
50
48
  contextStore = _ref2$store === void 0 ? null : _ref2$store;
@@ -73,9 +71,6 @@ var useUseCase = exports.useUseCase = function useUseCase() {
73
71
  if (rootEnabled) {
74
72
  return [entity, cachedReducers, Provider];
75
73
  }
76
- if ((contextStatueses & _UseCaseStatuses.UseCaseStatuses.GlobalEnabled) === _UseCaseStatuses.UseCaseStatuses.GlobalEnabled) {
77
- return cachedReducers;
78
- }
79
74
  return [entity, cachedReducers];
80
- }, [statuses, contextStatueses, entity, reducers, Provider, isRenderingRef]);
75
+ }, [statuses, entity, reducers, Provider, isRenderingRef]);
81
76
  };
@@ -1471,7 +1471,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1471
1471
  });
1472
1472
  });
1473
1473
  (0, _globals.describe)('`useUseCase` should work the same as `ModeCoreCollectionHook`', function () {
1474
- _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Global, _UseCaseModes.UseCaseModes.Stateless, _UseCaseModes.UseCaseModes.StatelessGlobal])('check context type', function (mode) {
1474
+ _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('check context type', function (mode) {
1475
1475
  var _renderHook23 = (0, _react.renderHook)(function () {
1476
1476
  return (0, _.useUseCase)(defaultFile, fileUseCase, mode);
1477
1477
  }),
@@ -1558,7 +1558,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1558
1558
  (0, _globals.expect)(onPathChange).toHaveBeenCalledWith(PATH_2);
1559
1559
  (0, _globals.expect)(onUndefinedEntity).toHaveBeenCalledTimes(0);
1560
1560
  });
1561
- _globals.test.each([_UseCaseModes.UseCaseModes.Stateless, _UseCaseModes.UseCaseModes.StatelessGlobal])('[mode=%s]: stateless mode should not trigger Parent & Child to update', function () {
1561
+ _globals.test.each([_UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: stateless mode should not trigger Parent & Child to update', function () {
1562
1562
  var onParentUpdate = _globals.jest.fn();
1563
1563
  var onChildUpdate = _globals.jest.fn();
1564
1564
  var onSetPath = _globals.jest.fn(function () {
@@ -1851,64 +1851,40 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1851
1851
  (0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
1852
1852
  });
1853
1853
  });
1854
- (0, _globals.describe)('`useUseCase` should work the same as `ContextualReducersHook`', function () {
1855
- (0, _globals.test)('the return value should be `ContextualEntityReducers`', function () {
1856
- var _renderHook26 = (0, _react.renderHook)(function () {
1857
- return (0, _.useUseCase)(_objectSpread(_objectSpread({}, defaultFile), {}, {
1858
- path: PATH_2,
1859
- ext: EXT_1
1860
- }), fileUseCase, _UseCaseModes.UseCaseModes.Global);
1861
- }),
1862
- rootResult = _renderHook26.result;
1863
- var _rootResult$current = (0, _slicedToArray2["default"])(rootResult.current, 3),
1864
- Provider = _rootResult$current[2];
1865
- var _renderHook27 = (0, _react.renderHook)(function () {
1866
- return (0, _.useUseCase)(fileUseCase);
1867
- }, {
1868
- wrapper: Provider
1869
- }),
1870
- contextualResult = _renderHook27.result;
1871
- var current = contextualResult.current;
1872
- (0, _globals.expect)(Array.isArray(current)).toBe(false);
1873
- (0, _globals.expect)((0, _typeof2["default"])(current)).toBe('object');
1874
- var isImage = current.isImage;
1875
- (0, _globals.expect)(isImage()).toBe(true);
1876
- });
1877
- });
1878
1854
  (0, _globals.describe)('`useUseCase` should work the same as `useReducers`', function () {
1879
1855
  (0, _globals.test)('`entity` should equal `defaultFile`', function () {
1880
- var _renderHook28 = (0, _react.renderHook)(function () {
1856
+ var _renderHook26 = (0, _react.renderHook)(function () {
1881
1857
  return (0, _.useUseCase)(mathUseCase);
1882
1858
  }),
1883
- result = _renderHook28.result;
1859
+ result = _renderHook26.result;
1884
1860
  var reducers = result.current;
1885
1861
  (0, _globals.expect)(Array.isArray(reducers)).toBe(false);
1886
1862
  });
1887
1863
  (0, _globals.test)('returned reducer should work', function () {
1888
- var _renderHook29 = (0, _react.renderHook)(function () {
1864
+ var _renderHook27 = (0, _react.renderHook)(function () {
1889
1865
  return (0, _.useUseCase)(mathUseCase);
1890
1866
  }),
1891
- result = _renderHook29.result;
1867
+ result = _renderHook27.result;
1892
1868
  var reducers = result.current;
1893
1869
  var add = reducers.add;
1894
1870
  (0, _globals.expect)(add(1, 2)).toBe(3);
1895
1871
  });
1896
1872
  (0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
1897
1873
  var mockUseCase = _globals.jest.fn(mathUseCase);
1898
- var _renderHook30 = (0, _react.renderHook)(function () {
1874
+ var _renderHook28 = (0, _react.renderHook)(function () {
1899
1875
  return (0, _.useUseCase)(mockUseCase);
1900
1876
  }),
1901
- rerender = _renderHook30.rerender;
1877
+ rerender = _renderHook28.rerender;
1902
1878
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
1903
1879
  rerender();
1904
1880
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
1905
1881
  });
1906
1882
  (0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
1907
1883
  var mockUseCase = _globals.jest.fn(mathUseCase);
1908
- var _renderHook31 = (0, _react.renderHook)(function () {
1884
+ var _renderHook29 = (0, _react.renderHook)(function () {
1909
1885
  return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
1910
1886
  }),
1911
- rerender = _renderHook31.rerender;
1887
+ rerender = _renderHook29.rerender;
1912
1888
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
1913
1889
  rerender();
1914
1890
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
@@ -1916,10 +1892,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1916
1892
  (0, _globals.test)('`usecase` should be called if deps has changed', function () {
1917
1893
  var i = 0;
1918
1894
  var mockUseCase = _globals.jest.fn(mathUseCase);
1919
- var _renderHook32 = (0, _react.renderHook)(function () {
1895
+ var _renderHook30 = (0, _react.renderHook)(function () {
1920
1896
  return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
1921
1897
  }),
1922
- rerender = _renderHook32.rerender;
1898
+ rerender = _renderHook30.rerender;
1923
1899
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
1924
1900
  rerender();
1925
1901
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
@@ -2003,12 +1979,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2003
1979
  (0, _globals.expect)(subtractionReducer).toHaveReturnedWith(4);
2004
1980
  });
2005
1981
  (0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
2006
- var _renderHook33 = (0, _react.renderHook)(function () {
1982
+ var _renderHook31 = (0, _react.renderHook)(function () {
2007
1983
  return (0, _.useUseCase)(mathUseCase, {
2008
1984
  extraValue: 5
2009
1985
  });
2010
1986
  }),
2011
- result = _renderHook33.result;
1987
+ result = _renderHook31.result;
2012
1988
  var reducers = result.current;
2013
1989
  var add = reducers.add;
2014
1990
  (0, _globals.expect)(add(1, 2)).toBe(8);
@@ -2016,7 +1992,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2016
1992
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
2017
1993
  var onUpdate = _globals.jest.fn();
2018
1994
  var onDeepUpdate = _globals.jest.fn();
2019
- var _renderHook34 = (0, _react.renderHook)(function () {
1995
+ var _renderHook32 = (0, _react.renderHook)(function () {
2020
1996
  var _useState7 = (0, _react2.useState)(0),
2021
1997
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
2022
1998
  extraValue = _useState8[0],
@@ -2032,7 +2008,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2032
2008
  }, [reducers]);
2033
2009
  return setExtraValue;
2034
2010
  }),
2035
- result = _renderHook34.result;
2011
+ result = _renderHook32.result;
2036
2012
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2037
2013
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2038
2014
  (0, _react.act)(function () {
@@ -2044,7 +2020,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2044
2020
  (0, _globals.test)('when `deps` change, it should update reducers', function () {
2045
2021
  var onUpdate = _globals.jest.fn();
2046
2022
  var onDeepUpdate = _globals.jest.fn();
2047
- var _renderHook35 = (0, _react.renderHook)(function () {
2023
+ var _renderHook33 = (0, _react.renderHook)(function () {
2048
2024
  var _useState9 = (0, _react2.useState)(0),
2049
2025
  _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
2050
2026
  extraValue = _useState10[0],
@@ -2060,7 +2036,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2060
2036
  }, [reducers]);
2061
2037
  return setExtraValue;
2062
2038
  }),
2063
- result = _renderHook35.result;
2039
+ result = _renderHook33.result;
2064
2040
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2065
2041
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2066
2042
  (0, _react.act)(function () {
@@ -2072,7 +2048,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2072
2048
  (0, _globals.test)('empty `deps` should not update reducers', function () {
2073
2049
  var onUpdate = _globals.jest.fn();
2074
2050
  var onDeepUpdate = _globals.jest.fn();
2075
- var _renderHook36 = (0, _react.renderHook)(function () {
2051
+ var _renderHook34 = (0, _react.renderHook)(function () {
2076
2052
  var _useState11 = (0, _react2.useState)(0),
2077
2053
  _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
2078
2054
  extraValue = _useState12[0],
@@ -2088,7 +2064,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2088
2064
  }, [reducers]);
2089
2065
  return setExtraValue;
2090
2066
  }),
2091
- result = _renderHook36.result;
2067
+ result = _renderHook34.result;
2092
2068
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2093
2069
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2094
2070
  (0, _react.act)(function () {
@@ -27,9 +27,6 @@ var useUseCaseStatuses = exports.useUseCaseStatuses = function useUseCaseStatuse
27
27
  if ((mode & _UseCaseModes.UseCaseModes.Stateless) === _UseCaseModes.UseCaseModes.Stateless) {
28
28
  statuses |= _UseCaseStatuses.UseCaseStatuses.StatelessEnabled;
29
29
  }
30
- if ((mode & _UseCaseModes.UseCaseModes.Global) === _UseCaseModes.UseCaseModes.Global) {
31
- statuses |= _UseCaseStatuses.UseCaseStatuses.GlobalEnabled;
32
- }
33
30
  return statuses;
34
31
  }, [argumentTypes, contextValue, mode]);
35
32
  };
package/lib/index.js CHANGED
@@ -9,12 +9,6 @@ Object.defineProperty(exports, "UseCaseFragment", {
9
9
  return _UseCaseFragment.UseCaseFragment;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "useGlobalUseCase", {
13
- enumerable: true,
14
- get: function get() {
15
- return _useGlobalUseCase.useGlobalUseCase;
16
- }
17
- });
18
12
  Object.defineProperty(exports, "useStatelessUseCase", {
19
13
  enumerable: true,
20
14
  get: function get() {
@@ -29,5 +23,4 @@ Object.defineProperty(exports, "useUseCase", {
29
23
  });
30
24
  var _UseCaseFragment = require("./components/UseCaseFragment");
31
25
  var _useUseCase = require("./hooks/useUseCase");
32
- var _useGlobalUseCase = require("./hooks/useGlobalUseCase");
33
26
  var _useStatelessUseCase = require("./hooks/useStatelessUseCase");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mic-rexjs/usecases-react",
3
- "version": "2.2.1",
3
+ "version": "2.3.1",
4
4
  "description": "React-based solution for use usecases of Clean Architecture",
5
5
  "private": false,
6
6
  "keywords": [
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "license": "MIT",
35
35
  "peerDependencies": {
36
- "@mic-rexjs/usecases": "^2.5.2",
36
+ "@mic-rexjs/usecases": "^2.6.1",
37
37
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
38
38
  },
39
39
  "dependencies": {
@@ -49,7 +49,7 @@
49
49
  "@commitlint/cli": "^19.0.3",
50
50
  "@commitlint/config-angular": "^19.0.3",
51
51
  "@jest/globals": "^29.5.0",
52
- "@mic-rexjs/usecases": "^2.5.2",
52
+ "@mic-rexjs/usecases": "^2.6.1",
53
53
  "@testing-library/react": "^14.0.0",
54
54
  "@types/node": "^20.4.2",
55
55
  "@types/react": "^18.2.14",
@@ -1,2 +0,0 @@
1
- import { GlobalUseCaseHook } from './types';
2
- export declare const useGlobalUseCase: GlobalUseCaseHook;
@@ -1,5 +0,0 @@
1
- import { useUseCase } from '../useUseCase';
2
- import { UseCaseModes } from '../../enums/UseCaseModes';
3
- export const useGlobalUseCase = ((entity, useCase, options, deps) => {
4
- return useUseCase(entity, useCase, UseCaseModes.Global, options, deps);
5
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,37 +0,0 @@
1
- import { entityUseCase } from '@mic-rexjs/usecases';
2
- import { describe, expect, jest, test } from '@jest/globals';
3
- import { UseCaseModes } from '../../enums/UseCaseModes';
4
- import { renderHook } from '@testing-library/react';
5
- import * as useUseCaseModule from '../useUseCase';
6
- import { useGlobalUseCase } from '.';
7
- const numberUseCase = () => {
8
- return entityUseCase();
9
- };
10
- describe('useGlobalUseCase', () => {
11
- describe('`useGlobalUseCase` should work the same as `RootCoreCollectionHook`', () => {
12
- test('should pass `UseCaseModes.Global` to `useUseCase`', () => {
13
- const useMockedUseCase = jest.fn();
14
- jest.spyOn(useUseCaseModule, 'useUseCase').mockImplementation(useMockedUseCase);
15
- renderHook(() => {
16
- useGlobalUseCase(1, numberUseCase);
17
- });
18
- expect(useMockedUseCase).toHaveBeenCalledWith(1, numberUseCase, UseCaseModes.Global, void 0, void 0);
19
- jest.spyOn(useUseCaseModule, 'useUseCase').mockRestore();
20
- });
21
- test('should should return `CoreCollection` with Provider', () => {
22
- const { result } = renderHook(() => {
23
- return useGlobalUseCase(1, numberUseCase);
24
- });
25
- const { current } = result;
26
- expect(current).toEqual([
27
- 1,
28
- {
29
- setEntity: expect.any(Function),
30
- },
31
- expect.any(Function),
32
- void 0,
33
- void 0,
34
- ]);
35
- });
36
- });
37
- });
@@ -1,3 +0,0 @@
1
- import { RootCoreCollectionHook } from '../useUseCase/types';
2
- export interface GlobalUseCaseHook extends RootCoreCollectionHook {
3
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useGlobalUseCase = void 0;
7
- var _useUseCase = require("../useUseCase");
8
- var _UseCaseModes = require("../../enums/UseCaseModes");
9
- var useGlobalUseCase = exports.useGlobalUseCase = function useGlobalUseCase(entity, useCase, options, deps) {
10
- return (0, _useUseCase.useUseCase)(entity, useCase, _UseCaseModes.UseCaseModes.Global, options, deps);
11
- };
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- var _usecases = require("@mic-rexjs/usecases");
5
- var _globals = require("@jest/globals");
6
- var _UseCaseModes = require("../../enums/UseCaseModes");
7
- var _react = require("@testing-library/react");
8
- var useUseCaseModule = _interopRequireWildcard(require("../useUseCase"));
9
- var _ = require(".");
10
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
- var numberUseCase = function numberUseCase() {
13
- return (0, _usecases.entityUseCase)();
14
- };
15
- (0, _globals.describe)('useGlobalUseCase', function () {
16
- (0, _globals.describe)('`useGlobalUseCase` should work the same as `RootCoreCollectionHook`', function () {
17
- (0, _globals.test)('should pass `UseCaseModes.Global` to `useUseCase`', function () {
18
- var useMockedUseCase = _globals.jest.fn();
19
- _globals.jest.spyOn(useUseCaseModule, 'useUseCase').mockImplementation(useMockedUseCase);
20
- (0, _react.renderHook)(function () {
21
- (0, _.useGlobalUseCase)(1, numberUseCase);
22
- });
23
- (0, _globals.expect)(useMockedUseCase).toHaveBeenCalledWith(1, numberUseCase, _UseCaseModes.UseCaseModes.Global, void 0, void 0);
24
- _globals.jest.spyOn(useUseCaseModule, 'useUseCase').mockRestore();
25
- });
26
- (0, _globals.test)('should should return `CoreCollection` with Provider', function () {
27
- var _renderHook = (0, _react.renderHook)(function () {
28
- return (0, _.useGlobalUseCase)(1, numberUseCase);
29
- }),
30
- result = _renderHook.result;
31
- var current = result.current;
32
- (0, _globals.expect)(current).toEqual([1, {
33
- setEntity: _globals.expect.any(Function)
34
- }, _globals.expect.any(Function), void 0, void 0]);
35
- });
36
- });
37
- });
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });