Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add type property to levelup and abstract-leveldown implementations #82

Closed
27 of 31 tasks
vweevers opened this issue Sep 8, 2019 · 2 comments
Closed
27 of 31 tasks
Labels
enhancement New feature or request

Comments

@vweevers
Copy link
Member

vweevers commented Sep 8, 2019

A continuation of Level/subleveldown#34. cc @ralphtheninja

Background

Modules like subleveldown and multileveldown have to peel off layers (levelup, deferred-leveldown and/or encoding-down) from an input db to get to the inner db, which they then rewrap with those same layers.

That process ain't pretty, so I wrote reachdown to hide that ugliness. It currently has to feature-detect deferred-leveldown and encoding-down, and this may clash with another abstract-leveldown implementation at some point. To counter that, we can add a type property across the board:

MyLeveldown.prototype.type = 'my-leveldown'

Note: with that in place, the unwrapping (or even merely the fact that we have to unwrap) still isn't very clean, but IMO it's acceptable as a medium-term solution because there's a plan to merge level(up) functionality into abstract-leveldown (#58) which ultimately removes the need to unwrap.

Tasks

Add type

Use reachdown utility

@ralphtheninja
Copy link
Member

Awesome name reachdown :)

vweevers added a commit to Level/level-test that referenced this issue Sep 14, 2019
vweevers added a commit to Level/subleveldown that referenced this issue Sep 15, 2019
vweevers added a commit to Level/subleveldown that referenced this issue Sep 17, 2019
vweevers added a commit to Level/levelup that referenced this issue Sep 22, 2019
vweevers added a commit to Level/levelup that referenced this issue Sep 30, 2019
vweevers added a commit to Level/levelup that referenced this issue Sep 30, 2019
* Add manifest
* Add type property for reachdown (Level/community#82)
vweevers added a commit to Level/encoding-down that referenced this issue Oct 1, 2019
@vweevers
Copy link
Member Author

Closing because the remaining items are external (multileveldown) or tests-only (level-test).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants