forked from ard/ruoyi-api

aijinhui
2023-10-06 4bf8db5a3d574e5175f8e08a76d08effd3b31a9e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
}