directus
1import { compress as compressSnappy, uncompress as uncompressSnappy } from 'snappy';
2import { compress as compressJSON, decompress as decompressJSON } from '@directus/utils';
3
4export async function compress(raw: Record<string, any> | Record<string, any>[]): Promise<Buffer> {
5if (!raw) return raw;
6return await compressSnappy(compressJSON(raw));
7}
8
9export async function decompress(compressed: Buffer): Promise<any> {
10if (!compressed) return compressed;
11return decompressJSON((await uncompressSnappy(compressed, { asBuffer: false })) as string);
12}
13