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

Defined in: [packages/common/src/WebSocket.ts:163](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/common/src/WebSocket.ts#L163)

What a [WebSocket](https://evolu.dev/docs/api-reference/common/WebSocket/interfaces/WebSocket) reports when a connection closes.

These are the fields every platform provides. Evolu does not use the DOM
`CloseEvent` type: React Native delivers its own close event and exposes no
`CloseEvent` global, so promising the DOM type would promise an inheritance
chain and an `instanceof` that do not hold there. A platform's own close
event is structurally assignable to this, and [createWebSocket](https://evolu.dev/docs/api-reference/common/WebSocket/variables/createWebSocket) passes
it through unchanged, so a caller that knows its platform can narrow it.

## Properties

<a id="code"></a>

### code

```ts
readonly code: number;
```

Defined in: [packages/common/src/WebSocket.ts:165](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/common/src/WebSocket.ts#L165)

https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent/code

---

<a id="reason"></a>

### reason

```ts
readonly reason: string;
```

Defined in: [packages/common/src/WebSocket.ts:168](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/common/src/WebSocket.ts#L168)

https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent/reason

---

<a id="wasclean"></a>

### wasClean

```ts
readonly wasClean: boolean;
```

Defined in: [packages/common/src/WebSocket.ts:171](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/common/src/WebSocket.ts#L171)

Whether the connection closed after a completed closing handshake.