Skip to content

@statesync/persistence


@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

ParameterTypeDescription
optionsCompressionAdapterAn object implementing the CompressionAdapter interface.

Returns

CompressionAdapter

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' }
  ),
});

Released under the MIT License.