mobx-react 6.1.7 → 6.1.8

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.
@@ -4,19 +4,19 @@ import { unstable_batchedUpdates } from 'react-dom';
4
4
  import { isUsingStaticRendering, Observer, observer as observer$1 } from 'mobx-react-lite';
5
5
  export { Observer, isUsingStaticRendering, useAsObservableSource, useLocalStore, useObserver, useStaticRendering } from 'mobx-react-lite';
6
6
 
7
- let symbolId = 0;
7
+ var symbolId = 0;
8
8
 
9
9
  function createSymbol(name) {
10
10
  if (typeof Symbol === "function") {
11
11
  return Symbol(name);
12
12
  }
13
13
 
14
- const symbol = `__$mobx-react ${name} (${symbolId})`;
14
+ var symbol = "__$mobx-react " + name + " (" + symbolId + ")";
15
15
  symbolId++;
16
16
  return symbol;
17
17
  }
18
18
 
19
- const createdSymbols = {};
19
+ var createdSymbols = {};
20
20
  function newSymbol(name) {
21
21
  if (!createdSymbols[name]) {
22
22
  createdSymbols[name] = createSymbol(name);
@@ -32,11 +32,11 @@ function shallowEqual(objA, objB) {
32
32
  return false;
33
33
  }
34
34
 
35
- const keysA = Object.keys(objA);
36
- const keysB = Object.keys(objB);
35
+ var keysA = Object.keys(objA);
36
+ var keysB = Object.keys(objB);
37
37
  if (keysA.length !== keysB.length) return false;
38
38
 
39
- for (let i = 0; i < keysA.length; i++) {
39
+ for (var i = 0; i < keysA.length; i++) {
40
40
  if (!Object.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
41
41
  return false;
42
42
  }
@@ -55,7 +55,7 @@ function is(x, y) {
55
55
  } // based on https://github.com/mridgway/hoist-non-react-statics/blob/master/src/index.js
56
56
 
57
57
 
58
- const hoistBlackList = {
58
+ var hoistBlackList = {
59
59
  $$typeof: 1,
60
60
  render: 1,
61
61
  compare: 1,
@@ -71,8 +71,8 @@ const hoistBlackList = {
71
71
  propTypes: 1
72
72
  };
73
73
  function copyStaticProperties(base, target) {
74
- const protoProps = Object.getOwnPropertyNames(Object.getPrototypeOf(base));
75
- Object.getOwnPropertyNames(base).forEach(key => {
74
+ var protoProps = Object.getOwnPropertyNames(Object.getPrototypeOf(base));
75
+ Object.getOwnPropertyNames(base).forEach(function (key) {
76
76
  if (!hoistBlackList[key] && protoProps.indexOf(key) === -1) {
77
77
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(base, key));
78
78
  }
@@ -91,7 +91,7 @@ function setHiddenProp(target, prop, value) {
91
91
  enumerable: false,
92
92
  configurable: true,
93
93
  writable: true,
94
- value
94
+ value: value
95
95
  });
96
96
  } else {
97
97
  target[prop] = value;
@@ -102,27 +102,33 @@ function setHiddenProp(target, prop, value) {
102
102
  * and the handler provided by mobx-react
103
103
  */
104
104
 
105
- const mobxMixins =
105
+ var mobxMixins =
106
106
  /*#__PURE__*/
107
107
  newSymbol("patchMixins");
108
- const mobxPatchedDefinition =
108
+ var mobxPatchedDefinition =
109
109
  /*#__PURE__*/
110
110
  newSymbol("patchedDefinition");
111
111
 
112
112
  function getMixins(target, methodName) {
113
- const mixins = target[mobxMixins] = target[mobxMixins] || {};
114
- const methodMixins = mixins[methodName] = mixins[methodName] || {};
113
+ var mixins = target[mobxMixins] = target[mobxMixins] || {};
114
+ var methodMixins = mixins[methodName] = mixins[methodName] || {};
115
115
  methodMixins.locks = methodMixins.locks || 0;
116
116
  methodMixins.methods = methodMixins.methods || [];
117
117
  return methodMixins;
118
118
  }
119
119
 
120
- function wrapper(realMethod, mixins, ...args) {
120
+ function wrapper(realMethod, mixins) {
121
+ var _this = this;
122
+
123
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
124
+ args[_key - 2] = arguments[_key];
125
+ }
126
+
121
127
  // locks are used to ensure that mixins are invoked only once per invocation, even on recursive calls
122
128
  mixins.locks++;
123
129
 
124
130
  try {
125
- let retVal;
131
+ var retVal;
126
132
 
127
133
  if (realMethod !== undefined && realMethod !== null) {
128
134
  retVal = realMethod.apply(this, args);
@@ -133,76 +139,76 @@ function wrapper(realMethod, mixins, ...args) {
133
139
  mixins.locks--;
134
140
 
135
141
  if (mixins.locks === 0) {
136
- mixins.methods.forEach(mx => {
137
- mx.apply(this, args);
142
+ mixins.methods.forEach(function (mx) {
143
+ mx.apply(_this, args);
138
144
  });
139
145
  }
140
146
  }
141
147
  }
142
148
 
143
149
  function wrapFunction(realMethod, mixins) {
144
- const fn = function (...args) {
145
- wrapper.call(this, realMethod, mixins, ...args);
150
+ var fn = function fn() {
151
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
152
+ args[_key2] = arguments[_key2];
153
+ }
154
+
155
+ wrapper.call.apply(wrapper, [this, realMethod, mixins].concat(args));
146
156
  };
147
157
 
148
158
  return fn;
149
159
  }
150
160
 
151
161
  function patch(target, methodName, mixinMethod) {
152
- const mixins = getMixins(target, methodName);
162
+ var mixins = getMixins(target, methodName);
153
163
 
154
164
  if (mixins.methods.indexOf(mixinMethod) < 0) {
155
165
  mixins.methods.push(mixinMethod);
156
166
  }
157
167
 
158
- const oldDefinition = Object.getOwnPropertyDescriptor(target, methodName);
168
+ var oldDefinition = Object.getOwnPropertyDescriptor(target, methodName);
159
169
 
160
170
  if (oldDefinition && oldDefinition[mobxPatchedDefinition]) {
161
171
  // already patched definition, do not repatch
162
172
  return;
163
173
  }
164
174
 
165
- const originalMethod = target[methodName];
166
- const newDefinition = createDefinition(target, methodName, oldDefinition ? oldDefinition.enumerable : undefined, mixins, originalMethod);
175
+ var originalMethod = target[methodName];
176
+ var newDefinition = createDefinition(target, methodName, oldDefinition ? oldDefinition.enumerable : undefined, mixins, originalMethod);
167
177
  Object.defineProperty(target, methodName, newDefinition);
168
178
  }
169
179
 
170
180
  function createDefinition(target, methodName, enumerable, mixins, originalMethod) {
171
- let wrappedFunc = wrapFunction(originalMethod, mixins);
172
- return {
173
- [mobxPatchedDefinition]: true,
174
- get: function () {
175
- return wrappedFunc;
176
- },
177
- set: function (value) {
178
- if (this === target) {
179
- wrappedFunc = wrapFunction(value, mixins);
180
- } else {
181
- // when it is an instance of the prototype/a child prototype patch that particular case again separately
182
- // since we need to store separate values depending on wether it is the actual instance, the prototype, etc
183
- // e.g. the method for super might not be the same as the method for the prototype which might be not the same
184
- // as the method for the instance
185
- const newDefinition = createDefinition(this, methodName, enumerable, mixins, value);
186
- Object.defineProperty(this, methodName, newDefinition);
187
- }
188
- },
189
- configurable: true,
190
- enumerable: enumerable
191
- };
181
+ var _ref;
182
+
183
+ var wrappedFunc = wrapFunction(originalMethod, mixins);
184
+ return _ref = {}, _ref[mobxPatchedDefinition] = true, _ref.get = function get() {
185
+ return wrappedFunc;
186
+ }, _ref.set = function set(value) {
187
+ if (this === target) {
188
+ wrappedFunc = wrapFunction(value, mixins);
189
+ } else {
190
+ // when it is an instance of the prototype/a child prototype patch that particular case again separately
191
+ // since we need to store separate values depending on wether it is the actual instance, the prototype, etc
192
+ // e.g. the method for super might not be the same as the method for the prototype which might be not the same
193
+ // as the method for the instance
194
+ var newDefinition = createDefinition(this, methodName, enumerable, mixins, value);
195
+ Object.defineProperty(this, methodName, newDefinition);
196
+ }
197
+ }, _ref.configurable = true, _ref.enumerable = enumerable, _ref;
192
198
  }
193
199
 
194
- const mobxAdminProperty = $mobx || "$mobx";
195
- const mobxIsUnmounted =
200
+ var mobxAdminProperty = $mobx || "$mobx";
201
+ var mobxIsUnmounted =
196
202
  /*#__PURE__*/
197
203
  newSymbol("isUnmounted");
198
- const skipRenderKey =
204
+ var skipRenderKey =
199
205
  /*#__PURE__*/
200
206
  newSymbol("skipRender");
201
- const isForcingUpdateKey =
207
+ var isForcingUpdateKey =
202
208
  /*#__PURE__*/
203
209
  newSymbol("isForcingUpdate");
204
210
  function makeClassComponentObserver(componentClass) {
205
- const target = componentClass.prototype;
211
+ var target = componentClass.prototype;
206
212
  if (target.componentWillReact) throw new Error("The componentWillReact life-cycle event is no longer supported");
207
213
 
208
214
  if (componentClass["__proto__"] !== PureComponent) {
@@ -216,7 +222,7 @@ function makeClassComponentObserver(componentClass) {
216
222
 
217
223
  makeObservableProp(target, "props");
218
224
  makeObservableProp(target, "state");
219
- const baseRender = target.render;
225
+ var baseRender = target.render;
220
226
 
221
227
  target.render = function () {
222
228
  return makeComponentReactive.call(this, baseRender);
@@ -228,8 +234,8 @@ function makeClassComponentObserver(componentClass) {
228
234
  if (this.render[mobxAdminProperty]) {
229
235
  this.render[mobxAdminProperty].dispose();
230
236
  } else if (process.env.NODE_ENV !== "production") {
231
- const displayName = getDisplayName(this);
232
- console.warn(`The render function for an observer component (${displayName}) was modified after MobX attached. This is not supported, since the new function can't be triggered by MobX.`);
237
+ var displayName = getDisplayName(this);
238
+ console.warn("The render function for an observer component (" + displayName + ") was modified after MobX attached. This is not supported, since the new function can't be triggered by MobX.");
233
239
  }
234
240
 
235
241
  this[mobxIsUnmounted] = true;
@@ -242,6 +248,8 @@ function getDisplayName(comp) {
242
248
  }
243
249
 
244
250
  function makeComponentReactive(render) {
251
+ var _this = this;
252
+
245
253
  if (isUsingStaticRendering() === true) return render.call(this);
246
254
  /**
247
255
  * If props are shallowly modified, react will render anyway,
@@ -255,25 +263,25 @@ function makeComponentReactive(render) {
255
263
  */
256
264
 
257
265
  setHiddenProp(this, isForcingUpdateKey, false);
258
- const initialName = getDisplayName(this);
259
- const baseRender = render.bind(this);
260
- let isRenderingPending = false;
261
- const reaction = new Reaction(`${initialName}.render()`, () => {
266
+ var initialName = getDisplayName(this);
267
+ var baseRender = render.bind(this);
268
+ var isRenderingPending = false;
269
+ var reaction = new Reaction(initialName + ".render()", function () {
262
270
  if (!isRenderingPending) {
263
271
  // N.B. Getting here *before mounting* means that a component constructor has side effects (see the relevant test in misc.js)
264
272
  // This unidiomatic React usage but React will correctly warn about this so we continue as usual
265
273
  // See #85 / Pull #44
266
274
  isRenderingPending = true;
267
275
 
268
- if (this[mobxIsUnmounted] !== true) {
269
- let hasError = true;
276
+ if (_this[mobxIsUnmounted] !== true) {
277
+ var hasError = true;
270
278
 
271
279
  try {
272
- setHiddenProp(this, isForcingUpdateKey, true);
273
- if (!this[skipRenderKey]) Component.prototype.forceUpdate.call(this);
280
+ setHiddenProp(_this, isForcingUpdateKey, true);
281
+ if (!_this[skipRenderKey]) Component.prototype.forceUpdate.call(_this);
274
282
  hasError = false;
275
283
  } finally {
276
- setHiddenProp(this, isForcingUpdateKey, false);
284
+ setHiddenProp(_this, isForcingUpdateKey, false);
277
285
  if (hasError) reaction.dispose();
278
286
  }
279
287
  }
@@ -285,9 +293,9 @@ function makeComponentReactive(render) {
285
293
 
286
294
  function reactiveRender() {
287
295
  isRenderingPending = false;
288
- let exception = undefined;
289
- let rendering = undefined;
290
- reaction.track(() => {
296
+ var exception = undefined;
297
+ var rendering = undefined;
298
+ reaction.track(function () {
291
299
  try {
292
300
  rendering = _allowStateChanges(false, baseRender);
293
301
  } catch (e) {
@@ -323,8 +331,8 @@ function observerSCU(nextProps, nextState) {
323
331
  }
324
332
 
325
333
  function makeObservableProp(target, propName) {
326
- const valueHolderKey = newSymbol(`reactProp_${propName}_valueHolder`);
327
- const atomHolderKey = newSymbol(`reactProp_${propName}_atomHolder`);
334
+ var valueHolderKey = newSymbol("reactProp_" + propName + "_valueHolder");
335
+ var atomHolderKey = newSymbol("reactProp_" + propName + "_atomHolder");
328
336
 
329
337
  function getAtom() {
330
338
  if (!this[atomHolderKey]) {
@@ -337,8 +345,8 @@ function makeObservableProp(target, propName) {
337
345
  Object.defineProperty(target, propName, {
338
346
  configurable: true,
339
347
  enumerable: true,
340
- get: function () {
341
- let prevReadState = false;
348
+ get: function get() {
349
+ var prevReadState = false;
342
350
 
343
351
  if (_allowStateReadsStart && _allowStateReadsEnd) {
344
352
  prevReadState = _allowStateReadsStart(true);
@@ -365,18 +373,22 @@ function makeObservableProp(target, propName) {
365
373
  });
366
374
  }
367
375
 
368
- const hasSymbol = typeof Symbol === "function" && Symbol.for; // Using react-is had some issues (and operates on elements, not on types), see #608 / #609
376
+ var hasSymbol = typeof Symbol === "function" && Symbol.for; // Using react-is had some issues (and operates on elements, not on types), see #608 / #609
369
377
 
370
- const ReactForwardRefSymbol = hasSymbol ?
378
+ var ReactForwardRefSymbol = hasSymbol ?
371
379
  /*#__PURE__*/
372
380
  Symbol.for("react.forward_ref") : typeof forwardRef === "function" &&
373
381
  /*#__PURE__*/
374
- forwardRef(props => null)["$$typeof"];
375
- const ReactMemoSymbol = hasSymbol ?
382
+ forwardRef(function (props) {
383
+ return null;
384
+ })["$$typeof"];
385
+ var ReactMemoSymbol = hasSymbol ?
376
386
  /*#__PURE__*/
377
387
  Symbol.for("react.memo") : typeof memo === "function" &&
378
388
  /*#__PURE__*/
379
- memo(props => null)["$$typeof"];
389
+ memo(function (props) {
390
+ return null;
391
+ })["$$typeof"];
380
392
  /**
381
393
  * Observer function / decorator
382
394
  */
@@ -394,10 +406,13 @@ function observer(component) {
394
406
 
395
407
 
396
408
  if (ReactForwardRefSymbol && component["$$typeof"] === ReactForwardRefSymbol) {
397
- const baseRender = component["render"];
409
+ var baseRender = component["render"];
398
410
  if (typeof baseRender !== "function") throw new Error("render property of ForwardRef was not a function");
399
411
  return forwardRef(function ObserverForwardRef() {
400
- return createElement(Observer, null, () => baseRender.apply(undefined, arguments));
412
+ var args = arguments;
413
+ return createElement(Observer, null, function () {
414
+ return baseRender.apply(undefined, args);
415
+ });
401
416
  });
402
417
  } // Function component
403
418
 
@@ -409,24 +424,53 @@ function observer(component) {
409
424
  return makeClassComponentObserver(component);
410
425
  }
411
426
 
412
- const MobXProviderContext =
427
+ function _extends() {
428
+ _extends = Object.assign || function (target) {
429
+ for (var i = 1; i < arguments.length; i++) {
430
+ var source = arguments[i];
431
+
432
+ for (var key in source) {
433
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
434
+ target[key] = source[key];
435
+ }
436
+ }
437
+ }
438
+
439
+ return target;
440
+ };
441
+
442
+ return _extends.apply(this, arguments);
443
+ }
444
+
445
+ function _objectWithoutPropertiesLoose(source, excluded) {
446
+ if (source == null) return {};
447
+ var target = {};
448
+ var sourceKeys = Object.keys(source);
449
+ var key, i;
450
+
451
+ for (i = 0; i < sourceKeys.length; i++) {
452
+ key = sourceKeys[i];
453
+ if (excluded.indexOf(key) >= 0) continue;
454
+ target[key] = source[key];
455
+ }
456
+
457
+ return target;
458
+ }
459
+
460
+ var MobXProviderContext =
413
461
  /*#__PURE__*/
414
462
  React__default.createContext({});
415
463
  function Provider(props) {
416
- const {
417
- children,
418
- ...stores
419
- } = props;
420
- const parentValue = React__default.useContext(MobXProviderContext);
421
- const mutableProviderRef = React__default.useRef({ ...parentValue,
422
- ...stores
423
- });
424
- const value = mutableProviderRef.current;
464
+ var children = props.children,
465
+ stores = _objectWithoutPropertiesLoose(props, ["children"]);
466
+
467
+ var parentValue = React__default.useContext(MobXProviderContext);
468
+ var mutableProviderRef = React__default.useRef(_extends({}, parentValue, {}, stores));
469
+ var value = mutableProviderRef.current;
425
470
 
426
471
  if (process.env.NODE_ENV !== "production") {
427
- const newValue = { ...value,
428
- ...stores
429
- }; // spread in previous state for the context based stores
472
+ var newValue = _extends({}, value, {}, stores); // spread in previous state for the context based stores
473
+
430
474
 
431
475
  if (!shallowEqual(value, newValue)) {
432
476
  throw new Error("MobX Provider: The set of provided stores has changed. See: https://github.com/mobxjs/mobx-react#the-set-of-provided-stores-has-changed-error.");
@@ -445,10 +489,10 @@ Provider.displayName = "MobXProvider";
445
489
 
446
490
  function createStoreInjector(grabStoresFn, component, injectNames, makeReactive) {
447
491
  // Support forward refs
448
- let Injector = React__default.forwardRef((props, ref) => {
449
- const newProps = { ...props
450
- };
451
- const context = React__default.useContext(MobXProviderContext);
492
+ var Injector = React__default.forwardRef(function (props, ref) {
493
+ var newProps = _extends({}, props);
494
+
495
+ var context = React__default.useContext(MobXProviderContext);
452
496
  Object.assign(newProps, grabStoresFn(context || {}, newProps) || {});
453
497
 
454
498
  if (ref) {
@@ -468,8 +512,8 @@ function createStoreInjector(grabStoresFn, component, injectNames, makeReactive)
468
512
  }
469
513
 
470
514
  function getInjectName(component, injectNames) {
471
- let displayName;
472
- const componentName = component.displayName || component.name || component.constructor && component.constructor.name || "Component";
515
+ var displayName;
516
+ var componentName = component.displayName || component.name || component.constructor && component.constructor.name || "Component";
473
517
  if (injectNames) displayName = "inject-with-" + injectNames + "(" + componentName + ")";else displayName = "inject(" + componentName + ")";
474
518
  return displayName;
475
519
  }
@@ -493,41 +537,52 @@ function grabStoresByName(storeNames) {
493
537
  */
494
538
 
495
539
 
496
- function inject(
497
- /* fn(stores, nextProps) or ...storeNames */
498
- ...storeNames) {
540
+ function inject() {
541
+ for (var _len = arguments.length, storeNames = new Array(_len), _key = 0; _key < _len; _key++) {
542
+ storeNames[_key] = arguments[_key];
543
+ }
544
+
499
545
  if (typeof arguments[0] === "function") {
500
- let grabStoresFn = arguments[0];
501
- return componentClass => createStoreInjector(grabStoresFn, componentClass, grabStoresFn.name, true);
546
+ var grabStoresFn = arguments[0];
547
+ return function (componentClass) {
548
+ return createStoreInjector(grabStoresFn, componentClass, grabStoresFn.name, true);
549
+ };
502
550
  } else {
503
- return componentClass => createStoreInjector(grabStoresByName(storeNames), componentClass, storeNames.join("-"), false);
551
+ return function (componentClass) {
552
+ return createStoreInjector(grabStoresByName(storeNames), componentClass, storeNames.join("-"), false);
553
+ };
504
554
  }
505
555
  }
506
556
 
507
- const protoStoreKey =
557
+ var protoStoreKey =
508
558
  /*#__PURE__*/
509
559
  newSymbol("disposeOnUnmountProto");
510
- const instStoreKey =
560
+ var instStoreKey =
511
561
  /*#__PURE__*/
512
562
  newSymbol("disposeOnUnmountInst");
513
563
 
514
564
  function runDisposersOnWillUnmount() {
515
- [...(this[protoStoreKey] || []), ...(this[instStoreKey] || [])].forEach(propKeyOrFunction => {
516
- const prop = typeof propKeyOrFunction === "string" ? this[propKeyOrFunction] : propKeyOrFunction;
565
+ var _this = this;
566
+ [].concat(this[protoStoreKey] || [], this[instStoreKey] || []).forEach(function (propKeyOrFunction) {
567
+ var prop = typeof propKeyOrFunction === "string" ? _this[propKeyOrFunction] : propKeyOrFunction;
517
568
 
518
569
  if (prop !== undefined && prop !== null) {
519
- if (Array.isArray(prop)) prop.map(f => f());else prop();
570
+ if (Array.isArray(prop)) prop.map(function (f) {
571
+ return f();
572
+ });else prop();
520
573
  }
521
574
  });
522
575
  }
523
576
 
524
577
  function disposeOnUnmount(target, propertyKeyOrFunction) {
525
578
  if (Array.isArray(propertyKeyOrFunction)) {
526
- return propertyKeyOrFunction.map(fn => disposeOnUnmount(target, fn));
579
+ return propertyKeyOrFunction.map(function (fn) {
580
+ return disposeOnUnmount(target, fn);
581
+ });
527
582
  }
528
583
 
529
- const c = Object.getPrototypeOf(target).constructor || Object.getPrototypeOf(target.constructor);
530
- const c2 = Object.getPrototypeOf(target.constructor);
584
+ var c = Object.getPrototypeOf(target).constructor || Object.getPrototypeOf(target.constructor);
585
+ var c2 = Object.getPrototypeOf(target.constructor);
531
586
 
532
587
  if (!(c === React__default.Component || c === React__default.PureComponent || c2 === React__default.Component || c2 === React__default.PureComponent)) {
533
588
  throw new Error("[mobx-react] disposeOnUnmount only supports direct subclasses of React.Component or React.PureComponent.");
@@ -538,10 +593,10 @@ function disposeOnUnmount(target, propertyKeyOrFunction) {
538
593
  } // decorator's target is the prototype, so it doesn't have any instance properties like props
539
594
 
540
595
 
541
- const isDecorator = typeof propertyKeyOrFunction === "string"; // add property key / function we want run (disposed) to the store
596
+ var isDecorator = typeof propertyKeyOrFunction === "string"; // add property key / function we want run (disposed) to the store
542
597
 
543
- const componentWasAlreadyModified = !!target[protoStoreKey] || !!target[instStoreKey];
544
- const store = isDecorator ? // decorators are added to the prototype store
598
+ var componentWasAlreadyModified = !!target[protoStoreKey] || !!target[instStoreKey];
599
+ var store = isDecorator ? // decorators are added to the prototype store
545
600
  target[protoStoreKey] || (target[protoStoreKey] = []) : // functions are added to the instance store
546
601
  target[instStoreKey] || (target[instStoreKey] = []);
547
602
  store.push(propertyKeyOrFunction); // tweak the component class componentWillUnmount if not done already
@@ -557,26 +612,30 @@ function disposeOnUnmount(target, propertyKeyOrFunction) {
557
612
  }
558
613
 
559
614
  function createChainableTypeChecker(validator) {
560
- function checkType(isRequired, props, propName, componentName, location, propFullName, ...rest) {
561
- return untracked(() => {
615
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
616
+ for (var _len = arguments.length, rest = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
617
+ rest[_key - 6] = arguments[_key];
618
+ }
619
+
620
+ return untracked(function () {
562
621
  componentName = componentName || "<<anonymous>>";
563
622
  propFullName = propFullName || propName;
564
623
 
565
624
  if (props[propName] == null) {
566
625
  if (isRequired) {
567
- const actual = props[propName] === null ? "null" : "undefined";
626
+ var actual = props[propName] === null ? "null" : "undefined";
568
627
  return new Error("The " + location + " `" + propFullName + "` is marked as required " + "in `" + componentName + "`, but its value is `" + actual + "`.");
569
628
  }
570
629
 
571
630
  return null;
572
631
  } else {
573
632
  // @ts-ignore rest arg is necessary for some React internals - fails tests otherwise
574
- return validator(props, propName, componentName, location, propFullName, ...rest);
633
+ return validator.apply(void 0, [props, propName, componentName, location, propFullName].concat(rest));
575
634
  }
576
635
  });
577
636
  }
578
637
 
579
- const chainedCheckType = checkType.bind(null, false); // Add isRequired to satisfy Requirable
638
+ var chainedCheckType = checkType.bind(null, false); // Add isRequired to satisfy Requirable
580
639
 
581
640
  chainedCheckType.isRequired = checkType.bind(null, true);
582
641
  return chainedCheckType;
@@ -604,7 +663,7 @@ function isSymbol(propType, propValue) {
604
663
 
605
664
 
606
665
  function getPropType(propValue) {
607
- const propType = typeof propValue;
666
+ var propType = typeof propValue;
608
667
 
609
668
  if (Array.isArray(propValue)) {
610
669
  return "array";
@@ -627,7 +686,7 @@ function getPropType(propValue) {
627
686
 
628
687
 
629
688
  function getPreciseType(propValue) {
630
- const propType = getPropType(propValue);
689
+ var propType = getPropType(propValue);
631
690
 
632
691
  if (propType === "object") {
633
692
  if (propValue instanceof Date) {
@@ -641,13 +700,13 @@ function getPreciseType(propValue) {
641
700
  }
642
701
 
643
702
  function createObservableTypeCheckerCreator(allowNativeType, mobxType) {
644
- return createChainableTypeChecker((props, propName, componentName, location, propFullName) => {
645
- return untracked(() => {
703
+ return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {
704
+ return untracked(function () {
646
705
  if (allowNativeType) {
647
706
  if (getPropType(props[propName]) === mobxType.toLowerCase()) return null;
648
707
  }
649
708
 
650
- let mobxChecker;
709
+ var mobxChecker;
651
710
 
652
711
  switch (mobxType) {
653
712
  case "Array":
@@ -663,14 +722,14 @@ function createObservableTypeCheckerCreator(allowNativeType, mobxType) {
663
722
  break;
664
723
 
665
724
  default:
666
- throw new Error(`Unexpected mobxType: ${mobxType}`);
725
+ throw new Error("Unexpected mobxType: " + mobxType);
667
726
  }
668
727
 
669
- const propValue = props[propName];
728
+ var propValue = props[propName];
670
729
 
671
730
  if (!mobxChecker(propValue)) {
672
- const preciseType = getPreciseType(propValue);
673
- const nativeTypeExpectationMessage = allowNativeType ? " or javascript `" + mobxType.toLowerCase() + "`" : "";
731
+ var preciseType = getPreciseType(propValue);
732
+ var nativeTypeExpectationMessage = allowNativeType ? " or javascript `" + mobxType.toLowerCase() + "`" : "";
674
733
  return new Error("Invalid prop `" + propFullName + "` of type `" + preciseType + "` supplied to" + " `" + componentName + "`, expected `mobx.Observable" + mobxType + "`" + nativeTypeExpectationMessage + ".");
675
734
  }
676
735
 
@@ -680,17 +739,21 @@ function createObservableTypeCheckerCreator(allowNativeType, mobxType) {
680
739
  }
681
740
 
682
741
  function createObservableArrayOfTypeChecker(allowNativeType, typeChecker) {
683
- return createChainableTypeChecker((props, propName, componentName, location, propFullName, ...rest) => {
684
- return untracked(() => {
742
+ return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {
743
+ for (var _len2 = arguments.length, rest = new Array(_len2 > 5 ? _len2 - 5 : 0), _key2 = 5; _key2 < _len2; _key2++) {
744
+ rest[_key2 - 5] = arguments[_key2];
745
+ }
746
+
747
+ return untracked(function () {
685
748
  if (typeof typeChecker !== "function") {
686
749
  return new Error("Property `" + propFullName + "` of component `" + componentName + "` has " + "invalid PropType notation.");
687
750
  } else {
688
- let error = createObservableTypeCheckerCreator(allowNativeType, "Array")(props, propName, componentName, location, propFullName);
751
+ var error = createObservableTypeCheckerCreator(allowNativeType, "Array")(props, propName, componentName, location, propFullName);
689
752
  if (error instanceof Error) return error;
690
- const propValue = props[propName];
753
+ var propValue = props[propName];
691
754
 
692
- for (let i = 0; i < propValue.length; i++) {
693
- error = typeChecker(propValue, i, componentName, location, propFullName + "[" + i + "]", ...rest);
755
+ for (var i = 0; i < propValue.length; i++) {
756
+ error = typeChecker.apply(void 0, [propValue, i, componentName, location, propFullName + "[" + i + "]"].concat(rest));
694
757
  if (error instanceof Error) return error;
695
758
  }
696
759
 
@@ -700,35 +763,35 @@ function createObservableArrayOfTypeChecker(allowNativeType, typeChecker) {
700
763
  });
701
764
  }
702
765
 
703
- const observableArray =
766
+ var observableArray =
704
767
  /*#__PURE__*/
705
768
  createObservableTypeCheckerCreator(false, "Array");
706
- const observableArrayOf =
769
+ var observableArrayOf =
707
770
  /*#__PURE__*/
708
771
  createObservableArrayOfTypeChecker.bind(null, false);
709
- const observableMap =
772
+ var observableMap =
710
773
  /*#__PURE__*/
711
774
  createObservableTypeCheckerCreator(false, "Map");
712
- const observableObject =
775
+ var observableObject =
713
776
  /*#__PURE__*/
714
777
  createObservableTypeCheckerCreator(false, "Object");
715
- const arrayOrObservableArray =
778
+ var arrayOrObservableArray =
716
779
  /*#__PURE__*/
717
780
  createObservableTypeCheckerCreator(true, "Array");
718
- const arrayOrObservableArrayOf =
781
+ var arrayOrObservableArrayOf =
719
782
  /*#__PURE__*/
720
783
  createObservableArrayOfTypeChecker.bind(null, true);
721
- const objectOrObservableObject =
784
+ var objectOrObservableObject =
722
785
  /*#__PURE__*/
723
786
  createObservableTypeCheckerCreator(true, "Object");
724
- const PropTypes = {
725
- observableArray,
726
- observableArrayOf,
727
- observableMap,
728
- observableObject,
729
- arrayOrObservableArray,
730
- arrayOrObservableArrayOf,
731
- objectOrObservableObject
787
+ var PropTypes = {
788
+ observableArray: observableArray,
789
+ observableArrayOf: observableArrayOf,
790
+ observableMap: observableMap,
791
+ observableObject: observableObject,
792
+ arrayOrObservableArray: arrayOrObservableArray,
793
+ arrayOrObservableArrayOf: arrayOrObservableArrayOf,
794
+ objectOrObservableObject: objectOrObservableObject
732
795
  };
733
796
 
734
797
  if (!Component) throw new Error("mobx-react requires React to be available");