@mic-rexjs/usecases-react 2.1.3 → 2.1.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 e={20:(e,t,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};t.jsx=function(e,t,n){var r,l={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)a.call(t,r)&&!i.hasOwnProperty(r)&&(l[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===l[r]&&(l[r]=t[r]);return{$$typeof:o,type:e,key:s,ref:c,props:l,_owner:u.current}}},848:(e,t,n)=>{"use strict";e.exports=n(20)},594:e=>{"use strict";e.exports=React}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.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";n.r(r),n.d(r,{UseCaseFragment:()=>A,useGlobalUseCase:()=>N,useStatelessUseCase:()=>M,useUseCase:()=>G});var e=n(848),t=n(594),o=n.n(t);function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function u(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.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)?a(e,t):void 0}}function i(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,a,u,i=[],l=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(i.push(r.value),i.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(s)throw o}}return i}}(e,t)||u(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 l=ahooks;var s,c=function(e){return i((0,t.useState)((function(){return e})),1)[0]};function f(e){return f="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},f(e)}function b(e){var t=function(e,t){if("object"!=f(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==f(t)?t:String(t)}!function(e){e[e.None=0]="None",e[e.RootEnabled=2]="RootEnabled",e[e.ContextEnabled=4]="ContextEnabled",e[e.EntityEnabled=8]="EntityEnabled",e[e.ContextRootEnabled=22]="ContextRootEnabled",e[e.EntityRootEnabled=62]="EntityRootEnabled",e[e.StatelessEnabled=72]="StatelessEnabled",e[e.GlobalEnabled=150]="GlobalEnabled"}(s||(s={}));const d=usecases;var y=["watch","onChange","options"];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 E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach((function(t){var r,o,a;r=e,o=t,a=n[t],(o=b(o))in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var p,m,h=function(e){return i((0,t.useState)(e),1)[0]},S=new Map;!function(e){e[e.None=0]="None",e[e.Entity=2]="Entity",e[e.Mode=4]="Mode"}(p||(p={})),function(e){e[e.Normal=2]="Normal",e[e.Stateless=4]="Stateless",e[e.Global=8]="Global",e[e.StatelessGlobal=12]="StatelessGlobal"}(m||(m={}));var g=(0,t.createContext)(null),O=function(e,t){var n=e.length;if(n!==t.length)return!1;for(var r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0},w=function(e,t){var n,r=t||{},o=r.onShouldCache,a=void 0===o?function(){return!0}:o,u=r.onCompare,i=void 0===u?function(e,t){return O(e,t)}:u;return function(){for(var t=a(),r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];if(n&&t){var l=n,s=l.parameters,c=l.returnValue;if(i(s,o))return c}var f=e.apply(void 0,o);return t&&(n={parameters:o,returnValue:f}),f}},j=function(e,n,r){var o,a,u,i=(o=r,a=function(e){var n=(0,t.useRef)(0),r=(0,t.useRef)([]),o=r.current,a=O(e,o);return r.current=e,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(e&s.RootEnabled)!==s.RootEnabled&&n?n:i()}),[e,n,i])};function C(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(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 R,P=function(e,t){return"object"===f(e)&&null!==e&&Object.hasOwn(e,t)},_=function e(t,n,r,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],u=void 0,l=i(r.match(/^([^.]+)\.(.+)$/)||[],3),s=l[1],c=void 0===s?r:s,f=l[2],b=void 0===f?"":f,d=P(t,c),y=P(n,c),v=[].concat(C(a),[c]);if(d||y){var E=d?t[c]:u,p=y?n[c]:u;if(b)return void e(E,p,b,o,v);if(E===p)return;o(E,p,v)}else if(!/^\d+^/.test(c))for(var m=Array.isArray(t)?t:[],h=Array.isArray(n)?n:[],S=m.length,g=h.length,O=Math.max(S,g),w=0;w<O;w++)e(m[w],h[w],r,o,[].concat(C(a),["".concat(w)]))},x=function(e,t,n){for(var r=function(){var e=i(a[o],2),r=e[0],u=e[1];_(n,t,r,(function(e,r,o){u({fieldPaths:o,newEntity:t,oldEntity:n,newValue:r,oldValue:e})}))},o=0,a=Object.entries(e);o<a.length;o++)r()};!function(e){e.UnsupportedGlobal='useUseCase does not support "global" mode with entity usecase',e.UnsupportedStateless='useUseCase does not support "stateless" mode with non-entity usecase'}(R||(R={}));var G=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a,u=function(e){return h((function(){var t=p.None,n=i(e,3),r=n[1],o=n[2],a=f(r);switch("function"===a&&(t|=p.Entity),"number"){case a:case f(o):t|=p.Mode}return t}))}(n),b=function(e,t){var n=i(e,5),r=n[0],o=n[1],a=n[2],u=n[3],l=n[4],s=(t&p.Entity)===p.Entity,c=(t&p.Mode)===p.Mode;return s?c?[r,o,a,u||{},l||[]]:[r,o,m.Normal,a||{},u||[]]:c?[null,r,o,a||{},u||[]]:[null,r,m.Normal,o||{},a||[]]}(n,u),v=i(b,5),O=v[0],C=v[1],P=v[2],_=v[3],G=v[4],A=c(C),N=A,M=A,U=((a=(0,t.useRef)(!0)).current=!0,(0,t.useEffect)((function(){a.current=!1})),a),I=function(e,t){return h((function(){if((t&p.Entity)===p.Entity){if((e&m.Global)===m.Global)throw R.UnsupportedGlobal;return e}if((e&m.Stateless)===m.Stateless)throw R.UnsupportedStateless;return e}))}(P,u),k=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p.None,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m.Normal,o=S,a=h((function(){if(o.has(e)){var a=o.get(e),u=a.value,i=a.times;return o.set(e,{value:u,times:i+1}),u}switch(!0){case(r&m.Global)===m.Global:case(n&p.Entity)===p.Entity:break;default:return g}var l=(0,t.createContext)(null);return o.set(e,{value:l,times:1}),l}));return(0,l.useUnmount)((function(){if(o.has(e)){var t=o.get(e),n=t.value,r=t.times;a===n&&(1!==r?o.set(e,{value:n,times:r-1}):o.delete(e))}})),a}(A,u,I),L=(0,t.useContext)(k),T=L,D=function(e,t,n){return(0,l.useCreation)((function(){var r=s.None,o=(n||{}).store;return(e&p.Entity)===p.Entity&&(r|=s.EntityRootEnabled),r|=null===n?s.RootEnabled:s.ContextEnabled,o&&(r|=s.EntityEnabled),(t&m.Stateless)===m.Stateless&&(r|=s.StatelessEnabled),(t&m.Global)===m.Global&&(r|=s.GlobalEnabled),r}),[e,n,t])}(u,I,L),V=(L||{}).reducers,$=void 0===V?null:V,F=(T||{}).store,B=i(function(e,n,r,o){var a=i((0,t.useState)(n),2),u=a[0],c=a[1],f=r?r.value:null,b=function(e,t,n,r){return(e&s.EntityRootEnabled)!==s.EntityRootEnabled?r:(e&s.StatelessEnabled)!==s.StatelessEnabled?t:"function"==typeof n?n():n}(e,u,n,f),y=(0,l.useLatest)(o),v=(e&s.EntityRootEnabled)===s.EntityRootEnabled,E=j(e,r,(function(){if(!v)return new d.EntityStore(null);var t=(e&s.StatelessEnabled)===s.StatelessEnabled;return new d.EntityStore(b,{onChange:function(e){var n=e.newEntity;t||c(n)}})}));return v&&(E.value=b),(0,t.useEffect)((function(){if((e&s.EntityEnabled)===s.EntityEnabled){var t=function(e){var t=e.newEntity,n=e.oldEntity,r=y.current,o=r.onChange,a=r.watch;a&&x(a,t,n),null==o||o(t,n)};return E.addEventListener("change",t),function(){E.removeEventListener("change",t)}}}),[e,E,y]),(0,l.useCreation)((function(){return[b,E]}),[b,E])}(D,O,void 0===F?null:F,_),2),W=B[0],Y=B[1],q=j(D,$,(function(){return(D&s.EntityEnabled)!==s.EntityEnabled?N(_):function(e,t,n){n.watch,n.onChange;var r=n.options,o=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,y);return(0,d.createEntityReducers)(t,e,E(E(E({},o),r),{},{onGenerate:function(e,t){return t}}))}(M,Y,_)}),G),z=function(e,n,r,a){var u=r.value,i=(0,t.useMemo)((function(){return(e&s.EntityEnabled)===s.EntityEnabled?{store:r,reducers:a}:{reducers:a}}),[e,u,r,a]),f=(0,l.useLatest)(i);return c((function(e){var t=e.children,r=e.with,a=void 0===r?[]:r,u=n.Provider;return o().createElement(u,{value:f.current},a.reduceRight((function(e,t){return o().createElement(t,{},e)}),t))}))}(D,k,Y,q);return(0,l.useCreation)((function(){if((D&s.ContextEnabled)!==s.ContextEnabled)return q;var e=(D&s.RootEnabled)===s.RootEnabled;if((D&s.EntityEnabled)!==s.EntityEnabled)return e?[q,z]:q;var t=function(e,t){var n={};return Object.entries(e).forEach((function(e){var r=i(e,2),o=r[0],a=r[1];n[o]=w(a,t)})),n}(q,{onShouldCache:function(){return U.current}});return e?[W,t,z]:[W,t]}),[D,W,q,z,U])},A=function(n){var r=n.usecase,o=n.watch,a=n.onChange;return G(r,{watch:o,onChange:a}),(0,e.jsx)(t.Fragment,{})},N=function(e,t,n){return G(e,m.Global,t,n)},M=function(e,t,n,r){return G(e,t,m.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"),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={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==e.key&&(s=""+e.key),void 0!==e.ref&&(c=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:s,ref:c,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:()=>M,useUseCase:()=>G});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,s=!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){s=!0,o=t}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(s)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 s,c=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"}(s||(s={}));const d=usecases;var y=["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,h=function(t){return i((0,e.useState)(t),1)[0]},S=new Map;!function(t){t[t.None=0]="None",t[t.Entity=2]="Entity",t[t.Mode=4]="Mode"}(p||(p={})),function(t){t[t.Normal=2]="Normal",t[t.Stateless=4]="Stateless",t[t.Global=8]="Global",t[t.StatelessGlobal=12]="StatelessGlobal"}(m||(m={}));var g=(0,e.createContext)(null),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,s=l.parameters,c=l.returnValue;if(i(s,o))return c}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(t&s.RootEnabled)!==s.RootEnabled&&n?n:i()}),[t,n,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,P=function(t,e){return"object"===f(t)&&null!==t&&Object.hasOwn(t,e)},_=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),s=l[1],c=void 0===s?r:s,f=l[2],b=void 0===f?"":f,d=P(e,c),y=P(n,c),v=[].concat(C(a),[c]);if(d||y){var E=d?e[c]:u,p=y?n[c]:u;if(b)return void t(E,p,b,o,v);if(E===p)return;o(E,p,v)}else if(!/^\d+^/.test(c))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)]))},x=function(t,e,n){for(var r=function(){var t=i(a[o],2),r=t[0],u=t[1];_(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()};!function(t){t.UnsupportedGlobal='useUseCase does not support "global" mode with entity usecase',t.UnsupportedStateless='useUseCase does not support "stateless" mode with non-entity usecase'}(R||(R={}));var G=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var a,u=function(t){return h((function(){var e=p.None,n=i(t,3),r=n[1],o=n[2],a=f(r);switch("function"===a&&(e|=p.Entity),"number"){case a:case f(o):e|=p.Mode}return e}))}(n),b=function(t,e){var n=i(t,5),r=n[0],o=n[1],a=n[2],u=n[3],l=n[4],s=(e&p.Entity)===p.Entity,c=(e&p.Mode)===p.Mode;return s?c?[r,o,a,u||{},l||[]]:[r,o,m.Normal,a||{},u||[]]:c?[null,r,o,a||{},u||[]]:[null,r,m.Normal,o||{},a||[]]}(n,u),v=i(b,5),O=v[0],C=v[1],P=v[2],_=v[3],G=v[4],A=c(C),N=A,M=A,U=((a=(0,e.useRef)(!0)).current=!0,(0,e.useEffect)((function(){a.current=!1})),a),I=function(t,e){return h((function(){if((e&p.Entity)===p.Entity){if((t&m.Global)===m.Global)throw R.UnsupportedGlobal;return t}if((t&m.Stateless)===m.Stateless)throw R.UnsupportedStateless;return t}))}(P,u),k=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p.None,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m.Normal,o=S,a=h((function(){if(o.has(t)){var a=o.get(t),u=a.value,i=a.times;return o.set(t,{value:u,times:i+1}),u}switch(!0){case(r&m.Global)===m.Global:case(n&p.Entity)===p.Entity:break;default:return g}var l=(0,e.createContext)(null);return o.set(t,{value:l,times:1}),l}));return(0,l.useUnmount)((function(){if(o.has(t)){var e=o.get(t),n=e.value,r=e.times;a===n&&(1!==r?o.set(t,{value:n,times:r-1}):o.delete(t))}})),a}(A,u,I),T=(0,e.useContext)(k),D=T,L=function(t,e,n){return(0,l.useCreation)((function(){var r=s.None,o=(n||{}).store;return(t&p.Entity)===p.Entity&&(r|=s.EntityRootEnabled),r|=null===n?s.RootEnabled:s.ContextEnabled,o&&(r|=s.EntityEnabled),(e&m.Stateless)===m.Stateless&&(r|=s.StatelessEnabled),(e&m.Global)===m.Global&&(r|=s.GlobalEnabled),r}),[t,n,e])}(u,I,T),V=(T||{}).reducers,$=void 0===V?null:V,F=(D||{}).store,B=i(function(t,n,r,o){var a=i((0,e.useState)(n),2),u=a[0],c=a[1],f=r?r.value:null,b=function(t,e,n,r){return(t&s.EntityRootEnabled)!==s.EntityRootEnabled?r:(t&s.StatelessEnabled)!==s.StatelessEnabled?e:"function"==typeof n?n():n}(t,u,n,f),y=(0,l.useLatest)(o),v=(t&s.EntityRootEnabled)===s.EntityRootEnabled,E=j(t,r,(function(){if(!v)return new d.EntityStore(null);var e=(t&s.StatelessEnabled)===s.StatelessEnabled;return new d.EntityStore(b,{onChange:function(t){e||c(t)}})}));return v&&(E.value=b),(0,e.useEffect)((function(){if((t&s.EntityEnabled)===s.EntityEnabled){var e=function(t,e){var n=y.current,r=n.onChange,o=n.watch;o&&x(o,t,e),null==r||r(t,e)};return E.watch(e),function(){E.unwatch(e)}}}),[t,E,y]),(0,l.useCreation)((function(){return[b,E]}),[b,E])}(L,O,void 0===F?null:F,_),2),W=B[0],Y=B[1],q=j(L,$,(function(){return(L&s.EntityEnabled)!==s.EntityEnabled?N(_):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,y);return(0,d.createEntityReducers)(e,t,E(E(E({},o),r),{},{onGenerate:function(t,e){return e}}))}(M,Y,_)}),G),z=function(t,n,r,a){var u=r.value,i=(0,e.useMemo)((function(){return(t&s.EntityEnabled)===s.EntityEnabled?{store:r,reducers:a}:{reducers:a}}),[t,u,r,a]),f=(0,l.useLatest)(i);return c((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))}))}(L,k,Y,q);return(0,l.useCreation)((function(){if((L&s.ContextEnabled)!==s.ContextEnabled)return q;var t=(L&s.RootEnabled)===s.RootEnabled;if((L&s.EntityEnabled)!==s.EntityEnabled)return t?[q,z]:q;var 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}(q,{onShouldCache:function(){return U.current}});return t?[W,e,z]:[W,e]}),[L,W,q,z,U])},A=function(n){var r=n.usecase,o=n.watch,a=n.onChange;return G(r,{watch:o,onChange:a}),(0,t.jsx)(e.Fragment,{})},N=function(t,e,n){return G(t,m.Global,e,n)},M=function(t,e,n,r){return G(t,e,m.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})})();
@@ -17,7 +17,7 @@ export const useEntity = (statuses, rootEntity, contextStore, options) => {
17
17
  }
18
18
  const stateless = (statuses & UseCaseStatuses.StatelessEnabled) === UseCaseStatuses.StatelessEnabled;
19
19
  return new EntityStore(renderingEntity, {
20
- onChange({ newEntity }) {
20
+ onChange(newEntity) {
21
21
  if (stateless) {
22
22
  return;
23
23
  }
@@ -33,17 +33,16 @@ export const useEntity = (statuses, rootEntity, contextStore, options) => {
33
33
  if ((statuses & UseCaseStatuses.EntityEnabled) !== UseCaseStatuses.EntityEnabled) {
34
34
  return;
35
35
  }
36
- const onEntityChange = (e) => {
37
- const { newEntity, oldEntity } = e;
36
+ const onEntityChange = (newEntity, oldEntity) => {
38
37
  const { onChange, watch } = optionsRef.current;
39
38
  if (watch) {
40
39
  triggerWatchers(watch, newEntity, oldEntity);
41
40
  }
42
41
  onChange?.(newEntity, oldEntity);
43
42
  };
44
- store.addEventListener('change', onEntityChange);
43
+ store.watch(onEntityChange);
45
44
  return () => {
46
- store.removeEventListener('change', onEntityChange);
45
+ store.unwatch(onEntityChange);
47
46
  };
48
47
  }, [statuses, store, optionsRef]);
49
48
  return useCreation(() => {
@@ -28,8 +28,7 @@ var useEntity = exports.useEntity = function useEntity(statuses, rootEntity, con
28
28
  }
29
29
  var stateless = (statuses & _UseCaseStatuses.UseCaseStatuses.StatelessEnabled) === _UseCaseStatuses.UseCaseStatuses.StatelessEnabled;
30
30
  return new _usecases.EntityStore(renderingEntity, {
31
- onChange: function onChange(_ref) {
32
- var newEntity = _ref.newEntity;
31
+ onChange: function onChange(newEntity) {
33
32
  if (stateless) {
34
33
  return;
35
34
  }
@@ -45,9 +44,7 @@ var useEntity = exports.useEntity = function useEntity(statuses, rootEntity, con
45
44
  if ((statuses & _UseCaseStatuses.UseCaseStatuses.EntityEnabled) !== _UseCaseStatuses.UseCaseStatuses.EntityEnabled) {
46
45
  return;
47
46
  }
48
- var onEntityChange = function onEntityChange(e) {
49
- var newEntity = e.newEntity,
50
- oldEntity = e.oldEntity;
47
+ var onEntityChange = function onEntityChange(newEntity, oldEntity) {
51
48
  var _optionsRef$current = optionsRef.current,
52
49
  onChange = _optionsRef$current.onChange,
53
50
  watch = _optionsRef$current.watch;
@@ -56,9 +53,9 @@ var useEntity = exports.useEntity = function useEntity(statuses, rootEntity, con
56
53
  }
57
54
  onChange === null || onChange === void 0 || onChange(newEntity, oldEntity);
58
55
  };
59
- store.addEventListener('change', onEntityChange);
56
+ store.watch(onEntityChange);
60
57
  return function () {
61
- store.removeEventListener('change', onEntityChange);
58
+ store.unwatch(onEntityChange);
62
59
  };
63
60
  }, [statuses, store, optionsRef]);
64
61
  return (0, _ahooks.useCreation)(function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mic-rexjs/usecases-react",
3
- "version": "2.1.3",
3
+ "version": "2.1.4",
4
4
  "description": "React-based solution for use usecases of Clean Architecture",
5
5
  "private": false,
6
6
  "keywords": [
@@ -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.3.3",
52
+ "@mic-rexjs/usecases": "^2.4.0",
53
53
  "@testing-library/react": "^14.0.0",
54
54
  "@types/node": "^20.4.2",
55
55
  "@types/react": "^18.2.14",