diff --git a/source/index.ts b/source/index.ts index 26e2401..a0003fc 100644 --- a/source/index.ts +++ b/source/index.ts @@ -460,9 +460,11 @@ interface Assert { iterable: (value: unknown) => asserts value is Iterable; asyncIterable: (value: unknown) => asserts value is AsyncIterable; generator: (value: unknown) => asserts value is Generator; + asyncGenerator: (value: unknown) => asserts value is AsyncGenerator; nativePromise: (value: unknown) => asserts value is Promise; promise: (value: unknown) => asserts value is Promise; generatorFunction: (value: unknown) => asserts value is GeneratorFunction; + asyncGeneratorFunction: (value: unknown) => asserts value is AsyncGeneratorFunction; // eslint-disable-next-line @typescript-eslint/ban-types asyncFunction: (value: unknown) => asserts value is Function; // eslint-disable-next-line @typescript-eslint/ban-types @@ -548,9 +550,11 @@ export const assert: Assert = { iterable: (value: unknown): asserts value is Iterable => assertType(is.iterable(value), AssertionTypeDescription.iterable, value), asyncIterable: (value: unknown): asserts value is AsyncIterable => assertType(is.asyncIterable(value), AssertionTypeDescription.asyncIterable, value), generator: (value: unknown): asserts value is Generator => assertType(is.generator(value), TypeName.Generator, value), + asyncGenerator: (value: unknown): asserts value is AsyncGenerator => assertType(is.asyncGenerator(value), TypeName.AsyncGenerator, value), nativePromise: (value: unknown): asserts value is Promise => assertType(is.nativePromise(value), AssertionTypeDescription.nativePromise, value), promise: (value: unknown): asserts value is Promise => assertType(is.promise(value), TypeName.Promise, value), generatorFunction: (value: unknown): asserts value is GeneratorFunction => assertType(is.generatorFunction(value), TypeName.GeneratorFunction, value), + asyncGeneratorFunction: (value: unknown): asserts value is AsyncGeneratorFunction => assertType(is.asyncGeneratorFunction(value), TypeName.AsyncGeneratorFunction, value), // eslint-disable-next-line @typescript-eslint/ban-types asyncFunction: (value: unknown): asserts value is Function => assertType(is.asyncFunction(value), TypeName.AsyncFunction, value), // eslint-disable-next-line @typescript-eslint/ban-types diff --git a/test/test.ts b/test/test.ts index 1daa8c1..f48b7c3 100644 --- a/test/test.ts +++ b/test/test.ts @@ -235,6 +235,7 @@ const types = new Map([ }], ['asyncGenerator', { is: is.asyncGenerator, + assert: assert.asyncGenerator, fixtures: [ (async function * () { yield 4; @@ -255,12 +256,14 @@ const types = new Map([ }], ['asyncGeneratorFunction', { is: is.asyncGeneratorFunction, + assert: assert.asyncGeneratorFunction, fixtures: [ async function * () { yield 4; } ], - typename: TypeName.Function + typename: TypeName.Function, + typeDescription: TypeName.AsyncGeneratorFunction }], ['asyncFunction', { is: is.asyncFunction,