summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/sorted-union-stream/node_modules/stream-iterate/node_modules/stream-shift/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/sorted-union-stream/node_modules/stream-iterate/node_modules/stream-shift/index.js')
-rw-r--r--deps/npm/node_modules/sorted-union-stream/node_modules/stream-iterate/node_modules/stream-shift/index.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/deps/npm/node_modules/sorted-union-stream/node_modules/stream-iterate/node_modules/stream-shift/index.js b/deps/npm/node_modules/sorted-union-stream/node_modules/stream-iterate/node_modules/stream-shift/index.js
new file mode 100644
index 0000000000..c4b18b9c2a
--- /dev/null
+++ b/deps/npm/node_modules/sorted-union-stream/node_modules/stream-iterate/node_modules/stream-shift/index.js
@@ -0,0 +1,20 @@
+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
+}