PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` /** Get the element type of an `Iterable`/`AsyncIterable`. For example, an array or a generator. This can be useful, for example, if you want to get the type that is yielded in a generator function. Often the return type of those functions are not specified. This type works with both `Iterable`s and `AsyncIterable`s, so it can be use with synchronous and asynchronous generators. Here is an example of `IterableElement` in action with a generator function: @example ``` function * iAmGenerator() { yield 1; yield 2; } type MeNumber = IterableElement> ``` And here is an example with an async generator: @example ``` async function * iAmGeneratorAsync() { yield 'hi'; yield true; } type MeStringOrBoolean = IterableElement> ``` Many types in JavaScript/TypeScript are iterables. This type works on all types that implement those interfaces. For example, `Array`, `Set`, `Map`, `stream.Readable`, etc. An example with an array of strings: @example ``` type MeString = IterableElement ``` */ export type IterableElement = TargetIterable extends Iterable ? ElementType : TargetIterable extends AsyncIterable ? ElementType : never;