abstract-leveldown
Advanced tools
Comparing version 4.0.3 to 5.0.0
/* Copyright (c) 2017 Rod Vagg, MIT License */ | ||
const xtend = require('xtend') | ||
const AbstractIterator = require('./abstract-iterator') | ||
const AbstractChainedBatch = require('./abstract-chained-batch') | ||
const hasOwnProperty = Object.prototype.hasOwnProperty | ||
const rangeOptions = 'start end gt gte lt lte'.split(' ') | ||
var xtend = require('xtend') | ||
var AbstractIterator = require('./abstract-iterator') | ||
var AbstractChainedBatch = require('./abstract-chained-batch') | ||
var hasOwnProperty = Object.prototype.hasOwnProperty | ||
var rangeOptions = 'start end gt gte lt lte'.split(' ') | ||
@@ -9,0 +9,0 @@ function AbstractLevelDOWN (location) { |
'use strict' | ||
var db | ||
const verifyNotFoundError = require('./util').verifyNotFoundError | ||
const testBuffer = Buffer.from('testbuffer') | ||
var verifyNotFoundError = require('./util').verifyNotFoundError | ||
var testBuffer = Buffer.from('testbuffer') | ||
@@ -7,0 +7,0 @@ function makeGetDelErrorTests (test, type, key, expectedError) { |
@@ -5,2 +5,18 @@ # Changelog | ||
## [5.0.0] - 2018-05-22 | ||
### Added | ||
* Add node 10 to Travis (@ralphtheninja) | ||
* Add `airtap` for browser tests (@vweevers) | ||
### Changed | ||
* Update `sinon` to `^5.0.0` (@ralphtheninja) | ||
* Tweak README (@ralphtheninja) | ||
* Replace `const` with `var` to support IE10 (@vweevers) | ||
### Removed | ||
* Remove node 4, 5 and 7 from Travis (@ralphtheninja) | ||
* Remove TypeScript tests (@vweevers) | ||
* Remove TypeScript typings (@ralphtheninja) | ||
## [4.0.3] - 2018-02-21 | ||
@@ -113,4 +129,2 @@ | ||
### Removed | ||
## [2.6.2] - 2017-07-30 | ||
@@ -548,3 +562,4 @@ | ||
[Unreleased]: https://github.com/level/abstract-leveldown/compare/v4.0.3...HEAD | ||
[Unreleased]: https://github.com/level/abstract-leveldown/compare/v5.0.0...HEAD | ||
[5.0.0]: https://github.com/level/abstract-leveldown/compare/v4.0.3...v5.0.0 | ||
[4.0.3]: https://github.com/level/abstract-leveldown/compare/v4.0.2...v4.0.3 | ||
@@ -551,0 +566,0 @@ [4.0.2]: https://github.com/level/abstract-leveldown/compare/v4.0.1...v4.0.2 |
{ | ||
"name": "abstract-leveldown", | ||
"description": "An abstract prototype matching the LevelDOWN API", | ||
"version": "4.0.3", | ||
"version": "5.0.0", | ||
"contributors": [ | ||
@@ -33,3 +33,2 @@ "Rod Vagg <r@va.gg> (https://github.com/rvagg)", | ||
"main": "index.js", | ||
"typings": "index.d.ts", | ||
"dependencies": { | ||
@@ -39,9 +38,7 @@ "xtend": "~4.0.0" | ||
"devDependencies": { | ||
"@types/node": "^9.3.0", | ||
"airtap": "0.0.5", | ||
"rimraf": "^2.6.1", | ||
"sinon": "^4.0.0", | ||
"sinon": "^5.0.0", | ||
"standard": "^11.0.0", | ||
"tape": "^4.7.0", | ||
"ts-node": "^5.0.0", | ||
"typescript": "^2.6.2" | ||
"tape": "^4.7.0" | ||
}, | ||
@@ -52,11 +49,10 @@ "browser": { | ||
"scripts": { | ||
"test": "standard && node test.js && npm run test-ts", | ||
"test-ts": "npm run test-ts-types && npm run test-ts-suite", | ||
"test-ts-types": "ts-node --type-check --no-cache test-types.ts", | ||
"test-ts-suite": "ts-node --type-check --no-cache test.js" | ||
"test": "standard && node test.js", | ||
"test-browsers": "airtap --sauce-connect --loopback airtap.local --no-coverage test.js", | ||
"test-browser-local": "airtap --local --no-coverage test.js" | ||
}, | ||
"license": "MIT", | ||
"engines": { | ||
"node": ">=4" | ||
"node": ">=6" | ||
} | ||
} |
@@ -85,2 +85,6 @@ # abstract-leveldown | ||
## Browser support | ||
[![Sauce Test Status](https://saucelabs.com/browser-matrix/abstract-leveldown.svg)](https://saucelabs.com/u/abstract-leveldown) | ||
## Extensible API | ||
@@ -90,4 +94,4 @@ | ||
### AbstractLevelDOWN(location) | ||
### AbstractLevelDOWN#status | ||
### `AbstractLevelDOWN(location)` | ||
### `AbstractLevelDOWN#status` | ||
@@ -102,18 +106,18 @@ An `AbstractLevelDOWN` based database can be in one of the following states: | ||
### AbstractLevelDOWN#_open(options, callback) | ||
### AbstractLevelDOWN#_close(callback) | ||
### AbstractLevelDOWN#_get(key, options, callback) | ||
### AbstractLevelDOWN#_put(key, value, options, callback) | ||
### AbstractLevelDOWN#_del(key, options, callback) | ||
### AbstractLevelDOWN#_batch(array, options, callback) | ||
### `AbstractLevelDOWN#_open(options, callback)` | ||
### `AbstractLevelDOWN#_close(callback)` | ||
### `AbstractLevelDOWN#_get(key, options, callback)` | ||
### `AbstractLevelDOWN#_put(key, value, options, callback)` | ||
### `AbstractLevelDOWN#_del(key, options, callback)` | ||
### `AbstractLevelDOWN#_batch(array, options, callback)` | ||
If `batch()` is called without arguments or with only an options object then it should return a `Batch` object with chainable methods. Otherwise it will invoke a classic batch operation. | ||
### AbstractLevelDOWN#_chainedBatch() | ||
### `AbstractLevelDOWN#_chainedBatch()` | ||
By default a `batch()` operation without arguments returns a blank `AbstractChainedBatch` object. The prototype is available on the main exports for you to extend. If you want to implement chainable batch operations then you should extend the `AbstractChaindBatch` and return your object in the `_chainedBatch()` method. | ||
### AbstractLevelDOWN#_serializeKey(key) | ||
### AbstractLevelDOWN#_serializeValue(value) | ||
### AbstractLevelDOWN#_iterator(options) | ||
### `AbstractLevelDOWN#_serializeKey(key)` | ||
### `AbstractLevelDOWN#_serializeValue(value)` | ||
### `AbstractLevelDOWN#_iterator(options)` | ||
@@ -135,25 +139,19 @@ By default an `iterator()` operation returns a blank `AbstractIterator` object. The prototype is available on the main exports for you to extend. If you want to implement iterator operations then you should extend the `AbstractIterator` and return your object in the `_iterator(options)` method. | ||
### AbstractIterator(db) | ||
### `AbstractIterator(db)` | ||
Provided with the current instance of `AbstractLevelDOWN` by default. | ||
### AbstractIterator#_next(callback) | ||
### AbstractIterator#_end(callback) | ||
### `AbstractIterator#_next(callback)` | ||
### `AbstractIterator#_end(callback)` | ||
### AbstractChainedBatch | ||
### `AbstractChainedBatch` | ||
Provided with the current instance of `AbstractLevelDOWN` by default. | ||
### AbstractChainedBatch#_put(key, value) | ||
### AbstractChainedBatch#_del(key) | ||
### AbstractChainedBatch#_clear() | ||
### AbstractChainedBatch#_write(options, callback) | ||
### AbstractChainedBatch#_serializeKey(key) | ||
### AbstractChainedBatch#_serializeValue(value) | ||
### `AbstractChainedBatch#_put(key, value)` | ||
### `AbstractChainedBatch#_del(key)` | ||
### `AbstractChainedBatch#_clear()` | ||
### `AbstractChainedBatch#_write(options, callback)` | ||
### `AbstractChainedBatch#_serializeKey(key)` | ||
### `AbstractChainedBatch#_serializeValue(value)` | ||
## TypeScript | ||
[![experimental](https://img.shields.io/badge/stability-experimental-orange.svg)](https://nodejs.org/api/documentation.html#documentation_stability_index) | ||
Ships with TypeScript definitions that enable automatic inference of options and key-value types on a typed `abstract-leveldown` implementation. | ||
<a name="contributing"></a> | ||
@@ -168,6 +166,12 @@ ## Contributing | ||
## Big Thanks | ||
Cross-browser Testing Platform and Open Source ♥ Provided by [Sauce Labs](https://saucelabs.com). | ||
[![Sauce Labs logo](./sauce-labs.svg)](https://saucelabs.com) | ||
<a name="license"></a> | ||
## License & Copyright | ||
## License | ||
Copyright © 2013-2017 `abstract-leveldown` [contributors](https://github.com/level/community#contributors). | ||
Copyright © 2013-2018 `abstract-leveldown` [contributors](https://github.com/level/community#contributors). | ||
@@ -174,0 +178,0 @@ `abstract-leveldown` is licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included `LICENSE.md` file for more details. |
332
test.js
@@ -5,2 +5,3 @@ 'use strict' | ||
var sinon = require('sinon') | ||
var inherits = require('util').inherits | ||
var testCommon = require('./testCommon') | ||
@@ -50,2 +51,16 @@ var AbstractLevelDOWN = require('./').AbstractLevelDOWN | ||
function implement (ctor, methods) { | ||
function Test () { | ||
ctor.apply(this, arguments) | ||
} | ||
inherits(Test, ctor) | ||
for (var k in methods) { | ||
Test.prototype[k] = methods[k] | ||
} | ||
return Test | ||
} | ||
/** | ||
@@ -56,3 +71,3 @@ * Extensibility | ||
test('test core extensibility', function (t) { | ||
class Test extends AbstractLevelDOWN {} | ||
var Test = implement(AbstractLevelDOWN) | ||
var test = new Test('foobar') | ||
@@ -64,4 +79,3 @@ t.equal(test.location, 'foobar', 'location set on instance') | ||
test('test key/value serialization', function (t) { | ||
class Test extends AbstractLevelDOWN {} | ||
var Test = implement(AbstractLevelDOWN) | ||
var buffer = Buffer.alloc(0) | ||
@@ -94,8 +108,5 @@ var test = new Test('foobar') | ||
var expectedOptions = { createIfMissing: true, errorIfExists: false } | ||
var test | ||
var Test = implement(AbstractLevelDOWN, { _open: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
Test.prototype._open = spy | ||
test = new Test('foobar') | ||
test.open(expectedCb) | ||
@@ -122,8 +133,5 @@ | ||
var expectedCb = function () {} | ||
var test | ||
var Test = implement(AbstractLevelDOWN, { _close: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
Test.prototype._close = spy | ||
test = new Test('foobar') | ||
test.close(expectedCb) | ||
@@ -142,8 +150,5 @@ | ||
var expectedKey = 'a key' | ||
var test | ||
var Test = implement(AbstractLevelDOWN, { _get: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
Test.prototype._get = spy | ||
test = new Test('foobar') | ||
test.get(expectedKey, expectedCb) | ||
@@ -176,8 +181,5 @@ | ||
var expectedKey = 'a key' | ||
var test | ||
var Test = implement(AbstractLevelDOWN, { _del: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
Test.prototype._del = spy | ||
test = new Test('foobar') | ||
test.del(expectedKey, expectedCb) | ||
@@ -209,8 +211,5 @@ | ||
var expectedValue = 'a value' | ||
var test | ||
var Test = implement(AbstractLevelDOWN, { _put: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
Test.prototype._put = spy | ||
test = new Test('foobar') | ||
test.put(expectedKey, expectedValue, expectedCb) | ||
@@ -242,3 +241,2 @@ | ||
var expectedOptions = { options: 1 } | ||
/** @type {Array<{ type: 'put', key, value } | { type: 'del', key }>} */ | ||
var expectedArray = [ | ||
@@ -248,9 +246,5 @@ { type: 'put', key: '1', value: '1' }, | ||
] | ||
var test | ||
var Test = implement(AbstractLevelDOWN, { _batch: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
Test.prototype._batch = spy | ||
test = new Test('foobar') | ||
test.batch(expectedArray, expectedCb) | ||
@@ -289,9 +283,5 @@ | ||
var expectedOptions = { options: 1 } | ||
var test | ||
var Test = implement(AbstractLevelDOWN, { _batch: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
Test.prototype._batch = spy | ||
test = new Test('foobar') | ||
test.batch().put('foo', 'bar').del('bang').write(expectedCb) | ||
@@ -324,9 +314,5 @@ | ||
var spy = sinon.spy() | ||
var test | ||
var Test = implement(AbstractLevelDOWN, { _chainedBatch: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
Test.prototype._chainedBatch = spy | ||
test = new Test('foobar') | ||
test.batch() | ||
@@ -346,4 +332,3 @@ | ||
test('test AbstractChainedBatch extensibility', function (t) { | ||
class Test extends AbstractChainedBatch {} | ||
var Test = implement(AbstractChainedBatch) | ||
var test = new Test('foobar') | ||
@@ -357,9 +342,5 @@ t.equal(test._db, 'foobar', 'db set on instance') | ||
var spycb = sinon.spy() | ||
var test | ||
var Test = implement(AbstractChainedBatch, { _write: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractChainedBatch {} | ||
Test.prototype._write = spy | ||
test = new Test('foobar') | ||
test.write(spycb) | ||
@@ -382,11 +363,6 @@ | ||
var expectedValue = 'value' | ||
var returnValue | ||
var test | ||
var Test = implement(AbstractChainedBatch, { _put: spy }) | ||
var test = new Test(factory('foobar')) | ||
var returnValue = test.put(expectedKey, expectedValue) | ||
class Test extends AbstractChainedBatch {} | ||
Test.prototype._put = spy | ||
test = new Test(factory('foobar')) | ||
returnValue = test.put(expectedKey, expectedValue) | ||
t.equal(spy.callCount, 1, 'got _put call') | ||
@@ -404,10 +380,6 @@ t.equal(spy.getCall(0).thisValue, test, '`this` on _put() was correct') | ||
var expectedKey = 'key' | ||
var returnValue | ||
var test | ||
var Test = implement(AbstractChainedBatch, { _del: spy }) | ||
var test = new Test(factory('foobar')) | ||
var returnValue = test.del(expectedKey) | ||
class Test extends AbstractChainedBatch {} | ||
Test.prototype._del = spy | ||
test = new Test(factory('foobar')) | ||
returnValue = test.del(expectedKey) | ||
t.equal(spy.callCount, 1, 'got _del call') | ||
@@ -423,10 +395,6 @@ t.equal(spy.getCall(0).thisValue, test, '`this` on _del() was correct') | ||
var spy = sinon.spy() | ||
var returnValue | ||
var test | ||
var Test = implement(AbstractChainedBatch, { _clear: spy }) | ||
var test = new Test(factory('foobar')) | ||
var returnValue = test.clear() | ||
class Test extends AbstractChainedBatch {} | ||
Test.prototype._clear = spy | ||
test = new Test(factory('foobar')) | ||
returnValue = test.clear() | ||
t.equal(spy.callCount, 1, 'got _clear call') | ||
@@ -450,8 +418,5 @@ t.equal(spy.getCall(0).thisValue, test, '`this` on _clear() was correct') | ||
} | ||
var test | ||
var Test = implement(AbstractLevelDOWN, { _iterator: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
Test.prototype._iterator = spy | ||
test = new Test('foobar') | ||
test.iterator({ options: 1 }) | ||
@@ -467,3 +432,3 @@ | ||
test('test AbstractIterator extensibility', function (t) { | ||
class Test extends AbstractIterator {} | ||
var Test = implement(AbstractIterator) | ||
var test = new Test('foobar') | ||
@@ -477,8 +442,5 @@ t.equal(test.db, 'foobar', 'db set on instance') | ||
var spycb = sinon.spy() | ||
var test | ||
var Test = implement(AbstractIterator, { _next: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractIterator {} | ||
Test.prototype._next = spy | ||
test = new Test('foobar') | ||
test.next(spycb) | ||
@@ -500,8 +462,5 @@ | ||
var expectedCb = function () {} | ||
var test | ||
var Test = implement(AbstractIterator, { _end: spy }) | ||
var test = new Test('foobar') | ||
class Test extends AbstractIterator {} | ||
Test.prototype._end = spy | ||
test = new Test('foobar') | ||
test.end(expectedCb) | ||
@@ -520,19 +479,16 @@ | ||
var spy = sinon.spy() | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_serializeKey (key) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_put: spy, | ||
_serializeKey: function (key) { | ||
t.equal(key, 'no') | ||
return 'foo' | ||
} | ||
}, | ||
_serializeValue (value) { | ||
_serializeValue: function (value) { | ||
t.equal(value, 'nope') | ||
return 'bar' | ||
} | ||
} | ||
}) | ||
Test.prototype._put = spy | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.put('no', 'nope', function () {}) | ||
@@ -549,18 +505,14 @@ | ||
var spy = sinon.spy() | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_serializeKey (key) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_del: spy, | ||
_serializeKey: function (key) { | ||
t.equal(key, 'no') | ||
return 'foo' | ||
} | ||
_serializeValue (value) { | ||
}, | ||
_serializeValue: function (value) { | ||
t.fail('should not be called') | ||
} | ||
} | ||
}) | ||
Test.prototype._del = spy | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.del('no', function () {}) | ||
@@ -578,19 +530,15 @@ | ||
var spy = sinon.spy() | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_serializeKey (key) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_batch: spy, | ||
_serializeKey: function (key) { | ||
t.equal(key, 'no') | ||
return 'foo' | ||
} | ||
_serializeValue (value) { | ||
}, | ||
_serializeValue: function (value) { | ||
t.equal(value, 'nope') | ||
return 'bar' | ||
} | ||
} | ||
}) | ||
Test.prototype._batch = spy | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.batch([ { type: 'put', key: 'no', value: 'nope' } ], function () {}) | ||
@@ -607,19 +555,15 @@ | ||
var spy = sinon.spy() | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_serializeKey (key) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_batch: spy, | ||
_serializeKey: function (key) { | ||
t.equal(key, 'no') | ||
return 'foo' | ||
} | ||
_serializeValue (value) { | ||
}, | ||
_serializeValue: function (value) { | ||
t.equal(value, 'nope') | ||
return 'bar' | ||
} | ||
} | ||
}) | ||
Test.prototype._batch = spy | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.batch().put('no', 'nope').write(function () {}) | ||
@@ -636,18 +580,14 @@ | ||
var spy = sinon.spy() | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_serializeKey (key) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_batch: spy, | ||
_serializeKey: function (key) { | ||
t.equal(key, 'no') | ||
return 'foo' | ||
} | ||
_serializeValue (value) { | ||
}, | ||
_serializeValue: function (value) { | ||
t.fail('should not be called') | ||
} | ||
} | ||
}) | ||
Test.prototype._batch = spy | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.batch([ { type: 'del', key: 'no' } ], function () {}) | ||
@@ -663,18 +603,14 @@ | ||
var spy = sinon.spy() | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_serializeKey (key) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_batch: spy, | ||
_serializeKey: function (key) { | ||
t.equal(key, 'no') | ||
return 'foo' | ||
} | ||
_serializeValue (value) { | ||
}, | ||
_serializeValue: function (value) { | ||
t.fail('should not be called') | ||
} | ||
} | ||
}) | ||
Test.prototype._batch = spy | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.batch().del('no').write(function () {}) | ||
@@ -690,22 +626,17 @@ | ||
var spy = sinon.spy() | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_serializeKey (key) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_batch: spy, | ||
_serializeKey: function (key) { | ||
t.equal(key, 'no') | ||
return 'foo' | ||
} | ||
_serializeValue (value) { | ||
}, | ||
_serializeValue: function (value) { | ||
t.equal(value, 'nope') | ||
return 'bar' | ||
} | ||
} | ||
}) | ||
Test.prototype._batch = spy | ||
var test = new Test('foobar') | ||
var op = { type: 'put', key: 'no', value: 'nope' } | ||
test = new Test('foobar') | ||
/** @type { { type: 'put', key, value } } */ | ||
var op = { type: 'put', key: 'no', value: 'nope' } | ||
test.batch([op], function () {}) | ||
@@ -723,7 +654,5 @@ | ||
t.test('empty prototype', function (t) { | ||
var test | ||
var Test = implement(AbstractLevelDOWN) | ||
var test = new Test('foobar') | ||
class Test extends AbstractLevelDOWN {} | ||
test = new Test('foobar') | ||
t.equal(test.status, 'new') | ||
@@ -744,11 +673,10 @@ | ||
t.test('open error', function (t) { | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_open (options, cb) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_open: function (options, cb) { | ||
cb(new Error()) | ||
} | ||
} | ||
}) | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.open(function (err) { | ||
@@ -762,11 +690,9 @@ t.ok(err) | ||
t.test('close error', function (t) { | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_close (cb) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_close: function (cb) { | ||
cb(new Error()) | ||
} | ||
} | ||
}) | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.open(function () { | ||
@@ -782,11 +708,9 @@ test.close(function (err) { | ||
t.test('open', function (t) { | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_open (options, cb) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_open: function (options, cb) { | ||
process.nextTick(cb) | ||
} | ||
} | ||
}) | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.open(function (err) { | ||
@@ -801,11 +725,9 @@ t.error(err) | ||
t.test('close', function (t) { | ||
var test | ||
class Test extends AbstractLevelDOWN { | ||
_close (cb) { | ||
var Test = implement(AbstractLevelDOWN, { | ||
_close: function (cb) { | ||
process.nextTick(cb) | ||
} | ||
} | ||
}) | ||
test = new Test('foobar') | ||
var test = new Test('foobar') | ||
test.open(function (err) { | ||
@@ -824,7 +746,7 @@ t.error(err) | ||
test('_setupIteratorOptions', function (t) { | ||
const keys = 'start end gt gte lt lte'.split(' ') | ||
const db = new AbstractLevelDOWN('foolocation') | ||
var keys = 'start end gt gte lt lte'.split(' ') | ||
var db = new AbstractLevelDOWN('foolocation') | ||
function setupOptions (constrFn) { | ||
const options = {} | ||
var options = {} | ||
keys.forEach(function (key) { | ||
@@ -875,3 +797,3 @@ options[key] = constrFn() | ||
t.test('deletes empty buffers', function (t) { | ||
const options = setupOptions(function () { return Buffer.from('') }) | ||
var options = setupOptions(function () { return Buffer.from('') }) | ||
keys.forEach(function (key) { | ||
@@ -885,3 +807,3 @@ t.is(Buffer.isBuffer(options[key]), true, 'should be buffer') | ||
t.test('deletes empty strings', function (t) { | ||
const options = setupOptions(function () { return '' }) | ||
var options = setupOptions(function () { return '' }) | ||
keys.forEach(function (key) { | ||
@@ -895,3 +817,3 @@ t.is(typeof options[key], 'string', 'should be string') | ||
t.test('deletes null options', function (t) { | ||
const options = setupOptions(function () { return null }) | ||
var options = setupOptions(function () { return null }) | ||
keys.forEach(function (key) { | ||
@@ -898,0 +820,0 @@ t.same(options[key], null, 'should be null') |
@@ -5,2 +5,6 @@ # Upgrade Guide | ||
## v5 | ||
Dropped support for node 4. No other breaking changes. | ||
## v4 | ||
@@ -7,0 +11,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
130689
5
176
26
2610