mirror of
https://github.com/fluxerapp/zstd_dart.git
synced 2026-07-11 03:17:50 +00:00
No description
- Dart 100%
| hook | ||
| lib | ||
| test | ||
| third_party | ||
| .gitignore | ||
| .gitmodules | ||
| .pubignore | ||
| analysis_options.yaml | ||
| CHANGELOG.md | ||
| LICENSE | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| README.md | ||
zstd_dart
Zstd compression and decompression for Dart, using native build hooks to compile the zstd C library at build time via package:native_toolchain_c.
Usage
import 'dart:typed_data';
import 'package:zstd_dart/zstd_dart.dart';
// Compress
final input = Uint8List.fromList([1, 2, 3, 4, 5]);
final compressed = ZstdCodec.compress(input);
// Decompress
final decompressed = ZstdCodec.decompress(compressed);
// Custom compression level (1-22, default 3)
final highCompression = ZstdCodec.compress(input, level: 19);
How it works
The package uses Dart's native build hooks (package:hooks) to compile zstd C sources from third_party/zstd/ into a shared library at build time. FFI bindings in lib/src/zstd_bindings.dart use @Native annotations to link to the compiled library automatically.
Requirements
- Dart SDK
>=3.10.0 - A C compiler available on the build host (provided by the Dart/Flutter toolchain)