[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:520](https://github.com/evoluhq/evolu/blob/dd96d79f1dbe9a49fa12ce8e0aa7d3d0177795ca/packages/common/src/Result.ts#L520)

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