@live-change/db-client 0.6.21 → 0.6.23
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/lib/dump.js +32 -30
- package/package.json +4 -4
package/lib/dump.js
CHANGED
|
@@ -5,52 +5,53 @@ async function dump(
|
|
|
5
5
|
req = (method, ...args) => console.log(JSON.stringify({ type: 'request', method, parameters: args })),
|
|
6
6
|
sync = () => console.log(JSON.stringify({ type: 'sync' }))
|
|
7
7
|
) {
|
|
8
|
-
let { serverUrl, verbose, db, targetDb, tables, logs, metadata, structure } = options
|
|
8
|
+
let { serverUrl, verbose, db, targetDb, tables, logs, metadata, structure, dao } = options
|
|
9
9
|
if(!targetDb) targetDb = db
|
|
10
10
|
// console.log("options", options)
|
|
11
11
|
const dumpAll = !tables && !logs
|
|
12
12
|
|
|
13
13
|
let done = false
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
if(!dao) {
|
|
16
|
+
let disconnectCallbacks
|
|
17
|
+
const disconnectPromise = new Promise((resolve, reject) => disconnectCallbacks = {resolve, reject})
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
19
|
+
const clientPromise = new Promise((resolve, reject) => {
|
|
20
|
+
const client = new WSClient("commandLine", serverUrl, {
|
|
21
|
+
connectionSettings: {
|
|
22
|
+
logLevel: 1
|
|
23
|
+
},
|
|
24
|
+
onConnect: () => {
|
|
25
|
+
if (verbose) console.error("connected to server")
|
|
26
|
+
resolve(client)
|
|
27
|
+
},
|
|
28
|
+
onDisconnect: () => {
|
|
29
|
+
if (verbose) console.error("disconnected from server")
|
|
30
|
+
if (!done) {
|
|
31
|
+
console.error("disconnected before request done")
|
|
32
|
+
disconnectCallbacks.reject("disconnected before request done")
|
|
33
|
+
} else {
|
|
34
|
+
disconnectCallbacks.resolve('ok')
|
|
35
|
+
}
|
|
34
36
|
}
|
|
35
|
-
}
|
|
37
|
+
})
|
|
36
38
|
})
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
const client = await clientPromise
|
|
40
39
|
|
|
40
|
+
dao = await clientPromise
|
|
41
|
+
}
|
|
41
42
|
|
|
42
43
|
let tablesList = tables || [], logsList = logs || []
|
|
43
44
|
let databaseConfig
|
|
44
45
|
if(structure || metadata) {
|
|
45
|
-
databaseConfig = await
|
|
46
|
+
databaseConfig = await dao.get(['database', 'databaseConfig', db])
|
|
46
47
|
}
|
|
47
48
|
if(dumpAll && (structure || metadata)) {
|
|
48
49
|
// console.log("CONFIG", databaseConfig)
|
|
49
50
|
tablesList = Object.keys(databaseConfig.tables)
|
|
50
51
|
logsList = Object.keys(databaseConfig.logs)
|
|
51
52
|
} else if(dumpAll) {
|
|
52
|
-
tablesList = await
|
|
53
|
-
logsList = await
|
|
53
|
+
tablesList = await dao.get(['database', 'tablesList', db])
|
|
54
|
+
logsList = await dao.get(['database', 'logsList', db])
|
|
54
55
|
}
|
|
55
56
|
if(structure || metadata) {
|
|
56
57
|
if(dumpAll) {
|
|
@@ -108,7 +109,7 @@ async function dump(
|
|
|
108
109
|
let found = 0
|
|
109
110
|
let position = ''
|
|
110
111
|
do {
|
|
111
|
-
const results = await
|
|
112
|
+
const results = await dao.get(path(position, bucket))
|
|
112
113
|
await Promise.all(results.map(output))
|
|
113
114
|
found = results.length
|
|
114
115
|
if(results.length) position = results[results.length - 1].id
|
|
@@ -132,9 +133,10 @@ async function dump(
|
|
|
132
133
|
|
|
133
134
|
done = true
|
|
134
135
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
if(!options.dao) {
|
|
137
|
+
dao.dispose()
|
|
138
|
+
await disconnectPromise
|
|
139
|
+
}
|
|
138
140
|
}
|
|
139
141
|
|
|
140
142
|
module.exports = dump
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@live-change/db-client",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.23",
|
|
4
4
|
"description": "Database with observable data for live queries",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"tape": "^5.3.2"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@live-change/dao": "0.5.
|
|
31
|
-
"@live-change/dao-websocket": "0.5.
|
|
30
|
+
"@live-change/dao": "0.5.22",
|
|
31
|
+
"@live-change/dao-websocket": "0.5.22",
|
|
32
32
|
"line-reader": "^0.4.0",
|
|
33
33
|
"websocket": "^1.0.34",
|
|
34
34
|
"yargs": "^17.5.1"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "0998da21c5082239a24d631110b33a5b00310a07"
|
|
37
37
|
}
|