You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							63 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							63 lines
						
					
					
						
							1.6 KiB
						
					
					
				| import OverloadYield from "./OverloadYield.js"; | |
| export default function AsyncGenerator(e) { | |
|   var r, t; | |
|   function resume(r, t) { | |
|     try { | |
|       var n = e[r](t), | |
|         o = n.value, | |
|         u = o instanceof OverloadYield; | |
|       Promise.resolve(u ? o.v : o).then(function (t) { | |
|         if (u) { | |
|           var i = "return" === r ? "return" : "next"; | |
|           if (!o.k || t.done) return resume(i, t); | |
|           t = e[i](t).value; | |
|         } | |
|         settle(n.done ? "return" : "normal", t); | |
|       }, function (e) { | |
|         resume("throw", e); | |
|       }); | |
|     } catch (e) { | |
|       settle("throw", e); | |
|     } | |
|   } | |
|   function settle(e, n) { | |
|     switch (e) { | |
|       case "return": | |
|         r.resolve({ | |
|           value: n, | |
|           done: !0 | |
|         }); | |
|         break; | |
|       case "throw": | |
|         r.reject(n); | |
|         break; | |
|       default: | |
|         r.resolve({ | |
|           value: n, | |
|           done: !1 | |
|         }); | |
|     } | |
|     (r = r.next) ? resume(r.key, r.arg) : t = null; | |
|   } | |
|   this._invoke = function (e, n) { | |
|     return new Promise(function (o, u) { | |
|       var i = { | |
|         key: e, | |
|         arg: n, | |
|         resolve: o, | |
|         reject: u, | |
|         next: null | |
|       }; | |
|       t ? t = t.next = i : (r = t = i, resume(e, n)); | |
|     }); | |
|   }, "function" != typeof e["return"] && (this["return"] = void 0); | |
| } | |
| AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { | |
|   return this; | |
| }, AsyncGenerator.prototype.next = function (e) { | |
|   return this._invoke("next", e); | |
| }, AsyncGenerator.prototype["throw"] = function (e) { | |
|   return this._invoke("throw", e); | |
| }, AsyncGenerator.prototype["return"] = function (e) { | |
|   return this._invoke("return", e); | |
| }; |