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

## Call Signature

```ts
function reverseArray<T>(array: readonly [T, T]): readonly [T, T];
```

Defined in: [packages/common/src/Array.ts:855](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Array.ts#L855)

Returns a new reversed readonly array.

Wraps native `toReversed`. Preserves non-empty type.

### Reversing without mutation

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

const values: NonEmptyReadonlyArray<number> = [1, 2, 3];
const reversed = reverseArray(values);
assertEqual(reversed, [3, 2, 1]);
assertType<NonEmptyReadonlyArray<number>, typeof reversed>();
```

## Call Signature

```ts
function reverseArray<T>(array: readonly T[]): readonly T[];
```

Defined in: [packages/common/src/Array.ts:859](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Array.ts#L859)

Possibly empty array.