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

```ts
type SqliteDestructor =
  typeof SQLITE_STATIC | typeof SQLITE_TRANSIENT | SqliteFunctionPtr;
```

Defined in: [packages/sqlite-wasm/src/Pointer.ts:126](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/Pointer.ts#L126)

The destructor argument of `sqlite3_bind_text`, `sqlite3_bind_blob`,
`sqlite3_result_text` and `sqlite3_result_blob`.

[SQLITE\_STATIC](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api/variables/SQLITE_STATIC) promises the memory outlives the value,
[SQLITE\_TRANSIENT](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api/variables/SQLITE_TRANSIENT) makes SQLite copy it, and a function pointer such as
[SQLITE\_WASM\_DEALLOC](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api/variables/SQLITE_WASM_DEALLOC) hands it to SQLite, which frees it even when the
call fails.