UNPKG

10.8 kBJavaScriptView Raw
1import{Reaction as e,_allowStateChanges as r,_allowStateReadsStart as t,_allowStateReadsEnd as n,$mobx as o,createAtom as i,untracked as a,isObservableMap as c,isObservableObject as s,isObservableArray as u,observable as f}from"mobx";import l,{PureComponent as p,Component as y,forwardRef as b,memo as d,createElement as m}from"react";import{isUsingStaticRendering as v,Observer as h,observer as O}from"mobx-react-lite";export{Observer,enableStaticRendering,isUsingStaticRendering,observerBatching,useAsObservableSource,useLocalObservable,useLocalStore,useObserver,useStaticRendering}from"mobx-react-lite";var w=0,g={};function j(e){return g[e]||(g[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var r="__$mobx-react "+e+" ("+w+")";return w++,r}(e)),g[e]}function x(e,r){if(P(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;var t=Object.keys(e),n=Object.keys(r);if(t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(!Object.hasOwnProperty.call(r,t[o])||!P(e[t[o]],r[t[o]]))return!1;return!0}function P(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}var E={$$typeof:1,render:1,compare:1,type:1,childContextTypes:1,contextType:1,contextTypes:1,defaultProps:1,getDefaultProps:1,getDerivedStateFromError:1,getDerivedStateFromProps:1,mixins:1,displayName:1,propTypes:1};function C(e,r,t){Object.hasOwnProperty.call(e,r)?e[r]=t:Object.defineProperty(e,r,{enumerable:!1,configurable:!0,writable:!0,value:t})}var A=j("patchMixins"),R=j("patchedDefinition");function k(e,r){for(var t=this,n=arguments.length,o=new Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];r.locks++;try{var a;return null!=e&&(a=e.apply(this,o)),a}finally{r.locks--,0===r.locks&&r.methods.forEach((function(e){e.apply(t,o)}))}}function S(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];k.call.apply(k,[this,e,r].concat(n))}}function U(e,r,t){var n=function(e,r){var t=e[A]=e[A]||{},n=t[r]=t[r]||{};return n.locks=n.locks||0,n.methods=n.methods||[],n}(e,r);n.methods.indexOf(t)<0&&n.methods.push(t);var o=Object.getOwnPropertyDescriptor(e,r);if(!o||!o[R]){var i=function e(r,t,n,o,i){var a,c=S(i,o);return(a={})[R]=!0,a.get=function(){return c},a.set=function(i){if(this===r)c=S(i,o);else{var a=e(this,t,n,o,i);Object.defineProperty(this,t,a)}},a.configurable=!0,a.enumerable=n,a}(e,r,o?o.enumerable:void 0,n,e[r]);Object.defineProperty(e,r,i)}}var M=o||"$mobx",T=j("isMobXReactObserver"),$=j("isUnmounted"),_=j("skipRender"),N=j("isForcingUpdate");function D(e){var r=e.prototype;if(e[T]){var t=I(r);console.warn("The provided component class ("+t+") \n has already been declared as an observer component.")}else e[T]=!0;if(r.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==p)if(r.shouldComponentUpdate){if(r.shouldComponentUpdate!==F)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else r.shouldComponentUpdate=F;L(r,"props"),L(r,"state");var n=r.render;if("function"!=typeof n){var o=I(r);throw new Error("[mobx-react] class component ("+o+") is missing `render` method.\n`observer` requires `render` being a function defined on prototype.\n`render = () => {}` or `render = function() {}` is not supported.")}return r.render=function(){return q.call(this,n)},U(r,"componentWillUnmount",(function(){var e;if(!0!==v()&&(null==(e=this.render[M])||e.dispose(),this[$]=!0,!this.render[M])){var r=I(this);console.warn("The reactive render of an observer class component ("+r+") \n was overriden after MobX attached. This may result in a memory leak if the \n overriden reactive render was not properly disposed.")}})),e}function I(e){return e.displayName||e.name||e.constructor&&(e.constructor.displayName||e.constructor.name)||"<component>"}function q(t){var n=this;if(!0===v())return t.call(this);C(this,_,!1),C(this,N,!1);var o=I(this),i=t.bind(this),a=!1,c=new e(o+".render()",(function(){if(!a&&(a=!0,!0!==n[$])){var e=!0;try{C(n,N,!0),n[_]||y.prototype.forceUpdate.call(n),e=!1}finally{C(n,N,!1),e&&c.dispose()}}}));function s(){a=!1;var e=void 0,t=void 0;if(c.track((function(){try{t=r(!1,i)}catch(r){e=r}})),e)throw e;return t}return c.reactComponent=this,s[M]=c,this.render=s,s.call(this)}function F(e,r){return v()&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==r||!x(this.props,e)}function L(e,r){var o=j("reactProp_"+r+"_valueHolder"),a=j("reactProp_"+r+"_atomHolder");function c(){return this[a]||C(this,a,i("reactive "+r)),this[a]}Object.defineProperty(e,r,{configurable:!0,enumerable:!0,get:function(){var e=!1;return t&&n&&(e=t(!0)),c.call(this).reportObserved(),t&&n&&n(e),this[o]},set:function(e){this[N]||x(this[o],e)?C(this,o,e):(C(this,o,e),C(this,_,!0),c.call(this).reportChanged(),C(this,_,!1))}})}var W="function"==typeof Symbol&&Symbol.for,X=W?Symbol.for("react.forward_ref"):"function"==typeof b&&b((function(e){return null})).$$typeof,H=W?Symbol.for("react.memo"):"function"==typeof d&&d((function(e){return null})).$$typeof;function Y(e){if(!0===e.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),H&&e.$$typeof===H)throw new Error("Mobx observer: You are trying to use 'observer' on a function component wrapped in either another observer or 'React.memo'. The observer already applies 'React.memo' for you.");if(X&&e.$$typeof===X){var r=e.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return b((function(){var e=arguments;return m(h,null,(function(){return r.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(y,e)?D(e):O(e)}function B(){return(B=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}var z=l.createContext({});function G(e){var r=e.children,t=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r.indexOf(t=i[n])>=0||(o[t]=e[t]);return o}(e,["children"]),n=l.useContext(z),o=l.useRef(B({},n,t));return l.createElement(z.Provider,{value:o.current},r)}function J(e,r,t,n){var o,i,a,c=l.forwardRef((function(t,n){var o=B({},t),i=l.useContext(z);return Object.assign(o,e(i||{},o)||{}),n&&(o.ref=n),l.createElement(r,o)}));return n&&(c=Y(c)),c.isMobxInjector=!0,o=r,i=c,a=Object.getOwnPropertyNames(Object.getPrototypeOf(o)),Object.getOwnPropertyNames(o).forEach((function(e){E[e]||-1!==a.indexOf(e)||Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(o,e))})),c.wrappedComponent=r,c.displayName=function(e,r){var t=e.displayName||e.name||e.constructor&&e.constructor.name||"Component";return r?"inject-with-"+r+"("+t+")":"inject("+t+")"}(r,t),c}function K(e){return function(r,t){return e.forEach((function(e){if(!(e in t)){if(!(e in r))throw new Error("MobX injector: Store '"+e+"' is not available! Make sure it is provided by some Provider");t[e]=r[e]}})),t}}function Q(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];if("function"==typeof arguments[0]){var n=arguments[0];return function(e){return J(n,e,n.name,!0)}}return function(e){return J(K(r),e,r.join("-"),!1)}}G.displayName="MobXProvider";var V=j("disposeOnUnmountProto"),Z=j("disposeOnUnmountInst");function ee(){var e=this;[].concat(this[V]||[],this[Z]||[]).forEach((function(r){var t="string"==typeof r?e[r]:r;null!=t&&(Array.isArray(t)?t.map((function(e){return e()})):t())}))}function re(e,r){if(Array.isArray(r))return r.map((function(r){return re(e,r)}));var t=Object.getPrototypeOf(e).constructor,n=Object.getPrototypeOf(e.constructor),o=Object.getPrototypeOf(Object.getPrototypeOf(e));if(t!==l.Component&&t!==l.PureComponent&&n!==l.Component&&n!==l.PureComponent&&o!==l.Component&&o!==l.PureComponent)throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");if("string"!=typeof r&&"function"!=typeof r&&!Array.isArray(r))throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var i=!!e[V]||!!e[Z];return("string"==typeof r?e[V]||(e[V]=[]):e[Z]||(e[Z]=[])).push(r),i||U(e,"componentWillUnmount",ee),"string"!=typeof r?r:void 0}function te(e){function r(r,t,n,o,i,c){for(var s=arguments.length,u=new Array(s>6?s-6:0),f=6;f<s;f++)u[f-6]=arguments[f];return a((function(){return o=o||"<<anonymous>>",c=c||n,null==t[n]?r?new Error("The "+i+" `"+c+"` is marked as required in `"+o+"`, but its value is `"+(null===t[n]?"null":"undefined")+"`."):null:e.apply(void 0,[t,n,o,i,c].concat(u))}))}var t=r.bind(null,!1);return t.isRequired=r.bind(null,!0),t}function ne(e){var r=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,r){return"symbol"===e||"Symbol"===r["@@toStringTag"]||"function"==typeof Symbol&&r instanceof Symbol}(r,e)?"symbol":r}function oe(e,r){return te((function(t,n,o,i,f){return a((function(){if(e&&ne(t[n])===r.toLowerCase())return null;var i;switch(r){case"Array":i=u;break;case"Object":i=s;break;case"Map":i=c;break;default:throw new Error("Unexpected mobxType: "+r)}var a=t[n];if(!i(a)){var l=function(e){var r=ne(e);if("object"===r){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return r}(a),p=e?" or javascript `"+r.toLowerCase()+"`":"";return new Error("Invalid prop `"+f+"` of type `"+l+"` supplied to `"+o+"`, expected `mobx.Observable"+r+"`"+p+".")}return null}))}))}function ie(e,r){return te((function(t,n,o,i,c){for(var s=arguments.length,u=new Array(s>5?s-5:0),f=5;f<s;f++)u[f-5]=arguments[f];return a((function(){if("function"!=typeof r)return new Error("Property `"+c+"` of component `"+o+"` has invalid PropType notation.");var a=oe(e,"Array")(t,n,o,i,c);if(a instanceof Error)return a;for(var s=t[n],f=0;f<s.length;f++)if((a=r.apply(void 0,[s,f,o,i,c+"["+f+"]"].concat(u)))instanceof Error)return a;return null}))}))}var ae={observableArray:oe(!1,"Array"),observableArrayOf:ie.bind(null,!1),observableMap:oe(!1,"Map"),observableObject:oe(!1,"Object"),arrayOrObservableArray:oe(!0,"Array"),arrayOrObservableArrayOf:ie.bind(null,!0),objectOrObservableObject:oe(!0,"Object")};if(!y)throw new Error("mobx-react requires React to be available");if(!f)throw new Error("mobx-react requires mobx to be available");export{z as MobXProviderContext,ae as PropTypes,G as Provider,re as disposeOnUnmount,Q as inject,Y as observer};
2//# sourceMappingURL=mobxreact.esm.production.min.js.map
3
\No newline at end of file