@mic-rexjs/usecases-react 2.7.0 → 2.7.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 e={20:(e,t,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};t.jsx=function(e,t,n){var r,l={},c=null,f=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(f=t.ref),t)u.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:c,ref:f,props:l,_owner:a.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 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";n.r(r),n.d(r,{UseCaseFragment:()=>_,registerGlobalUseCase:()=>A,useUseCase:()=>P});var e=n(848),t=n(594),o=n.n(t);function u(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 a(e,t){if(e){if("string"==typeof e)return u(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)?u(e,t):void 0}}function i(e){return function(e){if(Array.isArray(e))return u(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.")}()}function l(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,a,i=[],l=!0,c=!1;try{if(u=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=u.call(n)).done)&&(i.push(r.value),i.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return i}}(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 c=ahooks;var f=function(e){return l((0,t.useState)((function(){return e})),1)[0]},s=function(e){return l((0,t.useState)(e),1)[0]};const y=usecases;var b,v;function d(e){return d="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},d(e)}function E(e){var t=function(e,t){if("object"!=d(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=d(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==d(t)?t:String(t)}!function(e){e[e.None=0]="None",e[e.Entity=2]="Entity",e[e.Global=4]="Global",e[e.GlobalEntity=6]="GlobalEntity"}(b||(b={})),function(e){e[e.None=0]="None",e[e.RootEnabled=2]="RootEnabled",e[e.ContextEnabled=4]="ContextEnabled",e[e.EntityEnabled=8]="EntityEnabled",e[e.GlobalEnabled=28]="GlobalEnabled",e[e.ContextRootEnabled=6]="ContextRootEnabled",e[e.EntityRootEnabled=14]="EntityRootEnabled"}(v||(v={}));var p=["watch","onChange","options"];function h(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 m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){var r,o,u;r=e,o=t,u=n[t],(o=E(o))in r?Object.defineProperty(r,o,{value:u,enumerable:!0,configurable:!0,writable:!0}):r[o]=u})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var g=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={},u=Object.keys(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,p);return(0,y.createEntityReducers)(t,e,m(m(m({},o),r),{},{onGenerate:function(e,t){return t}}))},O=(0,y.createUseCase)((function(){var e=new Map,n=new Map,r=new Map,o=(0,t.createContext)(null);return function(){var u=function(e,t,n){return(n&v.EntityEnabled)===v.EntityEnabled?{store:e,reducers:t,statuses:n}:{reducers:t,statuses:n}},a=function(n,r){if(e.has(n)){var u=e.get(n),a=u.value,i=u.times;return e.set(n,{value:a,times:i+1}),a}if((r&b.Entity)!==b.Entity)return o;var l=(0,t.createContext)(null);return e.set(n,{value:l,times:1}),l};return{createContextValue:u,getGlobalContextValue:function(e){var t="function"==typeof e?n.get(e):e;return r.get(t)||null},isGlobal:function(e){return n.has(e)},registerUseCase:a,registerGlobalUseCase:function(e,t){if(!n.has(t)){var o=new y.EntityStore(e),i=g(t,o,{}),l=u(o,i,v.GlobalEnabled),c=a(t,b.GlobalEntity);n.set(t,c),r.set(c,l)}},unregisterUseCase:function(t,n){if((n&b.Entity)!==b.Entity)return!1;if(!e.has(t))return!1;var r=e.get(t),o=r.value,u=r.times;return 1===u?e.delete(t):e.set(t,{value:o,times:u-1}),!0},unregisterGlobalUseCase:function(t){if(!n.has(t))return!1;var o=n.get(t);return n.delete(t),r.delete(o),e.delete(t),!0}}}})),w=function(){return s((function(){return O()}))},C=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},j=function(e,t){var n,r=t||{},o=r.onShouldCache,u=void 0===o?function(){return!0}:o,a=r.onCompare,i=void 0===a?function(e,t){return C(e,t)}:a;return function(){for(var t=u(),r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];if(n&&t){var l=n,c=l.parameters,f=l.returnValue;if(i(c,o))return f}var s=e.apply(void 0,o);return t&&(n={parameters:o,returnValue:s}),s}},S=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=(0,c.useLatest)(n),u=(0,c.useCreation)((function(){return j(o.current,{onCompare:function(){return!0}})}),[r,o]);return(0,c.useCreation)((function(){return(t&v.RootEnabled)!==v.RootEnabled&&e?e:u()}),[t,e,u])},R=function(e,t){return"object"===d(e)&&null!==e&&Object.hasOwn(e,t)},G=function e(t,n,r,o){var u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=void 0,c=l(r.match(/^([^.]+)\.(.+)$/)||[],3),f=c[1],s=void 0===f?r:f,y=c[2],b=void 0===y?"":y,v=R(t,s),d=R(n,s),E=[].concat(i(u),[s]);if(v||d){var p=v?t[s]:a,h=d?n[s]:a;if(b)return void e(p,h,b,o,E);if(p===h)return;o(p,h,E)}else if(!/^\d+^/.test(s))for(var m=Array.isArray(t)?t:[],g=Array.isArray(n)?n:[],O=m.length,w=g.length,C=Math.max(O,w),j=0;j<C;j++)e(m[j],g[j],r,o,[].concat(i(u),["".concat(j)]))},x=function(e,t,n){for(var r=function(){var e=l(u[o],2),r=e[0],a=e[1];G(n,t,r,(function(e,r,o){a({fieldPaths:o,newEntity:t,oldEntity:n,newValue:r,oldValue:e})}))},o=0,u=Object.entries(e);o<u.length;o++)r()},P=function(){for(var e,n=((e=(0,t.useRef)(!0)).current=!0,(0,t.useEffect)((function(){e.current=!1})),e),r=arguments.length,u=new Array(r),a=0;a<r;a++)u[a]=arguments[a];var E=function(e){var t=w().isGlobal;return s((function(){var n=b.None,r=l(e,2),o=r[0];return"function"===d(r[1])?n|=b.Entity:t(o)&&(n|=b.Global),n}))}(u),p=function(e,t){var n=l(e,4),r=n[0],o=n[1],u=n[2],a=n[3],i=(t&b.Entity)!==b.Entity,c=(0,w().isGlobal)(r);return i||c?[null,r,o||{},u||[]]:[r,o,u||{},a||[]]}(u,E),h=l(p,4),m=h[0],O=h[1],R=h[2],G=h[3],P=f(O),_=P,A=P,U=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b.None,n=w(),r=n.registerUseCase,o=n.unregisterUseCase,u=s((function(){return r(e,t)}));return(0,c.useUnmount)((function(){o(e,t)})),u}(P,E),M=function(e,n){var r=w().getGlobalContextValue,o=(0,t.useContext)(e),u=r(e);return(n&b.Global)===b.Global?u:o}(U,E),N=M,I=function(e,t){return(0,c.useCreation)((function(){var n=v.None,r=(t||{}).store,o=(e&b.Entity)===b.Entity,u=(e&b.Global)===b.Global;return o&&!u&&(n|=v.EntityRootEnabled),n|=t||u?v.ContextEnabled:v.RootEnabled,(r||u)&&(n|=v.EntityEnabled),u&&(n|=v.GlobalEnabled),n}),[e,t])}(E,M),k=(0,c.useLatest)(R),T=function(e){var n=(0,t.useRef)(0),r=(0,t.useRef)([]),o=r.current,u=C(e,o);return r.current=e,n.current+=u?0:1,n.current}(G),V=(M||{}).reducers,L=void 0===V?null:V,D=(N||{}).store,F=l(function(e,n,r,o){var u=(0,c.useUpdate)(),a=(0,c.useLatest)(o),i=r?r.value:null,l=(e&v.EntityEnabled)===v.EntityEnabled,f=(e&v.EntityRootEnabled)===v.EntityRootEnabled,s=S(r,e,(function(){if(!f)return new y.EntityStore(null);var e="function"==typeof n;return new y.EntityStore(e?n():n)})),b=function(e,n,r,o){var u=(0,t.useRef)(n);if((o&v.EntityRootEnabled)!==v.EntityRootEnabled)return r;var a="function"==typeof n,i=u.current;switch(!0){case a:case i===n:return e.value}return u.current=n,n}(s,n,i,e),d=(0,c.useMemoizedFn)((function(t,n){var r=a.current,o=r.onChange,i=r.watch,l=(e&v.GlobalEnabled)===v.GlobalEnabled;i&&x(i,t,n),null==o||o(t,n),(f||l)&&u()}));return f&&(s.value=b),(0,t.useEffect)((function(){if(l)return s.watch(d),function(){s.unwatch(d)}}),[l,s,d]),(0,c.useCreation)((function(){return[b,s]}),[b,s])}(I,m,void 0===D?null:D,R),2),$=F[0],z=F[1],B=S(L,I,(function(){var e,t,n,r=(e=R,t=function(e,t){var n,r;return null===(n=(r=k.current)[e])||void 0===n?void 0:n.call.apply(n,[r].concat(i(t)))},n={},Object.keys(e).forEach((function(r){var o=e[r];n[r]="function"!=typeof o?o:function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return t(r,n)}})),n);return(I&v.EntityEnabled)!==v.EntityEnabled?_(r):g(A,z,r)}),T),W=function(e,n,r,u){var a=r.value,i=w().createContextValue,l=(0,t.useMemo)((function(){return i(r,u,e)}),[e,a,r,u,i]),s=(0,c.useLatest)(l);return f((function(e){var t=e.children,r=e.with,u=void 0===r?[]:r,a=n.Provider,i=s.current;return o().createElement(a,{value:i},u.reduceRight((function(e,t){return o().createElement(t,{},e)}),t))}))}(I,U,z,B);return(0,c.useCreation)((function(){if((I&v.EntityEnabled)!==v.EntityEnabled)return B;var e=(I&v.RootEnabled)===v.RootEnabled,t=function(e,t){var n={};return Object.entries(e).forEach((function(e){var r=l(e,2),o=r[0],u=r[1];n[o]=j(u,t)})),n}(B,{onShouldCache:function(){return n.current}});return e?[$,t,W]:[$,t]}),[I,$,B,W,n])},_=function(n){var r=n.usecase,o=n.watch,u=n.onChange;return P(r,{watch:o,onChange:u}),(0,e.jsx)(t.Fragment,{})},A=O().registerGlobalUseCase})();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={20:(e,t,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};t.jsx=function(e,t,n){var r,l={},c=null,f=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(f=t.ref),t)u.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:c,ref:f,props:l,_owner:a.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 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";n.r(r),n.d(r,{UseCaseFragment:()=>_,registerGlobalUseCase:()=>A,useUseCase:()=>P});var e=n(848),t=n(594),o=n.n(t);function u(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 a(e,t){if(e){if("string"==typeof e)return u(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)?u(e,t):void 0}}function i(e){return function(e){if(Array.isArray(e))return u(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.")}()}function l(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,a,i=[],l=!0,c=!1;try{if(u=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=u.call(n)).done)&&(i.push(r.value),i.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return i}}(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 c=ahooks;var f=function(e){return l((0,t.useState)((function(){return e})),1)[0]},s=function(e){return l((0,t.useState)(e),1)[0]};const y=usecases;var b,v;function d(e){return d="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},d(e)}function E(e){var t=function(e,t){if("object"!=d(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=d(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==d(t)?t:String(t)}!function(e){e[e.None=0]="None",e[e.Entity=2]="Entity",e[e.Global=4]="Global",e[e.GlobalEntity=6]="GlobalEntity"}(b||(b={})),function(e){e[e.None=0]="None",e[e.RootEnabled=2]="RootEnabled",e[e.ContextEnabled=4]="ContextEnabled",e[e.EntityEnabled=8]="EntityEnabled",e[e.GlobalEnabled=28]="GlobalEnabled",e[e.ContextRootEnabled=6]="ContextRootEnabled",e[e.EntityRootEnabled=14]="EntityRootEnabled"}(v||(v={}));var p=["watch","onChange","options"];function h(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 m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){var r,o,u;r=e,o=t,u=n[t],(o=E(o))in r?Object.defineProperty(r,o,{value:u,enumerable:!0,configurable:!0,writable:!0}):r[o]=u})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var g=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={},u=Object.keys(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,p);return(0,y.createEntityReducers)(t,e,m(m(m({},o),r),{},{onGenerate:function(e,t){return t}}))},O=(0,y.createUseCase)((function(){var e=new Map,n=new Map,r=new Map,o=(0,t.createContext)(null);return function(){var u=function(e,t,n){return(n&v.EntityEnabled)===v.EntityEnabled?{store:e,reducers:t,statuses:n}:{reducers:t,statuses:n}},a=function(n,r){if(e.has(n)){var u=e.get(n),a=u.value,i=u.times;return e.set(n,{value:a,times:i+1}),a}if((r&b.Entity)!==b.Entity)return o;var l=(0,t.createContext)(null);return e.set(n,{value:l,times:1}),l};return{createContextValue:u,getGlobalContextValue:function(e){var t="function"==typeof e?n.get(e):e;return r.get(t)||null},isGlobal:function(e){return n.has(e)},registerUseCase:a,registerGlobalUseCase:function(e,t){if(n.has(t))return t;var o=new y.EntityStore(e),i=g(t,o,{}),l=u(o,i,v.GlobalEnabled),c=a(t,b.GlobalEntity);return n.set(t,c),r.set(c,l),t},unregisterUseCase:function(t,n){if((n&b.Entity)!==b.Entity)return!1;if(!e.has(t))return!1;var r=e.get(t),o=r.value,u=r.times;return 1===u?e.delete(t):e.set(t,{value:o,times:u-1}),!0},unregisterGlobalUseCase:function(t){if(!n.has(t))return!1;var o=n.get(t);return n.delete(t),r.delete(o),e.delete(t),!0}}}})),w=function(){return s((function(){return O()}))},C=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},j=function(e,t){var n,r=t||{},o=r.onShouldCache,u=void 0===o?function(){return!0}:o,a=r.onCompare,i=void 0===a?function(e,t){return C(e,t)}:a;return function(){for(var t=u(),r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];if(n&&t){var l=n,c=l.parameters,f=l.returnValue;if(i(c,o))return f}var s=e.apply(void 0,o);return t&&(n={parameters:o,returnValue:s}),s}},S=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=(0,c.useLatest)(n),u=(0,c.useCreation)((function(){return j(o.current,{onCompare:function(){return!0}})}),[r,o]);return(0,c.useCreation)((function(){return(t&v.RootEnabled)!==v.RootEnabled&&e?e:u()}),[t,e,u])},R=function(e,t){return"object"===d(e)&&null!==e&&Object.hasOwn(e,t)},G=function e(t,n,r,o){var u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=void 0,c=l(r.match(/^([^.]+)\.(.+)$/)||[],3),f=c[1],s=void 0===f?r:f,y=c[2],b=void 0===y?"":y,v=R(t,s),d=R(n,s),E=[].concat(i(u),[s]);if(v||d){var p=v?t[s]:a,h=d?n[s]:a;if(b)return void e(p,h,b,o,E);if(p===h)return;o(p,h,E)}else if(!/^\d+^/.test(s))for(var m=Array.isArray(t)?t:[],g=Array.isArray(n)?n:[],O=m.length,w=g.length,C=Math.max(O,w),j=0;j<C;j++)e(m[j],g[j],r,o,[].concat(i(u),["".concat(j)]))},x=function(e,t,n){for(var r=function(){var e=l(u[o],2),r=e[0],a=e[1];G(n,t,r,(function(e,r,o){a({fieldPaths:o,newEntity:t,oldEntity:n,newValue:r,oldValue:e})}))},o=0,u=Object.entries(e);o<u.length;o++)r()},P=function(){for(var e,n=((e=(0,t.useRef)(!0)).current=!0,(0,t.useEffect)((function(){e.current=!1})),e),r=arguments.length,u=new Array(r),a=0;a<r;a++)u[a]=arguments[a];var E=function(e){var t=w().isGlobal;return s((function(){var n=b.None,r=l(e,2),o=r[0];return"function"===d(r[1])?n|=b.Entity:t(o)&&(n|=b.Global),n}))}(u),p=function(e,t){var n=l(e,4),r=n[0],o=n[1],u=n[2],a=n[3],i=(t&b.Entity)!==b.Entity,c=(0,w().isGlobal)(r);return i||c?[null,r,o||{},u||[]]:[r,o,u||{},a||[]]}(u,E),h=l(p,4),m=h[0],O=h[1],R=h[2],G=h[3],P=f(O),_=P,A=P,U=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b.None,n=w(),r=n.registerUseCase,o=n.unregisterUseCase,u=s((function(){return r(e,t)}));return(0,c.useUnmount)((function(){o(e,t)})),u}(P,E),M=function(e,n){var r=w().getGlobalContextValue,o=(0,t.useContext)(e),u=r(e);return(n&b.Global)===b.Global?u:o}(U,E),N=M,I=function(e,t){return(0,c.useCreation)((function(){var n=v.None,r=(t||{}).store,o=(e&b.Entity)===b.Entity,u=(e&b.Global)===b.Global;return o&&!u&&(n|=v.EntityRootEnabled),n|=t||u?v.ContextEnabled:v.RootEnabled,(r||u)&&(n|=v.EntityEnabled),u&&(n|=v.GlobalEnabled),n}),[e,t])}(E,M),k=(0,c.useLatest)(R),T=function(e){var n=(0,t.useRef)(0),r=(0,t.useRef)([]),o=r.current,u=C(e,o);return r.current=e,n.current+=u?0:1,n.current}(G),V=(M||{}).reducers,L=void 0===V?null:V,D=(N||{}).store,F=l(function(e,n,r,o){var u=(0,c.useUpdate)(),a=(0,c.useLatest)(o),i=r?r.value:null,l=(e&v.EntityEnabled)===v.EntityEnabled,f=(e&v.EntityRootEnabled)===v.EntityRootEnabled,s=S(r,e,(function(){if(!f)return new y.EntityStore(null);var e="function"==typeof n;return new y.EntityStore(e?n():n)})),b=function(e,n,r,o){var u=(0,t.useRef)(n);if((o&v.EntityRootEnabled)!==v.EntityRootEnabled)return r;var a="function"==typeof n,i=u.current;switch(!0){case a:case i===n:return e.value}return u.current=n,n}(s,n,i,e),d=(0,c.useMemoizedFn)((function(t,n){var r=a.current,o=r.onChange,i=r.watch,l=(e&v.GlobalEnabled)===v.GlobalEnabled;i&&x(i,t,n),null==o||o(t,n),(f||l)&&u()}));return f&&(s.value=b),(0,t.useEffect)((function(){if(l)return s.watch(d),function(){s.unwatch(d)}}),[l,s,d]),(0,c.useCreation)((function(){return[b,s]}),[b,s])}(I,m,void 0===D?null:D,R),2),$=F[0],z=F[1],B=S(L,I,(function(){var e,t,n,r=(e=R,t=function(e,t){var n,r;return null===(n=(r=k.current)[e])||void 0===n?void 0:n.call.apply(n,[r].concat(i(t)))},n={},Object.keys(e).forEach((function(r){var o=e[r];n[r]="function"!=typeof o?o:function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return t(r,n)}})),n);return(I&v.EntityEnabled)!==v.EntityEnabled?_(r):g(A,z,r)}),T),W=function(e,n,r,u){var a=r.value,i=w().createContextValue,l=(0,t.useMemo)((function(){return i(r,u,e)}),[e,a,r,u,i]),s=(0,c.useLatest)(l);return f((function(e){var t=e.children,r=e.with,u=void 0===r?[]:r,a=n.Provider,i=s.current;return o().createElement(a,{value:i},u.reduceRight((function(e,t){return o().createElement(t,{},e)}),t))}))}(I,U,z,B);return(0,c.useCreation)((function(){if((I&v.EntityEnabled)!==v.EntityEnabled)return B;var e=(I&v.RootEnabled)===v.RootEnabled,t=function(e,t){var n={};return Object.entries(e).forEach((function(e){var r=l(e,2),o=r[0],u=r[1];n[o]=j(u,t)})),n}(B,{onShouldCache:function(){return n.current}});return e?[$,t,W]:[$,t]}),[I,$,B,W,n])},_=function(n){var r=n.usecase,o=n.watch,u=n.onChange;return P(r,{watch:o,onChange:u}),(0,e.jsx)(t.Fragment,{})},A=O().registerGlobalUseCase})();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 +1 @@
1
- export declare const registerGlobalUseCase: <T>(entity: T, usecase: import("@mic-rexjs/usecases/es/types").InferableEntityUseCase<T>) => void;
1
+ export declare const registerGlobalUseCase: <T, TUseCase extends import("@mic-rexjs/usecases/es/types").InferableEntityUseCase<T>>(entity: T, usecase: TUseCase) => TUseCase;
@@ -68,7 +68,7 @@ export const contextUseCase = createUseCase(() => {
68
68
  };
69
69
  const registerGlobalUseCase = (entity, usecase) => {
70
70
  if (globalContextMap.has(usecase)) {
71
- return;
71
+ return usecase;
72
72
  }
73
73
  const store = new EntityStore(entity);
74
74
  const reducers = initEntityReducers(usecase, store, {});
@@ -76,6 +76,7 @@ export const contextUseCase = createUseCase(() => {
76
76
  const context = registerUseCase(usecase, ArgumentTypes.GlobalEntity);
77
77
  globalContextMap.set(usecase, context);
78
78
  globalContextValueMap.set(context, contextValue);
79
+ return usecase;
79
80
  };
80
81
  const unregisterGlobalUseCase = (usecase) => {
81
82
  if (!globalContextMap.has(usecase)) {
@@ -27,7 +27,7 @@ export type ContextReducers = Reducers<{
27
27
  isGlobal<T>(usecase: InferableEntityUseCase<T>): boolean;
28
28
  registerUseCase<T extends ReducerMap, TUseCaseOptions extends object, TContext extends Context<ContextValue<T>> = Context<ContextValue<T>>>(usecase: InferableUseCase<T, TUseCaseOptions>, argumentTypes: ArgumentTypes): TContext;
29
29
  unregisterUseCase<T extends ReducerMap, TUseCaseOptions extends object>(usecase: InferableUseCase<T, TUseCaseOptions>, argumentTypes: ArgumentTypes): boolean;
30
- registerGlobalUseCase<T>(entity: T, usecase: InferableEntityUseCase<T>): void;
30
+ registerGlobalUseCase<T, TUseCase extends InferableEntityUseCase<T>>(entity: T, usecase: TUseCase): TUseCase;
31
31
  unregisterGlobalUseCase<T>(usecase: InferableEntityUseCase<T>): boolean;
32
32
  }>;
33
33
  export interface ContextUseCase {
@@ -78,7 +78,7 @@ var contextUseCase = exports.contextUseCase = (0, _usecases.createUseCase)(funct
78
78
  };
79
79
  var registerGlobalUseCase = function registerGlobalUseCase(entity, usecase) {
80
80
  if (globalContextMap.has(usecase)) {
81
- return;
81
+ return usecase;
82
82
  }
83
83
  var store = new _usecases.EntityStore(entity);
84
84
  var reducers = (0, _initEntityReducers.initEntityReducers)(usecase, store, {});
@@ -86,6 +86,7 @@ var contextUseCase = exports.contextUseCase = (0, _usecases.createUseCase)(funct
86
86
  var context = registerUseCase(usecase, _ArgumentTypes.ArgumentTypes.GlobalEntity);
87
87
  globalContextMap.set(usecase, context);
88
88
  globalContextValueMap.set(context, contextValue);
89
+ return usecase;
89
90
  };
90
91
  var unregisterGlobalUseCase = function unregisterGlobalUseCase(usecase) {
91
92
  if (!globalContextMap.has(usecase)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mic-rexjs/usecases-react",
3
- "version": "2.7.0",
3
+ "version": "2.7.1",
4
4
  "description": "React-based solution for use usecases of Clean Architecture",
5
5
  "private": false,
6
6
  "keywords": [