Add the metadata pub.dev scores a package on
description, repository, issue_tracker and topics, plus a changelog, which between them are most of a package's discoverability. The repository URLs are a guess at the new home and want checking before the first publish. publish_to stays none so an accidental publish from inside this checkout cannot succeed. Remove it in the new repository. Version 0.1.0 rather than 0.0.1: a published version can be retracted but never deleted, so the first one should mean something.
This commit is contained in:
parent
7bdad488ee
commit
b221ae0e98
2 changed files with 50 additions and 2 deletions
30
CHANGELOG.md
Normal file
30
CHANGELOG.md
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# Changelog
|
||||
|
||||
## 0.1.0
|
||||
|
||||
First release.
|
||||
|
||||
A zstd decompressor in plain Dart. Decompression only, native platforms only,
|
||||
one frame per call.
|
||||
|
||||
- Decodes RFC 8878 frames: raw, RLE and compressed blocks; raw, RLE, compressed
|
||||
and treeless literals in one-stream and four-stream form; Huffman weights in
|
||||
both the direct nibble and FSE-coded forms; predefined, RLE, FSE and repeat
|
||||
sequence tables for all three symbols; repeated offsets including the
|
||||
no-literals shift; multi-block frames reusing an earlier block's tables.
|
||||
- Verifies the content checksum when a frame carries one, with XXH64 in
|
||||
`lib/src/xxhash.dart`.
|
||||
- Refuses dictionaries, several frames in one buffer, and any input left over
|
||||
after a frame.
|
||||
- Bounds what a frame header can make it allocate. `ZstdDecoder` takes a
|
||||
`maxOutputSize`, 64 MiB by default, and a caller passing `expectedSize` gets
|
||||
an exact check against the frame's own declared size.
|
||||
- Every failure is a `ZstdException`.
|
||||
|
||||
Correctness is measured against libzstd through pyzstd rather than against
|
||||
expectations written by hand: 2,615 blocks of real elevation data across 32
|
||||
containers, plus a committed corpus of 24 fixtures covering the format branches
|
||||
that real data never reaches. 103 tests.
|
||||
|
||||
Roughly four times slower than native zstd. On a Pixel 10 Pro XL, profile AOT,
|
||||
a 128 KiB block decodes in 0.414 ms, which is 302 MB/s.
|
||||
22
pubspec.yaml
22
pubspec.yaml
|
|
@ -1,8 +1,26 @@
|
|||
name: pure_zstd
|
||||
description: A pure Dart zstd decompressor, with no native dependency.
|
||||
version: 0.0.1
|
||||
description: >-
|
||||
A zstd decompressor written in plain Dart. Decodes RFC 8878 frames with no
|
||||
native library and no platform channel, verified against libzstd.
|
||||
version: 0.1.0
|
||||
|
||||
# Fill these in with the new repository before the first publish. pub.dev
|
||||
# scores a package on having them and the score is most of its discoverability;
|
||||
# a published version can be retracted but never deleted, so they are worth
|
||||
# getting right the first time.
|
||||
repository: https://github.com/tagadvance/pure_zstd
|
||||
issue_tracker: https://github.com/tagadvance/pure_zstd/issues
|
||||
|
||||
# Remove this line to publish. It is here so an accidental `dart pub publish`
|
||||
# from inside the original checkout cannot succeed.
|
||||
publish_to: none
|
||||
|
||||
topics:
|
||||
- zstd
|
||||
- zstandard
|
||||
- compression
|
||||
- decompression
|
||||
|
||||
environment:
|
||||
sdk: ^3.8.0
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue