-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdbUtils.js
46 lines (42 loc) · 1.28 KB
/
dbUtils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
class database {
async dbGet(db, key) {
let result = null
try {
result = await db.get(key)
} catch (e) {
result = null
}
return result
}
async dbObj(db, from, to, limit = 10000) {
return new Promise((resolve, reject) => {
let result = {}
db.createReadStream({gte: from + 'x', lt: to + 'x', "limit": limit})
.on('data', function (data) {
result[data.key] = data.value
})
.on('error', function (err) {
reject([]);
})
.on('end', function () {
resolve(result);
});
});
}
async dbArray(db, from, to, limit = 10000) {
return new Promise((resolve, reject) => {
let result = []
db.createReadStream({limit: limit, gte: from + 'x', lt: to + 'x'})
.on('data', function (data) {
result.unshift(data.value)
})
.on('error', function (err) {
reject([]);
})
.on('end', function () {
resolve(result);
});
});
}
}
module.exports = database;