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

Take advantage of manifests and the squash down #76

Closed
vweevers opened this issue Sep 20, 2019 · 1 comment
Closed

Take advantage of manifests and the squash down #76

vweevers opened this issue Sep 20, 2019 · 1 comment
Labels
discussion Discussion

Comments

@vweevers
Copy link
Member

Dumping some thoughts. A couple of efforts are underway and relevant to subleveldown:

  1. Add manifests (Add manifest to levelup and abstract-leveldown implementations community#83)
  2. Add type (Add type property to levelup and abstract-leveldown implementations community#82)
  3. The squash down (let's give it a name) (Merge levelup into abstract-leveldown community#58)

Let's assume that somewhere in the future, abstract-leveldown has reached feature parity with levelup. Then subleveldown won't need to unwrap levelup and deferred-leveldown, nor will it need to rewrap. Issues like #60 will be gone.

Whether it will need to unwrap/rewrap encoding-down is an open question. In any case we'll have more options to feature-detect: subleveldown might detect db.type === 'encoding-down' or db.supports.encodings.

In the latter case maybe subleveldown will be able to "punch through" the encodings of its input db by using { keyEncoding: 'binary' } internally, and still support encodings externally (assuming that'll be an abstract-leveldown feature). That would be quite nice.

@vweevers vweevers added the discussion Discussion label Sep 20, 2019
@vweevers
Copy link
Member Author

Encodings ended up builtin to abstract-level which greatly simplified subleveldown, to the point that subleveldown could also be merged into abstract-level: Level/abstract-level#8.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discussion
Projects
Status: Done
Development

No branches or pull requests

1 participant