@nxtedition/rocksdb 7.0.45 → 7.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chained-batch.js +8 -1
- package/index.js +31 -7
- package/package.json +2 -1
package/chained-batch.js
CHANGED
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
const { AbstractChainedBatch } = require('abstract-level')
|
|
4
4
|
const binding = require('./binding')
|
|
5
5
|
const ModuleError = require('module-error')
|
|
6
|
+
const { fromCallback } = require('catering')
|
|
7
|
+
|
|
6
8
|
const kWrite = Symbol('write')
|
|
7
9
|
const kBatchContext = Symbol('batchContext')
|
|
8
10
|
const kDbContext = Symbol('dbContext')
|
|
11
|
+
const kPromise = Symbol('promise')
|
|
9
12
|
|
|
10
13
|
const NOOP = () => {}
|
|
11
14
|
const EMPTY = {}
|
|
@@ -50,7 +53,11 @@ class ChainedBatch extends AbstractChainedBatch {
|
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
_write (options, callback) {
|
|
53
|
-
|
|
56
|
+
callback = fromCallback(callback, kPromise)
|
|
57
|
+
|
|
58
|
+
this[kWrite](this, this[kBatchContext], options ?? EMPTY, callback)
|
|
59
|
+
|
|
60
|
+
return callback[kPromise]
|
|
54
61
|
}
|
|
55
62
|
|
|
56
63
|
_close (callback) {
|
package/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { fromCallback } = require('catering')
|
|
3
4
|
const { AbstractLevel } = require('abstract-level')
|
|
4
5
|
const ModuleError = require('module-error')
|
|
5
6
|
const fs = require('fs')
|
|
@@ -11,6 +12,9 @@ const os = require('os')
|
|
|
11
12
|
const kContext = Symbol('context')
|
|
12
13
|
const kColumns = Symbol('columns')
|
|
13
14
|
const kLocation = Symbol('location')
|
|
15
|
+
const kPromise = Symbol('promise')
|
|
16
|
+
|
|
17
|
+
const EMPTY = {}
|
|
14
18
|
|
|
15
19
|
class RocksLevel extends AbstractLevel {
|
|
16
20
|
constructor (location, options, _) {
|
|
@@ -95,17 +99,21 @@ class RocksLevel extends AbstractLevel {
|
|
|
95
99
|
}
|
|
96
100
|
|
|
97
101
|
_put (key, value, options, callback) {
|
|
102
|
+
callback = fromCallback(callback, kPromise)
|
|
103
|
+
|
|
98
104
|
try {
|
|
99
105
|
const batch = this.batch()
|
|
100
|
-
batch.put(key, value, options)
|
|
106
|
+
batch.put(key, value, options ?? EMPTY)
|
|
101
107
|
batch.write(callback)
|
|
102
108
|
} catch (err) {
|
|
103
109
|
process.nextTick(callback, err)
|
|
104
110
|
}
|
|
111
|
+
|
|
112
|
+
return callback[kPromise]
|
|
105
113
|
}
|
|
106
114
|
|
|
107
115
|
_get (key, options, callback) {
|
|
108
|
-
this._getMany([key], options, (err, val) => {
|
|
116
|
+
this._getMany([key], options ?? EMPTY, (err, val) => {
|
|
109
117
|
if (err) {
|
|
110
118
|
callback(err)
|
|
111
119
|
} else if (val[0] === undefined) {
|
|
@@ -119,31 +127,43 @@ class RocksLevel extends AbstractLevel {
|
|
|
119
127
|
}
|
|
120
128
|
|
|
121
129
|
_getMany (keys, options, callback) {
|
|
130
|
+
callback = fromCallback(callback, kPromise)
|
|
131
|
+
|
|
122
132
|
try {
|
|
123
|
-
binding.db_get_many(this[kContext], keys, options, callback)
|
|
133
|
+
binding.db_get_many(this[kContext], keys, options ?? EMPTY, callback)
|
|
124
134
|
} catch (err) {
|
|
125
135
|
process.nextTick(callback, err)
|
|
126
136
|
}
|
|
137
|
+
|
|
138
|
+
return callback[kPromise]
|
|
127
139
|
}
|
|
128
140
|
|
|
129
141
|
_del (key, options, callback) {
|
|
142
|
+
callback = fromCallback(callback, kPromise)
|
|
143
|
+
|
|
130
144
|
try {
|
|
131
145
|
const batch = this.batch()
|
|
132
|
-
batch.del(key, options)
|
|
146
|
+
batch.del(key, options ?? EMPTY)
|
|
133
147
|
batch.write(callback)
|
|
134
148
|
} catch (err) {
|
|
135
149
|
process.nextTick(callback, err)
|
|
136
150
|
}
|
|
151
|
+
|
|
152
|
+
return callback[kPromise]
|
|
137
153
|
}
|
|
138
154
|
|
|
139
155
|
_clear (options, callback) {
|
|
156
|
+
callback = fromCallback(callback, kPromise)
|
|
157
|
+
|
|
140
158
|
try {
|
|
141
159
|
// TODO (fix): Use batch + DeleteRange...
|
|
142
|
-
binding.db_clear(this[kContext], options)
|
|
160
|
+
binding.db_clear(this[kContext], options ?? EMPTY)
|
|
143
161
|
process.nextTick(callback, null)
|
|
144
162
|
} catch (err) {
|
|
145
163
|
process.nextTick(callback, err)
|
|
146
164
|
}
|
|
165
|
+
|
|
166
|
+
return callback[kPromise]
|
|
147
167
|
}
|
|
148
168
|
|
|
149
169
|
_chainedBatch () {
|
|
@@ -160,16 +180,20 @@ class RocksLevel extends AbstractLevel {
|
|
|
160
180
|
}
|
|
161
181
|
|
|
162
182
|
_batch (operations, options, callback) {
|
|
183
|
+
callback = fromCallback(callback, kPromise)
|
|
184
|
+
|
|
163
185
|
try {
|
|
164
|
-
binding.batch_do(this[kContext], operations, options)
|
|
186
|
+
binding.batch_do(this[kContext], operations, options ?? EMPTY)
|
|
165
187
|
process.nextTick(callback, null)
|
|
166
188
|
} catch (err) {
|
|
167
189
|
process.nextTick(callback, err)
|
|
168
190
|
}
|
|
191
|
+
|
|
192
|
+
return callback[kPromise]
|
|
169
193
|
}
|
|
170
194
|
|
|
171
195
|
_iterator (options) {
|
|
172
|
-
return new Iterator(this, this[kContext], options)
|
|
196
|
+
return new Iterator(this, this[kContext], options ?? EMPTY)
|
|
173
197
|
}
|
|
174
198
|
|
|
175
199
|
getProperty (property) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nxtedition/rocksdb",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.46",
|
|
4
4
|
"description": "A low-level Node.js RocksDB binding",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "index.js",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"abstract-level": "^1.0.2",
|
|
15
|
+
"catering": "^2.1.1",
|
|
15
16
|
"module-error": "^1.0.2",
|
|
16
17
|
"napi-macros": "~2.0.0",
|
|
17
18
|
"node-gyp-build": "^4.3.0"
|