mobx-react 6.2.2 → 6.3.0
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/CHANGELOG.md +13 -0
- package/README.md +1 -32
- package/dist/index.d.ts +1 -1
- package/dist/mobx-react.umd.js +1 -1
- package/dist/mobxreact.cjs.development.js +27 -24
- package/dist/mobxreact.cjs.development.js.map +1 -1
- package/dist/mobxreact.cjs.production.min.js +1 -1
- package/dist/mobxreact.esm.js +28 -13
- package/dist/mobxreact.esm.js.map +1 -1
- package/dist/mobxreact.umd.development.js +27 -24
- package/dist/mobxreact.umd.development.js.map +1 -1
- package/dist/mobxreact.umd.production.min.js +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# MobX-React Changelog
|
|
2
2
|
|
|
3
|
+
### 6.3.0
|
|
4
|
+
|
|
5
|
+
- Updated mobx-react-lite to 2.2.0 which removes the need to manually configure batching. Fixes [#859](https://github.com/mobxjs/mobx-react/issues/859)
|
|
6
|
+
|
|
7
|
+
### 6.2.4
|
|
8
|
+
|
|
9
|
+
- Fix error thrown in the already defined observer class component warning message when attempting to get the components display name. [#887](https://github.com/mobxjs/mobx-react/issues/887)
|
|
10
|
+
|
|
11
|
+
### 6.2.3
|
|
12
|
+
|
|
13
|
+
- Log warning if class component is already an observer to prevent memory leaks. [#839](https://github.com/mobxjs/mobx-react/issues/839)
|
|
14
|
+
- Fix disposeOnUnmount when using react-hot-loader. [#725](https://github.com/mobxjs/mobx-react/issues/725)
|
|
15
|
+
|
|
3
16
|
### 6.2.2
|
|
4
17
|
|
|
5
18
|
- Observer batching imports are kept in production builds as side effects ([see issue](https://github.com/mobxjs/mobx-react-lite/issues/273))
|
package/README.md
CHANGED
|
@@ -161,7 +161,7 @@ const Todo = () => {
|
|
|
161
161
|
{todo.title} {todo.done ? "[DONE]" : "[TODO]"}
|
|
162
162
|
</h1>
|
|
163
163
|
))
|
|
164
|
-
}
|
|
164
|
+
}
|
|
165
165
|
```
|
|
166
166
|
|
|
167
167
|
When using `useLocalStore`, all properties of the returned object will be made observable automatically, getters will be turned into computed properties, and methods will be bound to the store and apply mobx transactions automatically. If new class instances are returned from the initializer, they will be kept as is.
|
|
@@ -521,36 +521,6 @@ And the dependency tree of a component can now be inspected by the standard devt
|
|
|
521
521
|
|
|
522
522
|

|
|
523
523
|
|
|
524
|
-
## Observer batching
|
|
525
|
-
|
|
526
|
-
[Check out the elaborate explanation](https://github.com/mobxjs/mobx-react/pull/787#issuecomment-573599793).
|
|
527
|
-
|
|
528
|
-
In short without observer batching the React doesn't guarantee the order component rendering in some cases. We highly recommend that you configure batching to avoid these random surprises.
|
|
529
|
-
|
|
530
|
-
Import one of these before any React rendering is happening, typically `index.js/ts`. For Jest tests you can utilize [setupFilesAfterEnv](https://jestjs.io/docs/en/configuration#setupfilesafterenv-array).
|
|
531
|
-
|
|
532
|
-
**React DOM:**
|
|
533
|
-
|
|
534
|
-
> import 'mobx-react/batchingForReactDom'
|
|
535
|
-
|
|
536
|
-
**React Native:**
|
|
537
|
-
|
|
538
|
-
> import 'mobx-react/batchingForReactNative'
|
|
539
|
-
|
|
540
|
-
### Opt-out
|
|
541
|
-
|
|
542
|
-
To opt-out from batching in some specific cases, simply import the following to silence the warning.
|
|
543
|
-
|
|
544
|
-
> import 'mobx-react/batchingOptOut'
|
|
545
|
-
|
|
546
|
-
### Custom batched updates
|
|
547
|
-
|
|
548
|
-
Above imports are for a convenience to utilize standard versions of batching. If you for some reason have customized version of batched updates, you can do the following instead.
|
|
549
|
-
|
|
550
|
-
```js
|
|
551
|
-
import { observerBatching } from "mobx-react"
|
|
552
|
-
observerBatching(customBatchedUpdates)
|
|
553
|
-
|
|
554
524
|
## FAQ
|
|
555
525
|
|
|
556
526
|
**Should I use `observer` for each component?**
|
|
@@ -581,4 +551,3 @@ Warning: setState(...): Cannot update during an existing state transition (such
|
|
|
581
551
|
|
|
582
552
|
Usually this means that (another) component is trying to modify observables used by this components in their `constructor` or `getInitialState` methods.
|
|
583
553
|
This violates the React Lifecycle, `componentWillMount` should be used instead if state needs to be modified before mounting.
|
|
584
|
-
```
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Observer, useObserver, useAsObservableSource, useLocalStore, isUsingStaticRendering, useStaticRendering, observerBatching,
|
|
1
|
+
export { Observer, useObserver, useAsObservableSource, useLocalStore, isUsingStaticRendering, useStaticRendering, observerBatching, } from "mobx-react-lite";
|
|
2
2
|
export { observer } from "./observer";
|
|
3
3
|
export { MobXProviderContext, Provider, ProviderProps } from "./Provider";
|
|
4
4
|
export { inject } from "./inject";
|
package/dist/mobx-react.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("mobx"),require("react"),require("mobx-react-lite")):"function"==typeof define&&define.amd?define(["exports","mobx","react","mobx-react-lite"],r):r((e=e||self).mobxReact={},e.mobx,e.React,e.mobxReactLite)}(this,(function(e,r,t,n){"use strict";var o="default"in t?t.default:t,i=0,a={};function c(e){return a[e]||(a[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var r="__$mobx-react "+e+" ("+i+")";return i++,r}(e)),a[e]}function u(e,r){if(s(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])||!s(e[t[o]],r[t[o]]))return!1;return!0}function s(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}var f={$$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 l(e,r,t){Object.hasOwnProperty.call(e,r)?e[r]=t:Object.defineProperty(e,r,{enumerable:!1,configurable:!0,writable:!0,value:t})}var p=c("patchMixins"),b=c("patchedDefinition");function d(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 y(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];d.call.apply(d,[this,e,r].concat(n))}}function m(e,r,t){var n=function(e,r){var t=e[p]=e[p]||{},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[b]){var i=function e(r,t,n,o,i){var a,c=y(i,o);return(a={})[b]=!0,a.get=function(){return c},a.set=function(i){if(this===r)c=y(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 v=r.$mobx||"$mobx",h=c("isUnmounted"),O=c("skipRender"),g=c("isForcingUpdate");function w(e){var r=e.prototype;if(r.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==t.PureComponent)if(r.shouldComponentUpdate){if(r.shouldComponentUpdate!==P)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else r.shouldComponentUpdate=P;x(r,"props"),x(r,"state");var o=r.render;return r.render=function(){return j.call(this,o)},m(r,"componentWillUnmount",(function(){!0!==n.isUsingStaticRendering()&&(this.render[v]&&this.render[v].dispose(),this[h]=!0)})),e}function j(e){var o=this;if(!0===n.isUsingStaticRendering())return e.call(this);l(this,O,!1),l(this,g,!1);var i=this.displayName||this.name||this.constructor&&(this.constructor.displayName||this.constructor.name)||"<component>",a=e.bind(this),c=!1,u=new r.Reaction(i+".render()",(function(){if(!c&&(c=!0,!0!==o[h])){var e=!0;try{l(o,g,!0),o[O]||t.Component.prototype.forceUpdate.call(o),e=!1}finally{l(o,g,!1),e&&u.dispose()}}}));function s(){c=!1;var e=void 0,t=void 0;if(u.track((function(){try{t=r._allowStateChanges(!1,a)}catch(r){e=r}})),e)throw e;return t}return u.reactComponent=this,s[v]=u,this.render=s,s.call(this)}function P(e,r){return n.isUsingStaticRendering()&&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||!u(this.props,e)}function x(e,t){var n=c("reactProp_"+t+"_valueHolder"),o=c("reactProp_"+t+"_atomHolder");function i(){return this[o]||l(this,o,r.createAtom("reactive "+t)),this[o]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var e=!1;return r._allowStateReadsStart&&r._allowStateReadsEnd&&(e=r._allowStateReadsStart(!0)),i.call(this).reportObserved(),r._allowStateReadsStart&&r._allowStateReadsEnd&&r._allowStateReadsEnd(e),this[n]},set:function(e){this[g]||u(this[n],e)?l(this,n,e):(l(this,n,e),l(this,O,!0),i.call(this).reportChanged(),l(this,O,!1))}})}var R="function"==typeof Symbol&&Symbol.for,S=R?Symbol.for("react.forward_ref"):"function"==typeof t.forwardRef&&t.forwardRef((function(e){return null})).$$typeof,E=R?Symbol.for("react.memo"):"function"==typeof t.memo&&t.memo((function(e){return null})).$$typeof;function C(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'"),E&&e.$$typeof===E)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(S&&e.$$typeof===S){var r=e.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return t.forwardRef((function(){var e=arguments;return t.createElement(n.Observer,null,(function(){return r.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(t.Component,e)?w(e):n.observer(e)}function A(){return(A=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 k=o.createContext({});function U(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=o.useContext(k),i=o.useRef(A({},n,{},t));return o.createElement(k.Provider,{value:i.current},r)}function _(e,r,t,n){var i,a,c,u=o.forwardRef((function(t,n){var i=A({},t),a=o.useContext(k);return Object.assign(i,e(a||{},i)||{}),n&&(i.ref=n),o.createElement(r,i)}));return n&&(u=C(u)),u.isMobxInjector=!0,i=r,a=u,c=Object.getOwnPropertyNames(Object.getPrototypeOf(i)),Object.getOwnPropertyNames(i).forEach((function(e){f[e]||-1!==c.indexOf(e)||Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(i,e))})),u.wrappedComponent=r,u.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),u}function M(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}}U.displayName="MobXProvider";var $=c("disposeOnUnmountProto"),T=c("disposeOnUnmountInst");function q(){var e=this;[].concat(this[$]||[],this[T]||[]).forEach((function(r){var t="string"==typeof r?e[r]:r;null!=t&&(Array.isArray(t)?t.map((function(e){return e()})):t())}))}function D(e){function t(t,n,o,i,a,c){for(var u=arguments.length,s=new Array(u>6?u-6:0),f=6;f<u;f++)s[f-6]=arguments[f];return r.untracked((function(){return i=i||"<<anonymous>>",c=c||o,null==n[o]?t?new Error("The "+a+" `"+c+"` is marked as required in `"+i+"`, but its value is `"+(null===n[o]?"null":"undefined")+"`."):null:e.apply(void 0,[n,o,i,a,c].concat(s))}))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function N(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 B(e,t){return D((function(n,o,i,a,c){return r.untracked((function(){if(e&&N(n[o])===t.toLowerCase())return null;var a;switch(t){case"Array":a=r.isObservableArray;break;case"Object":a=r.isObservableObject;break;case"Map":a=r.isObservableMap;break;default:throw new Error("Unexpected mobxType: "+t)}var u=n[o];if(!a(u)){var s=function(e){var r=N(e);if("object"===r){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return r}(u),f=e?" or javascript `"+t.toLowerCase()+"`":"";return new Error("Invalid prop `"+c+"` of type `"+s+"` supplied to `"+i+"`, expected `mobx.Observable"+t+"`"+f+".")}return null}))}))}function I(e,t){return D((function(n,o,i,a,c){for(var u=arguments.length,s=new Array(u>5?u-5:0),f=5;f<u;f++)s[f-5]=arguments[f];return r.untracked((function(){if("function"!=typeof t)return new Error("Property `"+c+"` of component `"+i+"` has invalid PropType notation.");var r=B(e,"Array")(n,o,i,a,c);if(r instanceof Error)return r;for(var u=n[o],f=0;f<u.length;f++)if((r=t.apply(void 0,[u,f,i,a,c+"["+f+"]"].concat(s)))instanceof Error)return r;return null}))}))}var L={observableArray:B(!1,"Array"),observableArrayOf:I.bind(null,!1),observableMap:B(!1,"Map"),observableObject:B(!1,"Object"),arrayOrObservableArray:B(!0,"Array"),arrayOrObservableArrayOf:I.bind(null,!0),objectOrObservableObject:B(!0,"Object")};if(!t.Component)throw new Error("mobx-react requires React to be available");if(!r.observable)throw new Error("mobx-react requires mobx to be available");Object.defineProperty(e,"Observer",{enumerable:!0,get:function(){return n.Observer}}),Object.defineProperty(e,"isObserverBatched",{enumerable:!0,get:function(){return n.isObserverBatched}}),Object.defineProperty(e,"isUsingStaticRendering",{enumerable:!0,get:function(){return n.isUsingStaticRendering}}),Object.defineProperty(e,"observerBatching",{enumerable:!0,get:function(){return n.observerBatching}}),Object.defineProperty(e,"observerBatchingOptOut",{enumerable:!0,get:function(){return n.observerBatchingOptOut}}),Object.defineProperty(e,"useAsObservableSource",{enumerable:!0,get:function(){return n.useAsObservableSource}}),Object.defineProperty(e,"useLocalStore",{enumerable:!0,get:function(){return n.useLocalStore}}),Object.defineProperty(e,"useObserver",{enumerable:!0,get:function(){return n.useObserver}}),Object.defineProperty(e,"useStaticRendering",{enumerable:!0,get:function(){return n.useStaticRendering}}),e.MobXProviderContext=k,e.PropTypes=L,e.Provider=U,e.disposeOnUnmount=function e(r,t){if(Array.isArray(t))return t.map((function(t){return e(r,t)}));var n=Object.getPrototypeOf(r).constructor||Object.getPrototypeOf(r.constructor),i=Object.getPrototypeOf(r.constructor);if(n!==o.Component&&n!==o.PureComponent&&i!==o.Component&&i!==o.PureComponent)throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");if("string"!=typeof t&&"function"!=typeof t&&!Array.isArray(t))throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var a=!!r[$]||!!r[T];return("string"==typeof t?r[$]||(r[$]=[]):r[T]||(r[T]=[])).push(t),a||m(r,"componentWillUnmount",q),"string"!=typeof t?t:void 0},e.inject=function(){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 _(n,e,n.name,!0)}}return function(e){return _(M(r),e,r.join("-"),!1)}},e.observer=C,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("mobx"),require("react"),require("mobx-react-lite")):"function"==typeof define&&define.amd?define(["exports","mobx","react","mobx-react-lite"],r):r((e=e||self).mobxReact={},e.mobx,e.React,e.mobxReactLite)}(this,(function(e,r,t,n){"use strict";var o="default"in t?t.default:t,a=0,i={};function c(e){return i[e]||(i[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var r="__$mobx-react "+e+" ("+a+")";return a++,r}(e)),i[e]}function s(e,r){if(u(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])||!u(e[t[o]],r[t[o]]))return!1;return!0}function u(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}var f={$$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 l(e,r,t){Object.hasOwnProperty.call(e,r)?e[r]=t:Object.defineProperty(e,r,{enumerable:!1,configurable:!0,writable:!0,value:t})}var p=c("patchMixins"),b=c("patchedDefinition");function d(e,r){for(var t=this,n=arguments.length,o=new Array(n>2?n-2:0),a=2;a<n;a++)o[a-2]=arguments[a];r.locks++;try{var i;return null!=e&&(i=e.apply(this,o)),i}finally{r.locks--,0===r.locks&&r.methods.forEach((function(e){e.apply(t,o)}))}}function y(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];d.call.apply(d,[this,e,r].concat(n))}}function m(e,r,t){var n=function(e,r){var t=e[p]=e[p]||{},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[b]){var a=function e(r,t,n,o,a){var i,c=y(a,o);return(i={})[b]=!0,i.get=function(){return c},i.set=function(a){if(this===r)c=y(a,o);else{var i=e(this,t,n,o,a);Object.defineProperty(this,t,i)}},i.configurable=!0,i.enumerable=n,i}(e,r,o?o.enumerable:void 0,n,e[r]);Object.defineProperty(e,r,a)}}var v=r.$mobx||"$mobx",h=c("isMobXReactObserver"),O=c("isUnmounted"),g=c("skipRender"),w=c("isForcingUpdate");function j(e){var r=e.prototype;if(e[h]){var o=P(r);console.warn("The provided component class ("+o+") \n has already been declared as an observer component.")}else e[h]=!0;if(r.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==t.PureComponent)if(r.shouldComponentUpdate){if(r.shouldComponentUpdate!==R)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else r.shouldComponentUpdate=R;S(r,"props"),S(r,"state");var a=r.render;return r.render=function(){return x.call(this,a)},m(r,"componentWillUnmount",(function(){var e;if(!0!==n.isUsingStaticRendering()&&(null===(e=this.render[v])||void 0===e||e.dispose(),this[O]=!0,!this.render[v])){var r=P(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 P(e){return e.displayName||e.name||e.constructor&&(e.constructor.displayName||e.constructor.name)||"<component>"}function x(e){var o=this;if(!0===n.isUsingStaticRendering())return e.call(this);l(this,g,!1),l(this,w,!1);var a=P(this),i=e.bind(this),c=!1,s=new r.Reaction(a+".render()",(function(){if(!c&&(c=!0,!0!==o[O])){var e=!0;try{l(o,w,!0),o[g]||t.Component.prototype.forceUpdate.call(o),e=!1}finally{l(o,w,!1),e&&s.dispose()}}}));function u(){c=!1;var e=void 0,t=void 0;if(s.track((function(){try{t=r._allowStateChanges(!1,i)}catch(r){e=r}})),e)throw e;return t}return s.reactComponent=this,u[v]=s,this.render=u,u.call(this)}function R(e,r){return n.isUsingStaticRendering()&&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||!s(this.props,e)}function S(e,t){var n=c("reactProp_"+t+"_valueHolder"),o=c("reactProp_"+t+"_atomHolder");function a(){return this[o]||l(this,o,r.createAtom("reactive "+t)),this[o]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var e=!1;return r._allowStateReadsStart&&r._allowStateReadsEnd&&(e=r._allowStateReadsStart(!0)),a.call(this).reportObserved(),r._allowStateReadsStart&&r._allowStateReadsEnd&&r._allowStateReadsEnd(e),this[n]},set:function(e){this[w]||s(this[n],e)?l(this,n,e):(l(this,n,e),l(this,g,!0),a.call(this).reportChanged(),l(this,g,!1))}})}var C="function"==typeof Symbol&&Symbol.for,E=C?Symbol.for("react.forward_ref"):"function"==typeof t.forwardRef&&t.forwardRef((function(e){return null})).$$typeof,A=C?Symbol.for("react.memo"):"function"==typeof t.memo&&t.memo((function(e){return null})).$$typeof;function k(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'"),A&&e.$$typeof===A)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(E&&e.$$typeof===E){var r=e.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return t.forwardRef((function(){var e=arguments;return t.createElement(n.Observer,null,(function(){return r.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(t.Component,e)?j(e):n.observer(e)}function U(){return(U=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 _=o.createContext({});function M(e){var r=e.children,t=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r.indexOf(t=a[n])>=0||(o[t]=e[t]);return o}(e,["children"]),n=o.useContext(_),a=o.useRef(U({},n,t));return o.createElement(_.Provider,{value:a.current},r)}function T(e,r,t,n){var a,i,c,s=o.forwardRef((function(t,n){var a=U({},t),i=o.useContext(_);return Object.assign(a,e(i||{},a)||{}),n&&(a.ref=n),o.createElement(r,a)}));return n&&(s=k(s)),s.isMobxInjector=!0,a=r,i=s,c=Object.getOwnPropertyNames(Object.getPrototypeOf(a)),Object.getOwnPropertyNames(a).forEach((function(e){f[e]||-1!==c.indexOf(e)||Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(a,e))})),s.wrappedComponent=r,s.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),s}function $(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}}M.displayName="MobXProvider";var q=c("disposeOnUnmountProto"),D=c("disposeOnUnmountInst");function N(){var e=this;[].concat(this[q]||[],this[D]||[]).forEach((function(r){var t="string"==typeof r?e[r]:r;null!=t&&(Array.isArray(t)?t.map((function(e){return e()})):t())}))}function I(e){function t(t,n,o,a,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 r.untracked((function(){return a=a||"<<anonymous>>",c=c||o,null==n[o]?t?new Error("The "+i+" `"+c+"` is marked as required in `"+a+"`, but its value is `"+(null===n[o]?"null":"undefined")+"`."):null:e.apply(void 0,[n,o,a,i,c].concat(u))}))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function L(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 X(e,t){return I((function(n,o,a,i,c){return r.untracked((function(){if(e&&L(n[o])===t.toLowerCase())return null;var i;switch(t){case"Array":i=r.isObservableArray;break;case"Object":i=r.isObservableObject;break;case"Map":i=r.isObservableMap;break;default:throw new Error("Unexpected mobxType: "+t)}var s=n[o];if(!i(s)){var u=function(e){var r=L(e);if("object"===r){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return r}(s),f=e?" or javascript `"+t.toLowerCase()+"`":"";return new Error("Invalid prop `"+c+"` of type `"+u+"` supplied to `"+a+"`, expected `mobx.Observable"+t+"`"+f+".")}return null}))}))}function F(e,t){return I((function(n,o,a,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 r.untracked((function(){if("function"!=typeof t)return new Error("Property `"+c+"` of component `"+a+"` has invalid PropType notation.");var r=X(e,"Array")(n,o,a,i,c);if(r instanceof Error)return r;for(var s=n[o],f=0;f<s.length;f++)if((r=t.apply(void 0,[s,f,a,i,c+"["+f+"]"].concat(u)))instanceof Error)return r;return null}))}))}var W={observableArray:X(!1,"Array"),observableArrayOf:F.bind(null,!1),observableMap:X(!1,"Map"),observableObject:X(!1,"Object"),arrayOrObservableArray:X(!0,"Array"),arrayOrObservableArrayOf:F.bind(null,!0),objectOrObservableObject:X(!0,"Object")};if(!t.Component)throw new Error("mobx-react requires React to be available");if(!r.observable)throw new Error("mobx-react requires mobx to be available");Object.defineProperty(e,"Observer",{enumerable:!0,get:function(){return n.Observer}}),Object.defineProperty(e,"isUsingStaticRendering",{enumerable:!0,get:function(){return n.isUsingStaticRendering}}),Object.defineProperty(e,"observerBatching",{enumerable:!0,get:function(){return n.observerBatching}}),Object.defineProperty(e,"useAsObservableSource",{enumerable:!0,get:function(){return n.useAsObservableSource}}),Object.defineProperty(e,"useLocalStore",{enumerable:!0,get:function(){return n.useLocalStore}}),Object.defineProperty(e,"useObserver",{enumerable:!0,get:function(){return n.useObserver}}),Object.defineProperty(e,"useStaticRendering",{enumerable:!0,get:function(){return n.useStaticRendering}}),e.MobXProviderContext=_,e.PropTypes=W,e.Provider=M,e.disposeOnUnmount=function e(r,t){if(Array.isArray(t))return t.map((function(t){return e(r,t)}));var n=Object.getPrototypeOf(r).constructor,a=Object.getPrototypeOf(r.constructor),i=Object.getPrototypeOf(Object.getPrototypeOf(r));if(n!==o.Component&&n!==o.PureComponent&&a!==o.Component&&a!==o.PureComponent&&i!==o.Component&&i!==o.PureComponent)throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");if("string"!=typeof t&&"function"!=typeof t&&!Array.isArray(t))throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var c=!!r[q]||!!r[D];return("string"==typeof t?r[q]||(r[q]=[]):r[D]||(r[D]=[])).push(t),c||m(r,"componentWillUnmount",N),"string"!=typeof t?t:void 0},e.inject=function(){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 T(n,e,n.name,!0)}}return function(e){return T($(r),e,r.join("-"),!1)}},e.observer=k,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=mobxreact.umd.production.min.js.map
|
|
@@ -203,6 +203,9 @@ function createDefinition(target, methodName, enumerable, mixins, originalMethod
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
var mobxAdminProperty = mobx.$mobx || "$mobx";
|
|
206
|
+
var mobxObserverProperty =
|
|
207
|
+
/*#__PURE__*/
|
|
208
|
+
newSymbol("isMobXReactObserver");
|
|
206
209
|
var mobxIsUnmounted =
|
|
207
210
|
/*#__PURE__*/
|
|
208
211
|
newSymbol("isUnmounted");
|
|
@@ -214,6 +217,14 @@ var isForcingUpdateKey =
|
|
|
214
217
|
newSymbol("isForcingUpdate");
|
|
215
218
|
function makeClassComponentObserver(componentClass) {
|
|
216
219
|
var target = componentClass.prototype;
|
|
220
|
+
|
|
221
|
+
if (componentClass[mobxObserverProperty]) {
|
|
222
|
+
var displayName = getDisplayName(target);
|
|
223
|
+
console.warn("The provided component class (" + displayName + ") \n has already been declared as an observer component.");
|
|
224
|
+
} else {
|
|
225
|
+
componentClass[mobxObserverProperty] = true;
|
|
226
|
+
}
|
|
227
|
+
|
|
217
228
|
if (target.componentWillReact) throw new Error("The componentWillReact life-cycle event is no longer supported");
|
|
218
229
|
|
|
219
230
|
if (componentClass["__proto__"] !== React.PureComponent) {
|
|
@@ -234,16 +245,18 @@ function makeClassComponentObserver(componentClass) {
|
|
|
234
245
|
};
|
|
235
246
|
|
|
236
247
|
patch(target, "componentWillUnmount", function () {
|
|
248
|
+
var _this$render$mobxAdmi;
|
|
249
|
+
|
|
237
250
|
if (mobxReactLite.isUsingStaticRendering() === true) return;
|
|
251
|
+
(_this$render$mobxAdmi = this.render[mobxAdminProperty]) === null || _this$render$mobxAdmi === void 0 ? void 0 : _this$render$mobxAdmi.dispose();
|
|
252
|
+
this[mobxIsUnmounted] = true;
|
|
238
253
|
|
|
239
|
-
if (this.render[mobxAdminProperty]) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
var displayName = getDisplayName(this);
|
|
243
|
-
console.warn("The render function for an observer component (" + displayName + ") was modified after MobX attached. This is not supported, since the new function can't be triggered by MobX.");
|
|
244
|
-
}
|
|
254
|
+
if (!this.render[mobxAdminProperty]) {
|
|
255
|
+
// Render may have been hot-swapped and/or overriden by a subclass.
|
|
256
|
+
var _displayName = getDisplayName(this);
|
|
245
257
|
|
|
246
|
-
|
|
258
|
+
console.warn("The reactive render of an observer class component (" + _displayName + ") \n was overriden after MobX attached. This may result in a memory leak if the \n overriden reactive render was not properly disposed.");
|
|
259
|
+
}
|
|
247
260
|
});
|
|
248
261
|
return componentClass;
|
|
249
262
|
} // Generates a friendly name for debugging
|
|
@@ -470,11 +483,11 @@ function Provider(props) {
|
|
|
470
483
|
stores = _objectWithoutPropertiesLoose(props, ["children"]);
|
|
471
484
|
|
|
472
485
|
var parentValue = React__default.useContext(MobXProviderContext);
|
|
473
|
-
var mutableProviderRef = React__default.useRef(_extends({}, parentValue,
|
|
486
|
+
var mutableProviderRef = React__default.useRef(_extends({}, parentValue, stores));
|
|
474
487
|
var value = mutableProviderRef.current;
|
|
475
488
|
|
|
476
489
|
{
|
|
477
|
-
var newValue = _extends({}, value,
|
|
490
|
+
var newValue = _extends({}, value, stores); // spread in previous state for the context based stores
|
|
478
491
|
|
|
479
492
|
|
|
480
493
|
if (!shallowEqual(value, newValue)) {
|
|
@@ -586,10 +599,12 @@ function disposeOnUnmount(target, propertyKeyOrFunction) {
|
|
|
586
599
|
});
|
|
587
600
|
}
|
|
588
601
|
|
|
589
|
-
var c = Object.getPrototypeOf(target).constructor
|
|
590
|
-
var c2 = Object.getPrototypeOf(target.constructor);
|
|
602
|
+
var c = Object.getPrototypeOf(target).constructor;
|
|
603
|
+
var c2 = Object.getPrototypeOf(target.constructor); // Special case for react-hot-loader
|
|
604
|
+
|
|
605
|
+
var c3 = Object.getPrototypeOf(Object.getPrototypeOf(target));
|
|
591
606
|
|
|
592
|
-
if (!(c === React__default.Component || c === React__default.PureComponent || c2 === React__default.Component || c2 === React__default.PureComponent)) {
|
|
607
|
+
if (!(c === React__default.Component || c === React__default.PureComponent || c2 === React__default.Component || c2 === React__default.PureComponent || c3 === React__default.Component || c3 === React__default.PureComponent)) {
|
|
593
608
|
throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");
|
|
594
609
|
}
|
|
595
610
|
|
|
@@ -808,12 +823,6 @@ Object.defineProperty(exports, 'Observer', {
|
|
|
808
823
|
return mobxReactLite.Observer;
|
|
809
824
|
}
|
|
810
825
|
});
|
|
811
|
-
Object.defineProperty(exports, 'isObserverBatched', {
|
|
812
|
-
enumerable: true,
|
|
813
|
-
get: function () {
|
|
814
|
-
return mobxReactLite.isObserverBatched;
|
|
815
|
-
}
|
|
816
|
-
});
|
|
817
826
|
Object.defineProperty(exports, 'isUsingStaticRendering', {
|
|
818
827
|
enumerable: true,
|
|
819
828
|
get: function () {
|
|
@@ -826,12 +835,6 @@ Object.defineProperty(exports, 'observerBatching', {
|
|
|
826
835
|
return mobxReactLite.observerBatching;
|
|
827
836
|
}
|
|
828
837
|
});
|
|
829
|
-
Object.defineProperty(exports, 'observerBatchingOptOut', {
|
|
830
|
-
enumerable: true,
|
|
831
|
-
get: function () {
|
|
832
|
-
return mobxReactLite.observerBatchingOptOut;
|
|
833
|
-
}
|
|
834
|
-
});
|
|
835
838
|
Object.defineProperty(exports, 'useAsObservableSource', {
|
|
836
839
|
enumerable: true,
|
|
837
840
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobxreact.cjs.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mobxreact.cjs.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("mobx"),t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,o=require("mobx-react-lite"),i=0,a={};function s(e){return a[e]||(a[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var r="__$mobx-react "+e+" ("+i+")";return i++,r}(e)),a[e]}function c(e,r){if(u(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])||!u(e[t[o]],r[t[o]]))return!1;return!0}function u(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}var f={$$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 l(e,r,t){Object.hasOwnProperty.call(e,r)?e[r]=t:Object.defineProperty(e,r,{enumerable:!1,configurable:!0,writable:!0,value:t})}var p=s("patchMixins"),b=s("patchedDefinition");function d(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 y(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];d.call.apply(d,[this,e,r].concat(n))}}function v(e,r,t){var n=function(e,r){var t=e[p]=e[p]||{},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[b]){var i=function e(r,t,n,o,i){var a,s=y(i,o);return(a={})[b]=!0,a.get=function(){return s},a.set=function(i){if(this===r)s=y(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=r.$mobx||"$mobx",h=s("isUnmounted"),O=s("skipRender"),g=s("isForcingUpdate");function w(e){var r=e.prototype;if(r.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==t.PureComponent)if(r.shouldComponentUpdate){if(r.shouldComponentUpdate!==x)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else r.shouldComponentUpdate=x;P(r,"props"),P(r,"state");var n=r.render;return r.render=function(){return j.call(this,n)},v(r,"componentWillUnmount",(function(){!0!==o.isUsingStaticRendering()&&(this.render[m]&&this.render[m].dispose(),this[h]=!0)})),e}function j(e){var n=this;if(!0===o.isUsingStaticRendering())return e.call(this);l(this,O,!1),l(this,g,!1);var i=this.displayName||this.name||this.constructor&&(this.constructor.displayName||this.constructor.name)||"<component>",a=e.bind(this),s=!1,c=new r.Reaction(i+".render()",(function(){if(!s&&(s=!0,!0!==n[h])){var e=!0;try{l(n,g,!0),n[O]||t.Component.prototype.forceUpdate.call(n),e=!1}finally{l(n,g,!1),e&&c.dispose()}}}));function u(){s=!1;var e=void 0,t=void 0;if(c.track((function(){try{t=r._allowStateChanges(!1,a)}catch(r){e=r}})),e)throw e;return t}return c.reactComponent=this,u[m]=c,this.render=u,u.call(this)}function x(e,r){return o.isUsingStaticRendering()&&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||!c(this.props,e)}function P(e,t){var n=s("reactProp_"+t+"_valueHolder"),o=s("reactProp_"+t+"_atomHolder");function i(){return this[o]||l(this,o,r.createAtom("reactive "+t)),this[o]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var e=!1;return r._allowStateReadsStart&&r._allowStateReadsEnd&&(e=r._allowStateReadsStart(!0)),i.call(this).reportObserved(),r._allowStateReadsStart&&r._allowStateReadsEnd&&r._allowStateReadsEnd(e),this[n]},set:function(e){this[g]||c(this[n],e)?l(this,n,e):(l(this,n,e),l(this,O,!0),i.call(this).reportChanged(),l(this,O,!1))}})}var S="function"==typeof Symbol&&Symbol.for,R=S?Symbol.for("react.forward_ref"):"function"==typeof t.forwardRef&&t.forwardRef((function(e){return null})).$$typeof,E=S?Symbol.for("react.memo"):"function"==typeof t.memo&&t.memo((function(e){return null})).$$typeof;function C(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'"),E&&e.$$typeof===E)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(R&&e.$$typeof===R){var r=e.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return t.forwardRef((function(){var e=arguments;return t.createElement(o.Observer,null,(function(){return r.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(t.Component,e)?w(e):o.observer(e)}function A(){return(A=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 k=n.createContext({});function U(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"]),o=n.useContext(k),i=n.useRef(A({},o,{},t));return n.createElement(k.Provider,{value:i.current},r)}function _(e,r,t,o){var i,a,s,c=n.forwardRef((function(t,o){var i=A({},t),a=n.useContext(k);return Object.assign(i,e(a||{},i)||{}),o&&(i.ref=o),n.createElement(r,i)}));return o&&(c=C(c)),c.isMobxInjector=!0,i=r,a=c,s=Object.getOwnPropertyNames(Object.getPrototypeOf(i)),Object.getOwnPropertyNames(i).forEach((function(e){f[e]||-1!==s.indexOf(e)||Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(i,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 M(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}}U.displayName="MobXProvider";var $=s("disposeOnUnmountProto"),T=s("disposeOnUnmountInst");function q(){var e=this;[].concat(this[$]||[],this[T]||[]).forEach((function(r){var t="string"==typeof r?e[r]:r;null!=t&&(Array.isArray(t)?t.map((function(e){return e()})):t())}))}function D(e){function t(t,n,o,i,a,s){for(var c=arguments.length,u=new Array(c>6?c-6:0),f=6;f<c;f++)u[f-6]=arguments[f];return r.untracked((function(){return i=i||"<<anonymous>>",s=s||o,null==n[o]?t?new Error("The "+a+" `"+s+"` is marked as required in `"+i+"`, but its value is `"+(null===n[o]?"null":"undefined")+"`."):null:e.apply(void 0,[n,o,i,a,s].concat(u))}))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function N(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 B(e,t){return D((function(n,o,i,a,s){return r.untracked((function(){if(e&&N(n[o])===t.toLowerCase())return null;var a;switch(t){case"Array":a=r.isObservableArray;break;case"Object":a=r.isObservableObject;break;case"Map":a=r.isObservableMap;break;default:throw new Error("Unexpected mobxType: "+t)}var c=n[o];if(!a(c)){var u=function(e){var r=N(e);if("object"===r){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return r}(c),f=e?" or javascript `"+t.toLowerCase()+"`":"";return new Error("Invalid prop `"+s+"` of type `"+u+"` supplied to `"+i+"`, expected `mobx.Observable"+t+"`"+f+".")}return null}))}))}function I(e,t){return D((function(n,o,i,a,s){for(var c=arguments.length,u=new Array(c>5?c-5:0),f=5;f<c;f++)u[f-5]=arguments[f];return r.untracked((function(){if("function"!=typeof t)return new Error("Property `"+s+"` of component `"+i+"` has invalid PropType notation.");var r=B(e,"Array")(n,o,i,a,s);if(r instanceof Error)return r;for(var c=n[o],f=0;f<c.length;f++)if((r=t.apply(void 0,[c,f,i,a,s+"["+f+"]"].concat(u)))instanceof Error)return r;return null}))}))}var F={observableArray:B(!1,"Array"),observableArrayOf:I.bind(null,!1),observableMap:B(!1,"Map"),observableObject:B(!1,"Object"),arrayOrObservableArray:B(!0,"Array"),arrayOrObservableArrayOf:I.bind(null,!0),objectOrObservableObject:B(!0,"Object")};if(!t.Component)throw new Error("mobx-react requires React to be available");if(!r.observable)throw new Error("mobx-react requires mobx to be available");Object.defineProperty(exports,"Observer",{enumerable:!0,get:function(){return o.Observer}}),Object.defineProperty(exports,"isObserverBatched",{enumerable:!0,get:function(){return o.isObserverBatched}}),Object.defineProperty(exports,"isUsingStaticRendering",{enumerable:!0,get:function(){return o.isUsingStaticRendering}}),Object.defineProperty(exports,"observerBatching",{enumerable:!0,get:function(){return o.observerBatching}}),Object.defineProperty(exports,"observerBatchingOptOut",{enumerable:!0,get:function(){return o.observerBatchingOptOut}}),Object.defineProperty(exports,"useAsObservableSource",{enumerable:!0,get:function(){return o.useAsObservableSource}}),Object.defineProperty(exports,"useLocalStore",{enumerable:!0,get:function(){return o.useLocalStore}}),Object.defineProperty(exports,"useObserver",{enumerable:!0,get:function(){return o.useObserver}}),Object.defineProperty(exports,"useStaticRendering",{enumerable:!0,get:function(){return o.useStaticRendering}}),exports.MobXProviderContext=k,exports.PropTypes=F,exports.Provider=U,exports.disposeOnUnmount=function e(r,t){if(Array.isArray(t))return t.map((function(t){return e(r,t)}));var o=Object.getPrototypeOf(r).constructor||Object.getPrototypeOf(r.constructor),i=Object.getPrototypeOf(r.constructor);if(o!==n.Component&&o!==n.PureComponent&&i!==n.Component&&i!==n.PureComponent)throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");if("string"!=typeof t&&"function"!=typeof t&&!Array.isArray(t))throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var a=!!r[$]||!!r[T];return("string"==typeof t?r[$]||(r[$]=[]):r[T]||(r[T]=[])).push(t),a||v(r,"componentWillUnmount",q),"string"!=typeof t?t:void 0},exports.inject=function(){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 _(n,e,n.name,!0)}}return function(e){return _(M(r),e,r.join("-"),!1)}},exports.observer=C;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("mobx"),t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,o=require("mobx-react-lite"),a=0,i={};function s(e){return i[e]||(i[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var r="__$mobx-react "+e+" ("+a+")";return a++,r}(e)),i[e]}function c(e,r){if(u(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])||!u(e[t[o]],r[t[o]]))return!1;return!0}function u(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}var f={$$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 l(e,r,t){Object.hasOwnProperty.call(e,r)?e[r]=t:Object.defineProperty(e,r,{enumerable:!1,configurable:!0,writable:!0,value:t})}var p=s("patchMixins"),b=s("patchedDefinition");function d(e,r){for(var t=this,n=arguments.length,o=new Array(n>2?n-2:0),a=2;a<n;a++)o[a-2]=arguments[a];r.locks++;try{var i;return null!=e&&(i=e.apply(this,o)),i}finally{r.locks--,0===r.locks&&r.methods.forEach((function(e){e.apply(t,o)}))}}function y(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];d.call.apply(d,[this,e,r].concat(n))}}function v(e,r,t){var n=function(e,r){var t=e[p]=e[p]||{},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[b]){var a=function e(r,t,n,o,a){var i,s=y(a,o);return(i={})[b]=!0,i.get=function(){return s},i.set=function(a){if(this===r)s=y(a,o);else{var i=e(this,t,n,o,a);Object.defineProperty(this,t,i)}},i.configurable=!0,i.enumerable=n,i}(e,r,o?o.enumerable:void 0,n,e[r]);Object.defineProperty(e,r,a)}}var m=r.$mobx||"$mobx",h=s("isMobXReactObserver"),O=s("isUnmounted"),g=s("skipRender"),w=s("isForcingUpdate");function j(e){var r=e.prototype;if(e[h]){var n=x(r);console.warn("The provided component class ("+n+") \n has already been declared as an observer component.")}else e[h]=!0;if(r.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==t.PureComponent)if(r.shouldComponentUpdate){if(r.shouldComponentUpdate!==R)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else r.shouldComponentUpdate=R;S(r,"props"),S(r,"state");var a=r.render;return r.render=function(){return P.call(this,a)},v(r,"componentWillUnmount",(function(){var e;if(!0!==o.isUsingStaticRendering()&&(null===(e=this.render[m])||void 0===e||e.dispose(),this[O]=!0,!this.render[m])){var r=x(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 x(e){return e.displayName||e.name||e.constructor&&(e.constructor.displayName||e.constructor.name)||"<component>"}function P(e){var n=this;if(!0===o.isUsingStaticRendering())return e.call(this);l(this,g,!1),l(this,w,!1);var a=x(this),i=e.bind(this),s=!1,c=new r.Reaction(a+".render()",(function(){if(!s&&(s=!0,!0!==n[O])){var e=!0;try{l(n,w,!0),n[g]||t.Component.prototype.forceUpdate.call(n),e=!1}finally{l(n,w,!1),e&&c.dispose()}}}));function u(){s=!1;var e=void 0,t=void 0;if(c.track((function(){try{t=r._allowStateChanges(!1,i)}catch(r){e=r}})),e)throw e;return t}return c.reactComponent=this,u[m]=c,this.render=u,u.call(this)}function R(e,r){return o.isUsingStaticRendering()&&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||!c(this.props,e)}function S(e,t){var n=s("reactProp_"+t+"_valueHolder"),o=s("reactProp_"+t+"_atomHolder");function a(){return this[o]||l(this,o,r.createAtom("reactive "+t)),this[o]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var e=!1;return r._allowStateReadsStart&&r._allowStateReadsEnd&&(e=r._allowStateReadsStart(!0)),a.call(this).reportObserved(),r._allowStateReadsStart&&r._allowStateReadsEnd&&r._allowStateReadsEnd(e),this[n]},set:function(e){this[w]||c(this[n],e)?l(this,n,e):(l(this,n,e),l(this,g,!0),a.call(this).reportChanged(),l(this,g,!1))}})}var C="function"==typeof Symbol&&Symbol.for,E=C?Symbol.for("react.forward_ref"):"function"==typeof t.forwardRef&&t.forwardRef((function(e){return null})).$$typeof,A=C?Symbol.for("react.memo"):"function"==typeof t.memo&&t.memo((function(e){return null})).$$typeof;function k(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'"),A&&e.$$typeof===A)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(E&&e.$$typeof===E){var r=e.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return t.forwardRef((function(){var e=arguments;return t.createElement(o.Observer,null,(function(){return r.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(t.Component,e)?j(e):o.observer(e)}function U(){return(U=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 _=n.createContext({});function M(e){var r=e.children,t=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r.indexOf(t=a[n])>=0||(o[t]=e[t]);return o}(e,["children"]),o=n.useContext(_),a=n.useRef(U({},o,t));return n.createElement(_.Provider,{value:a.current},r)}function T(e,r,t,o){var a,i,s,c=n.forwardRef((function(t,o){var a=U({},t),i=n.useContext(_);return Object.assign(a,e(i||{},a)||{}),o&&(a.ref=o),n.createElement(r,a)}));return o&&(c=k(c)),c.isMobxInjector=!0,a=r,i=c,s=Object.getOwnPropertyNames(Object.getPrototypeOf(a)),Object.getOwnPropertyNames(a).forEach((function(e){f[e]||-1!==s.indexOf(e)||Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(a,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 $(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}}M.displayName="MobXProvider";var q=s("disposeOnUnmountProto"),D=s("disposeOnUnmountInst");function N(){var e=this;[].concat(this[q]||[],this[D]||[]).forEach((function(r){var t="string"==typeof r?e[r]:r;null!=t&&(Array.isArray(t)?t.map((function(e){return e()})):t())}))}function I(e){function t(t,n,o,a,i,s){for(var c=arguments.length,u=new Array(c>6?c-6:0),f=6;f<c;f++)u[f-6]=arguments[f];return r.untracked((function(){return a=a||"<<anonymous>>",s=s||o,null==n[o]?t?new Error("The "+i+" `"+s+"` is marked as required in `"+a+"`, but its value is `"+(null===n[o]?"null":"undefined")+"`."):null:e.apply(void 0,[n,o,a,i,s].concat(u))}))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function X(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 F(e,t){return I((function(n,o,a,i,s){return r.untracked((function(){if(e&&X(n[o])===t.toLowerCase())return null;var i;switch(t){case"Array":i=r.isObservableArray;break;case"Object":i=r.isObservableObject;break;case"Map":i=r.isObservableMap;break;default:throw new Error("Unexpected mobxType: "+t)}var c=n[o];if(!i(c)){var u=function(e){var r=X(e);if("object"===r){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return r}(c),f=e?" or javascript `"+t.toLowerCase()+"`":"";return new Error("Invalid prop `"+s+"` of type `"+u+"` supplied to `"+a+"`, expected `mobx.Observable"+t+"`"+f+".")}return null}))}))}function L(e,t){return I((function(n,o,a,i,s){for(var c=arguments.length,u=new Array(c>5?c-5:0),f=5;f<c;f++)u[f-5]=arguments[f];return r.untracked((function(){if("function"!=typeof t)return new Error("Property `"+s+"` of component `"+a+"` has invalid PropType notation.");var r=F(e,"Array")(n,o,a,i,s);if(r instanceof Error)return r;for(var c=n[o],f=0;f<c.length;f++)if((r=t.apply(void 0,[c,f,a,i,s+"["+f+"]"].concat(u)))instanceof Error)return r;return null}))}))}var W={observableArray:F(!1,"Array"),observableArrayOf:L.bind(null,!1),observableMap:F(!1,"Map"),observableObject:F(!1,"Object"),arrayOrObservableArray:F(!0,"Array"),arrayOrObservableArrayOf:L.bind(null,!0),objectOrObservableObject:F(!0,"Object")};if(!t.Component)throw new Error("mobx-react requires React to be available");if(!r.observable)throw new Error("mobx-react requires mobx to be available");Object.defineProperty(exports,"Observer",{enumerable:!0,get:function(){return o.Observer}}),Object.defineProperty(exports,"isUsingStaticRendering",{enumerable:!0,get:function(){return o.isUsingStaticRendering}}),Object.defineProperty(exports,"observerBatching",{enumerable:!0,get:function(){return o.observerBatching}}),Object.defineProperty(exports,"useAsObservableSource",{enumerable:!0,get:function(){return o.useAsObservableSource}}),Object.defineProperty(exports,"useLocalStore",{enumerable:!0,get:function(){return o.useLocalStore}}),Object.defineProperty(exports,"useObserver",{enumerable:!0,get:function(){return o.useObserver}}),Object.defineProperty(exports,"useStaticRendering",{enumerable:!0,get:function(){return o.useStaticRendering}}),exports.MobXProviderContext=_,exports.PropTypes=W,exports.Provider=M,exports.disposeOnUnmount=function e(r,t){if(Array.isArray(t))return t.map((function(t){return e(r,t)}));var o=Object.getPrototypeOf(r).constructor,a=Object.getPrototypeOf(r.constructor),i=Object.getPrototypeOf(Object.getPrototypeOf(r));if(o!==n.Component&&o!==n.PureComponent&&a!==n.Component&&a!==n.PureComponent&&i!==n.Component&&i!==n.PureComponent)throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");if("string"!=typeof t&&"function"!=typeof t&&!Array.isArray(t))throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var s=!!r[q]||!!r[D];return("string"==typeof t?r[q]||(r[q]=[]):r[D]||(r[D]=[])).push(t),s||v(r,"componentWillUnmount",N),"string"!=typeof t?t:void 0},exports.inject=function(){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 T(n,e,n.name,!0)}}return function(e){return T($(r),e,r.join("-"),!1)}},exports.observer=k;
|
|
2
2
|
//# sourceMappingURL=mobxreact.cjs.production.min.js.map
|
package/dist/mobxreact.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Reaction, _allowStateChanges, _allowStateReadsStart, _allowStateReadsEnd, $mobx, createAtom, untracked, isObservableMap, isObservableObject, isObservableArray, observable } from 'mobx';
|
|
2
2
|
import React__default, { PureComponent, Component, forwardRef, memo, createElement } from 'react';
|
|
3
3
|
import { isUsingStaticRendering, Observer, observer as observer$1 } from 'mobx-react-lite';
|
|
4
|
-
export { Observer,
|
|
4
|
+
export { Observer, isUsingStaticRendering, observerBatching, useAsObservableSource, useLocalStore, useObserver, useStaticRendering } from 'mobx-react-lite';
|
|
5
5
|
|
|
6
6
|
var symbolId = 0;
|
|
7
7
|
|
|
@@ -197,6 +197,9 @@ function createDefinition(target, methodName, enumerable, mixins, originalMethod
|
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
var mobxAdminProperty = $mobx || "$mobx";
|
|
200
|
+
var mobxObserverProperty =
|
|
201
|
+
/*#__PURE__*/
|
|
202
|
+
newSymbol("isMobXReactObserver");
|
|
200
203
|
var mobxIsUnmounted =
|
|
201
204
|
/*#__PURE__*/
|
|
202
205
|
newSymbol("isUnmounted");
|
|
@@ -208,6 +211,14 @@ var isForcingUpdateKey =
|
|
|
208
211
|
newSymbol("isForcingUpdate");
|
|
209
212
|
function makeClassComponentObserver(componentClass) {
|
|
210
213
|
var target = componentClass.prototype;
|
|
214
|
+
|
|
215
|
+
if (componentClass[mobxObserverProperty]) {
|
|
216
|
+
var displayName = getDisplayName(target);
|
|
217
|
+
console.warn("The provided component class (" + displayName + ") \n has already been declared as an observer component.");
|
|
218
|
+
} else {
|
|
219
|
+
componentClass[mobxObserverProperty] = true;
|
|
220
|
+
}
|
|
221
|
+
|
|
211
222
|
if (target.componentWillReact) throw new Error("The componentWillReact life-cycle event is no longer supported");
|
|
212
223
|
|
|
213
224
|
if (componentClass["__proto__"] !== PureComponent) {
|
|
@@ -228,16 +239,18 @@ function makeClassComponentObserver(componentClass) {
|
|
|
228
239
|
};
|
|
229
240
|
|
|
230
241
|
patch(target, "componentWillUnmount", function () {
|
|
242
|
+
var _this$render$mobxAdmi;
|
|
243
|
+
|
|
231
244
|
if (isUsingStaticRendering() === true) return;
|
|
245
|
+
(_this$render$mobxAdmi = this.render[mobxAdminProperty]) === null || _this$render$mobxAdmi === void 0 ? void 0 : _this$render$mobxAdmi.dispose();
|
|
246
|
+
this[mobxIsUnmounted] = true;
|
|
232
247
|
|
|
233
|
-
if (this.render[mobxAdminProperty]) {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
var displayName = getDisplayName(this);
|
|
237
|
-
console.warn("The render function for an observer component (" + displayName + ") was modified after MobX attached. This is not supported, since the new function can't be triggered by MobX.");
|
|
238
|
-
}
|
|
248
|
+
if (!this.render[mobxAdminProperty]) {
|
|
249
|
+
// Render may have been hot-swapped and/or overriden by a subclass.
|
|
250
|
+
var _displayName = getDisplayName(this);
|
|
239
251
|
|
|
240
|
-
|
|
252
|
+
console.warn("The reactive render of an observer class component (" + _displayName + ") \n was overriden after MobX attached. This may result in a memory leak if the \n overriden reactive render was not properly disposed.");
|
|
253
|
+
}
|
|
241
254
|
});
|
|
242
255
|
return componentClass;
|
|
243
256
|
} // Generates a friendly name for debugging
|
|
@@ -464,11 +477,11 @@ function Provider(props) {
|
|
|
464
477
|
stores = _objectWithoutPropertiesLoose(props, ["children"]);
|
|
465
478
|
|
|
466
479
|
var parentValue = React__default.useContext(MobXProviderContext);
|
|
467
|
-
var mutableProviderRef = React__default.useRef(_extends({}, parentValue,
|
|
480
|
+
var mutableProviderRef = React__default.useRef(_extends({}, parentValue, stores));
|
|
468
481
|
var value = mutableProviderRef.current;
|
|
469
482
|
|
|
470
483
|
if (process.env.NODE_ENV !== "production") {
|
|
471
|
-
var newValue = _extends({}, value,
|
|
484
|
+
var newValue = _extends({}, value, stores); // spread in previous state for the context based stores
|
|
472
485
|
|
|
473
486
|
|
|
474
487
|
if (!shallowEqual(value, newValue)) {
|
|
@@ -580,10 +593,12 @@ function disposeOnUnmount(target, propertyKeyOrFunction) {
|
|
|
580
593
|
});
|
|
581
594
|
}
|
|
582
595
|
|
|
583
|
-
var c = Object.getPrototypeOf(target).constructor
|
|
584
|
-
var c2 = Object.getPrototypeOf(target.constructor);
|
|
596
|
+
var c = Object.getPrototypeOf(target).constructor;
|
|
597
|
+
var c2 = Object.getPrototypeOf(target.constructor); // Special case for react-hot-loader
|
|
598
|
+
|
|
599
|
+
var c3 = Object.getPrototypeOf(Object.getPrototypeOf(target));
|
|
585
600
|
|
|
586
|
-
if (!(c === React__default.Component || c === React__default.PureComponent || c2 === React__default.Component || c2 === React__default.PureComponent)) {
|
|
601
|
+
if (!(c === React__default.Component || c === React__default.PureComponent || c2 === React__default.Component || c2 === React__default.PureComponent || c3 === React__default.Component || c3 === React__default.PureComponent)) {
|
|
587
602
|
throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");
|
|
588
603
|
}
|
|
589
604
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobxreact.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mobxreact.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -200,6 +200,9 @@
|
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
var mobxAdminProperty = mobx.$mobx || "$mobx";
|
|
203
|
+
var mobxObserverProperty =
|
|
204
|
+
/*#__PURE__*/
|
|
205
|
+
newSymbol("isMobXReactObserver");
|
|
203
206
|
var mobxIsUnmounted =
|
|
204
207
|
/*#__PURE__*/
|
|
205
208
|
newSymbol("isUnmounted");
|
|
@@ -211,6 +214,14 @@
|
|
|
211
214
|
newSymbol("isForcingUpdate");
|
|
212
215
|
function makeClassComponentObserver(componentClass) {
|
|
213
216
|
var target = componentClass.prototype;
|
|
217
|
+
|
|
218
|
+
if (componentClass[mobxObserverProperty]) {
|
|
219
|
+
var displayName = getDisplayName(target);
|
|
220
|
+
console.warn("The provided component class (" + displayName + ") \n has already been declared as an observer component.");
|
|
221
|
+
} else {
|
|
222
|
+
componentClass[mobxObserverProperty] = true;
|
|
223
|
+
}
|
|
224
|
+
|
|
214
225
|
if (target.componentWillReact) throw new Error("The componentWillReact life-cycle event is no longer supported");
|
|
215
226
|
|
|
216
227
|
if (componentClass["__proto__"] !== React.PureComponent) {
|
|
@@ -231,16 +242,18 @@
|
|
|
231
242
|
};
|
|
232
243
|
|
|
233
244
|
patch(target, "componentWillUnmount", function () {
|
|
245
|
+
var _this$render$mobxAdmi;
|
|
246
|
+
|
|
234
247
|
if (mobxReactLite.isUsingStaticRendering() === true) return;
|
|
248
|
+
(_this$render$mobxAdmi = this.render[mobxAdminProperty]) === null || _this$render$mobxAdmi === void 0 ? void 0 : _this$render$mobxAdmi.dispose();
|
|
249
|
+
this[mobxIsUnmounted] = true;
|
|
235
250
|
|
|
236
|
-
if (this.render[mobxAdminProperty]) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
var displayName = getDisplayName(this);
|
|
240
|
-
console.warn("The render function for an observer component (" + displayName + ") was modified after MobX attached. This is not supported, since the new function can't be triggered by MobX.");
|
|
241
|
-
}
|
|
251
|
+
if (!this.render[mobxAdminProperty]) {
|
|
252
|
+
// Render may have been hot-swapped and/or overriden by a subclass.
|
|
253
|
+
var _displayName = getDisplayName(this);
|
|
242
254
|
|
|
243
|
-
|
|
255
|
+
console.warn("The reactive render of an observer class component (" + _displayName + ") \n was overriden after MobX attached. This may result in a memory leak if the \n overriden reactive render was not properly disposed.");
|
|
256
|
+
}
|
|
244
257
|
});
|
|
245
258
|
return componentClass;
|
|
246
259
|
} // Generates a friendly name for debugging
|
|
@@ -467,11 +480,11 @@
|
|
|
467
480
|
stores = _objectWithoutPropertiesLoose(props, ["children"]);
|
|
468
481
|
|
|
469
482
|
var parentValue = React__default.useContext(MobXProviderContext);
|
|
470
|
-
var mutableProviderRef = React__default.useRef(_extends({}, parentValue,
|
|
483
|
+
var mutableProviderRef = React__default.useRef(_extends({}, parentValue, stores));
|
|
471
484
|
var value = mutableProviderRef.current;
|
|
472
485
|
|
|
473
486
|
{
|
|
474
|
-
var newValue = _extends({}, value,
|
|
487
|
+
var newValue = _extends({}, value, stores); // spread in previous state for the context based stores
|
|
475
488
|
|
|
476
489
|
|
|
477
490
|
if (!shallowEqual(value, newValue)) {
|
|
@@ -583,10 +596,12 @@
|
|
|
583
596
|
});
|
|
584
597
|
}
|
|
585
598
|
|
|
586
|
-
var c = Object.getPrototypeOf(target).constructor
|
|
587
|
-
var c2 = Object.getPrototypeOf(target.constructor);
|
|
599
|
+
var c = Object.getPrototypeOf(target).constructor;
|
|
600
|
+
var c2 = Object.getPrototypeOf(target.constructor); // Special case for react-hot-loader
|
|
601
|
+
|
|
602
|
+
var c3 = Object.getPrototypeOf(Object.getPrototypeOf(target));
|
|
588
603
|
|
|
589
|
-
if (!(c === React__default.Component || c === React__default.PureComponent || c2 === React__default.Component || c2 === React__default.PureComponent)) {
|
|
604
|
+
if (!(c === React__default.Component || c === React__default.PureComponent || c2 === React__default.Component || c2 === React__default.PureComponent || c3 === React__default.Component || c3 === React__default.PureComponent)) {
|
|
590
605
|
throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");
|
|
591
606
|
}
|
|
592
607
|
|
|
@@ -805,12 +820,6 @@
|
|
|
805
820
|
return mobxReactLite.Observer;
|
|
806
821
|
}
|
|
807
822
|
});
|
|
808
|
-
Object.defineProperty(exports, 'isObserverBatched', {
|
|
809
|
-
enumerable: true,
|
|
810
|
-
get: function () {
|
|
811
|
-
return mobxReactLite.isObserverBatched;
|
|
812
|
-
}
|
|
813
|
-
});
|
|
814
823
|
Object.defineProperty(exports, 'isUsingStaticRendering', {
|
|
815
824
|
enumerable: true,
|
|
816
825
|
get: function () {
|
|
@@ -823,12 +832,6 @@
|
|
|
823
832
|
return mobxReactLite.observerBatching;
|
|
824
833
|
}
|
|
825
834
|
});
|
|
826
|
-
Object.defineProperty(exports, 'observerBatchingOptOut', {
|
|
827
|
-
enumerable: true,
|
|
828
|
-
get: function () {
|
|
829
|
-
return mobxReactLite.observerBatchingOptOut;
|
|
830
|
-
}
|
|
831
|
-
});
|
|
832
835
|
Object.defineProperty(exports, 'useAsObservableSource', {
|
|
833
836
|
enumerable: true,
|
|
834
837
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobxreact.umd.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mobxreact.umd.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("mobx"),require("react"),require("mobx-react-lite")):"function"==typeof define&&define.amd?define(["exports","mobx","react","mobx-react-lite"],r):r((e=e||self).mobxReact={},e.mobx,e.React,e.mobxReactLite)}(this,(function(e,r,t,n){"use strict";var o="default"in t?t.default:t,i=0,a={};function c(e){return a[e]||(a[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var r="__$mobx-react "+e+" ("+i+")";return i++,r}(e)),a[e]}function u(e,r){if(s(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])||!s(e[t[o]],r[t[o]]))return!1;return!0}function s(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}var f={$$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 l(e,r,t){Object.hasOwnProperty.call(e,r)?e[r]=t:Object.defineProperty(e,r,{enumerable:!1,configurable:!0,writable:!0,value:t})}var p=c("patchMixins"),b=c("patchedDefinition");function d(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 y(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];d.call.apply(d,[this,e,r].concat(n))}}function m(e,r,t){var n=function(e,r){var t=e[p]=e[p]||{},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[b]){var i=function e(r,t,n,o,i){var a,c=y(i,o);return(a={})[b]=!0,a.get=function(){return c},a.set=function(i){if(this===r)c=y(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 v=r.$mobx||"$mobx",h=c("isUnmounted"),O=c("skipRender"),g=c("isForcingUpdate");function w(e){var r=e.prototype;if(r.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==t.PureComponent)if(r.shouldComponentUpdate){if(r.shouldComponentUpdate!==P)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else r.shouldComponentUpdate=P;x(r,"props"),x(r,"state");var o=r.render;return r.render=function(){return j.call(this,o)},m(r,"componentWillUnmount",(function(){!0!==n.isUsingStaticRendering()&&(this.render[v]&&this.render[v].dispose(),this[h]=!0)})),e}function j(e){var o=this;if(!0===n.isUsingStaticRendering())return e.call(this);l(this,O,!1),l(this,g,!1);var i=this.displayName||this.name||this.constructor&&(this.constructor.displayName||this.constructor.name)||"<component>",a=e.bind(this),c=!1,u=new r.Reaction(i+".render()",(function(){if(!c&&(c=!0,!0!==o[h])){var e=!0;try{l(o,g,!0),o[O]||t.Component.prototype.forceUpdate.call(o),e=!1}finally{l(o,g,!1),e&&u.dispose()}}}));function s(){c=!1;var e=void 0,t=void 0;if(u.track((function(){try{t=r._allowStateChanges(!1,a)}catch(r){e=r}})),e)throw e;return t}return u.reactComponent=this,s[v]=u,this.render=s,s.call(this)}function P(e,r){return n.isUsingStaticRendering()&&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||!u(this.props,e)}function x(e,t){var n=c("reactProp_"+t+"_valueHolder"),o=c("reactProp_"+t+"_atomHolder");function i(){return this[o]||l(this,o,r.createAtom("reactive "+t)),this[o]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var e=!1;return r._allowStateReadsStart&&r._allowStateReadsEnd&&(e=r._allowStateReadsStart(!0)),i.call(this).reportObserved(),r._allowStateReadsStart&&r._allowStateReadsEnd&&r._allowStateReadsEnd(e),this[n]},set:function(e){this[g]||u(this[n],e)?l(this,n,e):(l(this,n,e),l(this,O,!0),i.call(this).reportChanged(),l(this,O,!1))}})}var R="function"==typeof Symbol&&Symbol.for,S=R?Symbol.for("react.forward_ref"):"function"==typeof t.forwardRef&&t.forwardRef((function(e){return null})).$$typeof,E=R?Symbol.for("react.memo"):"function"==typeof t.memo&&t.memo((function(e){return null})).$$typeof;function C(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'"),E&&e.$$typeof===E)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(S&&e.$$typeof===S){var r=e.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return t.forwardRef((function(){var e=arguments;return t.createElement(n.Observer,null,(function(){return r.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(t.Component,e)?w(e):n.observer(e)}function A(){return(A=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 k=o.createContext({});function U(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=o.useContext(k),i=o.useRef(A({},n,{},t));return o.createElement(k.Provider,{value:i.current},r)}function _(e,r,t,n){var i,a,c,u=o.forwardRef((function(t,n){var i=A({},t),a=o.useContext(k);return Object.assign(i,e(a||{},i)||{}),n&&(i.ref=n),o.createElement(r,i)}));return n&&(u=C(u)),u.isMobxInjector=!0,i=r,a=u,c=Object.getOwnPropertyNames(Object.getPrototypeOf(i)),Object.getOwnPropertyNames(i).forEach((function(e){f[e]||-1!==c.indexOf(e)||Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(i,e))})),u.wrappedComponent=r,u.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),u}function M(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}}U.displayName="MobXProvider";var $=c("disposeOnUnmountProto"),T=c("disposeOnUnmountInst");function q(){var e=this;[].concat(this[$]||[],this[T]||[]).forEach((function(r){var t="string"==typeof r?e[r]:r;null!=t&&(Array.isArray(t)?t.map((function(e){return e()})):t())}))}function D(e){function t(t,n,o,i,a,c){for(var u=arguments.length,s=new Array(u>6?u-6:0),f=6;f<u;f++)s[f-6]=arguments[f];return r.untracked((function(){return i=i||"<<anonymous>>",c=c||o,null==n[o]?t?new Error("The "+a+" `"+c+"` is marked as required in `"+i+"`, but its value is `"+(null===n[o]?"null":"undefined")+"`."):null:e.apply(void 0,[n,o,i,a,c].concat(s))}))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function N(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 B(e,t){return D((function(n,o,i,a,c){return r.untracked((function(){if(e&&N(n[o])===t.toLowerCase())return null;var a;switch(t){case"Array":a=r.isObservableArray;break;case"Object":a=r.isObservableObject;break;case"Map":a=r.isObservableMap;break;default:throw new Error("Unexpected mobxType: "+t)}var u=n[o];if(!a(u)){var s=function(e){var r=N(e);if("object"===r){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return r}(u),f=e?" or javascript `"+t.toLowerCase()+"`":"";return new Error("Invalid prop `"+c+"` of type `"+s+"` supplied to `"+i+"`, expected `mobx.Observable"+t+"`"+f+".")}return null}))}))}function I(e,t){return D((function(n,o,i,a,c){for(var u=arguments.length,s=new Array(u>5?u-5:0),f=5;f<u;f++)s[f-5]=arguments[f];return r.untracked((function(){if("function"!=typeof t)return new Error("Property `"+c+"` of component `"+i+"` has invalid PropType notation.");var r=B(e,"Array")(n,o,i,a,c);if(r instanceof Error)return r;for(var u=n[o],f=0;f<u.length;f++)if((r=t.apply(void 0,[u,f,i,a,c+"["+f+"]"].concat(s)))instanceof Error)return r;return null}))}))}var L={observableArray:B(!1,"Array"),observableArrayOf:I.bind(null,!1),observableMap:B(!1,"Map"),observableObject:B(!1,"Object"),arrayOrObservableArray:B(!0,"Array"),arrayOrObservableArrayOf:I.bind(null,!0),objectOrObservableObject:B(!0,"Object")};if(!t.Component)throw new Error("mobx-react requires React to be available");if(!r.observable)throw new Error("mobx-react requires mobx to be available");Object.defineProperty(e,"Observer",{enumerable:!0,get:function(){return n.Observer}}),Object.defineProperty(e,"isObserverBatched",{enumerable:!0,get:function(){return n.isObserverBatched}}),Object.defineProperty(e,"isUsingStaticRendering",{enumerable:!0,get:function(){return n.isUsingStaticRendering}}),Object.defineProperty(e,"observerBatching",{enumerable:!0,get:function(){return n.observerBatching}}),Object.defineProperty(e,"observerBatchingOptOut",{enumerable:!0,get:function(){return n.observerBatchingOptOut}}),Object.defineProperty(e,"useAsObservableSource",{enumerable:!0,get:function(){return n.useAsObservableSource}}),Object.defineProperty(e,"useLocalStore",{enumerable:!0,get:function(){return n.useLocalStore}}),Object.defineProperty(e,"useObserver",{enumerable:!0,get:function(){return n.useObserver}}),Object.defineProperty(e,"useStaticRendering",{enumerable:!0,get:function(){return n.useStaticRendering}}),e.MobXProviderContext=k,e.PropTypes=L,e.Provider=U,e.disposeOnUnmount=function e(r,t){if(Array.isArray(t))return t.map((function(t){return e(r,t)}));var n=Object.getPrototypeOf(r).constructor||Object.getPrototypeOf(r.constructor),i=Object.getPrototypeOf(r.constructor);if(n!==o.Component&&n!==o.PureComponent&&i!==o.Component&&i!==o.PureComponent)throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");if("string"!=typeof t&&"function"!=typeof t&&!Array.isArray(t))throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var a=!!r[$]||!!r[T];return("string"==typeof t?r[$]||(r[$]=[]):r[T]||(r[T]=[])).push(t),a||m(r,"componentWillUnmount",q),"string"!=typeof t?t:void 0},e.inject=function(){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 _(n,e,n.name,!0)}}return function(e){return _(M(r),e,r.join("-"),!1)}},e.observer=C,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("mobx"),require("react"),require("mobx-react-lite")):"function"==typeof define&&define.amd?define(["exports","mobx","react","mobx-react-lite"],r):r((e=e||self).mobxReact={},e.mobx,e.React,e.mobxReactLite)}(this,(function(e,r,t,n){"use strict";var o="default"in t?t.default:t,a=0,i={};function c(e){return i[e]||(i[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var r="__$mobx-react "+e+" ("+a+")";return a++,r}(e)),i[e]}function s(e,r){if(u(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])||!u(e[t[o]],r[t[o]]))return!1;return!0}function u(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}var f={$$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 l(e,r,t){Object.hasOwnProperty.call(e,r)?e[r]=t:Object.defineProperty(e,r,{enumerable:!1,configurable:!0,writable:!0,value:t})}var p=c("patchMixins"),b=c("patchedDefinition");function d(e,r){for(var t=this,n=arguments.length,o=new Array(n>2?n-2:0),a=2;a<n;a++)o[a-2]=arguments[a];r.locks++;try{var i;return null!=e&&(i=e.apply(this,o)),i}finally{r.locks--,0===r.locks&&r.methods.forEach((function(e){e.apply(t,o)}))}}function y(e,r){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];d.call.apply(d,[this,e,r].concat(n))}}function m(e,r,t){var n=function(e,r){var t=e[p]=e[p]||{},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[b]){var a=function e(r,t,n,o,a){var i,c=y(a,o);return(i={})[b]=!0,i.get=function(){return c},i.set=function(a){if(this===r)c=y(a,o);else{var i=e(this,t,n,o,a);Object.defineProperty(this,t,i)}},i.configurable=!0,i.enumerable=n,i}(e,r,o?o.enumerable:void 0,n,e[r]);Object.defineProperty(e,r,a)}}var v=r.$mobx||"$mobx",h=c("isMobXReactObserver"),O=c("isUnmounted"),g=c("skipRender"),w=c("isForcingUpdate");function j(e){var r=e.prototype;if(e[h]){var o=P(r);console.warn("The provided component class ("+o+") \n has already been declared as an observer component.")}else e[h]=!0;if(r.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==t.PureComponent)if(r.shouldComponentUpdate){if(r.shouldComponentUpdate!==R)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else r.shouldComponentUpdate=R;S(r,"props"),S(r,"state");var a=r.render;return r.render=function(){return x.call(this,a)},m(r,"componentWillUnmount",(function(){var e;if(!0!==n.isUsingStaticRendering()&&(null===(e=this.render[v])||void 0===e||e.dispose(),this[O]=!0,!this.render[v])){var r=P(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 P(e){return e.displayName||e.name||e.constructor&&(e.constructor.displayName||e.constructor.name)||"<component>"}function x(e){var o=this;if(!0===n.isUsingStaticRendering())return e.call(this);l(this,g,!1),l(this,w,!1);var a=P(this),i=e.bind(this),c=!1,s=new r.Reaction(a+".render()",(function(){if(!c&&(c=!0,!0!==o[O])){var e=!0;try{l(o,w,!0),o[g]||t.Component.prototype.forceUpdate.call(o),e=!1}finally{l(o,w,!1),e&&s.dispose()}}}));function u(){c=!1;var e=void 0,t=void 0;if(s.track((function(){try{t=r._allowStateChanges(!1,i)}catch(r){e=r}})),e)throw e;return t}return s.reactComponent=this,u[v]=s,this.render=u,u.call(this)}function R(e,r){return n.isUsingStaticRendering()&&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||!s(this.props,e)}function S(e,t){var n=c("reactProp_"+t+"_valueHolder"),o=c("reactProp_"+t+"_atomHolder");function a(){return this[o]||l(this,o,r.createAtom("reactive "+t)),this[o]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var e=!1;return r._allowStateReadsStart&&r._allowStateReadsEnd&&(e=r._allowStateReadsStart(!0)),a.call(this).reportObserved(),r._allowStateReadsStart&&r._allowStateReadsEnd&&r._allowStateReadsEnd(e),this[n]},set:function(e){this[w]||s(this[n],e)?l(this,n,e):(l(this,n,e),l(this,g,!0),a.call(this).reportChanged(),l(this,g,!1))}})}var C="function"==typeof Symbol&&Symbol.for,E=C?Symbol.for("react.forward_ref"):"function"==typeof t.forwardRef&&t.forwardRef((function(e){return null})).$$typeof,A=C?Symbol.for("react.memo"):"function"==typeof t.memo&&t.memo((function(e){return null})).$$typeof;function k(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'"),A&&e.$$typeof===A)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(E&&e.$$typeof===E){var r=e.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return t.forwardRef((function(){var e=arguments;return t.createElement(n.Observer,null,(function(){return r.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(t.Component,e)?j(e):n.observer(e)}function U(){return(U=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 _=o.createContext({});function M(e){var r=e.children,t=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r.indexOf(t=a[n])>=0||(o[t]=e[t]);return o}(e,["children"]),n=o.useContext(_),a=o.useRef(U({},n,t));return o.createElement(_.Provider,{value:a.current},r)}function T(e,r,t,n){var a,i,c,s=o.forwardRef((function(t,n){var a=U({},t),i=o.useContext(_);return Object.assign(a,e(i||{},a)||{}),n&&(a.ref=n),o.createElement(r,a)}));return n&&(s=k(s)),s.isMobxInjector=!0,a=r,i=s,c=Object.getOwnPropertyNames(Object.getPrototypeOf(a)),Object.getOwnPropertyNames(a).forEach((function(e){f[e]||-1!==c.indexOf(e)||Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(a,e))})),s.wrappedComponent=r,s.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),s}function $(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}}M.displayName="MobXProvider";var q=c("disposeOnUnmountProto"),D=c("disposeOnUnmountInst");function N(){var e=this;[].concat(this[q]||[],this[D]||[]).forEach((function(r){var t="string"==typeof r?e[r]:r;null!=t&&(Array.isArray(t)?t.map((function(e){return e()})):t())}))}function I(e){function t(t,n,o,a,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 r.untracked((function(){return a=a||"<<anonymous>>",c=c||o,null==n[o]?t?new Error("The "+i+" `"+c+"` is marked as required in `"+a+"`, but its value is `"+(null===n[o]?"null":"undefined")+"`."):null:e.apply(void 0,[n,o,a,i,c].concat(u))}))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function L(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 X(e,t){return I((function(n,o,a,i,c){return r.untracked((function(){if(e&&L(n[o])===t.toLowerCase())return null;var i;switch(t){case"Array":i=r.isObservableArray;break;case"Object":i=r.isObservableObject;break;case"Map":i=r.isObservableMap;break;default:throw new Error("Unexpected mobxType: "+t)}var s=n[o];if(!i(s)){var u=function(e){var r=L(e);if("object"===r){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return r}(s),f=e?" or javascript `"+t.toLowerCase()+"`":"";return new Error("Invalid prop `"+c+"` of type `"+u+"` supplied to `"+a+"`, expected `mobx.Observable"+t+"`"+f+".")}return null}))}))}function F(e,t){return I((function(n,o,a,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 r.untracked((function(){if("function"!=typeof t)return new Error("Property `"+c+"` of component `"+a+"` has invalid PropType notation.");var r=X(e,"Array")(n,o,a,i,c);if(r instanceof Error)return r;for(var s=n[o],f=0;f<s.length;f++)if((r=t.apply(void 0,[s,f,a,i,c+"["+f+"]"].concat(u)))instanceof Error)return r;return null}))}))}var W={observableArray:X(!1,"Array"),observableArrayOf:F.bind(null,!1),observableMap:X(!1,"Map"),observableObject:X(!1,"Object"),arrayOrObservableArray:X(!0,"Array"),arrayOrObservableArrayOf:F.bind(null,!0),objectOrObservableObject:X(!0,"Object")};if(!t.Component)throw new Error("mobx-react requires React to be available");if(!r.observable)throw new Error("mobx-react requires mobx to be available");Object.defineProperty(e,"Observer",{enumerable:!0,get:function(){return n.Observer}}),Object.defineProperty(e,"isUsingStaticRendering",{enumerable:!0,get:function(){return n.isUsingStaticRendering}}),Object.defineProperty(e,"observerBatching",{enumerable:!0,get:function(){return n.observerBatching}}),Object.defineProperty(e,"useAsObservableSource",{enumerable:!0,get:function(){return n.useAsObservableSource}}),Object.defineProperty(e,"useLocalStore",{enumerable:!0,get:function(){return n.useLocalStore}}),Object.defineProperty(e,"useObserver",{enumerable:!0,get:function(){return n.useObserver}}),Object.defineProperty(e,"useStaticRendering",{enumerable:!0,get:function(){return n.useStaticRendering}}),e.MobXProviderContext=_,e.PropTypes=W,e.Provider=M,e.disposeOnUnmount=function e(r,t){if(Array.isArray(t))return t.map((function(t){return e(r,t)}));var n=Object.getPrototypeOf(r).constructor,a=Object.getPrototypeOf(r.constructor),i=Object.getPrototypeOf(Object.getPrototypeOf(r));if(n!==o.Component&&n!==o.PureComponent&&a!==o.Component&&a!==o.PureComponent&&i!==o.Component&&i!==o.PureComponent)throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");if("string"!=typeof t&&"function"!=typeof t&&!Array.isArray(t))throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var c=!!r[q]||!!r[D];return("string"==typeof t?r[q]||(r[q]=[]):r[D]||(r[D]=[])).push(t),c||m(r,"componentWillUnmount",N),"string"!=typeof t?t:void 0},e.inject=function(){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 T(n,e,n.name,!0)}}return function(e){return T($(r),e,r.join("-"),!1)}},e.observer=k,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=mobxreact.umd.production.min.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobx-react",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.0",
|
|
4
4
|
"description": "React bindings for MobX. Create fully reactive components.",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"typescript": "^3.7.0"
|
|
91
91
|
},
|
|
92
92
|
"dependencies": {
|
|
93
|
-
"mobx-react-lite": "2"
|
|
93
|
+
"mobx-react-lite": ">=2.2.0"
|
|
94
94
|
},
|
|
95
95
|
"files": [
|
|
96
96
|
"dist",
|
|
@@ -140,4 +140,4 @@
|
|
|
140
140
|
],
|
|
141
141
|
"testURL": "http://127.0.0.1/"
|
|
142
142
|
}
|
|
143
|
-
}
|
|
143
|
+
}
|