Skip to content

Commit 0ac3165

Browse files
committed
mod
1 parent d8e59aa commit 0ac3165

File tree

2 files changed

+24
-16
lines changed

2 files changed

+24
-16
lines changed

example/simple.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ const main = async () => {
66
try{
77
const ver = await ecl.server_version("2.7.11", "1.0")
88
console.log(ver)
9+
const balance = await ecl.blockchainAddress_getBalance("12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX")
10+
console.log(balance)
11+
const unspent = await ecl.blockchainAddress_listunspent("12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX")
12+
console.log(unspent)
913
}catch(e){
1014
console.log(e)
1115
}

lib/util.js

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,27 @@ const makeRequest = exports.makeRequest = (method, params, id) => {
99
})
1010
}
1111

12-
const recursiveParser = exports.recursiveParser = (n, buffer, callback) => {
13-
const MAX_DEPTH = 20;
14-
if(buffer.length === 0) {
15-
return {code:0, buffer:buffer}
16-
}
17-
if(n > MAX_DEPTH) {
18-
return {code:1, buffer:buffer}
19-
}
20-
const xs = buffer.split('\n')
21-
if(xs.length === 1){
22-
return {code:0, buffer:buffer}
12+
const createRecuesiveParser = exports.createRecuesiveParser = (max_depth, delimiter) => {
13+
const MAX_DEPTH = max_depth
14+
const DELIMITER = delimiter
15+
const recursiveParser = (n, buffer, callback) => {
16+
if(buffer.length === 0) {
17+
return {code:0, buffer:buffer}
18+
}
19+
if(n > MAX_DEPTH) {
20+
return {code:1, buffer:buffer}
21+
}
22+
const xs = buffer.split(DELIMITER)
23+
if(xs.length === 1){
24+
return {code:0, buffer:buffer}
25+
}
26+
callback(xs.shift(), n)
27+
return recursiveParser(n + 1, xs.join(DELIMITER), callback)
2328
}
24-
const content = xs.shift()
25-
26-
callback(content, n)
27-
return recursiveParser(n + 1, xs.join('\n'), callback)
29+
return recursiveParser
2830
}
2931

32+
3033
const createPromiseResult = exports.createPromiseResult = (resolve, reject) => {
3134
return (err, result) => {
3235
if(err) reject(err)
@@ -38,11 +41,12 @@ class MessageParser{
3841
constructor(callback){
3942
this.buffer = ''
4043
this.callback = callback
44+
this.recursiveParser = createRecuesiveParser(20, '\n')
4145
}
4246
run(chunk){
4347
this.buffer += chunk
4448
while(true){
45-
const res = recursiveParser(0, this.buffer, this.callback)
49+
const res = this.recursiveParser(0, this.buffer, this.callback)
4650
this.buffer = res.buffer
4751
if(res.code === 0){
4852
break;

0 commit comments

Comments
 (0)