MCPcopy Create free account
hub / github.com/denoland/std / resolvesNext

Function resolvesNext

testing/mock.ts:1780–1807  ·  view source on GitHub ↗
(
  iterable:
    | Iterable<Return | Error | Promise<Return | Error>>
    | AsyncIterable<Return | Error | Promise<Return | Error>>,
)

Source from the content-addressed store, hash-verified

1778 * @returns A function that resolves the awaited iterable values
1779 */
1780export function resolvesNext<
1781 Return,
1782 // deno-lint-ignore no-explicit-any
1783 Self = any,
1784 // deno-lint-ignore no-explicit-any
1785 Args extends unknown[] = any[],
1786>(
1787 iterable:
1788 | Iterable<Return | Error | Promise<Return | Error>>
1789 | AsyncIterable<Return | Error | Promise<Return | Error>>,
1790): (this: Self, ...args: Args) => Promise<Return> {
1791 const gen = (async function* returnsValue() {
1792 yield* iterable;
1793 })();
1794 let calls = 0;
1795 return async function () {
1796 const next = await gen.next();
1797 if (next.done) {
1798 throw new MockError(
1799 `Not expected to be called more than ${calls} time(s)`,
1800 );
1801 }
1802 calls++;
1803 const { value } = next;
1804 if (value instanceof Error) throw value;
1805 return value;
1806 };
1807}

Callers 1

mock_test.tsFile · 0.90

Calls 1

nextMethod · 0.45

Tested by

no test coverage detected