| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 | 'use strict';var global = (function () {  if (typeof globalThis !== 'undefined') {    return globalThis;  } else if (typeof global !== 'undefined') {    return global;  } else if (typeof self !== 'undefined') {    return self;  } else if (typeof window !== 'undefined') {    return window;  } else {    return Function('return this')();  }})();var Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;Object.defineProperty(exports, '__esModule', {  value: true});exports.default = void 0;var global = (function () {  if (typeof globalThis !== 'undefined') {    return globalThis;  } else if (typeof global !== 'undefined') {    return global;  } else if (typeof self !== 'undefined') {    return self;  } else if (typeof window !== 'undefined') {    return window;  } else {    return Function('return this')();  }})();var Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;var global = (function () {  if (typeof globalThis !== 'undefined') {    return globalThis;  } else if (typeof global !== 'undefined') {    return global;  } else if (typeof self !== 'undefined') {    return self;  } else if (typeof window !== 'undefined') {    return window;  } else {    return Function('return this')();  }})();var Promise = global[Symbol.for('jest-native-promise')] || global.Promise;function _defineProperty(obj, key, value) {  if (key in obj) {    Object.defineProperty(obj, key, {      value: value,      enumerable: true,      configurable: true,      writable: true    });  } else {    obj[key] = value;  }  return obj;}/** * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */class CancelError extends Error {  constructor() {    super('Promise was canceled');    this.name = 'CancelError';  }}class PCancelable {  constructor(executor) {    _defineProperty(this, '_pending', true);    _defineProperty(this, '_canceled', false);    _defineProperty(this, '_promise', void 0);    _defineProperty(this, '_cancel', void 0);    _defineProperty(this, '_reject', () => {});    this._promise = new Promise((resolve, reject) => {      this._reject = reject;      return executor(        fn => {          this._cancel = fn;        },        val => {          this._pending = false;          resolve(val);        },        err => {          this._pending = false;          reject(err);        }      );    });  }  then(onFulfilled, onRejected) {    return this._promise.then(onFulfilled, onRejected);  }  catch(onRejected) {    return this._promise.catch(onRejected);  }  cancel() {    if (!this._pending || this._canceled) {      return;    }    if (typeof this._cancel === 'function') {      try {        this._cancel();      } catch (err) {        this._reject(err);      }    }    this._canceled = true;    this._reject(new CancelError());  }}exports.default = PCancelable;
 |