[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) › getOrNull

```ts
function getOrNull<T, E>(result: Result<T, E>): T | null;
```

Defined in: [packages/common/src/Result.ts:525](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Result.ts#L525)

Gets the value from an [Ok](https://evolu.dev/docs/api-reference/common/Result/interfaces/Ok), or returns `null` for an [Err](https://evolu.dev/docs/api-reference/common/Result/interfaces/Err).

**Intended usage:**

- When you need to convert a `Result` to a nullable value for APIs that expect
  `T | null`.
- When the error is not important and you just want the value or nothing.

### Example

```ts
import {
  assertEqual,
  assertType,
  err,
  getOrNull,
  ok,
  type Result,
  type Typed,
} from "@evolu/common";

interface User {
  readonly id: string;
}

const findUser = (id: string): Result<User, UserNotFoundError> =>
  id === "user-1" ? ok({ id }) : err({ type: "UserNotFound" });

interface UserNotFoundError extends Typed<"UserNotFound"> {}

// For APIs that expect T | null.
const user = getOrNull(findUser("user-1"));
const missingUser = getOrNull(findUser("missing"));

assertType<User | null, typeof user>();
assertEqual(user, { id: "user-1" });
assertEqual(missingUser, null);
```