PsyTask | API Docs
    Preparing search index...

    Function createIterableBuilder

    • Type Parameters

      • T extends unknown[]
      • G extends Generator<unknown, unknown, never>
      • P extends unknown[] = G extends Generator<Val, Data, Res> ? [Val, Data, Res] : never

      Parameters

      • gen: (...e: T) => G

      Returns (
          ...e: T,
      ) => {
          "[iterator]": () => { next(): IteratorResult<P[0], P[1]> };
          get data(): P[1];
          response(response: P[2]): void;
      }

      Custom iterable builder

      const MyIterable = createIterableBuilder(function* (count: number) {
      for (let i = 0; i < count; i++) {
      const response: string = yield i + 1; // yield number; receive string
      }
      });

      const myIterable = MyIterable(3);
      for (const trial of myIterable) {
      // set current trial response to calculate next value
      myIterable.response(`Response to ${trial}`);
      }