aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib/stream-utils.js
diff options
context:
space:
mode:
authorDan <danjm.com@gmail.com>2018-04-25 00:01:39 +0800
committerDan <danjm.com@gmail.com>2018-04-25 00:01:39 +0800
commit02a6d2089ede7d3faf4990c40b85b9f773f82c64 (patch)
treea46c581fae872d7ced368f067b8ae7b0df0778fd /app/scripts/lib/stream-utils.js
parent59c887301aba5d746d669441ec78ef7ec5de3146 (diff)
parent66ae4a948abbebdb513f9bd60d47fda36095e8df (diff)
downloadtangerine-wallet-browser-02a6d2089ede7d3faf4990c40b85b9f773f82c64.tar
tangerine-wallet-browser-02a6d2089ede7d3faf4990c40b85b9f773f82c64.tar.gz
tangerine-wallet-browser-02a6d2089ede7d3faf4990c40b85b9f773f82c64.tar.bz2
tangerine-wallet-browser-02a6d2089ede7d3faf4990c40b85b9f773f82c64.tar.lz
tangerine-wallet-browser-02a6d2089ede7d3faf4990c40b85b9f773f82c64.tar.xz
tangerine-wallet-browser-02a6d2089ede7d3faf4990c40b85b9f773f82c64.tar.zst
tangerine-wallet-browser-02a6d2089ede7d3faf4990c40b85b9f773f82c64.zip
Merge branch 'master' into i3725-refactor-send-component
Diffstat (limited to 'app/scripts/lib/stream-utils.js')
-rw-r--r--app/scripts/lib/stream-utils.js18
1 files changed, 16 insertions, 2 deletions
diff --git a/app/scripts/lib/stream-utils.js b/app/scripts/lib/stream-utils.js
index 8bb0b4f3c..3dbc064b5 100644
--- a/app/scripts/lib/stream-utils.js
+++ b/app/scripts/lib/stream-utils.js
@@ -8,20 +8,34 @@ module.exports = {
setupMultiplex: setupMultiplex,
}
+/**
+ * Returns a stream transform that parses JSON strings passing through
+ * @return {stream.Transform}
+ */
function jsonParseStream () {
- return Through.obj(function (serialized, encoding, cb) {
+ return Through.obj(function (serialized, _, cb) {
this.push(JSON.parse(serialized))
cb()
})
}
+/**
+ * Returns a stream transform that calls {@code JSON.stringify}
+ * on objects passing through
+ * @return {stream.Transform} the stream transform
+ */
function jsonStringifyStream () {
- return Through.obj(function (obj, encoding, cb) {
+ return Through.obj(function (obj, _, cb) {
this.push(JSON.stringify(obj))
cb()
})
}
+/**
+ * Sets up stream multiplexing for the given stream
+ * @param {any} connectionStream - the stream to mux
+ * @return {stream.Stream} the multiplexed stream
+ */
function setupMultiplex (connectionStream) {
const mux = new ObjectMultiplex()
pump(