@statesync/persistence / createCompressionAdapter
Function: createCompressionAdapter()
ts
function createCompressionAdapter(options): CompressionAdapter;Defined in: persistence/src/compression.ts:249
Creates a CompressionAdapter from a user-supplied implementation.
This is a convenience factory for wrapping any compression library that operates on strings. The returned adapter is the same object passed in -- no wrapping or copying is performed.
Parameters
| Parameter | Type | Description |
|---|---|---|
options | CompressionAdapter | An object implementing the CompressionAdapter interface. |
Returns
The same adapter object, typed as CompressionAdapter.
Example
typescript
import pako from 'pako';
const compression = createCompressionAdapter({
algorithm: 'gzip',
compress: (data) => btoa(String.fromCharCode(...pako.gzip(data))),
decompress: (data) => pako.ungzip(
Uint8Array.from(atob(data), c => c.charCodeAt(0)),
{ to: 'string' }
),
});