blob: c4b18b9c2a5cf892dbab8323d504635f5ee5e9c3 [file] [log] [blame]
module.exports = shift
function shift (stream) {
var rs = stream._readableState
if (!rs) return null
return rs.objectMode ? stream.read() : stream.read(getStateLength(rs))
}
function getStateLength (state) {
if (state.buffer.length) {
// Since node 6.3.0 state.buffer is a BufferList not an array
if (state.buffer.head) {
return state.buffer.head.data.length
}
return state.buffer[0].length
}
return state.length
}