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

```ts
const assertNonEmptyReadonlyArray: <T>(
  arr: ReadonlyArray<T>,
  message?: string,
) => asserts arr is NonEmptyReadonlyArray<T>;
```

Defined in: [packages/common/src/Assert.ts:466](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Assert.ts#L466)

Asserts that a readonly array is non-empty.

Use this when a readonly array is logically guaranteed to be non-empty but
TypeScript cannot prove it.

### Example

```ts
import {
  assertEqual,
  assertErr,
  assertNonEmptyReadonlyArray,
  assertType,
  trySync,
  type NonEmptyReadonlyArray,
} from "@evolu/common";

const values: ReadonlyArray<number> = [1, 2, 3];
assertNonEmptyReadonlyArray(values);
assertType<NonEmptyReadonlyArray<number>, typeof values>();
assertEqual(values[0], 1);
const result = trySync(() => assertNonEmptyReadonlyArray([]));
assertErr(result);
```