| 123456789101112131415161718192021 | 
							- 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
 
- }
 
 
  |