UNPKG

shrink-string-typescript

Version:

Tiny string compression module for Node.

22 lines (17 loc) 533 B
import { gzip, gunzip } from 'zlib'; import { promisify } from 'util'; import { Buffer } from 'buffer'; const gz = promisify(gzip); const ugz = promisify(gunzip); const compress = async (s: string = ''): Promise<string> => { const compressed = await gz(s); return Buffer.from(compressed).toString('base64'); }; const decompress = async (s: string = ''): Promise<string> => { const decompressed = await ugz(Buffer.from(Buffer.from(s, 'base64'))); return decompressed.toString(); }; export = { compress, decompress, };