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