Function resolvesNext

  • Creates a function that resolves the awaited iterable values. Any awaited iterable values that are errors will be thrown.

    Type Parameters

    • Return

      The type of each item of the iterable

    • Self = any

      The self type of the returned function

    • Args extends unknown[] = any[]

      The type of arguments of the returned function

    Parameters

    • iterable: Iterable<Error | Return | Promise<Error | Return>, any, any> | AsyncIterable<Error | Return | Promise<Error | Return>, any, any>

      The iterable to use

    Returns ((this: Self, ...args: Args) => Promise<Return>)

    A function that resolves the awaited iterable values

    import { resolvesNext } from "@std/testing/mock";
    import { assertEquals, assertRejects } from "@std/assert";

    const func = resolvesNext([1, 2, new Error("foo"), 3]);
    assertEquals(await func(), 1);
    assertEquals(await func(), 2);
    assertRejects(() => func(), Error, "foo");
    assertEquals(await func(), 3);