From b4c7f90beb7e9804f24ad862a662d1a2217f2229 Mon Sep 17 00:00:00 2001 From: Will Scott Date: Fri, 27 May 2022 22:16:59 +0200 Subject: [PATCH] [wip] modifications for expected output --- go.mod | 2 ++ main.go | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 339a871..295f74f 100644 --- a/go.mod +++ b/go.mod @@ -11,3 +11,5 @@ require ( github.com/ipld/go-ipld-prime v0.16.0 github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20211210234204-ce2a1c70cd73 ) + +replace github.com/ipld/go-car/v2 => ../go-car/v2 \ No newline at end of file diff --git a/main.go b/main.go index 1a732a0..5500272 100644 --- a/main.go +++ b/main.go @@ -36,7 +36,7 @@ import ( func main() { // ---------------- create UnixFS DAG in-memory ls := cidlink.DefaultLinkSystem() - storage := cidlink.Memory{} + storage := cidlink.Memory{Bag: make(map[string][]byte)} ls.StorageWriteOpener = storage.OpenWrite ls.StorageReadOpener = func(c linking.LinkContext, lnk datamodel.Link) (io.Reader, error) { return storage.OpenRead(c, lnk) @@ -99,8 +99,13 @@ func createCarv1(ls *linking.LinkSystem, rootCid cid.Cid) *bytes.Buffer { sel := sb.ExploreInterpretAs("unixfs", sb.MatcherSubset(0, 256*1000)) unixfsnode.AddUnixFSReificationToLinkSystem(ls) var carbz bytes.Buffer + + chooser := dagpb.AddSupportToChooser(func(l datamodel.Link, lc linking.LinkContext) (datamodel.NodePrototype, error) { + return basicnode.Prototype.Any, nil + }) + _, err := car.TraverseV1(context.Background(), ls, rootCid, sel.Node(), &carbz, car.StoreIdentityCIDs(false), car.WithoutIndex(), - carv2bs.AllowDuplicatePuts(false), carv2bs.UseWholeCIDs(false)) + carv2bs.AllowDuplicatePuts(false), carv2bs.UseWholeCIDs(false), car.WithTraversalPrototypeChooser(chooser)) if err != nil { panic(err) }