1. 15 Jan, 2019 2 commits
  2. 14 Jan, 2019 1 commit
    • Eric Myhre's avatar
      Commit some dangling wip code before I warm the refactor cannons. · 63016b7f
      Eric Myhre authored
      I need there to be separate packages for:
      
      - the typed.Node interface, and any top level helpers;
      - the typesystem implementation
      - the typesystem *declarations* (distinct because it's what you
       construct when parsing the ast -- doens't contain pointers yet)
      - and (eventually) a parser and a fmt package for the ts declarations.
      
      And right now all those are heaped together.
      
      Not sure where the validate method -- the thing that's actually touched
      in this diff -- will end up.  Either the top level, or the typesystem
      implementation package, probably.
      Signed-off-by: default avatarEric Myhre <hash@exultant.us>
      63016b7f
  3. 08 Dec, 2018 1 commit
    • Eric Myhre's avatar
      Begin schema validation method. · b66f9261
      Eric Myhre authored
      This will be for the active path -- if we also follow through on the
      idea of having a just-in-time checked Node wrapper, a lot of these
      checks might end up duplicated.  We'll DRY that up when we get there.
      
      Doing accumulation of errors.  Might get loud.  We can come back and
      and early-halt parameters or other accumulation strategies later.
      
      Added IsNull predicate to core Node interface.
      
      Going to want enumerated error categories here for sure, but punting
      on that until we get more examples of what all the errors *are*; then
      I'll come back and tear all this 'fmt.Errorf' nonsense back out.
      Signed-off-by: default avatarEric Myhre <hash@exultant.us>
      b66f9261
  4. 06 Dec, 2018 1 commit
    • Eric Myhre's avatar
      Add Kind and Keys methods to Node. · 5c32434e
      Eric Myhre authored
      And ReprKind moves from the typed package to the ipld main package.
      It's hard to get too much done without the standardization of ReprKind.
      
      Between the Kind() and Keys() methods, it should now be possible to
      perform traversals of unknown nodes.
      
      This diff just worries about implementing all the Kind() methods.
      Keys() has some additional questions to handle (namely, map ordering?).
      Signed-off-by: default avatarEric Myhre <hash@exultant.us>
      5c32434e