Skip to content

isAsyncGeneratorFunction

Checks if a value is an async generator function (an async function* declaration or expression).

Distinct from isAsyncGenerator: this predicate targets the function itself, not the async iterator it produces when called.

Available since v2.0.3

import { isAsyncGeneratorFunction } from '@helpers4/type';
isAsyncGeneratorFunction(value: unknown): value is AsyncGeneratorFunction
ParameterTypeDescription
valueunknownThe value to check

value is AsyncGeneratorFunction — true if value is an AsyncGeneratorFunction

Returns true for async function* declarations and expressions.

async function* gen() { yield 1; }
isAsyncGeneratorFunction(gen)         // => true
isAsyncGeneratorFunction(gen())       // => false  (instance)
isAsyncGeneratorFunction(async () => {}) // => false

Distinguish async generator functions from sync generator functions

Section titled “Distinguish async generator functions from sync generator functions”

isAsyncGeneratorFunction is false for sync function*.

function* sync() { yield 1; }
async function* async_() { yield 1; }
isAsyncGeneratorFunction(sync)   // => false
isAsyncGeneratorFunction(async_) // => true

View source on GitHub