mobx 6.9.0 → 6.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2242,10 +2242,15 @@ var Reaction = /*#__PURE__*/function () {
2242
2242
  }
2243
2243
  }
2244
2244
  };
2245
- _proto.getDisposer_ = function getDisposer_() {
2246
- var r = this.dispose.bind(this);
2247
- r[$mobx] = this;
2248
- return r;
2245
+ _proto.getDisposer_ = function getDisposer_(abortSignal) {
2246
+ var _this2 = this;
2247
+ var dispose = function dispose() {
2248
+ _this2.dispose();
2249
+ abortSignal == null ? void 0 : abortSignal.removeEventListener == null ? void 0 : abortSignal.removeEventListener("abort", dispose);
2250
+ };
2251
+ abortSignal == null ? void 0 : abortSignal.addEventListener == null ? void 0 : abortSignal.addEventListener("abort", dispose);
2252
+ dispose[$mobx] = this;
2253
+ return dispose;
2249
2254
  };
2250
2255
  _proto.toString = function toString() {
2251
2256
  return "Reaction[" + this.name_ + "]";
@@ -2419,7 +2424,7 @@ function isAction(thing) {
2419
2424
  * @returns disposer function, which can be used to stop the view from being updated in the future.
2420
2425
  */
2421
2426
  function autorun(view, opts) {
2422
- var _opts$name, _opts;
2427
+ var _opts$name, _opts, _opts2, _opts2$signal, _opts3;
2423
2428
  if (opts === void 0) {
2424
2429
  opts = EMPTY_OBJECT;
2425
2430
  }
@@ -2458,8 +2463,10 @@ function autorun(view, opts) {
2458
2463
  function reactionRunner() {
2459
2464
  view(reaction);
2460
2465
  }
2461
- reaction.schedule_();
2462
- return reaction.getDisposer_();
2466
+ if (!((_opts2 = opts) != null && (_opts2$signal = _opts2.signal) != null && _opts2$signal.aborted)) {
2467
+ reaction.schedule_();
2468
+ }
2469
+ return reaction.getDisposer_((_opts3 = opts) == null ? void 0 : _opts3.signal);
2463
2470
  }
2464
2471
  var run = function run(f) {
2465
2472
  return f();
@@ -2470,7 +2477,7 @@ function createSchedulerFromOptions(opts) {
2470
2477
  } : run;
2471
2478
  }
2472
2479
  function reaction(expression, effect, opts) {
2473
- var _opts$name2;
2480
+ var _opts$name2, _opts4, _opts4$signal, _opts5;
2474
2481
  if (opts === void 0) {
2475
2482
  opts = EMPTY_OBJECT;
2476
2483
  }
@@ -2520,8 +2527,10 @@ function reaction(expression, effect, opts) {
2520
2527
  }
2521
2528
  firstTime = false;
2522
2529
  }
2523
- r.schedule_();
2524
- return r.getDisposer_();
2530
+ if (!((_opts4 = opts) != null && (_opts4$signal = _opts4.signal) != null && _opts4$signal.aborted)) {
2531
+ r.schedule_();
2532
+ }
2533
+ return r.getDisposer_((_opts5 = opts) == null ? void 0 : _opts5.signal);
2525
2534
  }
2526
2535
  function wrapErrorHandler(errorHandler, baseFn) {
2527
2536
  return function () {