针灸质控中心平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

21 lines
607 B

module.exports = shift
function shift (stream) {
var rs = stream._readableState
if (!rs) return null
return (rs.objectMode || typeof stream._duplexState === 'number') ? stream.read() : stream.read(getStateLength(rs))
}
function getStateLength (state) {
if (state.buffer.length) {
var idx = state.bufferIndex || 0
// Since node 6.3.0 state.buffer is a BufferList not an array
if (state.buffer.head) {
return state.buffer.head.data.length
} else if (state.buffer.length - idx > 0 && state.buffer[idx]) {
return state.buffer[idx].length
}
}
return state.length
}