API reference › @evolu/common › Result › mapResult
Call Signature
function mapResult<A, T, E>(
items: A,
fn: (a: A[number]) => Result<T, E>,
): Result<{ [K in string | number | symbol]: T }, E>;
Defined in: packages/common/src/Result.ts:644
Maps items to Results and extracts all values.
Returns the first error if any result fails.
Example
const users = [{ id: 1 }, { id: 2 }];
const result = mapResult(users, validateUser);
// Result<ReadonlyArray<ValidUser>, ValidateUserError>
Call Signature
function mapResult<A, T, E>(
items: Iterable<A>,
fn: (a: A) => Result<T, E>,
): Result<readonly T[], E>;
Defined in: packages/common/src/Result.ts:662
For dynamic or generated item lists.
const users = [{ id: 1 }, { id: 2 }];
const result = mapResult(users, validateUser);
// Result<ReadonlyArray<ValidUser>, ValidateUserError>
Call Signature
function mapResult<A, T, E, K>(
items: Readonly<Record<K, A>>,
fn: (a: A) => Result<T, E>,
): Result<Readonly<Record<K, T>>, E>;
Defined in: packages/common/src/Result.ts:675
Returns object with same keys.
const result = mapResult({ a: 1, b: 2 }, double);
// Result<{ a: number, b: number }, DoubleError>