compress function

String compress(
  1. String data, {
  2. bool forceEncode = false,
  3. bool allowLZString = true,
  4. bool allowBZip2 = true,
  5. bool allowGZip = true,
  6. bool allowZLib = true,
})

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";