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

```ts
const assertType: <T>(
  type: T,
  value: unknown,
  message?: string,
) => asserts value is InferType<T>;
```

Defined in: [packages/common/src/Assert.ts:100](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Assert.ts#L100)

Ensures a value conforms to a [Type](https://evolu.dev/docs/api-reference/common/Type/interfaces/Type).

Uses the Type name for the default error message.

### Example

```ts
const length = buffer.getLength();

// We know length is logically non-negative, but TypeScript doesn't.
assertType(NonNegativeInt, length);
```