[API reference](https://evolu.dev/docs/api-reference) › [@evolu/sqlite-wasm](https://evolu.dev/docs/api-reference/sqlite-wasm) › SqliteWasm

Defined in: [packages/sqlite-wasm/src/Wasm.ts:200](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/Wasm.ts#L200)

A loaded SQLite wasm instance.

One instance serves every database of a worker. It cannot be disposed; it
lives until the worker ends.

## Properties

<a id="call"></a>

### call

```ts
readonly call: <T>(fn: () => T) => T;
```

Defined in: [packages/sqlite-wasm/src/Wasm.ts:230](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/Wasm.ts#L230)

Calls a function that calls into wasm, and returns its result.

Anything the function throws breaks the instance, as the module
documentation explains: it is rethrown, and this and every later call throw
without calling the function. Databases call wasm through it, and so should
code that calls the CApi functions directly.

---

<a id="exports"></a>

### exports

```ts
readonly exports: SqliteCExports;
```

Defined in: [packages/sqlite-wasm/src/Wasm.ts:208](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/Wasm.ts#L208)

The C functions, and the build's shims of the variadic ones, as the wasm
exports them.

Prefer the standalone functions of `@evolu/sqlite-wasm/c-api`, which read
these once per database.

---

<a id="functiontable"></a>

### functionTable

```ts
readonly functionTable: Table;
```

Defined in: [packages/sqlite-wasm/src/Wasm.ts:211](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/Wasm.ts#L211)

The wasm function table, where C function pointers point.

---

<a id="getheapdataview"></a>

### getHeapDataView

```ts
readonly getHeapDataView: () => DataView<ArrayBuffer>;
```

Defined in: [packages/sqlite-wasm/src/Wasm.ts:220](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/Wasm.ts#L220)

Returns a `DataView` of the whole heap, like [SqliteWasm.getHeapU8](https://evolu.dev/docs/api-reference/sqlite-wasm/interfaces/SqliteWasm#getheapu8).

---

<a id="getheapu8"></a>

### getHeapU8

```ts
readonly getHeapU8: () => Uint8Array<ArrayBuffer>;
```

Defined in: [packages/sqlite-wasm/src/Wasm.ts:217](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/Wasm.ts#L217)

Returns a view of the whole heap, created again when memory has grown since
the previous call.

---

<a id="isbroken"></a>

### isBroken

```ts
readonly isBroken: () => boolean;
```

Defined in: [packages/sqlite-wasm/src/Wasm.ts:236](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/Wasm.ts#L236)

Whether an error escaped [SqliteWasm.call](https://evolu.dev/docs/api-reference/sqlite-wasm/interfaces/SqliteWasm#call), so the instance refuses
calls.