autolevel.js

Automatically use the right abstract-leveldown module for your configuration
git clone git://git.finwo.net/lib/autolevel.js
Log | Files | Refs | README | LICENSE

commit fc9f28f43ca750510a97df3948e06fb98d366787
parent 4bdc5195a75c0d0cc4b4e38e0650d9484e4122a8
Author: finwo <finwo@pm.me>
Date:   Wed, 14 Nov 2018 15:10:12 +0100

websocket-stream then?

Diffstat:
Mpackage-lock.json | 57+++++++++++++++++++++++++++++++++++++++++++++++++++------
Mpackage.json | 4++--
Msrc/custom/wsrpc.js | 9+++------
3 files changed, 56 insertions(+), 14 deletions(-)

diff --git a/package-lock.json b/package-lock.json @@ -2052,6 +2052,18 @@ "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" }, + "duplexify": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", + "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", + "optional": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, "each-series": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/each-series/-/each-series-1.0.0.tgz", @@ -6028,12 +6040,6 @@ "util.promisify": "^1.0.0" } }, - "reconnectingwebsocket": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/reconnectingwebsocket/-/reconnectingwebsocket-1.0.0.tgz", - "integrity": "sha1-C4Jbq7N7ZwRFxlqn0+2XgwAgVEQ=", - "optional": true - }, "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", @@ -7038,6 +7044,12 @@ "integrity": "sha1-wfl9FdolH1lK4n1B7IraCahG408=", "optional": true }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "optional": true + }, "string-length": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", @@ -7419,6 +7431,12 @@ } } }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "optional": true + }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", @@ -7611,6 +7629,33 @@ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true }, + "websocket-stream": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.1.2.tgz", + "integrity": "sha512-lchLOk435iDWs0jNuL+hiU14i3ERSrMA0IKSiJh7z6X/i4XNsutBZrtqu2CPOZuA4G/zabiqVAos0vW+S7GEVw==", + "optional": true, + "requires": { + "duplexify": "^3.5.1", + "inherits": "^2.0.1", + "readable-stream": "^2.3.3", + "safe-buffer": "^5.1.1", + "ws": "^3.2.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "optional": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, "whatwg-encoding": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", diff --git a/package.json b/package.json @@ -31,8 +31,8 @@ "memdown": "^3.0.0", "mongodown": "^1.2.0", "multilevel": "^7.2.3", - "reconnectingwebsocket": "^1.0.0", - "sqldown": "^2.1.0" + "sqldown": "^2.1.0", + "websocket-stream": "^5.1.2" }, "keywords": [ "autolevel", diff --git a/src/custom/wsrpc.js b/src/custom/wsrpc.js @@ -1,5 +1,5 @@ const multilevel = require('multilevel'), - WebSocket = require('ws'), + WebSocket = require('websocket-stream'), urlParse = require('url-parse'); const protomap = { @@ -43,11 +43,8 @@ module.exports = function (location, options, callback) { // Connect queue.unshift(function(callback) { let stream = new WebSocket(parsedLocation.toString()); - console.log(stream); - stream.on('open', function() { - stream.pipe(db.createRpcStream()).pipe(stream); - callback(); - }); + stream.pipe(db.createRpcStream()).pipe(stream); + callback(); }); // Queue runner