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