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.
		
		
		
		
		
			
		
			
				
					
					
						
							20 lines
						
					
					
						
							498 B
						
					
					
				
			
		
		
	
	
							20 lines
						
					
					
						
							498 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) { | 
						|
    // 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 | 
						|
}
 | 
						|
 |