48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| Object.defineProperty(exports, "__esModule", {
 | |
|   value: true
 | |
| });
 | |
| exports.default = _dispose;
 | |
| function dispose_SuppressedError(error, suppressed) {
 | |
|   if (typeof SuppressedError !== "undefined") {
 | |
|     dispose_SuppressedError = SuppressedError;
 | |
|   } else {
 | |
|     dispose_SuppressedError = function SuppressedError(error, suppressed) {
 | |
|       this.suppressed = suppressed;
 | |
|       this.error = error;
 | |
|       this.stack = new Error().stack;
 | |
|     };
 | |
|     dispose_SuppressedError.prototype = Object.create(Error.prototype, {
 | |
|       constructor: {
 | |
|         value: dispose_SuppressedError,
 | |
|         writable: true,
 | |
|         configurable: true
 | |
|       }
 | |
|     });
 | |
|   }
 | |
|   return new dispose_SuppressedError(error, suppressed);
 | |
| }
 | |
| function _dispose(stack, error, hasError) {
 | |
|   function next() {
 | |
|     while (stack.length > 0) {
 | |
|       try {
 | |
|         var r = stack.pop();
 | |
|         var p = r.d.call(r.v);
 | |
|         if (r.a) return Promise.resolve(p).then(next, err);
 | |
|       } catch (e) {
 | |
|         return err(e);
 | |
|       }
 | |
|     }
 | |
|     if (hasError) throw error;
 | |
|   }
 | |
|   function err(e) {
 | |
|     error = hasError ? new dispose_SuppressedError(error, e) : e;
 | |
|     hasError = true;
 | |
|     return next();
 | |
|   }
 | |
|   return next();
 | |
| }
 | |
| 
 | |
| //# sourceMappingURL=dispose.js.map
 |