UNPKG

10 kBJavaScriptView Raw
1import{unstable_batchedUpdates as r}from"react-native";import{isUsingStaticRendering as e,observer as t,Observer as n}from"mobx-react-lite";export{Observer,useAsObservableSource,useLocalStore,isUsingStaticRendering,useStaticRendering}from"mobx-react-lite";import o,{PureComponent as i,Component as a,forwardRef as c,Children as s,createContext as u,createElement as f}from"react";import{createAtom as p,_allowStateChanges as l,Reaction as d,$mobx as y,isObservableArray as h,isObservableObject as b,isObservableMap as v,untracked as m,observable as O,configure as g}from"mobx";var w=0,j={};function x(r){return j[r]||(j[r]=function(r){if("function"==typeof Symbol)return Symbol(r);var e="__$mobx-react "+r+" ("+w+")";return w++,e}(r)),j[r]}function P(r,e){if(E(r,e))return!0;if("object"!=typeof r||null===r||"object"!=typeof e||null===e)return!1;var t=Object.keys(r),n=Object.keys(e);if(t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(!hasOwnProperty.call(e,t[o])||!E(r[t[o]],e[t[o]]))return!1;return!0}function E(r,e){return r===e?0!==r||1/r==1/e:r!=r&&e!=e}var R={$$typeof:1,render:1,compare:1,type:1,childContextTypes:1,contextType:1,contextTypes:1,defaultProps:1,getDefaultProps:1,getDerivedStateFromError:1,getDerivedStateFromProps:1,mixins:1,propTypes:1};function _(r,e,t){Object.hasOwnProperty.call(r,e)?r[e]=t:Object.defineProperty(r,e,{enumerable:!1,configurable:!0,writable:!0,value:t})}var k=x("patchMixins"),A=x("patchedDefinition");function S(r,e){for(var t=this,n=[],o=arguments.length-2;o-- >0;)n[o]=arguments[o+2];e.locks++;try{var i;return null!=r&&(i=r.apply(this,n)),i}finally{e.locks--,0===e.locks&&e.methods.forEach(function(r){r.apply(t,n)})}}function C(r,e){return function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];S.call.apply(S,[this,r,e].concat(t))}}function U(r,e,t){var n=function(r,e){var t=r[k]=r[k]||{},n=t[e]=t[e]||{};return n.locks=n.locks||0,n.methods=n.methods||[],n}(r,e);n.methods.indexOf(t)<0&&n.methods.push(t);var o=Object.getOwnPropertyDescriptor(r,e);if(!o||!o[A]){var i=function r(e,t,n,o,i){var a,c=C(i,o);return(a={})[A]=!0,a.get=function(){return c},a.set=function(i){if(this===e)c=C(i,o);else{var a=r(this,t,n,o,i);Object.defineProperty(this,t,a)}},a.configurable=!0,a.enumerable=n,a}(r,e,o?o.enumerable:void 0,n,r[e]);Object.defineProperty(r,e,i)}}var T=y||"$mobx",M=x("isUnmounted"),D=x("skipRender"),N=x("isForcingUpdate");function $(r,t){return e()&&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!==t||!P(this.props,r)}function F(r,e){var t=x("reactProp_"+e+"_valueHolder"),n=x("reactProp_"+e+"_atomHolder");function o(){return this[n]||_(this,n,p("reactive "+e)),this[n]}Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:function(){return o.call(this).reportObserved(),this[t]},set:function(r){this[N]||P(this[t],r)?_(this,t,r):(_(this,t,r),_(this,D,!0),o.call(this).reportChanged(),_(this,D,!1))}})}var I="function"==typeof c&&c(function(r,e){}).$$typeof;function W(r){if(!0===r.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),I&&r.$$typeof===I){var s=r.render;if("function"!=typeof s)throw new Error("render property of ForwardRef was not a function");return c(function(){var r=arguments;return o.createElement(n,null,function(){return s.apply(void 0,r)})})}return"function"!=typeof r||r.prototype&&r.prototype.render||r.isReactClass||a.isPrototypeOf(r)?function(r){var t=r.prototype;if(t.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(r.__proto__!==i)if(t.shouldComponentUpdate){if(t.shouldComponentUpdate!==$)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else t.shouldComponentUpdate=$;F(t,"props"),F(t,"state");var n=t.render;return t.render=function(){return function(r){var t=this;if(!0===e())return r.call(this);_(this,D,!1),_(this,N,!1);var n=this.displayName||this.name||this.constructor&&(this.constructor.displayName||this.constructor.name)||"<component>",o=r.bind(this),i=!1,c=new d(n+".render()",function(){if(!i&&(i=!0,!0!==t[M])){var r=!0;try{_(t,N,!0),t[D]||a.prototype.forceUpdate.call(t),r=!1}finally{_(t,N,!1),r&&c.dispose()}}});function s(){i=!1;var r=void 0,e=void 0;if(c.track(function(){try{e=l(!1,o)}catch(e){r=e}}),r)throw r;return e}return c.reactComponent=this,s[T]=c,this.render=s,s.call(this)}.call(this,n)},U(t,"componentWillUnmount",function(){!0!==e()&&(this.render[T]&&this.render[T].dispose(),this[M]=!0)}),r}(r):t(r)}var q={children:!0,key:!0,ref:!0},L=u({}),H=function(r){function e(e,t){r.call(this,e,t),this.state=Object.assign({},t,X(e))}return r&&(e.__proto__=r),(e.prototype=Object.create(r&&r.prototype)).constructor=e,e.prototype.render=function(){return f(L.Provider,{value:this.state},s.only(this.props.children))},e.getDerivedStateFromProps=function(r,e){if("production"!==process.env.NODE_ENV&&!P(e,Object.assign({},e,X(r))))throw new Error("MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children");return e},e}(a);function X(r){var e={};if(!r)return e;for(var t in r)V(t)&&(e[t]=r[t]);return e}function V(r){return!q[r]&&"suppressChangedStoreWarning"!==r}function Y(r,e,t,n){var i=function(r,e){var t=r.displayName||r.name||r.constructor&&r.constructor.name||"Component";return e?"inject-with-"+e+"("+t+")":"inject("+t+")"}(e,t),c=function(t){function n(){t.apply(this,arguments)}return t&&(n.__proto__=t),(n.prototype=Object.create(t&&t.prototype)).constructor=n,n.prototype.render=function(){var t=this.props,n=t.forwardRef,o=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&-1===e.indexOf(n)&&(t[n]=r[n]);return t}(t,["forwardRef"]);return Object.assign(o,r(this.context||{},o)||{}),n&&!function(r){return!(r.prototype&&r.prototype.render)}(e)&&(o.ref=this.props.forwardRef),f(e,o)},n}(a);c.contextType=L,n&&(c=W(c)),c.isMobxInjector=!0;var s,u,p,l=o.forwardRef(function(r,e){return o.createElement(c,Object.assign({},r,{forwardRef:e}))});return s=e,u=l,p=Object.getOwnPropertyNames(Object.getPrototypeOf(s)),Object.getOwnPropertyNames(s).forEach(function(r){R[r]||-1!==p.indexOf(r)||Object.defineProperty(u,r,Object.getOwnPropertyDescriptor(s,r))}),l.wrappedComponent=e,l.displayName=i,l}function z(){for(var r,e=[],t=arguments.length;t--;)e[t]=arguments[t];return"function"==typeof arguments[0]?(r=arguments[0],function(e){return Y(r,e,r.name,!0)}):function(r){return Y(function(r){return function(e,t){return r.forEach(function(r){if(!(r in t)){if(!(r in e))throw new Error("MobX injector: Store '"+r+"' is not available! Make sure it is provided by some Provider");t[r]=e[r]}}),t}}(e),r,e.join("-"),!1)}}H.contextType=L;var B=x("disposeOnUnmount");function G(){var r=this;this[B]&&(this[B].forEach(function(e){var t="string"==typeof e?r[e]:e;null!=t&&(Array.isArray(t)?t.map(function(r){return r()}):t())}),this[B]=[])}function J(r,e){if(Array.isArray(e))return e.map(function(e){return J(r,e)});var t=Object.getPrototypeOf(r).constructor||Object.getPrototypeOf(r.constructor),n=Object.getPrototypeOf(r.constructor);if(t!==a&&t!==i&&n!==a&&n!==i)throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");if("string"!=typeof e&&"function"!=typeof e&&!Array.isArray(e))throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var o=!!r[B];return(r[B]||(r[B]=[])).push(e),o||U(r,"componentWillUnmount",G),"string"!=typeof e?e:void 0}function K(r){function e(e,t,n,o,i,a){for(var c=[],s=arguments.length-6;s-- >0;)c[s]=arguments[s+6];return m(function(){return o=o||"<<anonymous>>",a=a||n,null==t[n]?e?new Error("The "+i+" `"+a+"` is marked as required in `"+o+"`, but its value is `"+(null===t[n]?"null":"undefined")+"`."):null:r.apply(void 0,[t,n,o,i,a].concat(c))})}var t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function Q(r){var e=typeof r;return Array.isArray(r)?"array":r instanceof RegExp?"object":function(r,e){return"symbol"===r||"Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol}(e,r)?"symbol":e}function Z(r,e){return K(function(t,n,o,i,a){return m(function(){if(r&&Q(t[n])===e.toLowerCase())return null;var i;switch(e){case"Array":i=h;break;case"Object":i=b;break;case"Map":i=v;break;default:throw new Error("Unexpected mobxType: "+e)}var c=t[n];if(!i(c)){var s=function(r){var e=Q(r);if("object"===e){if(r instanceof Date)return"date";if(r instanceof RegExp)return"regexp"}return e}(c),u=r?" or javascript `"+e.toLowerCase()+"`":"";return new Error("Invalid prop `"+a+"` of type `"+s+"` supplied to `"+o+"`, expected `mobx.Observable"+e+"`"+u+".")}return null})})}function rr(r,e){return K(function(t,n,o,i,a){for(var c=[],s=arguments.length-5;s-- >0;)c[s]=arguments[s+5];return m(function(){if("function"!=typeof e)return new Error("Property `"+a+"` of component `"+o+"` has invalid PropType notation.");var s=Z(r,"Array")(t,n,o);if(s instanceof Error)return s;for(var u=t[n],f=0;f<u.length;f++)if((s=e.apply(void 0,[u,f,o,i,a+"["+f+"]"].concat(c)))instanceof Error)return s;return null})})}var er={observableArray:Z(!1,"Array"),observableArrayOf:rr.bind(null,!1),observableMap:Z(!1,"Map"),observableObject:Z(!1,"Object"),arrayOrObservableArray:Z(!0,"Array"),arrayOrObservableArrayOf:rr.bind(null,!0),objectOrObservableObject:Z(!0,"Object")};if(!a)throw new Error("mobx-react requires React to be available");if(!O)throw new Error("mobx-react requires mobx to be available");"function"==typeof r&&g({reactionScheduler:r});export{W as observer,H as Provider,L as MobXProviderContext,z as inject,J as disposeOnUnmount,er as PropTypes};
2//# sourceMappingURL=mobx-react.module.js.map