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

```ts
function isOk<T, E>(result: Result<T, E>): result is Ok<T>;
```

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

Type guard for [Ok](https://evolu.dev/docs/api-reference/common/Result/interfaces/Ok) results.

### Example

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

const getCount = (): Result<number, CountUnavailableError> => ok(2);

interface CountUnavailableError extends Typed<"CountUnavailable"> {}

const count = getCount();
if (isOk(count)) {
  assertType<Ok<number>, typeof count>();
  assertEqual(count.value, 2);
}
```