ZipEncoderTransformer class
Not a standard dart:convert Codec because it doesn't perform simple
byte-to-byte conversions, acting purely as a StreamTransformer.
Please note that onDone may never be called on failure, you have to listen for both onError and onDone to identify the end of stream. Example for .encoder:
Stream<ArchiveFile> filesOf(Directory dir) async* {
await for (final entity in dir.list(recursive: true)) {
if (entity is File) {
final input = InputFileStream(entity.path);
try {
yield ArchiveFile.stream(
p.relative(entity.path, from: dir.path), input);
} finally {
// Runs once the encoder has written the entry, or when it is
// cancelled
await input.close();
}
}
}
}
final upload =
await HttpClient().putUrl(Uri.parse('https://example.com/backup'));
upload.headers.contentType = ContentType('application', 'zstd');
await upload.addStream(filesOf(Directory('data'))
// also available for zip/tar
.transform(zipCodec.encoder) // Stream<ArchiveFile> -> Stream<List<int>>
// also available for zstd/xz/bzip2
.transform(zstdCodec.encoder));
final response = await upload.close();
- Inheritance
-
- Object
- StreamTransformerBase<
ArchiveFile, List< int> > - ZipEncoderTransformer
Constructors
Properties
- autoClose → bool
-
Closes each entry once it is written, the way
ZipEncoder.adddoes. Off by default, as it is onZipEncoder.encodeStream: the entries are not ours, and whoever opened a file closes itfinal - filenameEncoding → Encoding
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- level → int
-
final
- password → String?
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- streamed → bool
-
final
Methods
-
bind(
Stream< ArchiveFile> stream) → Stream<List< int> > -
Transforms the provided
stream.override -
cast<
RS, RT> () → StreamTransformer< RS, RT> -
Provides a
StreamTransformer<RS, RT>view of this stream transformer.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited