@live-change/db-client 0.6.22 → 0.7.0
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/bin/client.js +0 -1
- package/lib/dump.js +34 -32
- package/lib/exec.js +3 -3
- package/lib/get.js +2 -2
- package/lib/observe.js +3 -3
- package/lib/parseList.js +1 -1
- package/lib/request.js +2 -2
- package/package.json +7 -6
package/bin/client.js
CHANGED
|
@@ -5,7 +5,6 @@ const exec = require('../lib/exec.js')
|
|
|
5
5
|
const request = require('../lib/request.js')
|
|
6
6
|
const get = require('../lib/get.js')
|
|
7
7
|
const observe = require('../lib/observe.js')
|
|
8
|
-
|
|
9
8
|
const parseList = require('../lib/parseList.js')
|
|
10
9
|
|
|
11
10
|
process.on('unhandledRejection', (reason, p) => {
|
package/lib/dump.js
CHANGED
|
@@ -1,56 +1,57 @@
|
|
|
1
|
-
|
|
1
|
+
import { client as WSClient } from "@live-change/dao-websocket"
|
|
2
2
|
|
|
3
3
|
async function dump(
|
|
4
4
|
options,
|
|
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
|
+
export default dump
|
package/lib/exec.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { client as WSClient } from "@live-change/dao-websocket"
|
|
2
|
+
import lineReader from 'line-reader'
|
|
3
3
|
|
|
4
4
|
async function exec(options) {
|
|
5
5
|
let { serverUrl, verbose, file, targetDb } = options
|
|
@@ -83,4 +83,4 @@ async function exec(options) {
|
|
|
83
83
|
})
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
export default exec
|
package/lib/get.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { client as WSClient } from "@live-change/dao-websocket"
|
|
2
2
|
|
|
3
3
|
async function get({ serverUrl, path, verbose }) {
|
|
4
4
|
if(verbose) console.info(`getting ${serverUrl} value ${JSON.stringify(path)}`)
|
|
@@ -35,4 +35,4 @@ async function get({ serverUrl, path, verbose }) {
|
|
|
35
35
|
})
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
export default get
|
package/lib/observe.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { client as WSClient } from "@live-change/dao-websocket"
|
|
2
|
+
import ReactiveDao from "@live-change/dao"
|
|
3
3
|
|
|
4
4
|
async function observe({ serverUrl, path, verbose }) {
|
|
5
5
|
if(verbose) console.info(`observing ${serverUrl} value ${JSON.stringify(path)}`)
|
|
@@ -27,4 +27,4 @@ async function observe({ serverUrl, path, verbose }) {
|
|
|
27
27
|
})
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
export default observe
|
package/lib/parseList.js
CHANGED
package/lib/request.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { client as WSClient } from "@live-change/dao-websocket"
|
|
2
2
|
|
|
3
3
|
async function request({ serverUrl, method, args, verbose }) {
|
|
4
4
|
if(verbose) console.info(`requesting ${serverUrl} method ${JSON.stringify(method)} with arguments `
|
|
@@ -36,4 +36,4 @@ async function request({ serverUrl, method, args, verbose }) {
|
|
|
36
36
|
})
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
export default request
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@live-change/db-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Database with observable data for live queries",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -24,14 +24,15 @@
|
|
|
24
24
|
},
|
|
25
25
|
"homepage": "https://github.com/live-change/live-change-db",
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"tape": "^5.
|
|
27
|
+
"tape": "^5.7.4"
|
|
28
28
|
},
|
|
29
|
+
"type": "module",
|
|
29
30
|
"dependencies": {
|
|
30
|
-
"@live-change/dao": "0.5.
|
|
31
|
-
"@live-change/dao-websocket": "0.5.
|
|
31
|
+
"@live-change/dao": "0.5.22",
|
|
32
|
+
"@live-change/dao-websocket": "0.5.22",
|
|
32
33
|
"line-reader": "^0.4.0",
|
|
33
34
|
"websocket": "^1.0.34",
|
|
34
|
-
"yargs": "^17.
|
|
35
|
+
"yargs": "^17.7.2"
|
|
35
36
|
},
|
|
36
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "b372725d436e29f7cc66b811533009c9ea5330a1"
|
|
37
38
|
}
|