@mic-rexjs/usecases-react
Version:
React-based solution for use usecases of Clean Architecture
2 lines • 23 kB
JavaScript
/*! For license information please see index.min.js.LICENSE.txt */
(()=>{var t={698(t,e){"use strict";var r=Symbol.for("react.transitional.element");Symbol.for("react.fragment"),e.jsx=function(t,e,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==e.key&&(o=""+e.key),"key"in e)for(var u in n={},e)"key"!==u&&(n[u]=e[u]);else n=e;return e=n.ref,{$$typeof:r,type:t,key:o,ref:void 0!==e?e:null,props:n}}},848(t,e,r){"use strict";t.exports=r(698)},172(t){t.exports=function(t,e){this.v=t,this.k=e},t.exports.__esModule=!0,t.exports.default=t.exports},993(t,e,r){var n=r(546);function o(){var e,r,u="function"==typeof Symbol?Symbol:{},i=u.iterator||"@@iterator",a=u.toStringTag||"@@toStringTag";function c(t,o,u,i){var a=o&&o.prototype instanceof s?o:s,c=Object.create(a.prototype);return n(c,"_invoke",function(t,n,o){var u,i,a,c=0,s=o||[],l=!1,p={p:0,n:0,v:e,a:y,f:y.bind(e,4),d:function(t,r){return u=t,i=0,a=e,p.n=r,f}};function y(t,n){for(i=t,a=n,r=0;!l&&c&&!o&&r<s.length;r++){var o,u=s[r],y=p.p,b=u[2];t>3?(o=b===n)&&(a=u[(i=u[4])?5:(i=3,3)],u[4]=u[5]=e):u[0]<=y&&((o=t<2&&y<u[1])?(i=0,p.v=n,p.n=u[1]):y<b&&(o=t<3||u[0]>n||n>b)&&(u[4]=t,u[5]=n,p.n=b,i=0))}if(o||t>1)return f;throw l=!0,n}return function(o,s,b){if(c>1)throw TypeError("Generator is already running");for(l&&1===s&&y(s,b),i=s,a=b;(r=i<2?e:a)||!l;){u||(i?i<3?(i>1&&(p.n=-1),y(i,a)):p.n=a:p.v=a);try{if(c=2,u){if(i||(o="next"),r=u[o]){if(!(r=r.call(u,a)))throw TypeError("iterator result is not an object");if(!r.done)return r;a=r.value,i<2&&(i=0)}else 1===i&&(r=u.return)&&r.call(u),i<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),i=1);u=e}else if((r=(l=p.n<0)?a:t.call(n,p))!==f)break}catch(t){u=e,i=1,a=t}finally{c=1}}return{value:r,done:l}}}(t,u,i),!0),c}var f={};function s(){}function l(){}function p(){}r=Object.getPrototypeOf;var y=[][i]?r(r([][i]())):(n(r={},i,function(){return this}),r),b=p.prototype=s.prototype=Object.create(y);function v(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,n(t,a,"GeneratorFunction")),t.prototype=Object.create(b),t}return l.prototype=p,n(b,"constructor",p),n(p,"constructor",l),l.displayName="GeneratorFunction",n(p,a,"GeneratorFunction"),n(b),n(b,a,"Generator"),n(b,i,function(){return this}),n(b,"toString",function(){return"[object Generator]"}),(t.exports=o=function(){return{w:c,m:v}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},869(t,e,r){var n=r(887);t.exports=function(t,e,r,o,u){var i=n(t,e,r,o,u);return i.next().then(function(t){return t.done?t.value:i.next()})},t.exports.__esModule=!0,t.exports.default=t.exports},887(t,e,r){var n=r(993),o=r(791);t.exports=function(t,e,r,u,i){return new o(n().w(t,e,r,u),i||Promise)},t.exports.__esModule=!0,t.exports.default=t.exports},791(t,e,r){var n=r(172),o=r(546);t.exports=function t(e,r){function u(t,o,i,a){try{var c=e[t](o),f=c.value;return f instanceof n?r.resolve(f.v).then(function(t){u("next",t,i,a)},function(t){u("throw",t,i,a)}):r.resolve(f).then(function(t){c.value=t,i(c)},function(t){return u("throw",t,i,a)})}catch(t){a(t)}}var i;this.next||(o(t.prototype),o(t.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),o(this,"_invoke",function(t,e,n){function o(){return new r(function(e,r){u(t,n,e,r)})}return i=i?i.then(o,o):o()},!0)},t.exports.__esModule=!0,t.exports.default=t.exports},546(t){function e(r,n,o,u){var i=Object.defineProperty;try{i({},"",{})}catch(r){i=0}t.exports=e=function(t,r,n,o){function u(r,n){e(t,r,function(t){return this._invoke(r,n,t)})}r?i?i(t,r,{value:n,enumerable:!o,configurable:!o,writable:!o}):t[r]=n:(u("next",0),u("throw",1),u("return",2))},t.exports.__esModule=!0,t.exports.default=t.exports,e(r,n,o,u)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},373(t){t.exports=function(t){var e=Object(t),r=[];for(var n in e)r.unshift(n);return function t(){for(;r.length;)if((n=r.pop())in e)return t.value=n,t.done=!1,t;return t.done=!0,t}},t.exports.__esModule=!0,t.exports.default=t.exports},633(t,e,r){var n=r(172),o=r(993),u=r(869),i=r(887),a=r(791),c=r(373),f=r(579);function s(){"use strict";var e=o(),r=e.m(s),l=(Object.getPrototypeOf?Object.getPrototypeOf(r):r.__proto__).constructor;function p(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===l||"GeneratorFunction"===(e.displayName||e.name))}var y={throw:1,return:2,break:3,continue:3};function b(t){var e,r;return function(n){e||(e={stop:function(){return r(n.a,2)},catch:function(){return n.v},abrupt:function(t,e){return r(n.a,y[t],e)},delegateYield:function(t,o,u){return e.resultName=o,r(n.d,f(t),u)},finish:function(t){return r(n.f,t)}},r=function(t,r,o){n.p=e.prev,n.n=e.next;try{return t(r,o)}finally{e.next=n.n}}),e.resultName&&(e[e.resultName]=n.v,e.resultName=void 0),e.sent=n.v,e.next=n.n;try{return t.call(this,e)}finally{n.p=e.prev,n.n=e.next}}}return(t.exports=s=function(){return{wrap:function(t,r,n,o){return e.w(b(t),r,n,o&&o.reverse())},isGeneratorFunction:p,mark:e.m,awrap:function(t,e){return new n(t,e)},AsyncIterator:a,async:function(t,e,r,n,o){return(p(e)?i:u)(b(t),e,r,n,o)},keys:c,values:f}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports},579(t,e,r){var n=r(738).default;t.exports=function(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}throw new TypeError(n(t)+" is not iterable")},t.exports.__esModule=!0,t.exports.default=t.exports},738(t){function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},756(t,e,r){var n=r(633)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var u=e[n]={exports:{}};return t[n](u,u.exports,r),u.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(e,r,n){return(r=function(e){var r=function(e){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=t(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(r)?r:r+""}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function o(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n<u.length;n++)r=u[n],-1===e.indexOf(r)&&{}.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}r.r(n),r.d(n,{UseCaseFragment:()=>L,lifeCycleUseCase:()=>Y,useProviders:()=>B,useUseCase:()=>N});var u=r(848);function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function a(t,e){if(t){if("string"==typeof t)return i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,u,i,a=[],c=!0,f=!1;try{if(u=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=u.call(r)).done)&&(a.push(n.value),a.length!==e);c=!0);}catch(t){f=!0,o=t}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(f)throw o}}return a}}(t,e)||a(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const f=React;var s,l=r.n(f),p=function(t){return c((0,f.useState)(t),1)[0]};!function(t){t[t.None=0]="None",t[t.Entity=2]="Entity"}(s||(s={}));var y=function(t){return c((0,f.useState)(function(){return t}),1)[0]},b=function(t,e){return p(function(){return t(e)})};const v=ahooks,d=usecases;var h;!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=6]="ContextRootEnabled",t[t.EntityRootEnabled=14]="EntityRootEnabled"}(h||(h={}));var O=(0,d.createUseCase)(function(){var t=new Map,e=(0,f.createContext)(null);return function(){return{createContextValue:function(t,e,r){return(r&h.EntityEnabled)===h.EntityEnabled?{store:t,reducers:e,statuses:r}:{reducers:e,statuses:r}},getUseCaseContext:function(r){return t.has(r)?t.get(r).value:e},registerUseCase:function(r,n){if(t.has(r)){var o=t.get(r),u=o.value,i=o.times;return t.set(r,{value:u,times:i+1}),u}if((n&s.Entity)!==s.Entity)return e;var a=(0,f.createContext)(null);return t.set(r,{value:a,times:1}),a},unregisterUseCase:function(e,r){if((r&s.Entity)!==s.Entity)return!1;if(!t.has(e))return!1;var n=t.get(e),o=n.value,u=n.times;return 1===u?t.delete(e):t.set(e,{value:o,times:u-1}),!0}}}}),m=function(t,e,r){return p(function(){return(0,d.createEntityReducers)(t,e,r)})};function g(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||a(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var j=r(756),E=r.n(j);function x(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function w(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?x(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var P=(0,d.createUseCase)(function(){return function(){var e=(0,d.entityUseCase)(),r=(0,d.utilsUseCase)().createKey,n=r(),o=function(e){return"object"===t(e)&&null!==e},u=function(t,e){return!!o(t)&&Object.hasOwn(t,e)},i=function(t,e){return t!==e},a=function(t,e,r){if(t===e)return!0;var n=o(t),i=o(e),a=n?Object.keys(t):[],c=i?Object.keys(e):[],f="function"==typeof r;if(!n&&!i)return!1;for(var s=!0,l=a.length,p=[].concat(g(a),g(c)),y=0,b=p.length;y<b;y++){var v=p[y],d=a.includes(v);if(!(y>=l&&d)){var h=u(t,v),O=u(e,v),m=h?t[v]:void 0,j=O?e[v]:void 0;if(!h||!O||m!==j){if(s=!1,!f)break;r(v,j,m)}}}return s},f=E().mark(function t(e,r){return E().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(i(e,r)){t.next=1;break}return t.abrupt("return",!1);case 1:return t.next=2,r;case 2:return t.abrupt("return",!0);case 3:case"end":return t.stop()}},t)}),s=E().mark(function t(e,r){return E().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!a(e,r)){t.next=1;break}return t.abrupt("return",!0);case 1:return t.next=2,r;case 2:return t.abrupt("return",!1);case 3:case"end":return t.stop()}},t)}),l=E().mark(function t(e,o,u){return E().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(s(e,o),"t0",1);case 1:return t.t0||(n=null!=u?u:r()),t.abrupt("return",n);case 2:case"end":return t.stop()}},t)});return w(w({},e),{},{isObjectValue:o,isValueChanged:i,matchValue:a,matchProperty:function(t,e,r,n){var o=!0,i=r,a=[{fieldPaths:[],newEntity:e,newValue:e,oldEntity:t,oldValue:t}];do{var f=a.shift(),s=f.oldValue,l=f.newValue,p=f.fieldPaths,y=c(i.match(/^([^.]+)\.(.+)$/)||[],3),b=y[1],v=void 0===b?i:b,d=y[2],h=void 0===d?"":d,O=u(s,v),m=u(l,v);if(O||m){var j=c(O?[s[v]]:[],1)[0],E=c(m?[l[v]]:[],1)[0],x={fieldPaths:[].concat(g(p),[v]),newEntity:e,newValue:E,oldEntity:t,oldValue:j};if(h){i=h,a.push(x);continue}if(E===j)continue;o=!1,null==n||n(x)}else if(!/^\d+^/.test(v))for(var w=Array.isArray(s)?s:[],P=Array.isArray(l)?l:[],C=w.length,S=P.length,_=Math.max(C,S),M=0;M<_;M++)a.push({fieldPaths:[].concat(g(p),["".concat(M)]),newEntity:e,newValue:P[M],oldEntity:t,oldValue:w[M]})}while(a.length>0);return o},recordValue:f,recordValueMatch:s,recordValueMatchWith:l})}}),C=function(t){return c((0,m(t,P).recordValueMatchWith)(t),2)[1]},S=function(t){var e=C(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[t]),r=(0,v.useMemoizedFn)(function(){t()});(0,v.useCreation)(function(){r()},[e,r])},_=function(){var t=P().matchValue,e=function(e,r){var n,o=r||{},u=o.onShouldCache,i=void 0===u?function(){return!0}:u,a=o.onCompare,c=void 0===a?function(e,r){return t(e,r)}:a;return function(){for(var t=i(),r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];if(n&&t){var a=n,f=a.parameters,s=a.returnValue;if(c(f,o))return s}var l=e.apply(void 0,o);return t&&(n={parameters:o,returnValue:l}),l}};return{cacheCall:e,cacheCalls:function(t,r){var n={};return Object.entries(t).forEach(function(t){var o=c(t,2),u=o[0],i=o[1];n[u]=e(i,r)}),n},captureCalls:function(t,e){var r={};return Object.keys(t).forEach(function(n){var o=t[n];r[n]="function"!=typeof o?o:function(){for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return e(n,r)}}),r}}},M=function(t,e,r){var n=C(arguments.length>3&&void 0!==arguments[3]?arguments[3]:[]),o=(0,v.useLatest)(r),u=b(_).cacheCall,i=(0,v.useMemoizedFn)(function(){var t=o.current;return u(t,{onCompare:function(){return!0}})}),a=(0,v.useCreation)(function(){return i()},[n,i]);return(0,v.useCreation)(function(){return(e&h.RootEnabled)!==h.RootEnabled&&t?t:a()},[e,t,a])};function k(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function R(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?k(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):k(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var V=["watch","onChange","options"];function D(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function A(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?D(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var U=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=(0,d.entityUseCase)(),r=t.onInit;return A(A({},e),{},{initEntity:function(t){return"function"!=typeof r?t:r(t)}})};function F(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}var N=function(){for(var r,n=(r=(0,v.useLatest)(!0),(0,f.useEffect)(function(){r.current=!1}),r),u=arguments.length,i=new Array(u),a=0;a<u;a++)i[a]=arguments[a];var j=function(e){return p(function(){return"function"===t(c(e,2)[1])?s.Entity:s.None})}(i),E=function(t,e){var r=c(t,4),n=r[0],o=r[1],u=r[2],i=r[3];return(e&s.Entity)!==s.Entity?[null,n,o||{},u||[]]:[n,o,u||{},i||[]]}(i,j),x=c(E,4),w=x[0],C=x[1],k=x[2],D=x[3],A=b(_).cacheCalls,N=y(C),T=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.None,r=p(function(){return(0,O().registerUseCase)(t,e)});return(0,v.useUnmount)(function(){(0,O().unregisterUseCase)(t,e)}),r}(N,j),I=T,G=function(t,e){var r=(0,f.useContext)(t);return(0,v.useCreation)(function(){var t=h.None,n=(r||{}).store;return(e&s.Entity)===s.Entity&&(t|=h.EntityRootEnabled),t|=r?h.ContextEnabled:h.RootEnabled,n&&(t|=h.EntityEnabled),t},[e,r])}(T,j),z=function(t,e,r,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],u=(0,f.useRef)(null),i=(0,f.useRef)([]),a=(r&h.EntityRootEnabled)===h.EntityRootEnabled,c=((0,f.useContext)(e)||{}).store;return M(void 0===c?null:c,r,function(){return a?function(){if("function"!=typeof t)return new d.EntityStore(t);var e=0,r=(u.current||{}).value,n=i.current,o=new d.EntityStore(r),a=[],c=P(),f=c.isObjectValue,s=c.matchValue;return(0,(0,d.createEntityReducers)(o,U,{onInit:function(e){return t(e)},onCreate:function(t,r){var o=e,u=f(r),i=u&&Array.isArray(r);if(e++,a[o]=t,!u||i)return(0,d.createEntity)(r,t);var c={},l=n[o];return s(l,t,function(e){var r=Object.getOwnPropertyDescriptor(t,e)||null;null!==r&&(c[e]=r)}),(0,d.createEntity)(r,Object.defineProperties({},c))},onGenerate:function(t,e){if(void 0===e)return[t,e];var r=(0,d.createEntity)(t,e);return o.setValue(r),[r,e]},onReturn:function(t){return o.setValue(t),t}}).initEntity)(),u.current=o,i.current=a,o}():new d.EntityStore(null)},o)}(w,I,G,k,D),L=function(t,e,r,n,u){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=(0,v.useLatest)(u),c=((0,f.useContext)(e)||{}).reducers,s=void 0===c?null:c,l=b(_).captureCalls;return M(s,n,function(){var e=l(u,function(t,e){var r,n,o;return null===(n=(o=a.current)[t])||void 0===n?void 0:(r=n).call.apply(r,[o].concat(g(e)))});if((n&h.EntityEnabled)!==h.EntityEnabled)return t(e);var i=e,c=(i.watch,i.onChange,i.options),f=o(i,V);return(0,d.createEntityReducers)(r,t,R(R(R({},f),c),{},{onGenerate:function(t,e){return e}}))},i)}(N,T,z,G,k,D),W=function(t,e,r,n,o){var u=(0,v.useUpdate)(),i="function"==typeof t,a=e.value,s=(0,f.useRef)(!0),l=(0,v.useLatest)(o),p=(0,f.useRef)(a),y=(n&h.EntityEnabled)===h.EntityEnabled,b=(n&h.EntityRootEnabled)===h.EntityRootEnabled,d=r.bindEntity,O=r.unbindEntity,g=m(t,P),j=g.isValueChanged,E=g.recordValue,x=(0,v.useMemoizedFn)(function(t,e){var r=l.current.watch;r&&function(t,e,r){for(var n,o=P().matchProperty,u=function(){var t=a[i],u=(n=c(t,2))[0],f=n[1];o(r,e,u,function(t){f(t)})},i=0,a=Object.entries(t);i<a.length;i++)u()}(r,t,e)}),w=(0,v.useMemoizedFn)(function(t,e){var r=l.current.onChange;p.current=t,x(t,e),null==r||r(t,e),b&&u()}),C=(0,v.useMemoizedFn)(function(){if(y){var t=p.current;a!==t&&(p.current=a,x(a,t))}});return S(function(){var r=s.current;s.current=!1,b&&(r&&(null==d||d()),i||j(t)&&(E(t),e.disableWatchers(),e.setValue(t),e.enableWatchers()))}),S(function(){y&&e.watch(w)},[y,e,w]),(0,f.useEffect)(function(){return function(){e.unwatch(w)}},[y,e,w]),(0,v.useUnmount)(function(){b&&(null==O||O())}),(0,v.useUpdateEffect)(function(){C()},[a,C]),e.value}(w,z,L,G,k),$=function(t,e,r,n){var o=r.value,u=(0,v.useCreation)(function(){return(0,O().createContextValue)(r,n,t)},[t,o,r,n]),i=(0,v.useLatest)(u);return y(function(t){var r=t.children,n=t.with,o=void 0===n?[]:n,u=e.Provider,a=i.current,c=Array.isArray(o)?o:[o];return l().createElement(u,{value:a},c.reduceRight(function(t,e){return l().createElement(e,{},t)},r))})}(G,T,z,L);return(0,v.useCreation)(function(){if((G&h.EntityEnabled)!==h.EntityEnabled)return L;var r=A(L,{onShouldCache:function(){return n.current}}),o=null===W,u=Array.isArray(W),i="object"!==t(W)||o||u?W:function(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?F(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({},W);return[i,r,$]},[G,W,L,$,n,A])},T=function(t){var e=t.usecase,r=t.watch,n=t.onMount,o=t.onUpdate,i=t.onChange,a=c(N(e,{watch:r,onChange:i}),1)[0],s=(0,v.useMemoizedFn)(function(){null==o||o(a)});return(0,v.useMount)(function(){null==n||n(a)}),(0,v.useUpdateEffect)(function(){s()},[a,s]),(0,u.jsx)(f.Fragment,{})};function I(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function G(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?I(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var z=["usecase"],L=function(t){var e=t.usecase,r=o(t,z),n=(0,N(O).getUseCaseContext)(e),i=(0,f.useContext)(n);return(0,u.jsx)(f.Fragment,{children:null===i?null:(0,u.jsx)(T,G({usecase:e},r))})};function W(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function $(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?W(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Y=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.onBind,r=t.onUnbind;return $($({},(0,d.entityUseCase)()),{},{bindEntity:function(t){null==e||e(t)},unbindEntity:function(t){null==r||r(t)}})},B=function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var n=C(e),o=(0,v.useLatest)(e);return(0,v.useCreation)(function(){return o.current},[n,o])}})();var o=usecases="undefined"==typeof usecases?{}:usecases;for(var u in n)o[u]=n[u];n.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();