level-supports
Advanced tools
Comparing version 2.0.0 to 2.0.1
# Changelog | ||
## [2.0.1] - 2021-09-24 | ||
### Added | ||
- Add features: `getMany`, `keyIterator`, `valueIterator`, `iteratorNextv`, `iteratorAll` ([#11](https://github.com/Level/supports/issues/11)) ([`b44a410`](https://github.com/Level/supports/commit/b44a410)) (Vincent Weevers) | ||
## [2.0.0] - 2021-04-09 | ||
@@ -19,8 +25,12 @@ | ||
## 1.0.0 - 2019-09-22 | ||
## [1.0.0] - 2019-09-22 | ||
:seedling: Initial release. | ||
[2.0.1]: https://github.com/Level/supports/compare/v2.0.0...v2.0.1 | ||
[2.0.0]: https://github.com/Level/supports/compare/v1.0.1...v2.0.0 | ||
[1.0.1]: https://github.com/Level/supports/compare/v1.0.0...v1.0.1 | ||
[1.0.0]: https://github.com/Level/supports/releases/tag/v1.0.0 |
@@ -13,2 +13,7 @@ 'use strict' | ||
clear: manifest.clear || false, | ||
getMany: manifest.getMany || false, | ||
keyIterator: manifest.keyIterator || false, | ||
valueIterator: manifest.valueIterator || false, | ||
iteratorNextv: manifest.iteratorNextv || false, | ||
iteratorAll: manifest.iteratorAll || false, | ||
@@ -15,0 +20,0 @@ // Features of abstract-leveldown that levelup doesn't have |
{ | ||
"name": "level-supports", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"description": "Create a manifest describing the abilities of a levelup or abstract-leveldown db", | ||
@@ -9,3 +9,3 @@ "license": "MIT", | ||
"test-browsers-local": "airtap --coverage test/self.js", | ||
"coverage": "nyc report --reporter=text-lcov | coveralls", | ||
"coverage": "nyc report -r lcovonly", | ||
"hallmark": "hallmark --fix" | ||
@@ -16,20 +16,13 @@ }, | ||
"CHANGELOG.md", | ||
"CONTRIBUTORS.md", | ||
"index.js" | ||
], | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"airtap": "^4.0.3", | ||
"airtap-playwright": "^1.0.1", | ||
"coveralls": "^3.0.6", | ||
"faucet": "^0.0.1", | ||
"hallmark": "^3.1.0", | ||
"level-community": "^3.0.0", | ||
"nyc": "^14.1.1", | ||
"nyc": "^15.1.0", | ||
"standard": "^16.0.3", | ||
"tape": "^5.0.1" | ||
}, | ||
"hallmark": { | ||
"community": "level-community" | ||
}, | ||
"repository": { | ||
@@ -36,0 +29,0 @@ "type": "git", |
235
README.md
@@ -6,9 +6,9 @@ # level-supports | ||
[![level badge][level-badge]](https://github.com/Level/awesome) | ||
[![npm](https://img.shields.io/npm/v/level-supports.svg?label=&logo=npm)](https://www.npmjs.com/package/level-supports) | ||
[![npm](https://img.shields.io/npm/v/level-supports.svg)](https://www.npmjs.com/package/level-supports) | ||
[![Node version](https://img.shields.io/node/v/level-supports.svg)](https://www.npmjs.com/package/level-supports) | ||
[![Travis](https://img.shields.io/travis/com/Level/supports.svg?logo=travis&label=)](https://travis-ci.com/Level/supports) | ||
[![Coverage Status](https://coveralls.io/repos/github/Level/supports/badge.svg)](https://coveralls.io/github/Level/supports) | ||
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com) | ||
[![Backers on Open Collective](https://opencollective.com/level/backers/badge.svg?color=orange)](#backers) | ||
[![Sponsors on Open Collective](https://opencollective.com/level/sponsors/badge.svg?color=orange)](#sponsors) | ||
[![Test](https://img.shields.io/github/workflow/status/Level/supports/Test?label=test)](https://github.com/Level/supports/actions/workflows/test.yml) | ||
[![Coverage](https://img.shields.io/codecov/c/github/Level/supports?label=&logo=codecov&logoColor=fff)](https://codecov.io/gh/Level/supports) | ||
[![Standard](https://img.shields.io/badge/standard-informational?logo=javascript&logoColor=fff)](https://standardjs.com) | ||
[![Common Changelog](https://common-changelog.org/badge.svg)](https://common-changelog.org) | ||
[![Donate](https://img.shields.io/badge/donate-orange?logo=open-collective&logoColor=fff)](https://opencollective.com/level) | ||
@@ -78,2 +78,25 @@ ## Usage | ||
<details> | ||
<summary>Support matrix</summary> | ||
| Module | Support | | ||
| :------------------- | :------ | | ||
| `abstract-leveldown` | ✅ | | ||
| `leveldown` | ✅ | | ||
| `rocksdb` | ✅ | | ||
| `memdown` | ✅ | | ||
| `level-js` | ✅ | | ||
| `encoding-down` | ✅ | | ||
| `deferred-leveldown` | ✅ | | ||
| `levelup` | ✅ | | ||
| `level-packager` | ✅ | | ||
| `level` | ✅ | | ||
| `level-mem` | ✅ | | ||
| `level-rocksdb` | ✅ | | ||
| `subleveldown` | ✅ | | ||
| `multileveldown` | ✅ | | ||
| `level-party` | ✅ | | ||
</details> | ||
### `snapshots` (boolean) | ||
@@ -86,2 +109,25 @@ | ||
<details> | ||
<summary>Support matrix</summary> | ||
| Module | Snapshot guarantee | | ||
| :------------------- | :-------------------------- | | ||
| `abstract-leveldown` | ✅ | | ||
| `leveldown` | ✅ | | ||
| `rocksdb` | ✅ | | ||
| `memdown` | ✅ | | ||
| `level-js` | ✅ (by buffering) | | ||
| `encoding-down` | ✅ | | ||
| `deferred-leveldown` | ✅ | | ||
| `levelup` | ✅ | | ||
| `level-packager` | ✅ | | ||
| `level` | ✅ | | ||
| `level-mem` | ✅ | | ||
| `level-rocksdb` | ✅ | | ||
| `subleveldown` | ✅ | | ||
| `multileveldown` | ✅ (unless `retry` is true) | | ||
| `level-party` | ❌ (unless `retry` is false) | | ||
</details> | ||
### `permanence` (boolean) | ||
@@ -93,8 +139,56 @@ | ||
Does `db.iterator()` support [`seek(..)`](https://github.com/Level/abstract-leveldown/#iteratorseektarget)? | ||
Do iterators support [`seek(..)`](https://github.com/Level/abstract-leveldown/#iteratorseektarget)? | ||
<details> | ||
<summary>Support matrix</summary> | ||
| Module | Support | | ||
| :------------------- | :------------- | | ||
| `abstract-leveldown` | ✅ 6.0.0 | | ||
| `leveldown` | ✅ 1.2.0 | | ||
| `rocksdb` | ✅ 1.0.0 | | ||
| `memdown` | ✅ 4.1.0 | | ||
| `level-js` | ❌ | | ||
| `encoding-down` | ✅ 6.1.0 | | ||
| `deferred-leveldown` | ✅ 5.1.0 | | ||
| `levelup` | ✅ n/a | | ||
| `level-packager` | ✅ n/a | | ||
| `level` | ❌ (`level-js`) | | ||
| `level-mem` | ✅ 4.0.0 | | ||
| `level-rocksdb` | ✅ 1.0.0 | | ||
| `subleveldown` | ✅ 4.1.0 | | ||
| `multileveldown` | ❌ | | ||
| `level-party` | ❌ | | ||
</details> | ||
#### `clear` (boolean) | ||
Does db support [`db.clear(..)`](https://github.com/Level/abstract-leveldown/#dbclearoptions-callback)? For an overview, see [Level/community#79](https://github.com/Level/community/issues/79). | ||
Does db support [`db.clear(..)`](https://github.com/Level/abstract-leveldown/#dbclearoptions-callback)? | ||
<details> | ||
<summary>Support matrix</summary> | ||
See also [Level/community#79](https://github.com/Level/community/issues/79). | ||
| Module | Support | Optimized | | ||
| :------------------- | :------ | :-------------- | | ||
| `abstract-leveldown` | ✅ 6.1.0 | n/a | | ||
| `leveldown` | ✅ 5.2.0 | ❌ | | ||
| `rocksdb` | ✅ 4.1.0 | ❌ | | ||
| `memdown` | ✅ 5.0.0 | ❌ | | ||
| `level-js` | ✅ 5.0.0 | ✅ 5.0.0 | | ||
| `encoding-down` | ✅ 6.2.0 | n/a | | ||
| `deferred-leveldown` | ✅ 5.2.0 | n/a | | ||
| `levelup` | ✅ 4.2.0 | n/a | | ||
| `level-packager` | ✅ 5.0.3 | n/a | | ||
| `level` | ✅ 6.0.0 | ❌ (`leveldown`) | | ||
| `level-mem` | ✅ 5.0.1 | ❌ (`memdown`) | | ||
| `level-rocksdb` | ✅ 5.0.0 | ❌ (`rocksdb`) | | ||
| `subleveldown` | ✅ 4.2.1 | n/a | | ||
| `multileveldown` | ❌ | n/a | | ||
| `level-party` | ❌ | n/a | | ||
</details> | ||
### `status` (boolean) | ||
@@ -143,4 +237,16 @@ | ||
Does `db.open(options, ..)` support these (`leveldown`) options? | ||
Does `db.open(options, ..)` support these options? | ||
<details> | ||
<summary>Support matrix</summary> | ||
| Module | Support | | ||
| :---------- | :------ | | ||
| `leveldown` | ✅ | | ||
| `rocksdb` | ✅ | | ||
| `memdown` | ❌ | | ||
| `level-js` | ❌ | | ||
</details> | ||
### `promises` (boolean) | ||
@@ -155,4 +261,25 @@ | ||
_Note: iterators are currently exonerated because they, at the time of writing, don't support promises anywhere._ | ||
<details> | ||
<summary>Support matrix</summary> | ||
| Module | Support | | ||
| :------------------- | :------------------- | | ||
| `abstract-leveldown` | ❌ (except iterators) | | ||
| `leveldown` | ❌ (except iterators) | | ||
| `rocksdb` | ❌ (except iterators) | | ||
| `memdown` | ❌ (except iterators) | | ||
| `level-js` | ❌ (except iterators) | | ||
| `encoding-down` | ❌ (except iterators) | | ||
| `deferred-leveldown` | ❌ (except iterators) | | ||
| `levelup` | ✅ | | ||
| `level-packager` | ✅ | | ||
| `level` | ✅ | | ||
| `level-mem` | ✅ | | ||
| `level-rocksdb` | ✅ | | ||
| `subleveldown` | ❌ | | ||
| `multileveldown` | ❌ | | ||
| `level-party` | ❌ | | ||
</details> | ||
### `streams` (boolean) | ||
@@ -162,2 +289,25 @@ | ||
<details> | ||
<summary>Support matrix</summary> | ||
| Module | Support | | ||
| :------------------- | :------ | | ||
| `abstract-leveldown` | ❌ | | ||
| `leveldown` | ❌ | | ||
| `rocksdb` | ❌ | | ||
| `memdown` | ❌ | | ||
| `level-js` | ❌ | | ||
| `encoding-down` | ❌ | | ||
| `deferred-leveldown` | ❌ | | ||
| `levelup` | ✅ | | ||
| `level-packager` | ✅ | | ||
| `level` | ✅ | | ||
| `level-mem` | ✅ | | ||
| `level-rocksdb` | ✅ | | ||
| `subleveldown` | ✅ | | ||
| `multileveldown` | ✅ | | ||
| `level-party` | ✅ | | ||
</details> | ||
### `encodings` (boolean) | ||
@@ -169,2 +319,55 @@ | ||
<details> | ||
<summary>Support matrix</summary> | ||
| Module | Support | | ||
| :------------------- | :------ | | ||
| `abstract-leveldown` | ❌ | | ||
| `leveldown` | ❌ | | ||
| `rocksdb` | ❌ | | ||
| `memdown` | ❌ | | ||
| `level-js` | ❌ | | ||
| `encoding-down` | ✅ | | ||
| `deferred-leveldown` | ❌ | | ||
| `levelup` | ✅ | | ||
| `level-packager` | ✅ | | ||
| `level` | ✅ | | ||
| `level-mem` | ✅ | | ||
| `level-rocksdb` | ✅ | | ||
| `subleveldown` | ✅ | | ||
| `multileveldown` | ✅ | | ||
| `level-party` | ✅ | | ||
</details> | ||
### `getMany` (boolean) | ||
Does the db have a `getMany(keys[, options][, callback])` method? | ||
_At the time of writing this is a new feature, subject to change, zero modules support it._ | ||
### `keyIterator` (boolean) | ||
Does the `db` have a `keys([options])` method that returns a key iterator? Also implies support of `iterator#mode`. | ||
_At the time of writing this is a new feature, subject to change, zero modules support it._ | ||
### `valueIterator` (boolean) | ||
Does the `db` have a `values([options])` method that returns a key iterator? Also implies support of `iterator#mode`. | ||
_At the time of writing this is a new feature, subject to change, zero modules support it._ | ||
### `iteratorNextv` (boolean) | ||
Do iterators have a `nextv(size[, options][, callback])` method? | ||
_At the time of writing this is a new feature, subject to change, zero modules support it._ | ||
### `iteratorAll` (boolean) | ||
Do iterators have a `all([options][, callback])` method? | ||
_At the time of writing this is a new feature, subject to change, zero modules support it._ | ||
### `additionalMethods` (object) | ||
@@ -209,16 +412,8 @@ | ||
To sustain [`Level`](https://github.com/Level) and its activities, become a backer or sponsor on [Open Collective](https://opencollective.com/level). Your logo or avatar will be displayed on our 28+ [GitHub repositories](https://github.com/Level) and [npm](https://www.npmjs.com/) packages. 💖 | ||
Support us with a monthly donation on [Open Collective](https://opencollective.com/level) and help us continue our work. | ||
### Backers | ||
[![Open Collective backers](https://opencollective.com/level/backers.svg?width=890)](https://opencollective.com/level) | ||
### Sponsors | ||
[![Open Collective sponsors](https://opencollective.com/level/sponsors.svg?width=890)](https://opencollective.com/level) | ||
## License | ||
[MIT](LICENSE.md) © 2019-present [Contributors](CONTRIBUTORS.md). | ||
[MIT](LICENSE) | ||
[level-badge]: https://leveljs.org/img/badge.svg |
21900
7
153
411
9