mobx-react 5.4.3 → 5.4.4
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/.browserlistrc +6 -6
- package/.editorconfig +6 -6
- package/.prettierrc +4 -4
- package/.travis.yml +9 -9
- package/CHANGELOG.md +518 -518
- package/LICENSE +21 -21
- package/README.md +518 -517
- package/custom.d.ts +140 -140
- package/custom.js +47 -29
- package/custom.module.js +47 -29
- package/dist/mobx-react.d.ts +105 -0
- package/dist/mobx-react.js +2 -0
- package/dist/mobx-react.js.map +1 -0
- package/dist/mobx-react.module.js +2 -0
- package/dist/mobx-react.module.js.map +1 -0
- package/dist/mobx-react.rn.module.js +2 -0
- package/dist/mobx-react.umd.js +2 -0
- package/dist/mobx-react.umd.js.map +1 -0
- package/empty.js +3 -3
- package/index.d.ts +140 -140
- package/index.js +47 -29
- package/index.min.js +9 -1
- package/index.module.js +47 -29
- package/native.d.ts +140 -140
- package/native.js +47 -29
- package/package.json +1 -1
- package/yarn.lock +5886 -5886
package/index.d.ts
CHANGED
|
@@ -1,140 +1,140 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Turns a React component or stateless render function into a reactive component.
|
|
3
|
-
*/
|
|
4
|
-
import * as React from "react"
|
|
5
|
-
|
|
6
|
-
export type IReactComponent<P = any> =
|
|
7
|
-
| React.StatelessComponent<P>
|
|
8
|
-
| React.ComponentClass<P>
|
|
9
|
-
| React.ClassicComponentClass<P>
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Observer
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
// Deprecated: observer with with stores (as decorator)
|
|
16
|
-
export function observer(stores: string[]): <T extends IReactComponent>(clazz: T) => void
|
|
17
|
-
// Deprecated: observer with with stores
|
|
18
|
-
export function observer<T extends IReactComponent>(stores: string[], clazz: T): T
|
|
19
|
-
export function observer<T extends IReactComponent>(target: T): T
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Inject
|
|
23
|
-
*/
|
|
24
|
-
export type IValueMap = { [key: string]: any }
|
|
25
|
-
export type IStoresToProps<
|
|
26
|
-
S extends IValueMap = {},
|
|
27
|
-
P extends IValueMap = {},
|
|
28
|
-
I extends IValueMap = {},
|
|
29
|
-
C extends IValueMap = {}
|
|
30
|
-
> = (stores: S, nextProps: P, context: C) => I
|
|
31
|
-
|
|
32
|
-
export type IWrappedComponent<P> = {
|
|
33
|
-
wrappedComponent: IReactComponent<P>
|
|
34
|
-
wrappedInstance: React.ReactInstance | undefined
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Ideally we would want to return React.ComponentClass<Partial<P>>,
|
|
38
|
-
// but TS doesn't allow such things in decorators, like we do in the non-decorator version
|
|
39
|
-
// See also #256
|
|
40
|
-
export function inject(
|
|
41
|
-
...stores: string[]
|
|
42
|
-
): <T extends IReactComponent<any>>(
|
|
43
|
-
target: T
|
|
44
|
-
) => T & (T extends IReactComponent<infer P> ? IWrappedComponent<P> : never)
|
|
45
|
-
export function inject<S, P, I, C>(
|
|
46
|
-
fn: IStoresToProps<S, P, I, C>
|
|
47
|
-
): <T extends IReactComponent>(target: T) => T & IWrappedComponent<P>
|
|
48
|
-
|
|
49
|
-
// Ideal implementation:
|
|
50
|
-
// export function inject
|
|
51
|
-
// (
|
|
52
|
-
// fn: IStoresToProps
|
|
53
|
-
// ):
|
|
54
|
-
// <P>(target: IReactComponent<P>) => IReactComponent<Partial<P>> & IWrappedComponent<IReactComponent<Partial<P>>>
|
|
55
|
-
//
|
|
56
|
-
// Or even better: (but that would require type inference to work other way around)
|
|
57
|
-
// export function inject<P, I>
|
|
58
|
-
// (
|
|
59
|
-
// fn: IStoresToProps<any, P, I>
|
|
60
|
-
// ):
|
|
61
|
-
// <T extends IReactComponent<P & S>(target: T) => IReactComponent<P> & IWrappedComponent<T>
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* disposeOnUnmount
|
|
65
|
-
*/
|
|
66
|
-
type Disposer = () => void
|
|
67
|
-
export function disposeOnUnmount(target: React.Component<any, any>, propertyKey: string): void
|
|
68
|
-
export function disposeOnUnmount<TF extends Disposer | Disposer[]>(
|
|
69
|
-
target: React.Component<any, any>,
|
|
70
|
-
fn: TF
|
|
71
|
-
): TF
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Utilities
|
|
75
|
-
*/
|
|
76
|
-
export function onError(cb: (error: Error) => void): () => void
|
|
77
|
-
|
|
78
|
-
export class Provider extends React.Component<any, {}> {}
|
|
79
|
-
|
|
80
|
-
export class Observer extends React.Component<
|
|
81
|
-
{
|
|
82
|
-
children?: () => React.ReactNode
|
|
83
|
-
render?: () => React.ReactNode
|
|
84
|
-
},
|
|
85
|
-
{}
|
|
86
|
-
> {}
|
|
87
|
-
|
|
88
|
-
export function useStaticRendering(value: boolean): void
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Enable dev tool support, makes sure that renderReport emits events.
|
|
92
|
-
*/
|
|
93
|
-
export function trackComponents(): void
|
|
94
|
-
|
|
95
|
-
export const renderReporter: RenderReporter
|
|
96
|
-
|
|
97
|
-
export interface RenderReporter {
|
|
98
|
-
on(handler: (data: IRenderEvent) => void): void
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export interface IRenderEvent {
|
|
102
|
-
event: "render" | "destroy"
|
|
103
|
-
renderTime?: number
|
|
104
|
-
totalTime?: number
|
|
105
|
-
component: React.ReactElement<any> // Component instance
|
|
106
|
-
node: any // DOMNode
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* WeakMap DOMNode -> Component instance
|
|
111
|
-
* @deprecated
|
|
112
|
-
*/
|
|
113
|
-
export const componentByNodeRegistery: any
|
|
114
|
-
/**
|
|
115
|
-
* WeakMap DOMNode -> Component instance
|
|
116
|
-
*/
|
|
117
|
-
export const componentByNodeRegistry: any
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* @deprecated, use PropTypes instead
|
|
121
|
-
*/
|
|
122
|
-
export const propTypes: {
|
|
123
|
-
observableArray: React.Requireable<any>
|
|
124
|
-
observableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
|
|
125
|
-
observableMap: React.Requireable<any>
|
|
126
|
-
observableObject: React.Requireable<any>
|
|
127
|
-
arrayOrObservableArray: React.Requireable<any>
|
|
128
|
-
arrayOrObservableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
|
|
129
|
-
objectOrObservableObject: React.Requireable<any>
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export const PropTypes: {
|
|
133
|
-
observableArray: React.Requireable<any>
|
|
134
|
-
observableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
|
|
135
|
-
observableMap: React.Requireable<any>
|
|
136
|
-
observableObject: React.Requireable<any>
|
|
137
|
-
arrayOrObservableArray: React.Requireable<any>
|
|
138
|
-
arrayOrObservableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
|
|
139
|
-
objectOrObservableObject: React.Requireable<any>
|
|
140
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Turns a React component or stateless render function into a reactive component.
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react"
|
|
5
|
+
|
|
6
|
+
export type IReactComponent<P = any> =
|
|
7
|
+
| React.StatelessComponent<P>
|
|
8
|
+
| React.ComponentClass<P>
|
|
9
|
+
| React.ClassicComponentClass<P>
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Observer
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
// Deprecated: observer with with stores (as decorator)
|
|
16
|
+
export function observer(stores: string[]): <T extends IReactComponent>(clazz: T) => void
|
|
17
|
+
// Deprecated: observer with with stores
|
|
18
|
+
export function observer<T extends IReactComponent>(stores: string[], clazz: T): T
|
|
19
|
+
export function observer<T extends IReactComponent>(target: T): T
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Inject
|
|
23
|
+
*/
|
|
24
|
+
export type IValueMap = { [key: string]: any }
|
|
25
|
+
export type IStoresToProps<
|
|
26
|
+
S extends IValueMap = {},
|
|
27
|
+
P extends IValueMap = {},
|
|
28
|
+
I extends IValueMap = {},
|
|
29
|
+
C extends IValueMap = {}
|
|
30
|
+
> = (stores: S, nextProps: P, context: C) => I
|
|
31
|
+
|
|
32
|
+
export type IWrappedComponent<P> = {
|
|
33
|
+
wrappedComponent: IReactComponent<P>
|
|
34
|
+
wrappedInstance: React.ReactInstance | undefined
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Ideally we would want to return React.ComponentClass<Partial<P>>,
|
|
38
|
+
// but TS doesn't allow such things in decorators, like we do in the non-decorator version
|
|
39
|
+
// See also #256
|
|
40
|
+
export function inject(
|
|
41
|
+
...stores: string[]
|
|
42
|
+
): <T extends IReactComponent<any>>(
|
|
43
|
+
target: T
|
|
44
|
+
) => T & (T extends IReactComponent<infer P> ? IWrappedComponent<P> : never)
|
|
45
|
+
export function inject<S, P, I, C>(
|
|
46
|
+
fn: IStoresToProps<S, P, I, C>
|
|
47
|
+
): <T extends IReactComponent>(target: T) => T & IWrappedComponent<P>
|
|
48
|
+
|
|
49
|
+
// Ideal implementation:
|
|
50
|
+
// export function inject
|
|
51
|
+
// (
|
|
52
|
+
// fn: IStoresToProps
|
|
53
|
+
// ):
|
|
54
|
+
// <P>(target: IReactComponent<P>) => IReactComponent<Partial<P>> & IWrappedComponent<IReactComponent<Partial<P>>>
|
|
55
|
+
//
|
|
56
|
+
// Or even better: (but that would require type inference to work other way around)
|
|
57
|
+
// export function inject<P, I>
|
|
58
|
+
// (
|
|
59
|
+
// fn: IStoresToProps<any, P, I>
|
|
60
|
+
// ):
|
|
61
|
+
// <T extends IReactComponent<P & S>(target: T) => IReactComponent<P> & IWrappedComponent<T>
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* disposeOnUnmount
|
|
65
|
+
*/
|
|
66
|
+
type Disposer = () => void
|
|
67
|
+
export function disposeOnUnmount(target: React.Component<any, any>, propertyKey: string): void
|
|
68
|
+
export function disposeOnUnmount<TF extends Disposer | Disposer[]>(
|
|
69
|
+
target: React.Component<any, any>,
|
|
70
|
+
fn: TF
|
|
71
|
+
): TF
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Utilities
|
|
75
|
+
*/
|
|
76
|
+
export function onError(cb: (error: Error) => void): () => void
|
|
77
|
+
|
|
78
|
+
export class Provider extends React.Component<any, {}> {}
|
|
79
|
+
|
|
80
|
+
export class Observer extends React.Component<
|
|
81
|
+
{
|
|
82
|
+
children?: () => React.ReactNode
|
|
83
|
+
render?: () => React.ReactNode
|
|
84
|
+
},
|
|
85
|
+
{}
|
|
86
|
+
> {}
|
|
87
|
+
|
|
88
|
+
export function useStaticRendering(value: boolean): void
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Enable dev tool support, makes sure that renderReport emits events.
|
|
92
|
+
*/
|
|
93
|
+
export function trackComponents(): void
|
|
94
|
+
|
|
95
|
+
export const renderReporter: RenderReporter
|
|
96
|
+
|
|
97
|
+
export interface RenderReporter {
|
|
98
|
+
on(handler: (data: IRenderEvent) => void): void
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export interface IRenderEvent {
|
|
102
|
+
event: "render" | "destroy"
|
|
103
|
+
renderTime?: number
|
|
104
|
+
totalTime?: number
|
|
105
|
+
component: React.ReactElement<any> // Component instance
|
|
106
|
+
node: any // DOMNode
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* WeakMap DOMNode -> Component instance
|
|
111
|
+
* @deprecated
|
|
112
|
+
*/
|
|
113
|
+
export const componentByNodeRegistery: any
|
|
114
|
+
/**
|
|
115
|
+
* WeakMap DOMNode -> Component instance
|
|
116
|
+
*/
|
|
117
|
+
export const componentByNodeRegistry: any
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* @deprecated, use PropTypes instead
|
|
121
|
+
*/
|
|
122
|
+
export const propTypes: {
|
|
123
|
+
observableArray: React.Requireable<any>
|
|
124
|
+
observableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
|
|
125
|
+
observableMap: React.Requireable<any>
|
|
126
|
+
observableObject: React.Requireable<any>
|
|
127
|
+
arrayOrObservableArray: React.Requireable<any>
|
|
128
|
+
arrayOrObservableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
|
|
129
|
+
objectOrObservableObject: React.Requireable<any>
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export const PropTypes: {
|
|
133
|
+
observableArray: React.Requireable<any>
|
|
134
|
+
observableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
|
|
135
|
+
observableMap: React.Requireable<any>
|
|
136
|
+
observableObject: React.Requireable<any>
|
|
137
|
+
arrayOrObservableArray: React.Requireable<any>
|
|
138
|
+
arrayOrObservableArrayOf: (type: React.Validator<any>) => React.Requireable<any>
|
|
139
|
+
objectOrObservableObject: React.Requireable<any>
|
|
140
|
+
}
|
package/index.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/** @license mobx-react v5.4.4
|
|
2
|
+
* index.js
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2015 Michel Weststrate.
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
1
9
|
(function (global, factory) {
|
|
2
10
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('mobx'), require('react'), require('react-dom')) :
|
|
3
11
|
typeof define === 'function' && define.amd ? define(['exports', 'mobx', 'react', 'react-dom'], factory) :
|
|
@@ -446,7 +454,8 @@
|
|
|
446
454
|
return !(component.prototype && component.prototype.render);
|
|
447
455
|
}
|
|
448
456
|
var symbolId = 0;
|
|
449
|
-
|
|
457
|
+
|
|
458
|
+
function createSymbol(name) {
|
|
450
459
|
if (typeof Symbol === "function") {
|
|
451
460
|
return Symbol(name);
|
|
452
461
|
}
|
|
@@ -455,6 +464,15 @@
|
|
|
455
464
|
symbolId++;
|
|
456
465
|
return symbol;
|
|
457
466
|
}
|
|
467
|
+
|
|
468
|
+
var createdSymbols = {};
|
|
469
|
+
function newSymbol(name) {
|
|
470
|
+
if (!createdSymbols[name]) {
|
|
471
|
+
createdSymbols[name] = createSymbol(name);
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
return createdSymbols[name];
|
|
475
|
+
}
|
|
458
476
|
var mobxMixins = newSymbol("patchMixins");
|
|
459
477
|
var mobxPatchedDefinition = newSymbol("patchedDefinition");
|
|
460
478
|
|
|
@@ -575,8 +593,8 @@
|
|
|
575
593
|
configurable: true,
|
|
576
594
|
enumerable: true
|
|
577
595
|
}
|
|
578
|
-
/**
|
|
579
|
-
* Store Injection
|
|
596
|
+
/**
|
|
597
|
+
* Store Injection
|
|
580
598
|
*/
|
|
581
599
|
|
|
582
600
|
};
|
|
@@ -660,11 +678,11 @@
|
|
|
660
678
|
return nextProps;
|
|
661
679
|
};
|
|
662
680
|
}
|
|
663
|
-
/**
|
|
664
|
-
* higher order component that injects stores to a child.
|
|
665
|
-
* takes either a varargs list of strings, which are stores read from the context,
|
|
666
|
-
* or a function that manually maps the available stores from the context to props:
|
|
667
|
-
* storesToProps(mobxStores, props, context) => newProps
|
|
681
|
+
/**
|
|
682
|
+
* higher order component that injects stores to a child.
|
|
683
|
+
* takes either a varargs list of strings, which are stores read from the context,
|
|
684
|
+
* or a function that manually maps the available stores from the context to props:
|
|
685
|
+
* storesToProps(mobxStores, props, context) => newProps
|
|
668
686
|
*/
|
|
669
687
|
|
|
670
688
|
|
|
@@ -702,8 +720,8 @@
|
|
|
702
720
|
|
|
703
721
|
var mobxAdminProperty = mobx.$mobx || "$mobx";
|
|
704
722
|
var mobxIsUnmounted = newSymbol("isUnmounted");
|
|
705
|
-
/**
|
|
706
|
-
* dev tool support
|
|
723
|
+
/**
|
|
724
|
+
* dev tool support
|
|
707
725
|
*/
|
|
708
726
|
|
|
709
727
|
var isDevtoolsEnabled = false;
|
|
@@ -716,11 +734,11 @@
|
|
|
716
734
|
var isForcingUpdateKey = newSymbol("isForcingUpdate"); // Using react-is had some issues (and operates on elements, not on types), see #608 / #609
|
|
717
735
|
|
|
718
736
|
var ReactForwardRefSymbol = typeof React.forwardRef === "function" && React.forwardRef(function (_props, _ref) {})["$$typeof"];
|
|
719
|
-
/**
|
|
720
|
-
* Helper to set `prop` to `this` as non-enumerable (hidden prop)
|
|
721
|
-
* @param target
|
|
722
|
-
* @param prop
|
|
723
|
-
* @param value
|
|
737
|
+
/**
|
|
738
|
+
* Helper to set `prop` to `this` as non-enumerable (hidden prop)
|
|
739
|
+
* @param target
|
|
740
|
+
* @param prop
|
|
741
|
+
* @param value
|
|
724
742
|
*/
|
|
725
743
|
|
|
726
744
|
function setHiddenProp(target, prop, value) {
|
|
@@ -770,13 +788,13 @@
|
|
|
770
788
|
function useStaticRendering(useStaticRendering) {
|
|
771
789
|
isUsingStaticRendering = useStaticRendering;
|
|
772
790
|
}
|
|
773
|
-
/**
|
|
774
|
-
* Errors reporter
|
|
791
|
+
/**
|
|
792
|
+
* Errors reporter
|
|
775
793
|
*/
|
|
776
794
|
|
|
777
795
|
var errorsReporter = new EventEmitter();
|
|
778
|
-
/**
|
|
779
|
-
* Utilities
|
|
796
|
+
/**
|
|
797
|
+
* Utilities
|
|
780
798
|
*/
|
|
781
799
|
|
|
782
800
|
function patch$1(target, funcName) {
|
|
@@ -851,15 +869,15 @@
|
|
|
851
869
|
|
|
852
870
|
var initialName = this.displayName || this.name || this.constructor && (this.constructor.displayName || this.constructor.name) || "<component>";
|
|
853
871
|
var rootNodeID = this._reactInternalInstance && this._reactInternalInstance._rootNodeID || this._reactInternalInstance && this._reactInternalInstance._debugID || this._reactInternalFiber && this._reactInternalFiber._debugID;
|
|
854
|
-
/**
|
|
855
|
-
* If props are shallowly modified, react will render anyway,
|
|
856
|
-
* so atom.reportChanged() should not result in yet another re-render
|
|
872
|
+
/**
|
|
873
|
+
* If props are shallowly modified, react will render anyway,
|
|
874
|
+
* so atom.reportChanged() should not result in yet another re-render
|
|
857
875
|
*/
|
|
858
876
|
|
|
859
877
|
setHiddenProp(this, skipRenderKey, false);
|
|
860
|
-
/**
|
|
861
|
-
* forceUpdate will re-assign this.props. We don't want that to cause a loop,
|
|
862
|
-
* so detect these changes
|
|
878
|
+
/**
|
|
879
|
+
* forceUpdate will re-assign this.props. We don't want that to cause a loop,
|
|
880
|
+
* so detect these changes
|
|
863
881
|
*/
|
|
864
882
|
|
|
865
883
|
setHiddenProp(this, isForcingUpdateKey, false); // wire up reactive render
|
|
@@ -896,8 +914,8 @@
|
|
|
896
914
|
this.render = reactiveRender;
|
|
897
915
|
return reactiveRender.call(this);
|
|
898
916
|
}
|
|
899
|
-
/**
|
|
900
|
-
* ReactiveMixin
|
|
917
|
+
/**
|
|
918
|
+
* ReactiveMixin
|
|
901
919
|
*/
|
|
902
920
|
|
|
903
921
|
|
|
@@ -980,8 +998,8 @@
|
|
|
980
998
|
}
|
|
981
999
|
});
|
|
982
1000
|
}
|
|
983
|
-
/**
|
|
984
|
-
* Observer function / decorator
|
|
1001
|
+
/**
|
|
1002
|
+
* Observer function / decorator
|
|
985
1003
|
*/
|
|
986
1004
|
|
|
987
1005
|
|
package/index.min.js
CHANGED
|
@@ -1 +1,9 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("mobx"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","mobx","react","react-dom"],t):t(e.mobxReact={},e.mobx,e.React,e.ReactDOM)}(this,function(e,l,p,t){"use strict";var f="default"in p?p.default:p;function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function n(e,t){return(n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function o(e,t){return e(t={exports:{}},t.exports),t.exports}var i,s=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,a=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,p=n?Symbol.for("react.async_mode"):60111,l=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,d=n?Symbol.for("react.suspense"):60113,y=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116;function m(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case p:case l:case i:case s:case a:return e;default:switch(e=e&&e.$$typeof){case u:case f:case c:return e;default:return t}}case o:return t}}}function b(e){return m(e)===l}t.typeOf=m,t.AsyncMode=p,t.ConcurrentMode=l,t.ContextConsumer=u,t.ContextProvider=c,t.Element=r,t.ForwardRef=f,t.Fragment=i,t.Profiler=s,t.Portal=o,t.StrictMode=a,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===l||e===s||e===a||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===y||e.$$typeof===c||e.$$typeof===u||e.$$typeof===f)},t.isAsyncMode=function(e){return b(e)||m(e)===p},t.isConcurrentMode=b,t.isContextConsumer=function(e){return m(e)===u},t.isContextProvider=function(e){return m(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return m(e)===f},t.isFragment=function(e){return m(e)===i},t.isProfiler=function(e){return m(e)===s},t.isPortal=function(e){return m(e)===o},t.isStrictMode=function(e){return m(e)===a}});(i=s)&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")&&i.default;s.typeOf,s.AsyncMode,s.ConcurrentMode,s.ContextConsumer,s.ContextProvider,s.Element,s.ForwardRef,s.Fragment,s.Profiler,s.Portal,s.StrictMode,s.isValidElementType,s.isAsyncMode,s.isConcurrentMode,s.isContextConsumer,s.isContextProvider,s.isElement,s.isForwardRef,s.isFragment,s.isProfiler,s.isPortal,s.isStrictMode;var c=o(function(e){e.exports=s}),g={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},w={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},O={};O[c.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var _=Object.defineProperty,x=Object.getOwnPropertyNames,S=Object.getOwnPropertySymbols,P=Object.getOwnPropertyDescriptor,j=Object.getPrototypeOf,C=Object.prototype;var E=function e(t,n,r){if("string"==typeof n)return t;if(C){var o=j(n);o&&o!==C&&e(t,o,r)}var i=x(n);S&&(i=i.concat(S(n)));for(var a=O[t.$$typeof]||g,s=O[n.$$typeof]||g,c=0;c<i.length;++c){var u=i[c];if(!(w[u]||r&&r[u]||s&&s[u]||a&&a[u])){var p=P(n,u);try{_(t,u,p)}catch(e){}}}return t},u=function(){function e(){d(this,e),this.listeners=[]}return y(e,[{key:"on",value:function(t){var n=this;return this.listeners.push(t),function(){var e=n.listeners.indexOf(t);-1!==e&&n.listeners.splice(e,1)}}},{key:"emit",value:function(t){this.listeners.forEach(function(e){return e(t)})}}]),e}();function M(u){function e(t,n,r,o,i,a){for(var e=arguments.length,s=new Array(6<e?e-6:0),c=6;c<e;c++)s[c-6]=arguments[c];return l.untracked(function(){if(o=o||"<<anonymous>>",a=a||r,null!=n[r])return u.apply(void 0,[n,r,o,i,a].concat(s));if(t){var e=null===n[r]?"null":"undefined";return new Error("The "+i+" `"+a+"` is marked as required in `"+o+"`, but its value is `"+e+"`.")}return null})}var t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function U(e){var t,n=a(e);return Array.isArray(e)?"array":e instanceof RegExp?"object":(t=e,"symbol"===n||"Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol?"symbol":n)}function R(c,u){return M(function(o,i,a,e,s){return l.untracked(function(){if(c&&U(o[i])===u.toLowerCase())return null;var e;switch(u){case"Array":e=l.isObservableArray;break;case"Object":e=l.isObservableObject;break;case"Map":e=l.isObservableMap;break;default:throw new Error("Unexpected mobxType: ".concat(u))}var t=o[i];if(e(t))return null;var n=function(e){var t=U(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}(t),r=c?" or javascript `"+u.toLowerCase()+"`":"";return new Error("Invalid prop `"+s+"` of type `"+n+"` supplied to `"+a+"`, expected `mobx.Observable"+u+"`"+r+".")})})}function k(u,p){return M(function(r,o,i,a,s){for(var e=arguments.length,c=new Array(5<e?e-5:0),t=5;t<e;t++)c[t-5]=arguments[t];return l.untracked(function(){if("function"!=typeof p)return new Error("Property `"+s+"` of component `"+i+"` has invalid PropType notation.");var e=R(u,"Array")(r,o,i);if(e instanceof Error)return e;for(var t=r[o],n=0;n<t.length;n++)if((e=p.apply(void 0,[t,n,i,a,s+"["+n+"]"].concat(c)))instanceof Error)return e;return null})})}var D=R(!1,"Array"),A=k.bind(null,!1),$=R(!1,"Map"),T=R(!1,"Object"),F=R(!0,"Array"),I=k.bind(null,!0),W=R(!0,"Object"),N=Object.freeze({observableArray:D,observableArrayOf:A,observableMap:$,observableObject:T,arrayOrObservableArray:F,arrayOrObservableArrayOf:I,objectOrObservableObject:W});var B=0;function L(e){if("function"==typeof Symbol)return Symbol(e);var t="__$mobx-react ".concat(e," (").concat(B,")");return B++,t}var q=L("patchMixins"),X=L("patchedDefinition");function H(e,t){for(var n=this,r=arguments.length,o=new Array(2<r?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];t.locks++;try{var a;return null!=e&&(a=e.apply(this,o)),a}finally{t.locks--,0===t.locks&&t.methods.forEach(function(e){e.apply(n,o)})}}function V(r,o){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];H.call.apply(H,[this,r,o].concat(t))}}function G(e,t){for(var n,r,o,i,a=(r=t,o=(n=e)[q]=n[q]||{},(i=o[r]=o[r]||{}).locks=i.locks||0,i.methods=i.methods||[],i),s=arguments.length,c=new Array(2<s?s-2:0),u=2;u<s;u++)c[u-2]=arguments[u];for(var p=0;p<c.length;p++){var l=c[p];a.methods.indexOf(l)<0&&a.methods.push(l)}var f=Object.getOwnPropertyDescriptor(e,t);if(!f||!f[X]){var d=e[t],y=function n(r,o,i,a,e){var t;var s=V(e,a);return t={},h(t,X,!0),h(t,"get",function(){return s}),h(t,"set",function(e){if(this===r)s=V(e,a);else{var t=n(this,o,i,a,e);Object.defineProperty(this,o,t)}}),h(t,"configurable",!0),h(t,"enumerable",i),t}(e,t,f?f.enumerable:void 0,a,d);Object.defineProperty(e,t,y)}}var K={mobxStores:W};Object.seal(K);var z={contextTypes:{get:function(){return K},set:function(e){console.warn("Mobx Injector: you are trying to attach `contextTypes` on an component decorated with `inject` (or `observer`) HOC. Please specify the contextTypes on the wrapped component instead. It is accessible through the `wrappedComponent`")},configurable:!0,enumerable:!1},isMobxInjector:{value:!0,writable:!0,configurable:!0,enumerable:!0}};function Y(a,s,e){var t="inject-"+(s.displayName||s.name||s.constructor&&s.constructor.name||"Unknown");e&&(t+="-with-"+e);var n=function(e){function i(){var e,t;d(this,i);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=v(this,(e=b(i)).call.apply(e,[this].concat(r)))).storeRef=function(e){t.wrappedInstance=e},t}return m(i,p.Component),y(i,[{key:"render",value:function(){var e={};for(var t in this.props)this.props.hasOwnProperty(t)&&(e[t]=this.props[t]);var n,r=a(this.context.mobxStores||{},e,this.context)||{};for(var o in r)e[o]=r[o];return(n=s).prototype&&n.prototype.render&&(e.ref=this.storeRef),p.createElement(s,e)}}]),i}();return n.displayName=t,E(n,s),n.wrappedComponent=s,Object.defineProperties(n,z),n}function J(){var n,e;if("function"==typeof arguments[0])return n=arguments[0],function(e){var t=Y(n,e);return t.isMobxInjector=!1,(t=be(t)).isMobxInjector=!0,t};for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e=t,n=function(t,n){return e.forEach(function(e){if(!(e in n)){if(!(e in t))throw new Error("MobX injector: Store '"+e+"' is not available! Make sure it is provided by some Provider");n[e]=t[e]}}),n},function(e){return Y(n,e,t.join("-"))}}var Q=l.$mobx||"$mobx",Z=L("isUnmounted"),ee=!1,te=!1,ne=!1,re="undefined"!=typeof WeakMap?new WeakMap:void 0,oe=new u,ie=L("skipRender"),ae=L("isForcingUpdate"),se="function"==typeof p.forwardRef&&p.forwardRef(function(e,t){}).$$typeof;function ce(e,t,n){Object.hasOwnProperty.call(e,t)?e[t]=n:Object.defineProperty(e,t,{enumerable:!1,configurable:!0,writable:!0,value:n})}function ue(e){if(t.findDOMNode)try{return t.findDOMNode(e)}catch(e){return null}return null}function pe(e){var t=ue(e);t&&re&&re.set(t,e),oe.emit({event:"render",renderTime:e.__$mobRenderEnd-e.__$mobRenderStart,totalTime:Date.now()-e.__$mobRenderStart,component:e,node:t})}function le(){if("undefined"==typeof WeakMap)throw new Error("[mobx-react] tracking components is not supported in this browser.");ee||(ee=!0)}var fe=new u;function de(e,t){if(ye(e,t))return!0;if("object"!==a(e)||null===e||"object"!==a(t)||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!hasOwnProperty.call(t,n[o])||!ye(e[n[o]],t[n[o]]))return!1;return!0}function ye(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}var he={componentWillUnmount:function(){if(!0!==te&&(this.render[Q]&&this.render[Q].dispose(),this[Z]=!0,ee)){var e=ue(this);e&&re&&re.delete(e),oe.emit({event:"destroy",component:this,node:e})}},componentDidMount:function(){ee&&pe(this)},componentDidUpdate:function(){ee&&pe(this)},shouldComponentUpdate:function(e,t){return te&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==t||!de(this.props,e)}};function me(e,t){var n=L("reactProp_".concat(t,"_valueHolder")),r=L("reactProp_".concat(t,"_atomHolder"));function o(){return this[r]||ce(this,r,l.createAtom("reactive "+t)),this[r]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return o.call(this).reportObserved(),this[n]},set:function(e){this[ae]||de(this[n],e)?ce(this,n,e):(ce(this,n,e),ce(this,ie,!0),o.call(this).reportChanged(),ce(this,ie,!1))}})}function be(t,e){if("string"==typeof t)throw new Error("Store names should be provided as array");if(Array.isArray(t))return ne||(ne=!0,console.warn('Mobx observer: Using observer to inject stores is deprecated since 4.0. Use `@inject("store1", "store2") @observer ComponentClass` or `inject("store1", "store2")(observer(componentClass))` instead of `@observer(["store1", "store2"]) ComponentClass`')),e?J.apply(null,t)(be(e)):function(e){return be(t,e)};var n=t;if(!0===n.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),n.__proto__===p.PureComponent&&console.warn("Mobx observer: You are using 'observer' on React.PureComponent. These two achieve two opposite goals and should not be used together"),se&&n.$$typeof===se){var r=n.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return p.forwardRef(function(){var e=arguments;return f.createElement(ve,null,function(){return r.apply(void 0,e)})})}if(!("function"!=typeof n||n.prototype&&n.prototype.render||n.isReactClass||p.Component.isPrototypeOf(n))){var o,i,a=be((i=o=function(e){function t(){return d(this,t),v(this,b(t).apply(this,arguments))}return m(t,p.Component),y(t,[{key:"render",value:function(){return n.call(this,this.props,this.context)}}]),t}(),o.displayName=n.displayName||n.name,o.contextTypes=n.contextTypes,o.propTypes=n.propTypes,o.defaultProps=n.defaultProps,i));return E(a,n),a}if(!n)throw new Error("Please pass a valid component to 'observer'");var s,c=n.prototype||n;s=c,["componentDidMount","componentWillUnmount","componentDidUpdate"].forEach(function(e){var t;G(s,t=e,he[t])}),s.shouldComponentUpdate?s.shouldComponentUpdate!==he.shouldComponentUpdate&&console.warn("Use `shouldComponentUpdate` in an `observer` based component breaks the behavior of `observer` and might lead to unexpected results. Manually implementing `sCU` should not be needed when using mobx-react."):s.shouldComponentUpdate=he.shouldComponentUpdate,n.isMobXReactObserver=!0,me(c,"props"),me(c,"state");var u=c.render;return c.render=function(){return function(e){var t=this;if(!0===te)return e.call(this);function n(){var e=this;a=!1;var t=void 0,n=void 0;if(s.track(function(){ee&&(e.__$mobRenderStart=Date.now());try{n=l._allowStateChanges(!1,i)}catch(e){t=e}ee&&(e.__$mobRenderEnd=Date.now())}),t)throw fe.emit(t),t;return n}var r=this.displayName||this.name||this.constructor&&(this.constructor.displayName||this.constructor.name)||"<component>",o=this._reactInternalInstance&&this._reactInternalInstance._rootNodeID||this._reactInternalInstance&&this._reactInternalInstance._debugID||this._reactInternalFiber&&this._reactInternalFiber._debugID;ce(this,ie,!1),ce(this,ae,!1);var i=e.bind(this),a=!1,s=new l.Reaction("".concat(r,"#").concat(o,".render()"),function(){if(!a&&(a=!0,"function"==typeof t.componentWillReact&&t.componentWillReact(),!0!==t[Z])){var e=!0;try{ce(t,ae,!0),t[ie]||p.Component.prototype.forceUpdate.call(t),e=!1}finally{ce(t,ae,!1),e&&s.dispose()}}});return s.reactComponent=this,n[Q]=s,(this.render=n).call(this)}.call(this,u)},n}var ve=be(function(e){var t=e.children,n=e.inject,r=e.render,o=t||r;if(void 0===o)return null;if(!n)return o();console.warn("<Observer inject=.../> is no longer supported. Please use inject on the enclosing component instead");var i=J(n)(o);return f.createElement(i,null)});ve.displayName="Observer";var ge=function(e,t,n,r,o){var i="children"===t?"render":"children";return"function"==typeof e[t]&&"function"==typeof e[i]?new Error("Invalid prop,do not use children and render in the same time in`"+n):"function"!=typeof e[t]&&"function"!=typeof e[i]?new Error("Invalid prop `"+o+"` of type `"+a(e[t])+"` supplied to `"+n+"`, expected `function`."):void 0};function we(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function Oe(n){this.setState(function(e){var t=this.constructor.getDerivedStateFromProps(n,e);return null!=t?t:null}.bind(this))}function _e(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}ve.propTypes={render:ge,children:ge};var xe={children:_e.__suppressDeprecationWarning=Oe.__suppressDeprecationWarning=we.__suppressDeprecationWarning=!0,key:!0,ref:!0},Se=function(e){function r(e,t){var n;return d(this,r),(n=v(this,b(r).call(this,e,t))).state={},Pe(e,n.state),n}return m(r,p.Component),y(r,[{key:"render",value:function(){return p.Children.only(this.props.children)}},{key:"getChildContext",value:function(){var e={};return Pe(this.context.mobxStores,e),Pe(this.props,e),{mobxStores:e}}}],[{key:"getDerivedStateFromProps",value:function(e,t){if(!e)return null;if(!t)return e;if(Object.keys(e).filter(je).length!==Object.keys(t).filter(je).length&&console.warn("MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children"),!e.suppressChangedStoreWarning)for(var n in e)je(n)&&t[n]!==e[n]&&console.warn("MobX Provider: Provided store '"+n+"' has changed. Please avoid replacing stores as the change might not propagate to all children");return e}}]),r}();function Pe(e,t){if(e)for(var n in e)je(n)&&(t[n]=e[n])}function je(e){return!xe[e]&&"suppressChangedStoreWarning"!==e}Se.contextTypes={mobxStores:W},Se.childContextTypes={mobxStores:W.isRequired},function(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return;var n=null,r=null,o=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?r="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(r="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?o="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(o="UNSAFE_componentWillUpdate"),null!==n||null!==r||null!==o){var i=e.displayName||e.name,a="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+i+" uses "+a+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==r?"\n "+r:"")+(null!==o?"\n "+o:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=we,t.componentWillReceiveProps=Oe),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=_e;var s=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;s.call(this,e,t,r)}}}(Se);var Ce=L("disposeOnUnmount");function Ee(){var n=this;this[Ce]&&(this[Ce].forEach(function(e){var t="string"==typeof e?n[e]:e;if(null!=t){if("function"!=typeof t)throw new Error("[mobx-react] disposeOnUnmount only works on functions such as disposers returned by reactions, autorun, etc.");t()}}),this[Ce]=[])}if(!p.Component)throw new Error("mobx-react requires React to be available");if(!l.spy)throw new Error("mobx-react requires mobx to be available");"function"==typeof t.unstable_batchedUpdates&&l.configure({reactionScheduler:t.unstable_batchedUpdates});if("object"===("undefined"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__?"undefined":a(__MOBX_DEVTOOLS_GLOBAL_HOOK__))){var Me={spy:l.spy,extras:{getDebugName:l.getDebugName}},Ue={renderReporter:oe,componentByNodeRegistry:re,componentByNodeRegistery:re,trackComponents:le};__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobxReact(Ue,Me)}e.propTypes=N,e.PropTypes=N,e.onError=function(e){return fe.on(e)},e.observer=be,e.Observer=ve,e.renderReporter=oe,e.componentByNodeRegistery=re,e.componentByNodeRegistry=re,e.trackComponents=le,e.useStaticRendering=function(e){te=e},e.Provider=Se,e.inject=J,e.disposeOnUnmount=function t(n,e){if(Array.isArray(e))return e.map(function(e){return t(n,e)});if(!n instanceof p.Component)throw new Error("[mobx-react] disposeOnUnmount only works on class based React components.");if("string"!=typeof e&&"function"!=typeof e)throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var r=!!n[Ce];return(n[Ce]||(n[Ce]=[])).push(e),r||G(n,"componentWillUnmount",Ee),"string"!=typeof e?e:void 0},Object.defineProperty(e,"__esModule",{value:!0})});
|
|
1
|
+
/** @license mobx-react v5.4.4
|
|
2
|
+
* index.min.js
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2015 Michel Weststrate.
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("mobx"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","mobx","react","react-dom"],t):t(e.mobxReact={},e.mobx,e.React,e.ReactDOM)}(this,function(e,l,p,t){"use strict";var f="default"in p?p.default:p;function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function n(e,t){return(n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function o(e,t){return e(t={exports:{}},t.exports),t.exports}var i,s=o(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,a=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,p=n?Symbol.for("react.async_mode"):60111,l=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,d=n?Symbol.for("react.suspense"):60113,y=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116;function m(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case p:case l:case i:case s:case a:return e;default:switch(e=e&&e.$$typeof){case u:case f:case c:return e;default:return t}}case o:return t}}}function b(e){return m(e)===l}t.typeOf=m,t.AsyncMode=p,t.ConcurrentMode=l,t.ContextConsumer=u,t.ContextProvider=c,t.Element=r,t.ForwardRef=f,t.Fragment=i,t.Profiler=s,t.Portal=o,t.StrictMode=a,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===l||e===s||e===a||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===y||e.$$typeof===c||e.$$typeof===u||e.$$typeof===f)},t.isAsyncMode=function(e){return b(e)||m(e)===p},t.isConcurrentMode=b,t.isContextConsumer=function(e){return m(e)===u},t.isContextProvider=function(e){return m(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return m(e)===f},t.isFragment=function(e){return m(e)===i},t.isProfiler=function(e){return m(e)===s},t.isPortal=function(e){return m(e)===o},t.isStrictMode=function(e){return m(e)===a}});(i=s)&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")&&i.default;s.typeOf,s.AsyncMode,s.ConcurrentMode,s.ContextConsumer,s.ContextProvider,s.Element,s.ForwardRef,s.Fragment,s.Profiler,s.Portal,s.StrictMode,s.isValidElementType,s.isAsyncMode,s.isConcurrentMode,s.isContextConsumer,s.isContextProvider,s.isElement,s.isForwardRef,s.isFragment,s.isProfiler,s.isPortal,s.isStrictMode;var c=o(function(e){e.exports=s}),g={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},w={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},O={};O[c.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var _=Object.defineProperty,x=Object.getOwnPropertyNames,S=Object.getOwnPropertySymbols,P=Object.getOwnPropertyDescriptor,j=Object.getPrototypeOf,C=Object.prototype;var E=function e(t,n,r){if("string"==typeof n)return t;if(C){var o=j(n);o&&o!==C&&e(t,o,r)}var i=x(n);S&&(i=i.concat(S(n)));for(var a=O[t.$$typeof]||g,s=O[n.$$typeof]||g,c=0;c<i.length;++c){var u=i[c];if(!(w[u]||r&&r[u]||s&&s[u]||a&&a[u])){var p=P(n,u);try{_(t,u,p)}catch(e){}}}return t},u=function(){function e(){d(this,e),this.listeners=[]}return y(e,[{key:"on",value:function(t){var n=this;return this.listeners.push(t),function(){var e=n.listeners.indexOf(t);-1!==e&&n.listeners.splice(e,1)}}},{key:"emit",value:function(t){this.listeners.forEach(function(e){return e(t)})}}]),e}();function M(u){function e(t,n,r,o,i,a){for(var e=arguments.length,s=new Array(6<e?e-6:0),c=6;c<e;c++)s[c-6]=arguments[c];return l.untracked(function(){if(o=o||"<<anonymous>>",a=a||r,null!=n[r])return u.apply(void 0,[n,r,o,i,a].concat(s));if(t){var e=null===n[r]?"null":"undefined";return new Error("The "+i+" `"+a+"` is marked as required in `"+o+"`, but its value is `"+e+"`.")}return null})}var t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function U(e){var t,n=a(e);return Array.isArray(e)?"array":e instanceof RegExp?"object":(t=e,"symbol"===n||"Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol?"symbol":n)}function R(c,u){return M(function(o,i,a,e,s){return l.untracked(function(){if(c&&U(o[i])===u.toLowerCase())return null;var e;switch(u){case"Array":e=l.isObservableArray;break;case"Object":e=l.isObservableObject;break;case"Map":e=l.isObservableMap;break;default:throw new Error("Unexpected mobxType: ".concat(u))}var t=o[i];if(e(t))return null;var n=function(e){var t=U(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}(t),r=c?" or javascript `"+u.toLowerCase()+"`":"";return new Error("Invalid prop `"+s+"` of type `"+n+"` supplied to `"+a+"`, expected `mobx.Observable"+u+"`"+r+".")})})}function k(u,p){return M(function(r,o,i,a,s){for(var e=arguments.length,c=new Array(5<e?e-5:0),t=5;t<e;t++)c[t-5]=arguments[t];return l.untracked(function(){if("function"!=typeof p)return new Error("Property `"+s+"` of component `"+i+"` has invalid PropType notation.");var e=R(u,"Array")(r,o,i);if(e instanceof Error)return e;for(var t=r[o],n=0;n<t.length;n++)if((e=p.apply(void 0,[t,n,i,a,s+"["+n+"]"].concat(c)))instanceof Error)return e;return null})})}var D=R(!1,"Array"),A=k.bind(null,!1),$=R(!1,"Map"),T=R(!1,"Object"),F=R(!0,"Array"),I=k.bind(null,!0),W=R(!0,"Object"),N=Object.freeze({observableArray:D,observableArrayOf:A,observableMap:$,observableObject:T,arrayOrObservableArray:F,arrayOrObservableArrayOf:I,objectOrObservableObject:W});var B=0;var L={};function q(e){return L[e]||(L[e]=function(e){if("function"==typeof Symbol)return Symbol(e);var t="__$mobx-react ".concat(e," (").concat(B,")");return B++,t}(e)),L[e]}var X=q("patchMixins"),H=q("patchedDefinition");function V(e,t){for(var n=this,r=arguments.length,o=new Array(2<r?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];t.locks++;try{var a;return null!=e&&(a=e.apply(this,o)),a}finally{t.locks--,0===t.locks&&t.methods.forEach(function(e){e.apply(n,o)})}}function G(r,o){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];V.call.apply(V,[this,r,o].concat(t))}}function K(e,t){for(var n,r,o,i,a=(r=t,o=(n=e)[X]=n[X]||{},(i=o[r]=o[r]||{}).locks=i.locks||0,i.methods=i.methods||[],i),s=arguments.length,c=new Array(2<s?s-2:0),u=2;u<s;u++)c[u-2]=arguments[u];for(var p=0;p<c.length;p++){var l=c[p];a.methods.indexOf(l)<0&&a.methods.push(l)}var f=Object.getOwnPropertyDescriptor(e,t);if(!f||!f[H]){var d=e[t],y=function n(r,o,i,a,e){var t;var s=G(e,a);return t={},h(t,H,!0),h(t,"get",function(){return s}),h(t,"set",function(e){if(this===r)s=G(e,a);else{var t=n(this,o,i,a,e);Object.defineProperty(this,o,t)}}),h(t,"configurable",!0),h(t,"enumerable",i),t}(e,t,f?f.enumerable:void 0,a,d);Object.defineProperty(e,t,y)}}var z={mobxStores:W};Object.seal(z);var Y={contextTypes:{get:function(){return z},set:function(e){console.warn("Mobx Injector: you are trying to attach `contextTypes` on an component decorated with `inject` (or `observer`) HOC. Please specify the contextTypes on the wrapped component instead. It is accessible through the `wrappedComponent`")},configurable:!0,enumerable:!1},isMobxInjector:{value:!0,writable:!0,configurable:!0,enumerable:!0}};function J(a,s,e){var t="inject-"+(s.displayName||s.name||s.constructor&&s.constructor.name||"Unknown");e&&(t+="-with-"+e);var n=function(e){function i(){var e,t;d(this,i);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=v(this,(e=b(i)).call.apply(e,[this].concat(r)))).storeRef=function(e){t.wrappedInstance=e},t}return m(i,p.Component),y(i,[{key:"render",value:function(){var e={};for(var t in this.props)this.props.hasOwnProperty(t)&&(e[t]=this.props[t]);var n,r=a(this.context.mobxStores||{},e,this.context)||{};for(var o in r)e[o]=r[o];return(n=s).prototype&&n.prototype.render&&(e.ref=this.storeRef),p.createElement(s,e)}}]),i}();return n.displayName=t,E(n,s),n.wrappedComponent=s,Object.defineProperties(n,Y),n}function Q(){var n,e;if("function"==typeof arguments[0])return n=arguments[0],function(e){var t=J(n,e);return t.isMobxInjector=!1,(t=ve(t)).isMobxInjector=!0,t};for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e=t,n=function(t,n){return e.forEach(function(e){if(!(e in n)){if(!(e in t))throw new Error("MobX injector: Store '"+e+"' is not available! Make sure it is provided by some Provider");n[e]=t[e]}}),n},function(e){return J(n,e,t.join("-"))}}var Z=l.$mobx||"$mobx",ee=q("isUnmounted"),te=!1,ne=!1,re=!1,oe="undefined"!=typeof WeakMap?new WeakMap:void 0,ie=new u,ae=q("skipRender"),se=q("isForcingUpdate"),ce="function"==typeof p.forwardRef&&p.forwardRef(function(e,t){}).$$typeof;function ue(e,t,n){Object.hasOwnProperty.call(e,t)?e[t]=n:Object.defineProperty(e,t,{enumerable:!1,configurable:!0,writable:!0,value:n})}function pe(e){if(t.findDOMNode)try{return t.findDOMNode(e)}catch(e){return null}return null}function le(e){var t=pe(e);t&&oe&&oe.set(t,e),ie.emit({event:"render",renderTime:e.__$mobRenderEnd-e.__$mobRenderStart,totalTime:Date.now()-e.__$mobRenderStart,component:e,node:t})}function fe(){if("undefined"==typeof WeakMap)throw new Error("[mobx-react] tracking components is not supported in this browser.");te||(te=!0)}var de=new u;function ye(e,t){if(he(e,t))return!0;if("object"!==a(e)||null===e||"object"!==a(t)||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!hasOwnProperty.call(t,n[o])||!he(e[n[o]],t[n[o]]))return!1;return!0}function he(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}var me={componentWillUnmount:function(){if(!0!==ne&&(this.render[Z]&&this.render[Z].dispose(),this[ee]=!0,te)){var e=pe(this);e&&oe&&oe.delete(e),ie.emit({event:"destroy",component:this,node:e})}},componentDidMount:function(){te&&le(this)},componentDidUpdate:function(){te&&le(this)},shouldComponentUpdate:function(e,t){return ne&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==t||!ye(this.props,e)}};function be(e,t){var n=q("reactProp_".concat(t,"_valueHolder")),r=q("reactProp_".concat(t,"_atomHolder"));function o(){return this[r]||ue(this,r,l.createAtom("reactive "+t)),this[r]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return o.call(this).reportObserved(),this[n]},set:function(e){this[se]||ye(this[n],e)?ue(this,n,e):(ue(this,n,e),ue(this,ae,!0),o.call(this).reportChanged(),ue(this,ae,!1))}})}function ve(t,e){if("string"==typeof t)throw new Error("Store names should be provided as array");if(Array.isArray(t))return re||(re=!0,console.warn('Mobx observer: Using observer to inject stores is deprecated since 4.0. Use `@inject("store1", "store2") @observer ComponentClass` or `inject("store1", "store2")(observer(componentClass))` instead of `@observer(["store1", "store2"]) ComponentClass`')),e?Q.apply(null,t)(ve(e)):function(e){return ve(t,e)};var n=t;if(!0===n.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),n.__proto__===p.PureComponent&&console.warn("Mobx observer: You are using 'observer' on React.PureComponent. These two achieve two opposite goals and should not be used together"),ce&&n.$$typeof===ce){var r=n.render;if("function"!=typeof r)throw new Error("render property of ForwardRef was not a function");return p.forwardRef(function(){var e=arguments;return f.createElement(ge,null,function(){return r.apply(void 0,e)})})}if(!("function"!=typeof n||n.prototype&&n.prototype.render||n.isReactClass||p.Component.isPrototypeOf(n))){var o,i,a=ve((i=o=function(e){function t(){return d(this,t),v(this,b(t).apply(this,arguments))}return m(t,p.Component),y(t,[{key:"render",value:function(){return n.call(this,this.props,this.context)}}]),t}(),o.displayName=n.displayName||n.name,o.contextTypes=n.contextTypes,o.propTypes=n.propTypes,o.defaultProps=n.defaultProps,i));return E(a,n),a}if(!n)throw new Error("Please pass a valid component to 'observer'");var s,c=n.prototype||n;s=c,["componentDidMount","componentWillUnmount","componentDidUpdate"].forEach(function(e){var t;K(s,t=e,me[t])}),s.shouldComponentUpdate?s.shouldComponentUpdate!==me.shouldComponentUpdate&&console.warn("Use `shouldComponentUpdate` in an `observer` based component breaks the behavior of `observer` and might lead to unexpected results. Manually implementing `sCU` should not be needed when using mobx-react."):s.shouldComponentUpdate=me.shouldComponentUpdate,n.isMobXReactObserver=!0,be(c,"props"),be(c,"state");var u=c.render;return c.render=function(){return function(e){var t=this;if(!0===ne)return e.call(this);function n(){var e=this;a=!1;var t=void 0,n=void 0;if(s.track(function(){te&&(e.__$mobRenderStart=Date.now());try{n=l._allowStateChanges(!1,i)}catch(e){t=e}te&&(e.__$mobRenderEnd=Date.now())}),t)throw de.emit(t),t;return n}var r=this.displayName||this.name||this.constructor&&(this.constructor.displayName||this.constructor.name)||"<component>",o=this._reactInternalInstance&&this._reactInternalInstance._rootNodeID||this._reactInternalInstance&&this._reactInternalInstance._debugID||this._reactInternalFiber&&this._reactInternalFiber._debugID;ue(this,ae,!1),ue(this,se,!1);var i=e.bind(this),a=!1,s=new l.Reaction("".concat(r,"#").concat(o,".render()"),function(){if(!a&&(a=!0,"function"==typeof t.componentWillReact&&t.componentWillReact(),!0!==t[ee])){var e=!0;try{ue(t,se,!0),t[ae]||p.Component.prototype.forceUpdate.call(t),e=!1}finally{ue(t,se,!1),e&&s.dispose()}}});return s.reactComponent=this,n[Z]=s,(this.render=n).call(this)}.call(this,u)},n}var ge=ve(function(e){var t=e.children,n=e.inject,r=e.render,o=t||r;if(void 0===o)return null;if(!n)return o();console.warn("<Observer inject=.../> is no longer supported. Please use inject on the enclosing component instead");var i=Q(n)(o);return f.createElement(i,null)});ge.displayName="Observer";var we=function(e,t,n,r,o){var i="children"===t?"render":"children";return"function"==typeof e[t]&&"function"==typeof e[i]?new Error("Invalid prop,do not use children and render in the same time in`"+n):"function"!=typeof e[t]&&"function"!=typeof e[i]?new Error("Invalid prop `"+o+"` of type `"+a(e[t])+"` supplied to `"+n+"`, expected `function`."):void 0};function Oe(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function _e(n){this.setState(function(e){var t=this.constructor.getDerivedStateFromProps(n,e);return null!=t?t:null}.bind(this))}function xe(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}ge.propTypes={render:we,children:we};var Se={children:xe.__suppressDeprecationWarning=_e.__suppressDeprecationWarning=Oe.__suppressDeprecationWarning=!0,key:!0,ref:!0},Pe=function(e){function r(e,t){var n;return d(this,r),(n=v(this,b(r).call(this,e,t))).state={},je(e,n.state),n}return m(r,p.Component),y(r,[{key:"render",value:function(){return p.Children.only(this.props.children)}},{key:"getChildContext",value:function(){var e={};return je(this.context.mobxStores,e),je(this.props,e),{mobxStores:e}}}],[{key:"getDerivedStateFromProps",value:function(e,t){if(!e)return null;if(!t)return e;if(Object.keys(e).filter(Ce).length!==Object.keys(t).filter(Ce).length&&console.warn("MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children"),!e.suppressChangedStoreWarning)for(var n in e)Ce(n)&&t[n]!==e[n]&&console.warn("MobX Provider: Provided store '"+n+"' has changed. Please avoid replacing stores as the change might not propagate to all children");return e}}]),r}();function je(e,t){if(e)for(var n in e)Ce(n)&&(t[n]=e[n])}function Ce(e){return!Se[e]&&"suppressChangedStoreWarning"!==e}Pe.contextTypes={mobxStores:W},Pe.childContextTypes={mobxStores:W.isRequired},function(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return;var n=null,r=null,o=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?r="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(r="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?o="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(o="UNSAFE_componentWillUpdate"),null!==n||null!==r||null!==o){var i=e.displayName||e.name,a="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+i+" uses "+a+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==r?"\n "+r:"")+(null!==o?"\n "+o:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=Oe,t.componentWillReceiveProps=_e),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=xe;var s=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;s.call(this,e,t,r)}}}(Pe);var Ee=q("disposeOnUnmount");function Me(){var n=this;this[Ee]&&(this[Ee].forEach(function(e){var t="string"==typeof e?n[e]:e;if(null!=t){if("function"!=typeof t)throw new Error("[mobx-react] disposeOnUnmount only works on functions such as disposers returned by reactions, autorun, etc.");t()}}),this[Ee]=[])}if(!p.Component)throw new Error("mobx-react requires React to be available");if(!l.spy)throw new Error("mobx-react requires mobx to be available");"function"==typeof t.unstable_batchedUpdates&&l.configure({reactionScheduler:t.unstable_batchedUpdates});if("object"===("undefined"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__?"undefined":a(__MOBX_DEVTOOLS_GLOBAL_HOOK__))){var Ue={spy:l.spy,extras:{getDebugName:l.getDebugName}},Re={renderReporter:ie,componentByNodeRegistry:oe,componentByNodeRegistery:oe,trackComponents:fe};__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobxReact(Re,Ue)}e.propTypes=N,e.PropTypes=N,e.onError=function(e){return de.on(e)},e.observer=ve,e.Observer=ge,e.renderReporter=ie,e.componentByNodeRegistery=oe,e.componentByNodeRegistry=oe,e.trackComponents=fe,e.useStaticRendering=function(e){ne=e},e.Provider=Pe,e.inject=Q,e.disposeOnUnmount=function t(n,e){if(Array.isArray(e))return e.map(function(e){return t(n,e)});if(!n instanceof p.Component)throw new Error("[mobx-react] disposeOnUnmount only works on class based React components.");if("string"!=typeof e&&"function"!=typeof e)throw new Error("[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.");var r=!!n[Ee];return(n[Ee]||(n[Ee]=[])).push(e),r||K(n,"componentWillUnmount",Me),"string"!=typeof e?e:void 0},Object.defineProperty(e,"__esModule",{value:!0})});
|