Skip to content

Commit 0dbb9b9

Browse files
committed
fix: browser compatibility
Use through2 and pumpify.
1 parent d3b3346 commit 0dbb9b9

2 files changed

Lines changed: 24 additions & 33 deletions

File tree

index.js

Lines changed: 21 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,31 @@
11
'use strict'
22

3-
var snappy = require('snappyjs')
4-
var msgpack = require('msgpack-lite')
3+
var pumpify = require('pumpify')
4+
var through = require('through2')
55
var lpStream = require('length-prefixed-stream')
6-
var Transform = require('readable-stream/transform')
6+
var msgpack = require('msgpack-lite')
7+
var snappy = require('snappyjs')
78

8-
var msgpackEncodeStream = new Transform({
9-
objectMode: true,
10-
transform: function (chunk, encoding, next) {
11-
next(null, msgpack.encode(chunk))
12-
}
13-
})
9+
module.exports.createEncodeStream = function SnappyMsgpackEncodeStream (stream) {
10+
var msgEncode = through.obj(function (data, enc, next) {
11+
next(null, msgpack.encode(data))
12+
})
1413

15-
var msgpackDecodeStream = new Transform({
16-
objectMode: true,
17-
transform: function (chunk, encoding, callback) {
18-
callback(null, msgpack.decode(chunk))
19-
}
20-
})
14+
var snappyCompress = through.obj(function (data, enc, next) {
15+
next(null, snappy.compress(data))
16+
})
2117

22-
var snappyCompressStream = new Transform({
23-
transform: function (chunk, encoding, next) {
24-
next(null, snappy.compress(chunk))
25-
}
26-
})
18+
return pumpify.obj(msgEncode, snappyCompress, lpStream.encode())
19+
}
2720

28-
var snappyUncompressStream = new Transform({
29-
transform: function (chunk, encoding, callback) {
30-
callback(null, snappy.uncompress(chunk))
31-
}
32-
})
21+
module.exports.createDecodeStream = function SnappyMsgpackDecodeStream (stream) {
22+
var msgDecode = through.obj(function (data, enc, next) {
23+
next(null, msgpack.decode(data))
24+
})
3325

34-
exports.createEncodeStream = function SnappyMsgpackEncodeStream () {
35-
msgpackEncodeStream.pipe(snappyCompressStream).pipe(lpStream.encode())
36-
return msgpackEncodeStream
37-
}
26+
var snappyUncompress = through.obj(function (data, enc, next) {
27+
next(null, snappy.uncompress(data))
28+
})
3829

39-
exports.createDecodeStream = function SnappyMsgpackDecodeStream () {
40-
return lpStream.decode().pipe(snappyUncompressStream).pipe(msgpackDecodeStream)
30+
return pumpify.obj(lpStream.decode(), snappyUncompress, msgDecode)
4131
}

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
"dependencies": {
1010
"length-prefixed-stream": "^1.5.1",
1111
"msgpack-lite": "^0.1.26",
12-
"readable-stream": "^2.2.2",
13-
"snappyjs": "^0.5.0"
12+
"pumpify": "^1.3.5",
13+
"snappyjs": "^0.5.0",
14+
"through2": "^2.0.3"
1415
},
1516
"keywords": [
1617
"snappy",

0 commit comments

Comments
 (0)