* Gets the *yield*, *return*, and *next* types from an `Iterator`-like or `AsyncIterator`-like type. * * If we successfully found the *yield*, *return*, and *next* types, an `IterationTypes` * record is returned. Otherwise, `undefined` is returned.
(type, resolver, errorNode)
| 83372 | * record is returned. Otherwise, `undefined` is returned. |
| 83373 | */ |
| 83374 | function getIterationTypesOfIterator(type, resolver, errorNode) { |
| 83375 | if (isTypeAny(type)) { |
| 83376 | return anyIterationTypes; |
| 83377 | } |
| 83378 | var iterationTypes = getIterationTypesOfIteratorCached(type, resolver) || |
| 83379 | getIterationTypesOfIteratorFast(type, resolver) || |
| 83380 | getIterationTypesOfIteratorSlow(type, resolver, errorNode); |
| 83381 | return iterationTypes === noIterationTypes ? undefined : iterationTypes; |
| 83382 | } |
| 83383 | /** |
| 83384 | * Gets the iteration types of an `Iterator`-like or `AsyncIterator`-like type from the |
| 83385 | * cache. |
no test coverage detected