1. 16 Jul, 2021 1 commit
  2. 14 Jul, 2021 1 commit
  3. 25 Feb, 2021 1 commit
    • Eric Myhre's avatar
      Introduce LinkSystem. · a1482fe2
      Eric Myhre authored
      This significantly reworks how linking is handled.
      
      All of the significant operations involved in storing and loading
      data are extracted into their own separate features, and the LinkSystem
      just composes them.  The big advantage of this is we can now add as
      many helper methods to the LinkSystem construct as we want -- whereas
      previously, adding methods to the Link interface was a difficult
      thing to do, because that interface shows up in a lot of places.
      
      Link is now *just* treated as a data holder -- it doesn't need logic
      attached to it directly.  This is much cleaner.
      
      The way we interact with the CID libraries is also different.
      We're doing multihash registries ourselves, and breaking our direct
      use of the go-multihash library.  The big upside is we're now using
      the familiar and standard hash.Hash interface from the golang stdlib.
      (And as a bonus, that actually works streamingly; go-mulithash didn't.)
      However, this also implies a really big change for downstream users:
      we're no longer baking as many hashes into the new multihash registry
      by default.
      a1482fe2
  4. 25 Dec, 2020 1 commit
    • Daniel Martí's avatar
      all: rename schema.Kind to TypeKind, ipld.ReprKind to Kind · 2d7d25c4
      Daniel Martí authored
      As discussed on the issue thread, ipld.Kind and schema.TypeKind are more
      intuitive, closer to the spec wording, and just generally better in the
      long run.
      
      The changes are almost entirely automated via the commands below. Very
      minor changes were needed in some of the generators, and then gofmt.
      
      	sed -ri 's/\<Kind\(\)/TypeKind()/g' **/*.go
      	git checkout fluent # since it uses reflect.Value.Kind
      
      	sed -ri 's/\<Kind_/TypeKind_/g' **/*.go
      	sed -i 's/\<Kind\>/TypeKind/g' **/*.go
      	sed -i 's/ReprKind/Kind/g' **/*.go
      
      Plus manually undoing a few renames, as per Eric's review.
      
      Fixes #94.
      2d7d25c4
  5. 10 Sep, 2020 1 commit
    • Daniel Martí's avatar
      all: don't use buffers where readers suffice · 8e26c7e2
      Daniel Martí authored
      Buffers are not a good option for tests if the other side expects a
      reader. Otherwise, the code being tested could build assumptions around
      the reader stream being a single contiguous chunk of bytes, such as:
      
      	_ = r.(*bytes.Buffer).Bytes()
      
      This kind of hack might seem unlikely, but it's an easy mistake to make,
      especially with APIs like fmt which automatically call String methods.
      
      With bytes.Reader and strings.Reader, the types are much more
      restricted, so the tests need to be more faithful.
      8e26c7e2
  6. 29 Jun, 2020 1 commit
  7. 15 Jun, 2020 1 commit
  8. 03 May, 2020 1 commit
  9. 28 Apr, 2020 1 commit