go-ipld-prime
go-ipld-prime copied to clipboard
Golang interfaces for the IPLD Data Model, with core Codecs included, IPLD Schemas support, and some handy functional transforms tools.
bindnode is also implemented via reflection, it has more features (such as using custom Go types), and I believe it supports all the features that these fluent reflect APIs provide....
I'd like to increase the broadness and openness of the contribution and the merge policy in this repo. I don't know how exactly we're going to do this :dancers: but...
`fluent.Reflect` does not recognize `go-cid.Cid`, and does not turn it into an `ipld.Node` of `Kind() == ipld.Kind_Link`. It thus probably fails the "do what I mean" test for most users...
> invalid key for map GulpoStruct: %!q(*basicnode.plainString=0xc000097da0): no such field The Error method attempts to use `%q` for an ipld.Node, which will generally not work. It should probably use something...
This issue is a short checklist/roadmap for the major areas of work needed in order to make something "unixfs-like" happen in golang and be implemented almost entirely in ADLs. ##...
Right now, bindnode with an IPLD schema and a Go type works for structs as long as: * The fields on both sides are in the same order * The...
The `Node` interface needs to provide some way to handle "big" bytes -- bigger than would readily fit into a single `[]byte`. Some sort of `io.Reader` implementation; and probably, an...
Maps and list iterator should support a seek operation, and iteration should also be able to proceed from the back to the front. This should also work on large data...
["schemafree link emission only supported by this codec for CID type links"](https://github.com/ipld/go-ipld-prime/blob/67a06f12fc43892780a38f97ebbc5bd80c60f486/codec/dagjson/marshal.go#L272) is not the most useful error, and should at least provide some debugging help of what was provided...
See https://github.com/ipld/go-ipld-prime/pull/266#issuecomment-943280289 -- this should be possible now, because the APIs it would depend on have landed. This should result in a bit more code reuse. I suspect the additional...