Skip to content

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

Closed
@vweevers

Description

@vweevers

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions