-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathorwelldb.js
39 lines (31 loc) · 935 Bytes
/
orwelldb.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
var transaction = require('./database/transaction')
var $ = require('./database/crypto').createDB
var imp = require('./database/import')
var datascript = require('./datascript/index')
var orwell = {};
orwell.export = function (options, cb) {
transaction.start();
return $(options)
.then(function (db) {
return cb(db)
})
.then(function () {
return new Promise(function (resolve) {
resolve(transaction.commit())
})
})
.catch(function (err) {
transaction.rollback();
console.log(err)
})
}
orwell.import = function (options, script) {
return new Promise(function (resolve) {
new imp(script, options, function (results) {
resolve(results)
})
})
}
orwell.$ = $;
orwell.datascript = datascript;
module.exports = orwell