ipld/edelweiss
add type ByteString for backwards compat with IPLD schema
Aperta
#16 aperta il 11 mar 2022
good first issue
Metriche repository
- Star
- (17 stelle)
- Metriche merge PR
- (Metriche PR in attesa)
Descrizione
Edelweiss type String definitionally holds valid Unicode strings only, and encodes/decodes them from IPLD strings with valid UTF8 encodings.
However, there may be pre-existing IPLD schemas that place non-UTF8 byte sequences in IPLD string objects. By design requirement, Edelweiss must provide a way for working with pre-existing schemas.
One way of doing this without violating Edelweiss's type semantics is to introduce a new Edelweiss type, say called ByteString, which:
- is a list of bytes on the user-facing end
- encodes/decodes as an IPLD string of arbitrary bytes on the wire