@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 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
- this[kWrite](this, this[kBatchContext], options ?? EMPTY, callback ?? NOOP)
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.45",
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"