API reference › @evolu/common › Result › allResult
Call Signature
function allResult<T>(
results: T,
): Result<
{ [K in string | number | symbol]: InferOk<T[K]> },
InferErr<T[number]>
>;
Defined in: packages/common/src/Result.ts:543
Extracts all values from an array of Results.
Returns the first error if any result fails.
Example
const results = [ok(1), ok(2), ok(3)];
const all = allResult(results);
// ok([1, 2, 3])
const withError = [ok(1), err("fail"), ok(3)];
const failed = allResult(withError);
// err("fail")
Call Signature
function allResult<T>(
results: T,
): Result<
{ [P in string | number | symbol]: InferOk<T[P]> },
[keyof T] extends [never] ? never : InferErr<T[keyof T]>
>;
Defined in: packages/common/src/Result.ts:555
Returns object with same keys.
const result = allResult({ a: ok(1), b: ok(2) });
// ok({ a: 1, b: 2 })
Call Signature
function allResult<T, E>(
results: Iterable<Result<T, E>>,
): Result<readonly T[], E>;
Defined in: packages/common/src/Result.ts:571
For dynamic or generated result lists.
const results: ReadonlyArray<Result<number, Error>> = getResults();
const all = allResult(results);
// Result<ReadonlyArray<number>, Error>
Call Signature
function allResult<T, E>(
results: readonly [Result<T, E>, Result<T, E>],
): Result<readonly [T, T], E>;
Defined in: packages/common/src/Result.ts:587
Guarantees non-empty result.
const results: NonEmptyReadonlyArray<Result<number, Error>> = [ok(1), ok(2)];
const all = allResult(results);
// Result<NonEmptyReadonlyArray<number>, Error>