- 05 Feb, 2019 2 commits
-
-
Eric Myhre authored
Allows uncommenting some fixme's in some tests. Also, changed free.keyIterator to be unexported. Exporting that was a typo; there's simply no reason for that to be exported. Signed-off-by: Eric Myhre <hash@exultant.us>
-
Eric Myhre authored
An "immediate" rather than generative function is also available; the docs contain caveats. At the moment, these distinctions are a bit forced, but we want to be ready for when we start getting truly huge maps where the generative usage actually *matters* for either memory reasons, latency reasons, or both. Separated Length rather than trying to pull double-duty the Keys method; the previous combination was just utterly silly. The implementations in the bind package are stubs; that package is going to take a lot of work, and so the focus is going to be entirely on keeping the 'free' package viable; and we'll revisit bind and such when there's more dev time budget. Signed-off-by: Eric Myhre <hash@exultant.us>
-
- 15 Jan, 2019 1 commit
-
-
Eric Myhre authored
It should return an error explicitly. A pair of "(nil, nil)" reponses would also be an unambiguous option for representing an absent member, but seems more likely to create pitfalls than save a significant amount of code for callers. Signed-off-by: Eric Myhre <hash@exultant.us>
-
- 08 Jan, 2019 2 commits
-
-
Eric Myhre authored
ipldfree and ipldbound and fluent and all the interfaces now have all the isNull methods, asBytes, setBytes, etc. (Previously this was a little swiss-cheesy.) SMOP. Signed-off-by: Eric Myhre <hash@exultant.us>
-
Eric Myhre authored
It's now "invalid" rather than A) documented as map, and B) actually panicky. Signed-off-by: Eric Myhre <hash@exultant.us>
-
- 08 Dec, 2018 1 commit
-
-
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: Eric Myhre <hash@exultant.us>
-
- 06 Dec, 2018 1 commit
-
-
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: Eric Myhre <hash@exultant.us>
-
- 26 Nov, 2018 1 commit
-
-
Eric Myhre authored
And a test of building an array and pulling a value back out. Signed-off-by: Eric Myhre <hash@exultant.us>
-
- 10 Nov, 2018 2 commits
-
-
Eric Myhre authored
Not sure why these weren't there already. (Probably because of the ongoing discussion about "is link a kind at the data model level?" -- to which I still opine "ideally, no". But that's something we're probably going to concede "yes" on *for now*, and try to straighten out later once we get something ready for the higher level type systems.) Signed-off-by: Eric Myhre <hash@exultant.us>
-
Eric Myhre authored
Sort float and bytes (less ubiquitous things) to the bottom. Drop mention of uint from the ipldfree implementation. So far all spec discussions have tended towards mentioning "integers" as a type, and definitely not "unsigned integers" or "positive-only integers" as a distinct kind in the core Data Model. Signed-off-by: Eric Myhre <hash@exultant.us>
-
- 21 Oct, 2018 1 commit
-
-
Eric Myhre authored
Finally got the bind and free impls on the same page. Surprisingly, the bind node can work without being a ptr itself. I'm not sure if that'll last, but let's try to roll with it. If we *can* keep that property, it might reduce GC impact in a pretty significant way. Added a 'fluent' package. It's just a twinkle in my eye so far, but it might represent the nicest way through all the discussed issues. Nodes shouldn't have to be panicful; and users shouldn't have to do all error handling manually either. A package full of fluent interfaces that know what's going on seems to be the only way to get both. But we'll see how this shakes out. Maybe typeful traversers will make the whole thing end up more coreward than being relegated to a helper package. I have no idea. Signed-off-by: Eric Myhre <hash@exultant.us>
-
- 19 Oct, 2018 1 commit
-
-
Eric Myhre authored
Some comments on the interface as well. Almost certain that traversal should be pulled off the node interface itself. Signed-off-by: Eric Myhre <hash@exultant.us>
-