Socket
Socket
Sign inDemoInstall

level-codec

Package Overview
Dependencies
Maintainers
2
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

level-codec - npm Package Compare versions

Comparing version 5.5.0 to 6.0.0

24

index.js
var encodings = require('./lib/encodings');
var Decoder = require('./lib/decoder');

@@ -76,4 +75,23 @@ module.exports = Codec;

Codec.prototype.createDecodeStream = function(opts){
return new Decoder(this, opts);
Codec.prototype.createStreamDecoder = function(opts){
var self = this;
if (opts.keys && opts.values) {
return function(key, value){
return {
key: self.decodeKey(key, opts),
value: self.decodeValue(value, opts)
};
};
} else if (opts.keys) {
return function(key) {
return self.decodeKey(key, opts);
};
} else if (opts.values) {
return function(_, value){
return self.decodeValue(value, opts);
}
} else {
return function(){};
}
};

@@ -80,0 +98,0 @@

7

package.json
{
"name": "level-codec",
"repository": "Level/codec",
"version": "5.5.0",
"version": "6.0.0",
"description": "Levelup's encoding logic",

@@ -13,6 +13,3 @@ "license": "MIT",

},
"dependencies": {
"level-errors": "^1.0.3",
"readable-stream": "^1.0.33"
}
"dependencies": {}
}

@@ -46,5 +46,5 @@

### #createDecodeStream([opts])
### #createStreamDecoder([opts])
Create a transform stream that decodes incoming key value pairs, passed from readable streams created by levelup's `create*Stream`.
Create a function with signature `(key, value)`, that for each key/value pair returned from a levelup read stream returns the decoded value to be emitted.

@@ -51,0 +51,0 @@ ### #keyAsBuffer([opts])

var test = require('tape');
var Codec = require('..');
var PassThrough = require('readable-stream').PassThrough;
test('decoder', function(t){
test('createStreamDecoder', function(t){
var codec = new Codec({ keyEncoding: 'hex' });
t.test('keys and values', function(t){
var decoder = codec.createDecodeStream({
var decoder = codec.createStreamDecoder({
valueEncoding: 'json',

@@ -14,46 +13,25 @@ keys: true,

});
decoder.on('data', function(kv){
t.deepEqual(kv, {
key: '686579',
value: 'you'
});
t.end();
t.deepEqual(decoder(new Buffer('hey'), '"you"'), {
key: '686579',
value: 'you'
});
var source = PassThrough({ objectMode: true });
source.push({ key: new Buffer('hey'), value: '"you"' });
source.pipe(decoder);
t.end();
});
t.test('keys', function(t){
var decoder = codec.createDecodeStream({
var decoder = codec.createStreamDecoder({
keys: true
});
decoder.on('data', function(key){
t.equal(key, '686579');
t.end();
});
var source = PassThrough({ objectMode: true });
source.push({ key: new Buffer('hey') });
source.pipe(decoder);
t.equal(decoder(new Buffer('hey')), '686579');
t.end();
});
t.test('values', function(t){
var decoder = codec.createDecodeStream({
var decoder = codec.createStreamDecoder({
valueEncoding: 'hex',
values: true
});
decoder.on('data', function(value){
t.equal(value, '686579');
t.end();
});
var source = PassThrough({ objectMode: true });
source.push({ value: new Buffer('hey') });
source.pipe(decoder);
t.equal(decoder(null, new Buffer('hey')), '686579');
t.end();
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc