A parser for RESP (REdis Serialization Protocol).
npm install resper
'use strict'
const Resper = require('resper')
let resper = new Resper()
resper
.on('error', console.error)
.on('data', console.log)
.on('drain', () => {
// ...
console.log('drain')
})
resper.write(Resper.encodeInt(998))
resper.end(Resper.encodeArray([
Resper.encodeInt(1),
Resper.encodeString('str'),
[
Resper.encodeNullArray(),
Resper.encodeError(new Error('heheda'))
]
]))
Encode str
to RESP buffer.
Encode err
to RESP buffer.
Encode int
to RESP buffer.
Encode bluk
to RESP buffer, bluk
could be a String or a Buffer.
Get the RESP Null buffer.
Get the RESP NullArray buffer.
Encode arr
to RESP buffer, each element in arr
should be an instance of buffer.
Encode requestArr
to RESP request buffer, each element in requestArr
should be a string.
resper.encodeRequestArray(['LLEN', 'mylist'])
Decode RESP buffer to real value. The return value is array which first element is the decode result, and the second value is the index after first CRLF
.
Resper.decode(Resper.encodeInt(998))[0] // 998
Write buffer
to the resper, resper will emit data
event when after it parsed the buffer
.
When no more data will be writen, you can call this method, and the instance of Resper
will emit finish
event.
function (parsedData) { }
Emitted when the instance of Resper
parsed the written RESP buffer.
function (error) { }
Emitted when an error was occurred.
function () { }
Emitted when no more data in instance's inner buffer.
function () { }
Emitted when the resper.end
was called.