[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Result](https://evolu.dev/docs/api-reference/common/Result) › anyResult

```ts
function anyResult<T>(
  results: T,
): Result<InferOk<T[number]>, InferErr<T[number]>>;
```

Defined in: [packages/common/src/Result.ts:751](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Result.ts#L751)

Returns the first successful [Result](https://evolu.dev/docs/api-reference/common/Result/type-aliases/Result).

If all results fail, returns the last error.

Requires a non-empty array — there's no "first success" with zero
participants. Use [isNonEmptyArray](https://evolu.dev/docs/api-reference/common/Array/functions/isNonEmptyArray) to guard:

```ts
if (isNonEmptyArray(results)) {
  const result = anyResult(results);
}
```

### Example

```ts
const results = [err("fail1"), ok(42), err("fail2")];
if (isNonEmptyArray(results)) {
  const result = anyResult(results);
  // ok(42)
}

const allFailed = [err("a"), err("b"), err("c")];
if (isNonEmptyArray(allFailed)) {
  const result = anyResult(allFailed);
  // err("c") — last error
}
```