-
-
Notifications
You must be signed in to change notification settings - Fork 53
Conversation
I'm -1 on this, because IMO iterators and read streams are a fundamental part of Level. Supporting other use cases can be interesting and the Level org has always been open to experimentation. However, straying too far from the core API means going against user expectations. Although runtime manifests (Level/community#42) could in the future describe the capabilities of an @ralphtheninja thoughts? |
I agree. |
As explained in the other issue thread, my AbstractLevel hide keys by using hashes and values by using per-entry encryption keys, so it doesn't make sense to have iterators of entries that you can't know what's their key nor access to its value... Other than this, it's fully compliant. I know this is a corner case usage of the AbstractLevel standar API, but don't know of any other way to make it compliant beyond making iterators optional or decrease the security level of my module... :-/ Any idea? I understand the reasons why iterators could be considered a basic feature of level stores, but from an usage perspective, it's a level higher of what a basic key-value store can do... |
I'm afraid the conclusion is that it can't be compliant. I am wondering though why you picked |
Yeah! That's exactly the reason. At first I was thinking about using directly |
I'm not sure how much value there is to integrating with the Level ecosystem without iterators. I suggest to clearly document that limitation of your API. As for the test suite, you could just copy https://github.com/Level/abstract-leveldown/blob/master/test/index.js and take out the iterator tests. Do note that we assume that only |
That's was part of my plan, at least for short-mid term.
I'm inheriting from the |
Right. To clarify, I was only talking about the |
I hope you have sufficient info to move forward now. |
See #345