holepunchto / holepunchto/compact-encoding
The big-endian family is narrower here than in libcompact
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 29
- Forks
- 14
- Avg merge
- 11h 27m
- Merged PRs (30d)
- 4
Description
This library exports two big-endian codecs, uint32be and uint64be. libcompact exports eight: uint16be, uint32be, uint64be, uintbe, int16be, int32be, int64be and intbe.
So six codecs exist in the C implementation with no counterpart here: uint16be, uintbe, int16be, int32be, int64be, intbe.
The practical consequence is that those six cannot be checked against this library at all. We are building a cross-language conformance corpus whose byte vectors are generated from this implementation as the reference, which means a codec this library does not have has no canonical bytes to check anything against - so the C big-endian family is the one part of its surface a conformance run can never cover. It stays that way until either side moves.
Three ways that could go, and we have no stake in which:
- This library gains the six, and they become checkable like everything else.
libcompactdrops them, if nothing depends on them.- They are deliberately C-only, in which case saying so is enough - we would record them as out of scope with that reason rather than as a gap nobody got to.
Worth noting the same asymmetry reaches further: int16be, int32be and int64be are signed big-endian, and this library has no signed big-endian codec of any width.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the existing uint32be and uint64be codecs, then compare them with libcompact's six additional big-endian codecs: uint16be, uintbe, int16be, int32be, int64be and intbe. First establish whether this library should add them, libcompact should remove them, or the codecs should be recorded as deliberately C-only; done means the chosen direction is explicit and the conformance gap has a corresponding outcome.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100