1. 28 Aug, 2021 2 commits
  2. 22 Aug, 2021 4 commits
  3. 16 Aug, 2021 2 commits
  4. 29 Jul, 2021 5 commits
  5. 21 Jul, 2021 5 commits
  6. 16 Jul, 2021 4 commits
  7. 14 Jul, 2021 2 commits
  8. 01 Jul, 2021 1 commit
    • Daniel Martí's avatar
      fluent/quip: remove in favor of qp · b7347f19
      Daniel Martí authored
      After experimenting with quip and qp for a few months, we seem to agree
      that qp is a bit nicer to use. Remove quip, since it's largely redundant
      going forward.
      
      Since the qp docs referenced quip, redo that to stand on its own ground.
      b7347f19
  9. 19 Jun, 2021 1 commit
  10. 14 Jun, 2021 1 commit
  11. 09 Jun, 2021 1 commit
    • Daniel Martí's avatar
      node/bindnode: rethink and better document APIs · 2fc002c2
      Daniel Martí authored
      Before, we envisioned exposing the following APIs:
      
      	Prototype
      	PrototypeNoSchema
      	PrototypeOnlySchema
      	Wrap
      	WrapNoSchema
      
      The names were long, though, and perhaps a bit confusing too. Instead,
      just expose Prototype and Wrap, and allow either of the parameters to be
      nil to infer its value. This makes the API easier to navigate, and we
      can concentrate documentation in fewer places.
      
      Now there's two main entrypoints: Prototype if one wants a high-level
      prototype to create nodes of a certain shape, and Wrap if one wants to
      expose an existing Go value as an IPLD node. Whether one supplies only
      an IPLD Schema, only a Go type/value, or both, is their choice. The only
      exception is Wrap, which always requires a Go value by definition.
      
      Wrap works now, too, and gains an example. It's the same idea as the
      previous Prototype example, but it builds the value via a Go composite
      literal rather than fluent/qp on the IPLD side.
      
      Another noteworthy change is that we now return TypedPrototype and
      TypedNode rather than the regular NodePrototype and Node interfaces,
      since bindnode always works with a schema - even when it's inferred.
      The big advantage here is that one can call the Representation method
      directly on the result without having to type assert, like the example
      does.
      2fc002c2
  12. 08 Jun, 2021 1 commit
    • Daniel Martí's avatar
      node/tests: cover yet more interface methods · b832b762
      Daniel Martí authored
      Including LookupBySegment and LookupByNode for both maps and lists, but
      also As<T> for the representation form of all scalar kinds.
      
      While at it, expand the interface implementation assertions, too.
      
      Note that we had to make the node/basic tests external,
      for the sake of testing LookupByNode without inserting an import cycle.
      b832b762
  13. 07 Jun, 2021 1 commit
    • Daniel Martí's avatar
      node/tests: cover more error cases for scalar kinds · dab6ec7c
      Daniel Martí authored
      In particular, calling non-scalar Node and Assembler methods should
      always fail.
      
      While at it, remove some unused code, since unions always have
      representation strategies.
      
      Brings up code coverage in bindnode from 72.7% to 75%.
      dab6ec7c
  14. 03 Jun, 2021 2 commits
    • Daniel Martí's avatar
      node/tests: add more extensive scalar kind tests · b6e2b10f
      Daniel Martí authored
      It covers AssignKind, AssignNode, and AsKind for every combination of
      assembler kind and method.
      
      We also verify that a constructed scalar node behaves the same with
      AsKind when using its representation, like the old test.
      
      There's effectively a triple loop as a test table, so the subtest name
      has up to three components separated by dashes, such as:
      
      	TestSchema/Scalars/Bytes-AssignNode-String
      
      We also use this test as a demo of quicktest instead of go-wish.
      
      Finally, adapt bindnode to pass these tests just like codegen. This was
      mainly a bunch of TODOs in the relevant methods.
      b6e2b10f
    • Daniel Martí's avatar
      node/bindnode: start running all schema tests · 6042d4d8
      Daniel Martí authored
      We add node/tests.SchemaTestAll to simplify this task, meaning we don't
      need to duplicate all test func declarations in node/bindnode.
      SchemaTestAll is also flexible enough to allow running multiple
      sub-tests per schema test in the future.
      
      There were two remaining places in node/tests that still weren't using
      ipld.DeepEqual, so fix those.
      
      Finally, bindnode needed a couple of changes to fully support
      ipld.DeepEqual. Most notable is iteration over maps, which required a
      bit of a refactor to keep ordered keys.
      6042d4d8
  15. 02 Jun, 2021 4 commits
  16. 25 May, 2021 4 commits