Conversation
This comment was marked as resolved.
This comment was marked as resolved.
| } | ||
|
|
||
| var linkSystemBase ipld.LinkSystem | ||
| func NewDecoder() *Decoder { |
There was a problem hiding this comment.
@rvagg @willscott WDYT about having this take a linksystem (or at least the relevant parts for building a linksystem like the decoder and reifier) instead of being stuck with the go-ipld-prime default registry? Could be a functional option if you'd prefer NewDecoder() to continue to work.
There was a problem hiding this comment.
Is there a different linksystem you need for functionality beyond the transformations exposed by the codec registry here?
would a Decoder.SetLinkSystem(ls) method work?
There was a problem hiding this comment.
Well it's not just the transformations it's also the passthrough for non-transformed codecs to the go-ipld-prime defaults. I'd like to control those instead of being reliant on whatever gets autoloaded by some package I imported.
Sure a setter would work too. It seems mostly like a stylistic choice compared to a constructor argument so 🤷♀️
There was a problem hiding this comment.
adding a method isn't a breaking interface change, so would be v0.2.1 - i guess it doesn't matter too much :)
this is a pretty direct refactor to allow multiple instances of decoder to be present at once