mobx-react 7.2.0 → 7.4.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 +35 -0
- package/dist/Provider.d.ts +1 -1
- package/dist/mobxreact.cjs.development.js +27 -38
- package/dist/mobxreact.cjs.development.js.map +1 -1
- package/dist/mobxreact.cjs.production.min.js +1 -1
- package/dist/mobxreact.cjs.production.min.js.map +1 -1
- package/dist/mobxreact.esm.development.js +29 -40
- package/dist/mobxreact.esm.development.js.map +1 -1
- package/dist/mobxreact.esm.js +29 -40
- package/dist/mobxreact.esm.js.map +1 -1
- package/dist/mobxreact.esm.production.min.js +1 -1
- package/dist/mobxreact.esm.production.min.js.map +1 -1
- package/dist/mobxreact.umd.development.js +27 -38
- package/dist/mobxreact.umd.development.js.map +1 -1
- package/dist/mobxreact.umd.production.min.js +1 -1
- package/dist/mobxreact.umd.production.min.js.map +1 -1
- package/package.json +6 -6
- package/src/inject.ts +4 -1
- package/src/observer.tsx +9 -40
- package/src/observerClass.ts +14 -2
- package/src/utils/utils.ts +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# mobx-react
|
|
2
2
|
|
|
3
|
+
## 7.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`4c5e75cd`](https://github.com/mobxjs/mobx/commit/4c5e75cdfec08c04ad774c70dca0629bd2c77016) [#3382](https://github.com/mobxjs/mobx/pull/3382) Thanks [@iChenLei](https://github.com/iChenLei)! - replace the deprecated react type definition with recommended type definition
|
|
8
|
+
|
|
9
|
+
* [`bd4b70d8`](https://github.com/mobxjs/mobx/commit/bd4b70d8ded29673af8161aa42fb88dc4ad4420e) [#3387](https://github.com/mobxjs/mobx/pull/3387) Thanks [@mweststrate](https://github.com/mweststrate)! - Added experimental / poor man's support for React 18. Fixes #3363, #2526. Supersedes #3005
|
|
10
|
+
|
|
11
|
+
- Updated tests, test / build infra, peerDependencies to React 18
|
|
12
|
+
- **[breaking icmw upgrading to React 18]** Already deprecated hooks like `useMutableSource` will trigger warnings in React 18, which is correct and those shouldn't be used anymore.
|
|
13
|
+
- **[breaking icmw upgrading to React 18]** When using React 18, it is important that `act` is used in **unit tests** around every programmatic mutation. Without it, changes won't propagate!
|
|
14
|
+
- The React 18 support is poor man's support; that is, we don't do anything yet to play nicely with Suspense features. Although e.g. [startTransition](https://github.com/mweststrate/platform-app/commit/bdd995773ddc6551235a4d2b0a4c9bd57d30510e) basically works, MobX as is doesn't respect the Suspense model and will always reflect the latest state that is being rendered with, so tearing might occur. I think this is in theoretically addressable by using `useSyncExternalStore` and capturing the current values together with the dependency tree of every component instance. However that isn't included in this pull request 1) it would be a breaking change, whereas the current change is still compatible with React 16 and 17. 2) I want to collect use cases where the tearing leads to problems first to build a better problem understanding. If you run into the problem, please submit an issue describing your scenario, and a PR with a unit tests demonstrating the problem in simplified form. For further discussion see #2526, #3005
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- Updated dependencies [[`4c5e75cd`](https://github.com/mobxjs/mobx/commit/4c5e75cdfec08c04ad774c70dca0629bd2c77016), [`bd4b70d8`](https://github.com/mobxjs/mobx/commit/bd4b70d8ded29673af8161aa42fb88dc4ad4420e)]:
|
|
19
|
+
- mobx-react-lite@3.4.0
|
|
20
|
+
|
|
21
|
+
## 7.3.0
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- [`59b42c28`](https://github.com/mobxjs/mobx/commit/59b42c2826208435353ce6bf154ae59077edcc05) [#3282](https://github.com/mobxjs/mobx/pull/3282) Thanks [@urugator](https://github.com/urugator)! - `observer(forwardRef(fn))` no longer generates extra `<Observer>` element and applies `memo` correctly
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- Updated dependencies [[`59b42c28`](https://github.com/mobxjs/mobx/commit/59b42c2826208435353ce6bf154ae59077edcc05)]:
|
|
30
|
+
- mobx-react-lite@3.3.0
|
|
31
|
+
|
|
32
|
+
## 7.2.1
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- [`8a1ff856`](https://github.com/mobxjs/mobx/commit/8a1ff856043d59396f623f8ca209822b1331d85f) [#3103](https://github.com/mobxjs/mobx/pull/3103) Thanks [@urugator](https://github.com/urugator)! - Missing `render` on component prototype throws.
|
|
37
|
+
|
|
3
38
|
## 7.2.0
|
|
4
39
|
|
|
5
40
|
### Minor Changes
|
package/dist/Provider.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { IValueMap } from "./types/IValueMap";
|
|
3
|
-
export declare const MobXProviderContext: React.Context<
|
|
3
|
+
export declare const MobXProviderContext: React.Context<IValueMap>;
|
|
4
4
|
export interface ProviderProps extends IValueMap {
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
}
|
|
@@ -31,7 +31,9 @@ function newSymbol(name) {
|
|
|
31
31
|
}
|
|
32
32
|
function shallowEqual(objA, objB) {
|
|
33
33
|
//From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js
|
|
34
|
-
if (is(objA, objB))
|
|
34
|
+
if (is(objA, objB)) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
35
37
|
|
|
36
38
|
if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) {
|
|
37
39
|
return false;
|
|
@@ -39,7 +41,10 @@ function shallowEqual(objA, objB) {
|
|
|
39
41
|
|
|
40
42
|
var keysA = Object.keys(objA);
|
|
41
43
|
var keysB = Object.keys(objB);
|
|
42
|
-
|
|
44
|
+
|
|
45
|
+
if (keysA.length !== keysB.length) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
43
48
|
|
|
44
49
|
for (var i = 0; i < keysA.length; i++) {
|
|
45
50
|
if (!Object.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
|
|
@@ -229,6 +234,12 @@ function makeClassComponentObserver(componentClass) {
|
|
|
229
234
|
makeObservableProp(target, "state");
|
|
230
235
|
var baseRender = target.render;
|
|
231
236
|
|
|
237
|
+
if (typeof baseRender !== "function") {
|
|
238
|
+
var _displayName = getDisplayName(target);
|
|
239
|
+
|
|
240
|
+
throw new Error("[mobx-react] class component (" + _displayName + ") is missing `render` method." + "\n`observer` requires `render` being a function defined on prototype." + "\n`render = () => {}` or `render = function() {}` is not supported.");
|
|
241
|
+
}
|
|
242
|
+
|
|
232
243
|
target.render = function () {
|
|
233
244
|
return makeComponentReactive.call(this, baseRender);
|
|
234
245
|
};
|
|
@@ -242,9 +253,9 @@ function makeClassComponentObserver(componentClass) {
|
|
|
242
253
|
|
|
243
254
|
if (!this.render[mobxAdminProperty]) {
|
|
244
255
|
// Render may have been hot-swapped and/or overriden by a subclass.
|
|
245
|
-
var
|
|
256
|
+
var _displayName2 = getDisplayName(this);
|
|
246
257
|
|
|
247
|
-
console.warn("The reactive render of an observer class component (" +
|
|
258
|
+
console.warn("The reactive render of an observer class component (" + _displayName2 + ") \n was overriden after MobX attached. This may result in a memory leak if the \n overriden reactive render was not properly disposed.");
|
|
248
259
|
}
|
|
249
260
|
});
|
|
250
261
|
return componentClass;
|
|
@@ -353,13 +364,15 @@ function makeObservableProp(target, propName) {
|
|
|
353
364
|
configurable: true,
|
|
354
365
|
enumerable: true,
|
|
355
366
|
get: function get() {
|
|
356
|
-
var prevReadState = false;
|
|
367
|
+
var prevReadState = false; // Why this check? BC?
|
|
368
|
+
// @ts-expect-error
|
|
357
369
|
|
|
358
370
|
if (mobx._allowStateReadsStart && mobx._allowStateReadsEnd) {
|
|
359
371
|
prevReadState = mobx._allowStateReadsStart(true);
|
|
360
372
|
}
|
|
361
373
|
|
|
362
|
-
getAtom.call(this).reportObserved();
|
|
374
|
+
getAtom.call(this).reportObserved(); // Why this check? BC?
|
|
375
|
+
// @ts-expect-error
|
|
363
376
|
|
|
364
377
|
if (mobx._allowStateReadsStart && mobx._allowStateReadsEnd) {
|
|
365
378
|
mobx._allowStateReadsEnd(prevReadState);
|
|
@@ -380,47 +393,22 @@ function makeObservableProp(target, propName) {
|
|
|
380
393
|
});
|
|
381
394
|
}
|
|
382
395
|
|
|
383
|
-
var hasSymbol = typeof Symbol === "function" && Symbol["for"]; // Using react-is had some issues (and operates on elements, not on types), see #608 / #609
|
|
384
|
-
|
|
385
|
-
var ReactForwardRefSymbol = hasSymbol ? /*#__PURE__*/Symbol["for"]("react.forward_ref") : typeof React.forwardRef === "function" && /*#__PURE__*/React.forwardRef(function (props) {
|
|
386
|
-
return null;
|
|
387
|
-
})["$$typeof"];
|
|
388
|
-
var ReactMemoSymbol = hasSymbol ? /*#__PURE__*/Symbol["for"]("react.memo") : typeof React.memo === "function" && /*#__PURE__*/React.memo(function (props) {
|
|
389
|
-
return null;
|
|
390
|
-
})["$$typeof"];
|
|
391
396
|
/**
|
|
392
397
|
* Observer function / decorator
|
|
393
398
|
*/
|
|
394
399
|
|
|
395
400
|
function observer(component) {
|
|
396
401
|
if (component["isMobxInjector"] === true) {
|
|
397
|
-
console.warn("Mobx observer: You are trying to use
|
|
402
|
+
console.warn("Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`");
|
|
398
403
|
}
|
|
399
404
|
|
|
400
|
-
if (
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
if (ReactForwardRefSymbol && component["$$typeof"] === ReactForwardRefSymbol) {
|
|
408
|
-
var baseRender = component["render"];
|
|
409
|
-
if (typeof baseRender !== "function") throw new Error("render property of ForwardRef was not a function");
|
|
410
|
-
return React.forwardRef(function ObserverForwardRef() {
|
|
411
|
-
var args = arguments;
|
|
412
|
-
return React.createElement(mobxReactLite.Observer, null, function () {
|
|
413
|
-
return baseRender.apply(undefined, args);
|
|
414
|
-
});
|
|
415
|
-
});
|
|
416
|
-
} // Function component
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
if (typeof component === "function" && (!component.prototype || !component.prototype.render) && !component["isReactClass"] && !Object.prototype.isPrototypeOf.call(React.Component, component)) {
|
|
405
|
+
if (Object.prototype.isPrototypeOf.call(React.Component, component) || Object.prototype.isPrototypeOf.call(React.PureComponent, component)) {
|
|
406
|
+
// Class component
|
|
407
|
+
return makeClassComponentObserver(component);
|
|
408
|
+
} else {
|
|
409
|
+
// Function component
|
|
420
410
|
return mobxReactLite.observer(component);
|
|
421
411
|
}
|
|
422
|
-
|
|
423
|
-
return makeClassComponentObserver(component);
|
|
424
412
|
}
|
|
425
413
|
|
|
426
414
|
function _extends() {
|
|
@@ -456,10 +444,11 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
456
444
|
return target;
|
|
457
445
|
}
|
|
458
446
|
|
|
447
|
+
var _excluded = ["children"];
|
|
459
448
|
var MobXProviderContext = /*#__PURE__*/React__default.createContext({});
|
|
460
449
|
function Provider(props) {
|
|
461
450
|
var children = props.children,
|
|
462
|
-
stores = _objectWithoutPropertiesLoose(props,
|
|
451
|
+
stores = _objectWithoutPropertiesLoose(props, _excluded);
|
|
463
452
|
|
|
464
453
|
var parentValue = React__default.useContext(MobXProviderContext);
|
|
465
454
|
var mutableProviderRef = React__default.useRef(_extends({}, parentValue, stores));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobxreact.cjs.development.js","sources":["../src/utils/utils.ts","../src/observerClass.ts","../src/observer.tsx","../src/Provider.tsx","../src/inject.ts","../src/disposeOnUnmount.ts","../src/propTypes.ts","../src/index.ts"],"sourcesContent":["let symbolId = 0\nfunction createSymbol(name: string): symbol | string {\n if (typeof Symbol === \"function\") {\n return Symbol(name)\n }\n const symbol = `__$mobx-react ${name} (${symbolId})`\n symbolId++\n return symbol\n}\n\nconst createdSymbols = {}\nexport function newSymbol(name: string): symbol | string {\n if (!createdSymbols[name]) {\n createdSymbols[name] = createSymbol(name)\n }\n return createdSymbols[name]\n}\n\nexport function shallowEqual(objA: any, objB: any): boolean {\n //From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (is(objA, objB)) return true\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false\n }\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n if (keysA.length !== keysB.length) return false\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false\n }\n }\n return true\n}\n\nfunction is(x: any, y: any): boolean {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y\n } else {\n return x !== x && y !== y\n }\n}\n\n// based on https://github.com/mridgway/hoist-non-react-statics/blob/master/src/index.js\nconst hoistBlackList = {\n $$typeof: 1,\n render: 1,\n compare: 1,\n type: 1,\n childContextTypes: 1,\n contextType: 1,\n contextTypes: 1,\n defaultProps: 1,\n getDefaultProps: 1,\n getDerivedStateFromError: 1,\n getDerivedStateFromProps: 1,\n mixins: 1,\n displayName: 1,\n propTypes: 1\n}\n\nexport function copyStaticProperties(base: object, target: object): void {\n const protoProps = Object.getOwnPropertyNames(Object.getPrototypeOf(base))\n Object.getOwnPropertyNames(base).forEach(key => {\n if (!hoistBlackList[key] && protoProps.indexOf(key) === -1) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(base, key)!)\n }\n })\n}\n\n/**\n * Helper to set `prop` to `this` as non-enumerable (hidden prop)\n * @param target\n * @param prop\n * @param value\n */\nexport function setHiddenProp(target: object, prop: any, value: any): void {\n if (!Object.hasOwnProperty.call(target, prop)) {\n Object.defineProperty(target, prop, {\n enumerable: false,\n configurable: true,\n writable: true,\n value\n })\n } else {\n target[prop] = value\n }\n}\n\n/**\n * Utilities for patching componentWillUnmount, to make sure @disposeOnUnmount works correctly icm with user defined hooks\n * and the handler provided by mobx-react\n */\nconst mobxMixins = newSymbol(\"patchMixins\")\nconst mobxPatchedDefinition = newSymbol(\"patchedDefinition\")\n\nexport interface Mixins extends Record<string, any> {\n locks: number\n methods: Array<Function>\n}\n\nfunction getMixins(target: object, methodName: string): Mixins {\n const mixins = (target[mobxMixins] = target[mobxMixins] || {})\n const methodMixins = (mixins[methodName] = mixins[methodName] || {})\n methodMixins.locks = methodMixins.locks || 0\n methodMixins.methods = methodMixins.methods || []\n return methodMixins\n}\n\nfunction wrapper(realMethod: Function, mixins: Mixins, ...args: Array<any>) {\n // locks are used to ensure that mixins are invoked only once per invocation, even on recursive calls\n mixins.locks++\n\n try {\n let retVal\n if (realMethod !== undefined && realMethod !== null) {\n retVal = realMethod.apply(this, args)\n }\n\n return retVal\n } finally {\n mixins.locks--\n if (mixins.locks === 0) {\n mixins.methods.forEach(mx => {\n mx.apply(this, args)\n })\n }\n }\n}\n\nfunction wrapFunction(realMethod: Function, mixins: Mixins): (...args: Array<any>) => any {\n const fn = function (...args: Array<any>) {\n wrapper.call(this, realMethod, mixins, ...args)\n }\n return fn\n}\n\nexport function patch(target: object, methodName: string, mixinMethod: Function): void {\n const mixins = getMixins(target, methodName)\n\n if (mixins.methods.indexOf(mixinMethod) < 0) {\n mixins.methods.push(mixinMethod)\n }\n\n const oldDefinition = Object.getOwnPropertyDescriptor(target, methodName)\n if (oldDefinition && oldDefinition[mobxPatchedDefinition]) {\n // already patched definition, do not repatch\n return\n }\n\n const originalMethod = target[methodName]\n const newDefinition = createDefinition(\n target,\n methodName,\n oldDefinition ? oldDefinition.enumerable : undefined,\n mixins,\n originalMethod\n )\n\n Object.defineProperty(target, methodName, newDefinition)\n}\n\nfunction createDefinition(\n target: object,\n methodName: string,\n enumerable: any,\n mixins: Mixins,\n originalMethod: Function\n): PropertyDescriptor {\n let wrappedFunc = wrapFunction(originalMethod, mixins)\n\n return {\n [mobxPatchedDefinition]: true,\n get: function () {\n return wrappedFunc\n },\n set: function (value) {\n if (this === target) {\n wrappedFunc = wrapFunction(value, mixins)\n } else {\n // when it is an instance of the prototype/a child prototype patch that particular case again separately\n // since we need to store separate values depending on wether it is the actual instance, the prototype, etc\n // e.g. the method for super might not be the same as the method for the prototype which might be not the same\n // as the method for the instance\n const newDefinition = createDefinition(this, methodName, enumerable, mixins, value)\n Object.defineProperty(this, methodName, newDefinition)\n }\n },\n configurable: true,\n enumerable: enumerable\n }\n}\n","import { PureComponent, Component } from \"react\"\nimport {\n createAtom,\n _allowStateChanges,\n Reaction,\n $mobx,\n _allowStateReadsStart,\n _allowStateReadsEnd\n} from \"mobx\"\nimport { isUsingStaticRendering } from \"mobx-react-lite\"\n\nimport { newSymbol, shallowEqual, setHiddenProp, patch } from \"./utils/utils\"\n\nconst mobxAdminProperty = $mobx || \"$mobx\"\nconst mobxObserverProperty = newSymbol(\"isMobXReactObserver\")\nconst mobxIsUnmounted = newSymbol(\"isUnmounted\")\nconst skipRenderKey = newSymbol(\"skipRender\")\nconst isForcingUpdateKey = newSymbol(\"isForcingUpdate\")\n\nexport function makeClassComponentObserver(\n componentClass: React.ComponentClass<any, any>\n): React.ComponentClass<any, any> {\n const target = componentClass.prototype\n\n if (componentClass[mobxObserverProperty]) {\n const displayName = getDisplayName(target)\n console.warn(\n `The provided component class (${displayName}) \n has already been declared as an observer component.`\n )\n } else {\n componentClass[mobxObserverProperty] = true\n }\n\n if (target.componentWillReact)\n throw new Error(\"The componentWillReact life-cycle event is no longer supported\")\n if (componentClass[\"__proto__\"] !== PureComponent) {\n if (!target.shouldComponentUpdate) target.shouldComponentUpdate = observerSCU\n else if (target.shouldComponentUpdate !== observerSCU)\n // n.b. unequal check, instead of existence check, as @observer might be on superclass as well\n throw new Error(\n \"It is not allowed to use shouldComponentUpdate in observer based components.\"\n )\n }\n\n // this.props and this.state are made observable, just to make sure @computed fields that\n // are defined inside the component, and which rely on state or props, re-compute if state or props change\n // (otherwise the computed wouldn't update and become stale on props change, since props are not observable)\n // However, this solution is not without it's own problems: https://github.com/mobxjs/mobx-react/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Aobservable-props-or-not+\n makeObservableProp(target, \"props\")\n makeObservableProp(target, \"state\")\n\n const baseRender = target.render\n target.render = function () {\n return makeComponentReactive.call(this, baseRender)\n }\n patch(target, \"componentWillUnmount\", function () {\n if (isUsingStaticRendering() === true) return\n this.render[mobxAdminProperty]?.dispose()\n this[mobxIsUnmounted] = true\n\n if (!this.render[mobxAdminProperty]) {\n // Render may have been hot-swapped and/or overriden by a subclass.\n const displayName = getDisplayName(this)\n console.warn(\n `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.`\n )\n }\n })\n return componentClass\n}\n\n// Generates a friendly name for debugging\nfunction getDisplayName(comp: any) {\n return (\n comp.displayName ||\n comp.name ||\n (comp.constructor && (comp.constructor.displayName || comp.constructor.name)) ||\n \"<component>\"\n )\n}\n\nfunction makeComponentReactive(render: any) {\n if (isUsingStaticRendering() === true) return render.call(this)\n\n /**\n * If props are shallowly modified, react will render anyway,\n * so atom.reportChanged() should not result in yet another re-render\n */\n setHiddenProp(this, skipRenderKey, false)\n /**\n * forceUpdate will re-assign this.props. We don't want that to cause a loop,\n * so detect these changes\n */\n setHiddenProp(this, isForcingUpdateKey, false)\n\n const initialName = getDisplayName(this)\n const baseRender = render.bind(this)\n\n let isRenderingPending = false\n\n const reaction = new Reaction(`${initialName}.render()`, () => {\n if (!isRenderingPending) {\n // N.B. Getting here *before mounting* means that a component constructor has side effects (see the relevant test in misc.js)\n // This unidiomatic React usage but React will correctly warn about this so we continue as usual\n // See #85 / Pull #44\n isRenderingPending = true\n if (this[mobxIsUnmounted] !== true) {\n let hasError = true\n try {\n setHiddenProp(this, isForcingUpdateKey, true)\n if (!this[skipRenderKey]) Component.prototype.forceUpdate.call(this)\n hasError = false\n } finally {\n setHiddenProp(this, isForcingUpdateKey, false)\n if (hasError) reaction.dispose()\n }\n }\n }\n })\n\n reaction[\"reactComponent\"] = this\n reactiveRender[mobxAdminProperty] = reaction\n this.render = reactiveRender\n\n function reactiveRender() {\n isRenderingPending = false\n let exception = undefined\n let rendering = undefined\n reaction.track(() => {\n try {\n rendering = _allowStateChanges(false, baseRender)\n } catch (e) {\n exception = e\n }\n })\n if (exception) {\n throw exception\n }\n return rendering\n }\n\n return reactiveRender.call(this)\n}\n\nfunction observerSCU(nextProps: React.Props<any>, nextState: any): boolean {\n if (isUsingStaticRendering()) {\n console.warn(\n \"[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.\"\n )\n }\n // update on any state changes (as is the default)\n if (this.state !== nextState) {\n return true\n }\n // update if props are shallowly not equal, inspired by PureRenderMixin\n // we could return just 'false' here, and avoid the `skipRender` checks etc\n // however, it is nicer if lifecycle events are triggered like usually,\n // so we return true here if props are shallowly modified.\n return !shallowEqual(this.props, nextProps)\n}\n\nfunction makeObservableProp(target: any, propName: string): void {\n const valueHolderKey = newSymbol(`reactProp_${propName}_valueHolder`)\n const atomHolderKey = newSymbol(`reactProp_${propName}_atomHolder`)\n function getAtom() {\n if (!this[atomHolderKey]) {\n setHiddenProp(this, atomHolderKey, createAtom(\"reactive \" + propName))\n }\n return this[atomHolderKey]\n }\n Object.defineProperty(target, propName, {\n configurable: true,\n enumerable: true,\n get: function () {\n let prevReadState = false\n\n if (_allowStateReadsStart && _allowStateReadsEnd) {\n prevReadState = _allowStateReadsStart(true)\n }\n getAtom.call(this).reportObserved()\n\n if (_allowStateReadsStart && _allowStateReadsEnd) {\n _allowStateReadsEnd(prevReadState)\n }\n\n return this[valueHolderKey]\n },\n set: function set(v) {\n if (!this[isForcingUpdateKey] && !shallowEqual(this[valueHolderKey], v)) {\n setHiddenProp(this, valueHolderKey, v)\n setHiddenProp(this, skipRenderKey, true)\n getAtom.call(this).reportChanged()\n setHiddenProp(this, skipRenderKey, false)\n } else {\n setHiddenProp(this, valueHolderKey, v)\n }\n }\n })\n}\n","import * as React from \"react\"\nimport { observer as observerLite, Observer } from \"mobx-react-lite\"\n\nimport { makeClassComponentObserver } from \"./observerClass\"\nimport { IReactComponent } from \"./types/IReactComponent\"\n\nconst hasSymbol = typeof Symbol === \"function\" && Symbol.for\n\n// Using react-is had some issues (and operates on elements, not on types), see #608 / #609\nconst ReactForwardRefSymbol = hasSymbol\n ? Symbol.for(\"react.forward_ref\")\n : typeof React.forwardRef === \"function\" && React.forwardRef((props: any) => null)[\"$$typeof\"]\n\nconst ReactMemoSymbol = hasSymbol\n ? Symbol.for(\"react.memo\")\n : typeof React.memo === \"function\" && React.memo((props: any) => null)[\"$$typeof\"]\n\n/**\n * Observer function / decorator\n */\nexport function observer<T extends IReactComponent>(component: T): T {\n if (component[\"isMobxInjector\"] === true) {\n console.warn(\n \"Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'\"\n )\n }\n\n if (ReactMemoSymbol && component[\"$$typeof\"] === ReactMemoSymbol) {\n throw new Error(\n \"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.\"\n )\n }\n\n // Unwrap forward refs into `<Observer>` component\n // we need to unwrap the render, because it is the inner render that needs to be tracked,\n // not the ForwardRef HoC\n if (ReactForwardRefSymbol && component[\"$$typeof\"] === ReactForwardRefSymbol) {\n const baseRender = component[\"render\"]\n if (typeof baseRender !== \"function\")\n throw new Error(\"render property of ForwardRef was not a function\")\n return React.forwardRef(function ObserverForwardRef() {\n const args = arguments\n return <Observer>{() => baseRender.apply(undefined, args)}</Observer>\n }) as T\n }\n\n // Function component\n if (\n typeof component === \"function\" &&\n (!component.prototype || !component.prototype.render) &&\n !component[\"isReactClass\"] &&\n !Object.prototype.isPrototypeOf.call(React.Component, component)\n ) {\n return observerLite(component as React.StatelessComponent<any>) as T\n }\n\n return makeClassComponentObserver(component as React.ComponentClass<any, any>) as T\n}\n","import React from \"react\"\nimport { shallowEqual } from \"./utils/utils\"\nimport { IValueMap } from \"./types/IValueMap\"\n\nexport const MobXProviderContext = React.createContext<IValueMap>({})\n\nexport interface ProviderProps extends IValueMap {\n children: React.ReactNode\n}\n\nexport function Provider(props: ProviderProps) {\n const { children, ...stores } = props\n const parentValue = React.useContext(MobXProviderContext)\n const mutableProviderRef = React.useRef({ ...parentValue, ...stores })\n const value = mutableProviderRef.current\n\n if (__DEV__) {\n const newValue = { ...value, ...stores } // spread in previous state for the context based stores\n if (!shallowEqual(value, newValue)) {\n throw new Error(\n \"MobX Provider: The set of provided stores has changed. See: https://github.com/mobxjs/mobx-react#the-set-of-provided-stores-has-changed-error.\"\n )\n }\n }\n\n return <MobXProviderContext.Provider value={value}>{children}</MobXProviderContext.Provider>\n}\n\nProvider.displayName = \"MobXProvider\"\n","import React from \"react\"\nimport { observer } from \"./observer\"\nimport { copyStaticProperties } from \"./utils/utils\"\nimport { MobXProviderContext } from \"./Provider\"\nimport { IReactComponent } from \"./types/IReactComponent\"\nimport { IValueMap } from \"./types/IValueMap\"\nimport { IWrappedComponent } from \"./types/IWrappedComponent\"\nimport { IStoresToProps } from \"./types/IStoresToProps\"\n\n/**\n * Store Injection\n */\nfunction createStoreInjector(\n grabStoresFn: IStoresToProps,\n component: IReactComponent<any>,\n injectNames: string,\n makeReactive: boolean\n): IReactComponent<any> {\n // Support forward refs\n let Injector: IReactComponent<any> = React.forwardRef((props, ref) => {\n const newProps = { ...props }\n const context = React.useContext(MobXProviderContext)\n Object.assign(newProps, grabStoresFn(context || {}, newProps) || {})\n\n if (ref) {\n newProps.ref = ref\n }\n\n return React.createElement(component, newProps)\n })\n\n if (makeReactive) Injector = observer(Injector)\n Injector[\"isMobxInjector\"] = true // assigned late to suppress observer warning\n\n // Static fields from component should be visible on the generated Injector\n copyStaticProperties(component, Injector)\n Injector[\"wrappedComponent\"] = component\n Injector.displayName = getInjectName(component, injectNames)\n return Injector\n}\n\nfunction getInjectName(component: IReactComponent<any>, injectNames: string): string {\n let displayName\n const componentName =\n component.displayName ||\n component.name ||\n (component.constructor && component.constructor.name) ||\n \"Component\"\n if (injectNames) displayName = \"inject-with-\" + injectNames + \"(\" + componentName + \")\"\n else displayName = \"inject(\" + componentName + \")\"\n return displayName\n}\n\nfunction grabStoresByName(\n storeNames: Array<string>\n): (baseStores: IValueMap, nextProps: React.Props<any>) => React.PropsWithRef<any> | undefined {\n return function (baseStores, nextProps) {\n storeNames.forEach(function (storeName) {\n if (\n storeName in nextProps // prefer props over stores\n )\n return\n if (!(storeName in baseStores))\n throw new Error(\n \"MobX injector: Store '\" +\n storeName +\n \"' is not available! Make sure it is provided by some Provider\"\n )\n nextProps[storeName] = baseStores[storeName]\n })\n return nextProps\n }\n}\n\nexport function inject(\n ...stores: Array<string>\n): <T extends IReactComponent<any>>(\n target: T\n) => T & (T extends IReactComponent<infer P> ? IWrappedComponent<P> : never)\nexport function inject<S, P, I, C>(\n fn: IStoresToProps<S, P, I, C>\n): <T extends IReactComponent>(target: T) => T & IWrappedComponent<P>\n\n/**\n * higher order component that injects stores to a child.\n * takes either a varargs list of strings, which are stores read from the context,\n * or a function that manually maps the available stores from the context to props:\n * storesToProps(mobxStores, props, context) => newProps\n */\nexport function inject(/* fn(stores, nextProps) or ...storeNames */ ...storeNames: Array<any>) {\n if (typeof arguments[0] === \"function\") {\n let grabStoresFn = arguments[0]\n return (componentClass: React.ComponentClass<any, any>) =>\n createStoreInjector(grabStoresFn, componentClass, grabStoresFn.name, true)\n } else {\n return (componentClass: React.ComponentClass<any, any>) =>\n createStoreInjector(\n grabStoresByName(storeNames),\n componentClass,\n storeNames.join(\"-\"),\n false\n )\n }\n}\n","import React from \"react\"\nimport { patch, newSymbol } from \"./utils/utils\"\n\ntype Disposer = () => void\n\nconst protoStoreKey = newSymbol(\"disposeOnUnmountProto\")\nconst instStoreKey = newSymbol(\"disposeOnUnmountInst\")\n\nfunction runDisposersOnWillUnmount() {\n ;[...(this[protoStoreKey] || []), ...(this[instStoreKey] || [])].forEach(propKeyOrFunction => {\n const prop =\n typeof propKeyOrFunction === \"string\" ? this[propKeyOrFunction] : propKeyOrFunction\n if (prop !== undefined && prop !== null) {\n if (Array.isArray(prop)) prop.map(f => f())\n else prop()\n }\n })\n}\n\nexport function disposeOnUnmount(target: React.Component<any, any>, propertyKey: PropertyKey): void\nexport function disposeOnUnmount<TF extends Disposer | Array<Disposer>>(\n target: React.Component<any, any>,\n fn: TF\n): TF\n\nexport function disposeOnUnmount(\n target: React.Component<any, any>,\n propertyKeyOrFunction: PropertyKey | Disposer | Array<Disposer>\n): PropertyKey | Disposer | Array<Disposer> | void {\n if (Array.isArray(propertyKeyOrFunction)) {\n return propertyKeyOrFunction.map(fn => disposeOnUnmount(target, fn))\n }\n\n const c = Object.getPrototypeOf(target).constructor\n const c2 = Object.getPrototypeOf(target.constructor)\n // Special case for react-hot-loader\n const c3 = Object.getPrototypeOf(Object.getPrototypeOf(target))\n if (\n !(\n c === React.Component ||\n c === React.PureComponent ||\n c2 === React.Component ||\n c2 === React.PureComponent ||\n c3 === React.Component ||\n c3 === React.PureComponent\n )\n ) {\n throw new Error(\n \"[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.\"\n )\n }\n\n if (\n typeof propertyKeyOrFunction !== \"string\" &&\n typeof propertyKeyOrFunction !== \"function\" &&\n !Array.isArray(propertyKeyOrFunction)\n ) {\n throw new Error(\n \"[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.\"\n )\n }\n\n // decorator's target is the prototype, so it doesn't have any instance properties like props\n const isDecorator = typeof propertyKeyOrFunction === \"string\"\n\n // add property key / function we want run (disposed) to the store\n const componentWasAlreadyModified = !!target[protoStoreKey] || !!target[instStoreKey]\n const store = isDecorator\n ? // decorators are added to the prototype store\n target[protoStoreKey] || (target[protoStoreKey] = [])\n : // functions are added to the instance store\n target[instStoreKey] || (target[instStoreKey] = [])\n\n store.push(propertyKeyOrFunction)\n\n // tweak the component class componentWillUnmount if not done already\n if (!componentWasAlreadyModified) {\n patch(target, \"componentWillUnmount\", runDisposersOnWillUnmount)\n }\n\n // return the disposer as is if invoked as a non decorator\n if (typeof propertyKeyOrFunction !== \"string\") {\n return propertyKeyOrFunction\n }\n}\n","import { isObservableArray, isObservableObject, isObservableMap, untracked } from \"mobx\"\n\n// Copied from React.PropTypes\nfunction createChainableTypeChecker(validator: React.Validator<any>): React.Requireable<any> {\n function checkType(\n isRequired: boolean,\n props: any,\n propName: string,\n componentName: string,\n location: string,\n propFullName: string,\n ...rest: any[]\n ) {\n return untracked(() => {\n componentName = componentName || \"<<anonymous>>\"\n propFullName = propFullName || propName\n if (props[propName] == null) {\n if (isRequired) {\n const actual = props[propName] === null ? \"null\" : \"undefined\"\n return new Error(\n \"The \" +\n location +\n \" `\" +\n propFullName +\n \"` is marked as required \" +\n \"in `\" +\n componentName +\n \"`, but its value is `\" +\n actual +\n \"`.\"\n )\n }\n return null\n } else {\n // @ts-ignore rest arg is necessary for some React internals - fails tests otherwise\n return validator(props, propName, componentName, location, propFullName, ...rest)\n }\n })\n }\n\n const chainedCheckType: any = checkType.bind(null, false)\n // Add isRequired to satisfy Requirable\n chainedCheckType.isRequired = checkType.bind(null, true)\n return chainedCheckType\n}\n\n// Copied from React.PropTypes\nfunction isSymbol(propType: any, propValue: any): boolean {\n // Native Symbol.\n if (propType === \"symbol\") {\n return true\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue[\"@@toStringTag\"] === \"Symbol\") {\n return true\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === \"function\" && propValue instanceof Symbol) {\n return true\n }\n\n return false\n}\n\n// Copied from React.PropTypes\nfunction getPropType(propValue: any): string {\n const propType = typeof propValue\n if (Array.isArray(propValue)) {\n return \"array\"\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return \"object\"\n }\n if (isSymbol(propType, propValue)) {\n return \"symbol\"\n }\n return propType\n}\n\n// This handles more types than `getPropType`. Only used for error messages.\n// Copied from React.PropTypes\nfunction getPreciseType(propValue: any): string {\n const propType = getPropType(propValue)\n if (propType === \"object\") {\n if (propValue instanceof Date) {\n return \"date\"\n } else if (propValue instanceof RegExp) {\n return \"regexp\"\n }\n }\n return propType\n}\n\nfunction createObservableTypeCheckerCreator(\n allowNativeType: any,\n mobxType: any\n): React.Requireable<any> {\n return createChainableTypeChecker((props, propName, componentName, location, propFullName) => {\n return untracked(() => {\n if (allowNativeType) {\n if (getPropType(props[propName]) === mobxType.toLowerCase()) return null\n }\n let mobxChecker\n switch (mobxType) {\n case \"Array\":\n mobxChecker = isObservableArray\n break\n case \"Object\":\n mobxChecker = isObservableObject\n break\n case \"Map\":\n mobxChecker = isObservableMap\n break\n default:\n throw new Error(`Unexpected mobxType: ${mobxType}`)\n }\n const propValue = props[propName]\n if (!mobxChecker(propValue)) {\n const preciseType = getPreciseType(propValue)\n const nativeTypeExpectationMessage = allowNativeType\n ? \" or javascript `\" + mobxType.toLowerCase() + \"`\"\n : \"\"\n return new Error(\n \"Invalid prop `\" +\n propFullName +\n \"` of type `\" +\n preciseType +\n \"` supplied to\" +\n \" `\" +\n componentName +\n \"`, expected `mobx.Observable\" +\n mobxType +\n \"`\" +\n nativeTypeExpectationMessage +\n \".\"\n )\n }\n return null\n })\n })\n}\n\nfunction createObservableArrayOfTypeChecker(\n allowNativeType: boolean,\n typeChecker: React.Validator<any>\n) {\n return createChainableTypeChecker(\n (props, propName, componentName, location, propFullName, ...rest) => {\n return untracked(() => {\n if (typeof typeChecker !== \"function\") {\n return new Error(\n \"Property `\" +\n propFullName +\n \"` of component `\" +\n componentName +\n \"` has \" +\n \"invalid PropType notation.\"\n )\n } else {\n let error = createObservableTypeCheckerCreator(allowNativeType, \"Array\")(\n props,\n propName,\n componentName,\n location,\n propFullName\n )\n\n if (error instanceof Error) return error\n const propValue = props[propName]\n for (let i = 0; i < propValue.length; i++) {\n error = (typeChecker as React.Validator<any>)(\n propValue,\n i as any,\n componentName,\n location,\n propFullName + \"[\" + i + \"]\",\n ...rest\n )\n if (error instanceof Error) return error\n }\n\n return null\n }\n })\n }\n )\n}\n\nconst observableArray = createObservableTypeCheckerCreator(false, \"Array\")\nconst observableArrayOf = createObservableArrayOfTypeChecker.bind(null, false)\nconst observableMap = createObservableTypeCheckerCreator(false, \"Map\")\nconst observableObject = createObservableTypeCheckerCreator(false, \"Object\")\nconst arrayOrObservableArray = createObservableTypeCheckerCreator(true, \"Array\")\nconst arrayOrObservableArrayOf = createObservableArrayOfTypeChecker.bind(null, true)\nconst objectOrObservableObject = createObservableTypeCheckerCreator(true, \"Object\")\n\nexport const PropTypes = {\n observableArray,\n observableArrayOf,\n observableMap,\n observableObject,\n arrayOrObservableArray,\n arrayOrObservableArrayOf,\n objectOrObservableObject\n}\n","import { observable } from \"mobx\"\nimport { Component } from \"react\"\n\nif (!Component) throw new Error(\"mobx-react requires React to be available\")\nif (!observable) throw new Error(\"mobx-react requires mobx to be available\")\n\nexport {\n Observer,\n useObserver,\n useAsObservableSource,\n useLocalStore,\n isUsingStaticRendering,\n useStaticRendering,\n enableStaticRendering,\n observerBatching,\n useLocalObservable\n} from \"mobx-react-lite\"\n\nexport { observer } from \"./observer\"\n\nexport { MobXProviderContext, Provider, ProviderProps } from \"./Provider\"\nexport { inject } from \"./inject\"\nexport { disposeOnUnmount } from \"./disposeOnUnmount\"\nexport { PropTypes } from \"./propTypes\"\nexport { IWrappedComponent } from \"./types/IWrappedComponent\"\n"],"names":["symbolId","createSymbol","name","Symbol","symbol","createdSymbols","newSymbol","shallowEqual","objA","objB","is","keysA","Object","keys","keysB","length","i","hasOwnProperty","call","x","y","hoistBlackList","$$typeof","render","compare","type","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","displayName","propTypes","copyStaticProperties","base","target","protoProps","getOwnPropertyNames","getPrototypeOf","forEach","key","indexOf","defineProperty","getOwnPropertyDescriptor","setHiddenProp","prop","value","enumerable","configurable","writable","mobxMixins","mobxPatchedDefinition","getMixins","methodName","methodMixins","locks","methods","wrapper","realMethod","args","retVal","undefined","apply","mx","wrapFunction","fn","patch","mixinMethod","push","oldDefinition","originalMethod","newDefinition","createDefinition","wrappedFunc","get","set","mobxAdminProperty","$mobx","mobxObserverProperty","mobxIsUnmounted","skipRenderKey","isForcingUpdateKey","makeClassComponentObserver","componentClass","prototype","getDisplayName","console","warn","componentWillReact","Error","PureComponent","shouldComponentUpdate","observerSCU","makeObservableProp","baseRender","makeComponentReactive","isUsingStaticRendering","dispose","comp","constructor","initialName","bind","isRenderingPending","reaction","Reaction","hasError","Component","forceUpdate","reactiveRender","exception","rendering","track","_allowStateChanges","e","nextProps","nextState","state","props","propName","valueHolderKey","atomHolderKey","getAtom","createAtom","prevReadState","_allowStateReadsStart","_allowStateReadsEnd","reportObserved","v","reportChanged","hasSymbol","ReactForwardRefSymbol","React","ReactMemoSymbol","observer","component","ObserverForwardRef","arguments","Observer","isPrototypeOf","observerLite","MobXProviderContext","createContext","Provider","children","stores","parentValue","useContext","mutableProviderRef","useRef","current","newValue","createStoreInjector","grabStoresFn","injectNames","makeReactive","Injector","forwardRef","ref","newProps","context","assign","createElement","getInjectName","componentName","grabStoresByName","storeNames","baseStores","storeName","inject","join","protoStoreKey","instStoreKey","runDisposersOnWillUnmount","propKeyOrFunction","Array","isArray","map","f","disposeOnUnmount","propertyKeyOrFunction","c","c2","c3","isDecorator","componentWasAlreadyModified","store","createChainableTypeChecker","validator","checkType","isRequired","location","propFullName","rest","untracked","actual","chainedCheckType","isSymbol","propType","propValue","getPropType","RegExp","getPreciseType","Date","createObservableTypeCheckerCreator","allowNativeType","mobxType","toLowerCase","mobxChecker","isObservableArray","isObservableObject","isObservableMap","preciseType","nativeTypeExpectationMessage","createObservableArrayOfTypeChecker","typeChecker","error","observableArray","observableArrayOf","observableMap","observableObject","arrayOrObservableArray","arrayOrObservableArrayOf","objectOrObservableObject","PropTypes","observable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mobxreact.cjs.development.js","sources":["../src/utils/utils.ts","../src/observerClass.ts","../src/observer.tsx","../src/Provider.tsx","../src/inject.ts","../src/disposeOnUnmount.ts","../src/propTypes.ts","../src/index.ts"],"sourcesContent":["let symbolId = 0\nfunction createSymbol(name: string): symbol | string {\n if (typeof Symbol === \"function\") {\n return Symbol(name)\n }\n const symbol = `__$mobx-react ${name} (${symbolId})`\n symbolId++\n return symbol\n}\n\nconst createdSymbols = {}\nexport function newSymbol(name: string): symbol | string {\n if (!createdSymbols[name]) {\n createdSymbols[name] = createSymbol(name)\n }\n return createdSymbols[name]\n}\n\nexport function shallowEqual(objA: any, objB: any): boolean {\n //From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (is(objA, objB)) {\n return true\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false\n }\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n if (keysA.length !== keysB.length) {\n return false\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false\n }\n }\n return true\n}\n\nfunction is(x: any, y: any): boolean {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y\n } else {\n return x !== x && y !== y\n }\n}\n\n// based on https://github.com/mridgway/hoist-non-react-statics/blob/master/src/index.js\nconst hoistBlackList = {\n $$typeof: 1,\n render: 1,\n compare: 1,\n type: 1,\n childContextTypes: 1,\n contextType: 1,\n contextTypes: 1,\n defaultProps: 1,\n getDefaultProps: 1,\n getDerivedStateFromError: 1,\n getDerivedStateFromProps: 1,\n mixins: 1,\n displayName: 1,\n propTypes: 1\n}\n\nexport function copyStaticProperties(base: object, target: object): void {\n const protoProps = Object.getOwnPropertyNames(Object.getPrototypeOf(base))\n Object.getOwnPropertyNames(base).forEach(key => {\n if (!hoistBlackList[key] && protoProps.indexOf(key) === -1) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(base, key)!)\n }\n })\n}\n\n/**\n * Helper to set `prop` to `this` as non-enumerable (hidden prop)\n * @param target\n * @param prop\n * @param value\n */\nexport function setHiddenProp(target: object, prop: any, value: any): void {\n if (!Object.hasOwnProperty.call(target, prop)) {\n Object.defineProperty(target, prop, {\n enumerable: false,\n configurable: true,\n writable: true,\n value\n })\n } else {\n target[prop] = value\n }\n}\n\n/**\n * Utilities for patching componentWillUnmount, to make sure @disposeOnUnmount works correctly icm with user defined hooks\n * and the handler provided by mobx-react\n */\nconst mobxMixins = newSymbol(\"patchMixins\")\nconst mobxPatchedDefinition = newSymbol(\"patchedDefinition\")\n\nexport interface Mixins extends Record<string, any> {\n locks: number\n methods: Array<Function>\n}\n\nfunction getMixins(target: object, methodName: string): Mixins {\n const mixins = (target[mobxMixins] = target[mobxMixins] || {})\n const methodMixins = (mixins[methodName] = mixins[methodName] || {})\n methodMixins.locks = methodMixins.locks || 0\n methodMixins.methods = methodMixins.methods || []\n return methodMixins\n}\n\nfunction wrapper(realMethod: Function, mixins: Mixins, ...args: Array<any>) {\n // locks are used to ensure that mixins are invoked only once per invocation, even on recursive calls\n mixins.locks++\n\n try {\n let retVal\n if (realMethod !== undefined && realMethod !== null) {\n retVal = realMethod.apply(this, args)\n }\n\n return retVal\n } finally {\n mixins.locks--\n if (mixins.locks === 0) {\n mixins.methods.forEach(mx => {\n mx.apply(this, args)\n })\n }\n }\n}\n\nfunction wrapFunction(realMethod: Function, mixins: Mixins): (...args: Array<any>) => any {\n const fn = function (...args: Array<any>) {\n wrapper.call(this, realMethod, mixins, ...args)\n }\n return fn\n}\n\nexport function patch(target: object, methodName: string, mixinMethod: Function): void {\n const mixins = getMixins(target, methodName)\n\n if (mixins.methods.indexOf(mixinMethod) < 0) {\n mixins.methods.push(mixinMethod)\n }\n\n const oldDefinition = Object.getOwnPropertyDescriptor(target, methodName)\n if (oldDefinition && oldDefinition[mobxPatchedDefinition]) {\n // already patched definition, do not repatch\n return\n }\n\n const originalMethod = target[methodName]\n const newDefinition = createDefinition(\n target,\n methodName,\n oldDefinition ? oldDefinition.enumerable : undefined,\n mixins,\n originalMethod\n )\n\n Object.defineProperty(target, methodName, newDefinition)\n}\n\nfunction createDefinition(\n target: object,\n methodName: string,\n enumerable: any,\n mixins: Mixins,\n originalMethod: Function\n): PropertyDescriptor {\n let wrappedFunc = wrapFunction(originalMethod, mixins)\n\n return {\n [mobxPatchedDefinition]: true,\n get: function () {\n return wrappedFunc\n },\n set: function (value) {\n if (this === target) {\n wrappedFunc = wrapFunction(value, mixins)\n } else {\n // when it is an instance of the prototype/a child prototype patch that particular case again separately\n // since we need to store separate values depending on wether it is the actual instance, the prototype, etc\n // e.g. the method for super might not be the same as the method for the prototype which might be not the same\n // as the method for the instance\n const newDefinition = createDefinition(this, methodName, enumerable, mixins, value)\n Object.defineProperty(this, methodName, newDefinition)\n }\n },\n configurable: true,\n enumerable: enumerable\n }\n}\n","import { PureComponent, Component } from \"react\"\nimport {\n createAtom,\n _allowStateChanges,\n Reaction,\n $mobx,\n _allowStateReadsStart,\n _allowStateReadsEnd\n} from \"mobx\"\nimport { isUsingStaticRendering } from \"mobx-react-lite\"\n\nimport { newSymbol, shallowEqual, setHiddenProp, patch } from \"./utils/utils\"\n\nconst mobxAdminProperty = $mobx || \"$mobx\"\nconst mobxObserverProperty = newSymbol(\"isMobXReactObserver\")\nconst mobxIsUnmounted = newSymbol(\"isUnmounted\")\nconst skipRenderKey = newSymbol(\"skipRender\")\nconst isForcingUpdateKey = newSymbol(\"isForcingUpdate\")\n\nexport function makeClassComponentObserver(\n componentClass: React.ComponentClass<any, any>\n): React.ComponentClass<any, any> {\n const target = componentClass.prototype\n\n if (componentClass[mobxObserverProperty]) {\n const displayName = getDisplayName(target)\n console.warn(\n `The provided component class (${displayName}) \n has already been declared as an observer component.`\n )\n } else {\n componentClass[mobxObserverProperty] = true\n }\n\n if (target.componentWillReact)\n throw new Error(\"The componentWillReact life-cycle event is no longer supported\")\n if (componentClass[\"__proto__\"] !== PureComponent) {\n if (!target.shouldComponentUpdate) target.shouldComponentUpdate = observerSCU\n else if (target.shouldComponentUpdate !== observerSCU)\n // n.b. unequal check, instead of existence check, as @observer might be on superclass as well\n throw new Error(\n \"It is not allowed to use shouldComponentUpdate in observer based components.\"\n )\n }\n\n // this.props and this.state are made observable, just to make sure @computed fields that\n // are defined inside the component, and which rely on state or props, re-compute if state or props change\n // (otherwise the computed wouldn't update and become stale on props change, since props are not observable)\n // However, this solution is not without it's own problems: https://github.com/mobxjs/mobx-react/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Aobservable-props-or-not+\n makeObservableProp(target, \"props\")\n makeObservableProp(target, \"state\")\n\n const baseRender = target.render\n if (typeof baseRender !== \"function\") {\n const displayName = getDisplayName(target)\n throw new Error(\n `[mobx-react] class component (${displayName}) is missing \\`render\\` method.` +\n `\\n\\`observer\\` requires \\`render\\` being a function defined on prototype.` +\n `\\n\\`render = () => {}\\` or \\`render = function() {}\\` is not supported.`\n )\n }\n target.render = function () {\n return makeComponentReactive.call(this, baseRender)\n }\n patch(target, \"componentWillUnmount\", function () {\n if (isUsingStaticRendering() === true) return\n this.render[mobxAdminProperty]?.dispose()\n this[mobxIsUnmounted] = true\n\n if (!this.render[mobxAdminProperty]) {\n // Render may have been hot-swapped and/or overriden by a subclass.\n const displayName = getDisplayName(this)\n console.warn(\n `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.`\n )\n }\n })\n return componentClass\n}\n\n// Generates a friendly name for debugging\nfunction getDisplayName(comp: any) {\n return (\n comp.displayName ||\n comp.name ||\n (comp.constructor && (comp.constructor.displayName || comp.constructor.name)) ||\n \"<component>\"\n )\n}\n\nfunction makeComponentReactive(render: any) {\n if (isUsingStaticRendering() === true) return render.call(this)\n\n /**\n * If props are shallowly modified, react will render anyway,\n * so atom.reportChanged() should not result in yet another re-render\n */\n setHiddenProp(this, skipRenderKey, false)\n /**\n * forceUpdate will re-assign this.props. We don't want that to cause a loop,\n * so detect these changes\n */\n setHiddenProp(this, isForcingUpdateKey, false)\n\n const initialName = getDisplayName(this)\n const baseRender = render.bind(this)\n\n let isRenderingPending = false\n\n const reaction = new Reaction(`${initialName}.render()`, () => {\n if (!isRenderingPending) {\n // N.B. Getting here *before mounting* means that a component constructor has side effects (see the relevant test in misc.js)\n // This unidiomatic React usage but React will correctly warn about this so we continue as usual\n // See #85 / Pull #44\n isRenderingPending = true\n if (this[mobxIsUnmounted] !== true) {\n let hasError = true\n try {\n setHiddenProp(this, isForcingUpdateKey, true)\n if (!this[skipRenderKey]) Component.prototype.forceUpdate.call(this)\n hasError = false\n } finally {\n setHiddenProp(this, isForcingUpdateKey, false)\n if (hasError) reaction.dispose()\n }\n }\n }\n })\n\n reaction[\"reactComponent\"] = this\n reactiveRender[mobxAdminProperty] = reaction\n this.render = reactiveRender\n\n function reactiveRender() {\n isRenderingPending = false\n let exception: unknown = undefined\n let rendering = undefined\n reaction.track(() => {\n try {\n rendering = _allowStateChanges(false, baseRender)\n } catch (e) {\n exception = e\n }\n })\n if (exception) {\n throw exception\n }\n return rendering\n }\n\n return reactiveRender.call(this)\n}\n\nfunction observerSCU(nextProps: React.ClassAttributes<any>, nextState: any): boolean {\n if (isUsingStaticRendering()) {\n console.warn(\n \"[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.\"\n )\n }\n // update on any state changes (as is the default)\n if (this.state !== nextState) {\n return true\n }\n // update if props are shallowly not equal, inspired by PureRenderMixin\n // we could return just 'false' here, and avoid the `skipRender` checks etc\n // however, it is nicer if lifecycle events are triggered like usually,\n // so we return true here if props are shallowly modified.\n return !shallowEqual(this.props, nextProps)\n}\n\nfunction makeObservableProp(target: any, propName: string): void {\n const valueHolderKey = newSymbol(`reactProp_${propName}_valueHolder`)\n const atomHolderKey = newSymbol(`reactProp_${propName}_atomHolder`)\n function getAtom() {\n if (!this[atomHolderKey]) {\n setHiddenProp(this, atomHolderKey, createAtom(\"reactive \" + propName))\n }\n return this[atomHolderKey]\n }\n Object.defineProperty(target, propName, {\n configurable: true,\n enumerable: true,\n get: function () {\n let prevReadState = false\n\n // Why this check? BC?\n // @ts-expect-error\n if (_allowStateReadsStart && _allowStateReadsEnd) {\n prevReadState = _allowStateReadsStart(true)\n }\n getAtom.call(this).reportObserved()\n\n // Why this check? BC?\n // @ts-expect-error\n if (_allowStateReadsStart && _allowStateReadsEnd) {\n _allowStateReadsEnd(prevReadState)\n }\n\n return this[valueHolderKey]\n },\n set: function set(v) {\n if (!this[isForcingUpdateKey] && !shallowEqual(this[valueHolderKey], v)) {\n setHiddenProp(this, valueHolderKey, v)\n setHiddenProp(this, skipRenderKey, true)\n getAtom.call(this).reportChanged()\n setHiddenProp(this, skipRenderKey, false)\n } else {\n setHiddenProp(this, valueHolderKey, v)\n }\n }\n })\n}\n","import * as React from \"react\"\nimport { observer as observerLite } from \"mobx-react-lite\"\n\nimport { makeClassComponentObserver } from \"./observerClass\"\nimport { IReactComponent } from \"./types/IReactComponent\"\n\n/**\n * Observer function / decorator\n */\nexport function observer<T extends IReactComponent>(component: T): T {\n if (component[\"isMobxInjector\"] === true) {\n console.warn(\n \"Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`\"\n )\n }\n\n if (\n Object.prototype.isPrototypeOf.call(React.Component, component) ||\n Object.prototype.isPrototypeOf.call(React.PureComponent, component)\n ) {\n // Class component\n return makeClassComponentObserver(component as React.ComponentClass<any, any>) as T\n } else {\n // Function component\n return observerLite(component as React.FunctionComponent<any>) as T\n }\n}\n","import React from \"react\"\nimport { shallowEqual } from \"./utils/utils\"\nimport { IValueMap } from \"./types/IValueMap\"\n\nexport const MobXProviderContext = React.createContext<IValueMap>({})\n\nexport interface ProviderProps extends IValueMap {\n children: React.ReactNode\n}\n\nexport function Provider(props: ProviderProps) {\n const { children, ...stores } = props\n const parentValue = React.useContext(MobXProviderContext)\n const mutableProviderRef = React.useRef({ ...parentValue, ...stores })\n const value = mutableProviderRef.current\n\n if (__DEV__) {\n const newValue = { ...value, ...stores } // spread in previous state for the context based stores\n if (!shallowEqual(value, newValue)) {\n throw new Error(\n \"MobX Provider: The set of provided stores has changed. See: https://github.com/mobxjs/mobx-react#the-set-of-provided-stores-has-changed-error.\"\n )\n }\n }\n\n return <MobXProviderContext.Provider value={value}>{children}</MobXProviderContext.Provider>\n}\n\nProvider.displayName = \"MobXProvider\"\n","import React from \"react\"\nimport { observer } from \"./observer\"\nimport { copyStaticProperties } from \"./utils/utils\"\nimport { MobXProviderContext } from \"./Provider\"\nimport { IReactComponent } from \"./types/IReactComponent\"\nimport { IValueMap } from \"./types/IValueMap\"\nimport { IWrappedComponent } from \"./types/IWrappedComponent\"\nimport { IStoresToProps } from \"./types/IStoresToProps\"\n\n/**\n * Store Injection\n */\nfunction createStoreInjector(\n grabStoresFn: IStoresToProps,\n component: IReactComponent<any>,\n injectNames: string,\n makeReactive: boolean\n): IReactComponent<any> {\n // Support forward refs\n let Injector: IReactComponent<any> = React.forwardRef((props, ref) => {\n const newProps = { ...props }\n const context = React.useContext(MobXProviderContext)\n Object.assign(newProps, grabStoresFn(context || {}, newProps) || {})\n\n if (ref) {\n newProps.ref = ref\n }\n\n return React.createElement(component, newProps)\n })\n\n if (makeReactive) Injector = observer(Injector)\n Injector[\"isMobxInjector\"] = true // assigned late to suppress observer warning\n\n // Static fields from component should be visible on the generated Injector\n copyStaticProperties(component, Injector)\n Injector[\"wrappedComponent\"] = component\n Injector.displayName = getInjectName(component, injectNames)\n return Injector\n}\n\nfunction getInjectName(component: IReactComponent<any>, injectNames: string): string {\n let displayName\n const componentName =\n component.displayName ||\n component.name ||\n (component.constructor && component.constructor.name) ||\n \"Component\"\n if (injectNames) displayName = \"inject-with-\" + injectNames + \"(\" + componentName + \")\"\n else displayName = \"inject(\" + componentName + \")\"\n return displayName\n}\n\nfunction grabStoresByName(\n storeNames: Array<string>\n): (\n baseStores: IValueMap,\n nextProps: React.ClassAttributes<any>\n) => React.PropsWithRef<any> | undefined {\n return function (baseStores, nextProps) {\n storeNames.forEach(function (storeName) {\n if (\n storeName in nextProps // prefer props over stores\n )\n return\n if (!(storeName in baseStores))\n throw new Error(\n \"MobX injector: Store '\" +\n storeName +\n \"' is not available! Make sure it is provided by some Provider\"\n )\n nextProps[storeName] = baseStores[storeName]\n })\n return nextProps\n }\n}\n\nexport function inject(\n ...stores: Array<string>\n): <T extends IReactComponent<any>>(\n target: T\n) => T & (T extends IReactComponent<infer P> ? IWrappedComponent<P> : never)\nexport function inject<S, P, I, C>(\n fn: IStoresToProps<S, P, I, C>\n): <T extends IReactComponent>(target: T) => T & IWrappedComponent<P>\n\n/**\n * higher order component that injects stores to a child.\n * takes either a varargs list of strings, which are stores read from the context,\n * or a function that manually maps the available stores from the context to props:\n * storesToProps(mobxStores, props, context) => newProps\n */\nexport function inject(/* fn(stores, nextProps) or ...storeNames */ ...storeNames: Array<any>) {\n if (typeof arguments[0] === \"function\") {\n let grabStoresFn = arguments[0]\n return (componentClass: React.ComponentClass<any, any>) =>\n createStoreInjector(grabStoresFn, componentClass, grabStoresFn.name, true)\n } else {\n return (componentClass: React.ComponentClass<any, any>) =>\n createStoreInjector(\n grabStoresByName(storeNames),\n componentClass,\n storeNames.join(\"-\"),\n false\n )\n }\n}\n","import React from \"react\"\nimport { patch, newSymbol } from \"./utils/utils\"\n\ntype Disposer = () => void\n\nconst protoStoreKey = newSymbol(\"disposeOnUnmountProto\")\nconst instStoreKey = newSymbol(\"disposeOnUnmountInst\")\n\nfunction runDisposersOnWillUnmount() {\n ;[...(this[protoStoreKey] || []), ...(this[instStoreKey] || [])].forEach(propKeyOrFunction => {\n const prop =\n typeof propKeyOrFunction === \"string\" ? this[propKeyOrFunction] : propKeyOrFunction\n if (prop !== undefined && prop !== null) {\n if (Array.isArray(prop)) prop.map(f => f())\n else prop()\n }\n })\n}\n\nexport function disposeOnUnmount(target: React.Component<any, any>, propertyKey: PropertyKey): void\nexport function disposeOnUnmount<TF extends Disposer | Array<Disposer>>(\n target: React.Component<any, any>,\n fn: TF\n): TF\n\nexport function disposeOnUnmount(\n target: React.Component<any, any>,\n propertyKeyOrFunction: PropertyKey | Disposer | Array<Disposer>\n): PropertyKey | Disposer | Array<Disposer> | void {\n if (Array.isArray(propertyKeyOrFunction)) {\n return propertyKeyOrFunction.map(fn => disposeOnUnmount(target, fn))\n }\n\n const c = Object.getPrototypeOf(target).constructor\n const c2 = Object.getPrototypeOf(target.constructor)\n // Special case for react-hot-loader\n const c3 = Object.getPrototypeOf(Object.getPrototypeOf(target))\n if (\n !(\n c === React.Component ||\n c === React.PureComponent ||\n c2 === React.Component ||\n c2 === React.PureComponent ||\n c3 === React.Component ||\n c3 === React.PureComponent\n )\n ) {\n throw new Error(\n \"[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.\"\n )\n }\n\n if (\n typeof propertyKeyOrFunction !== \"string\" &&\n typeof propertyKeyOrFunction !== \"function\" &&\n !Array.isArray(propertyKeyOrFunction)\n ) {\n throw new Error(\n \"[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.\"\n )\n }\n\n // decorator's target is the prototype, so it doesn't have any instance properties like props\n const isDecorator = typeof propertyKeyOrFunction === \"string\"\n\n // add property key / function we want run (disposed) to the store\n const componentWasAlreadyModified = !!target[protoStoreKey] || !!target[instStoreKey]\n const store = isDecorator\n ? // decorators are added to the prototype store\n target[protoStoreKey] || (target[protoStoreKey] = [])\n : // functions are added to the instance store\n target[instStoreKey] || (target[instStoreKey] = [])\n\n store.push(propertyKeyOrFunction)\n\n // tweak the component class componentWillUnmount if not done already\n if (!componentWasAlreadyModified) {\n patch(target, \"componentWillUnmount\", runDisposersOnWillUnmount)\n }\n\n // return the disposer as is if invoked as a non decorator\n if (typeof propertyKeyOrFunction !== \"string\") {\n return propertyKeyOrFunction\n }\n}\n","import { isObservableArray, isObservableObject, isObservableMap, untracked } from \"mobx\"\n\n// Copied from React.PropTypes\nfunction createChainableTypeChecker(validator: React.Validator<any>): React.Requireable<any> {\n function checkType(\n isRequired: boolean,\n props: any,\n propName: string,\n componentName: string,\n location: string,\n propFullName: string,\n ...rest: any[]\n ) {\n return untracked(() => {\n componentName = componentName || \"<<anonymous>>\"\n propFullName = propFullName || propName\n if (props[propName] == null) {\n if (isRequired) {\n const actual = props[propName] === null ? \"null\" : \"undefined\"\n return new Error(\n \"The \" +\n location +\n \" `\" +\n propFullName +\n \"` is marked as required \" +\n \"in `\" +\n componentName +\n \"`, but its value is `\" +\n actual +\n \"`.\"\n )\n }\n return null\n } else {\n // @ts-ignore rest arg is necessary for some React internals - fails tests otherwise\n return validator(props, propName, componentName, location, propFullName, ...rest)\n }\n })\n }\n\n const chainedCheckType: any = checkType.bind(null, false)\n // Add isRequired to satisfy Requirable\n chainedCheckType.isRequired = checkType.bind(null, true)\n return chainedCheckType\n}\n\n// Copied from React.PropTypes\nfunction isSymbol(propType: any, propValue: any): boolean {\n // Native Symbol.\n if (propType === \"symbol\") {\n return true\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue[\"@@toStringTag\"] === \"Symbol\") {\n return true\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === \"function\" && propValue instanceof Symbol) {\n return true\n }\n\n return false\n}\n\n// Copied from React.PropTypes\nfunction getPropType(propValue: any): string {\n const propType = typeof propValue\n if (Array.isArray(propValue)) {\n return \"array\"\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return \"object\"\n }\n if (isSymbol(propType, propValue)) {\n return \"symbol\"\n }\n return propType\n}\n\n// This handles more types than `getPropType`. Only used for error messages.\n// Copied from React.PropTypes\nfunction getPreciseType(propValue: any): string {\n const propType = getPropType(propValue)\n if (propType === \"object\") {\n if (propValue instanceof Date) {\n return \"date\"\n } else if (propValue instanceof RegExp) {\n return \"regexp\"\n }\n }\n return propType\n}\n\nfunction createObservableTypeCheckerCreator(\n allowNativeType: any,\n mobxType: any\n): React.Requireable<any> {\n return createChainableTypeChecker((props, propName, componentName, location, propFullName) => {\n return untracked(() => {\n if (allowNativeType) {\n if (getPropType(props[propName]) === mobxType.toLowerCase()) return null\n }\n let mobxChecker\n switch (mobxType) {\n case \"Array\":\n mobxChecker = isObservableArray\n break\n case \"Object\":\n mobxChecker = isObservableObject\n break\n case \"Map\":\n mobxChecker = isObservableMap\n break\n default:\n throw new Error(`Unexpected mobxType: ${mobxType}`)\n }\n const propValue = props[propName]\n if (!mobxChecker(propValue)) {\n const preciseType = getPreciseType(propValue)\n const nativeTypeExpectationMessage = allowNativeType\n ? \" or javascript `\" + mobxType.toLowerCase() + \"`\"\n : \"\"\n return new Error(\n \"Invalid prop `\" +\n propFullName +\n \"` of type `\" +\n preciseType +\n \"` supplied to\" +\n \" `\" +\n componentName +\n \"`, expected `mobx.Observable\" +\n mobxType +\n \"`\" +\n nativeTypeExpectationMessage +\n \".\"\n )\n }\n return null\n })\n })\n}\n\nfunction createObservableArrayOfTypeChecker(\n allowNativeType: boolean,\n typeChecker: React.Validator<any>\n) {\n return createChainableTypeChecker(\n (props, propName, componentName, location, propFullName, ...rest) => {\n return untracked(() => {\n if (typeof typeChecker !== \"function\") {\n return new Error(\n \"Property `\" +\n propFullName +\n \"` of component `\" +\n componentName +\n \"` has \" +\n \"invalid PropType notation.\"\n )\n } else {\n let error = createObservableTypeCheckerCreator(allowNativeType, \"Array\")(\n props,\n propName,\n componentName,\n location,\n propFullName\n )\n\n if (error instanceof Error) return error\n const propValue = props[propName]\n for (let i = 0; i < propValue.length; i++) {\n error = (typeChecker as React.Validator<any>)(\n propValue,\n i as any,\n componentName,\n location,\n propFullName + \"[\" + i + \"]\",\n ...rest\n )\n if (error instanceof Error) return error\n }\n\n return null\n }\n })\n }\n )\n}\n\nconst observableArray = createObservableTypeCheckerCreator(false, \"Array\")\nconst observableArrayOf = createObservableArrayOfTypeChecker.bind(null, false)\nconst observableMap = createObservableTypeCheckerCreator(false, \"Map\")\nconst observableObject = createObservableTypeCheckerCreator(false, \"Object\")\nconst arrayOrObservableArray = createObservableTypeCheckerCreator(true, \"Array\")\nconst arrayOrObservableArrayOf = createObservableArrayOfTypeChecker.bind(null, true)\nconst objectOrObservableObject = createObservableTypeCheckerCreator(true, \"Object\")\n\nexport const PropTypes = {\n observableArray,\n observableArrayOf,\n observableMap,\n observableObject,\n arrayOrObservableArray,\n arrayOrObservableArrayOf,\n objectOrObservableObject\n}\n","import { observable } from \"mobx\"\nimport { Component } from \"react\"\n\nif (!Component) throw new Error(\"mobx-react requires React to be available\")\nif (!observable) throw new Error(\"mobx-react requires mobx to be available\")\n\nexport {\n Observer,\n useObserver,\n useAsObservableSource,\n useLocalStore,\n isUsingStaticRendering,\n useStaticRendering,\n enableStaticRendering,\n observerBatching,\n useLocalObservable\n} from \"mobx-react-lite\"\n\nexport { observer } from \"./observer\"\n\nexport { MobXProviderContext, Provider, ProviderProps } from \"./Provider\"\nexport { inject } from \"./inject\"\nexport { disposeOnUnmount } from \"./disposeOnUnmount\"\nexport { PropTypes } from \"./propTypes\"\nexport { IWrappedComponent } from \"./types/IWrappedComponent\"\n"],"names":["symbolId","createSymbol","name","Symbol","symbol","createdSymbols","newSymbol","shallowEqual","objA","objB","is","keysA","Object","keys","keysB","length","i","hasOwnProperty","call","x","y","hoistBlackList","$$typeof","render","compare","type","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","displayName","propTypes","copyStaticProperties","base","target","protoProps","getOwnPropertyNames","getPrototypeOf","forEach","key","indexOf","defineProperty","getOwnPropertyDescriptor","setHiddenProp","prop","value","enumerable","configurable","writable","mobxMixins","mobxPatchedDefinition","getMixins","methodName","methodMixins","locks","methods","wrapper","realMethod","args","retVal","undefined","apply","mx","wrapFunction","fn","patch","mixinMethod","push","oldDefinition","originalMethod","newDefinition","createDefinition","wrappedFunc","get","set","mobxAdminProperty","$mobx","mobxObserverProperty","mobxIsUnmounted","skipRenderKey","isForcingUpdateKey","makeClassComponentObserver","componentClass","prototype","getDisplayName","console","warn","componentWillReact","Error","PureComponent","shouldComponentUpdate","observerSCU","makeObservableProp","baseRender","makeComponentReactive","isUsingStaticRendering","dispose","comp","constructor","initialName","bind","isRenderingPending","reaction","Reaction","hasError","Component","forceUpdate","reactiveRender","exception","rendering","track","_allowStateChanges","e","nextProps","nextState","state","props","propName","valueHolderKey","atomHolderKey","getAtom","createAtom","prevReadState","_allowStateReadsStart","_allowStateReadsEnd","reportObserved","v","reportChanged","observer","component","isPrototypeOf","React","observerLite","MobXProviderContext","createContext","Provider","children","stores","parentValue","useContext","mutableProviderRef","useRef","current","newValue","createStoreInjector","grabStoresFn","injectNames","makeReactive","Injector","forwardRef","ref","newProps","context","assign","createElement","getInjectName","componentName","grabStoresByName","storeNames","baseStores","storeName","inject","arguments","join","protoStoreKey","instStoreKey","runDisposersOnWillUnmount","propKeyOrFunction","Array","isArray","map","f","disposeOnUnmount","propertyKeyOrFunction","c","c2","c3","isDecorator","componentWasAlreadyModified","store","createChainableTypeChecker","validator","checkType","isRequired","location","propFullName","rest","untracked","actual","chainedCheckType","isSymbol","propType","propValue","getPropType","RegExp","getPreciseType","Date","createObservableTypeCheckerCreator","allowNativeType","mobxType","toLowerCase","mobxChecker","isObservableArray","isObservableObject","isObservableMap","preciseType","nativeTypeExpectationMessage","createObservableArrayOfTypeChecker","typeChecker","error","observableArray","observableArrayOf","observableMap","observableObject","arrayOrObservableArray","arrayOrObservableArrayOf","objectOrObservableObject","PropTypes","observable"],"mappings":"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"}
|
|
@@ -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"),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 l={$$typeof:1,render:1,compare:1,type:1,childContextTypes:1,contextType:1,contextTypes:1,defaultProps:1,getDefaultProps:1,getDerivedStateFromError:1,getDerivedStateFromProps:1,mixins:1,displayName:1,propTypes:1};function f(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])||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);f(this,g,!1),f(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{f(n,w,!0),n[g]||t.Component.prototype.forceUpdate.call(n),e=!1}finally{f(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]||f(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)?f(this,n,e):(f(this,n,e),f(this,g,!0),a.call(this).reportChanged(),f(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){l[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 N=s("disposeOnUnmountProto"),q=s("disposeOnUnmountInst");function D(){var e=this;[].concat(this[N]||[],this[q]||[]).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),l=6;l<c;l++)u[l-6]=arguments[l];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 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,s){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 c=n[o];if(!i(c)){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}(c),l=e?" or javascript `"+t.toLowerCase()+"`":"";return new Error("Invalid prop `"+s+"` of type `"+u+"` supplied to `"+a+"`, expected `mobx.Observable"+t+"`"+l+".")}return null}))}))}function F(e,t){return I((function(n,o,a,i,s){for(var c=arguments.length,u=new Array(c>5?c-5:0),l=5;l<c;l++)u[l-5]=arguments[l];return r.untracked((function(){if("function"!=typeof t)return new Error("Property `"+s+"` of component `"+a+"` has invalid PropType notation.");var r=X(e,"Array")(n,o,a,i,s);if(r instanceof Error)return r;for(var c=n[o],l=0;l<c.length;l++)if((r=t.apply(void 0,[c,l,a,i,s+"["+l+"]"].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(exports,"Observer",{enumerable:!0,get:function(){return o.Observer}}),Object.defineProperty(exports,"enableStaticRendering",{enumerable:!0,get:function(){return o.enableStaticRendering}}),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,"useLocalObservable",{enumerable:!0,get:function(){return o.useLocalObservable}}),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[N]||!!r[q];return("string"==typeof t?r[N]||(r[N]=[]):r[q]||(r[q]=[])).push(t),s||v(r,"componentWillUnmount",D),"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;
|
|
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 l={$$typeof:1,render:1,compare:1,type:1,childContextTypes:1,contextType:1,contextTypes:1,defaultProps:1,getDefaultProps:1,getDerivedStateFromError:1,getDerivedStateFromProps:1,mixins:1,displayName:1,propTypes:1};function p(e,r,t){Object.hasOwnProperty.call(e,r)?e[r]=t:Object.defineProperty(e,r,{enumerable:!1,configurable:!0,writable:!0,value:t})}var f=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[f]=e[f]||{},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=P(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!==S)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else r.shouldComponentUpdate=S;C(r,"props"),C(r,"state");var a=r.render;if("function"!=typeof a){var i=P(r);throw new Error("[mobx-react] class component ("+i+") is missing `render` method.\n`observer` requires `render` being a function defined on prototype.\n`render = () => {}` or `render = function() {}` is not supported.")}return r.render=function(){return x.call(this,a)},v(r,"componentWillUnmount",(function(){var e;if(!0!==o.isUsingStaticRendering()&&(null==(e=this.render[m])||e.dispose(),this[O]=!0,!this.render[m])){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 n=this;if(!0===o.isUsingStaticRendering())return e.call(this);p(this,g,!1),p(this,w,!1);var a=P(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{p(n,w,!0),n[g]||t.Component.prototype.forceUpdate.call(n),e=!1}finally{p(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 S(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 C(e,t){var n=s("reactProp_"+t+"_valueHolder"),o=s("reactProp_"+t+"_atomHolder");function a(){return this[o]||p(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)?p(this,n,e):(p(this,n,e),p(this,g,!0),a.call(this).reportChanged(),p(this,g,!1))}})}function R(e){return!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`"),Object.prototype.isPrototypeOf.call(t.Component,e)||Object.prototype.isPrototypeOf.call(t.PureComponent,e)?j(e):o.observer(e)}function E(){return(E=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 A=["children"],k=n.createContext({});function U(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,A),o=n.useContext(k),a=n.useRef(E({},o,t));return n.createElement(k.Provider,{value:a.current},r)}function _(e,r,t,o){var a,i,s,c=n.forwardRef((function(t,o){var a=E({},t),i=n.useContext(k);return Object.assign(a,e(i||{},a)||{}),o&&(a.ref=o),n.createElement(r,a)}));return o&&(c=R(c)),c.isMobxInjector=!0,a=r,i=c,s=Object.getOwnPropertyNames(Object.getPrototypeOf(a)),Object.getOwnPropertyNames(a).forEach((function(e){l[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 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 T=s("disposeOnUnmountProto"),q=s("disposeOnUnmountInst");function N(){var e=this;[].concat(this[T]||[],this[q]||[]).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,a,i,s){for(var c=arguments.length,u=new Array(c>6?c-6:0),l=6;l<c;l++)u[l-6]=arguments[l];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 I(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 L(e,t){return D((function(n,o,a,i,s){return r.untracked((function(){if(e&&I(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=I(e);if("object"===r){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return r}(c),l=e?" or javascript `"+t.toLowerCase()+"`":"";return new Error("Invalid prop `"+s+"` of type `"+u+"` supplied to `"+a+"`, expected `mobx.Observable"+t+"`"+l+".")}return null}))}))}function X(e,t){return D((function(n,o,a,i,s){for(var c=arguments.length,u=new Array(c>5?c-5:0),l=5;l<c;l++)u[l-5]=arguments[l];return r.untracked((function(){if("function"!=typeof t)return new Error("Property `"+s+"` of component `"+a+"` has invalid PropType notation.");var r=L(e,"Array")(n,o,a,i,s);if(r instanceof Error)return r;for(var c=n[o],l=0;l<c.length;l++)if((r=t.apply(void 0,[c,l,a,i,s+"["+l+"]"].concat(u)))instanceof Error)return r;return null}))}))}var $={observableArray:L(!1,"Array"),observableArrayOf:X.bind(null,!1),observableMap:L(!1,"Map"),observableObject:L(!1,"Object"),arrayOrObservableArray:L(!0,"Array"),arrayOrObservableArrayOf:X.bind(null,!0),objectOrObservableObject:L(!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,"enableStaticRendering",{enumerable:!0,get:function(){return o.enableStaticRendering}}),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,"useLocalObservable",{enumerable:!0,get:function(){return o.useLocalObservable}}),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=$,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,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[T]||!!r[q];return("string"==typeof t?r[T]||(r[T]=[]):r[q]||(r[q]=[])).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 _(n,e,n.name,!0)}}return function(e){return _(M(r),e,r.join("-"),!1)}},exports.observer=R;
|
|
2
2
|
//# sourceMappingURL=mobxreact.cjs.production.min.js.map
|