API reference@evolu/commonResult › InferDone

type InferDone<R> =
  InferErr<R> extends infer Errors
    ? Errors extends Done<infer D>
      ? D
      : never
    : never;

Defined in: packages/common/src/Result.ts:892

Infers the done value type from a NextResult.

Example

import {
  assertType,
  type InferDone,
  type NextResult,
  type Typed,
} from "@evolu/common";

type ReadResult = NextResult<string, ReadFailedError, number>;

interface ReadFailedError extends Typed<"ReadFailed"> {}

assertType<number, InferDone<ReadResult>>();