compress function
Implementation
String compress(String data,
{bool forceEncode = false,
bool allowLZString = true,
bool allowBZip2 = true,
bool allowGZip = true,
bool allowZLib = true}) =>
[
forceEncode ? _attempt(() => compressNoopEncode(compress: data)) : data,
if (allowLZString) _attempt(() => compressLzstring(compress: data)),
if (allowBZip2) _attempt(() => compressBzip2(compress: data)),
if (allowGZip) _attempt(() => compressGzip(compress: data)),
if (allowZLib) _attempt(() => compressZLib(compress: data)),
]
.where((element) => element != null)
.reduce((a, b) => a!.length < b!.length ? a : b) ??
"ERROR";