summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/node-gyp/node_modules/fstream/lib/socket-reader.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/node-gyp/node_modules/fstream/lib/socket-reader.js')
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/fstream/lib/socket-reader.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/deps/npm/node_modules/node-gyp/node_modules/fstream/lib/socket-reader.js b/deps/npm/node_modules/node-gyp/node_modules/fstream/lib/socket-reader.js
new file mode 100644
index 0000000000..e0456ba890
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/fstream/lib/socket-reader.js
@@ -0,0 +1,36 @@
+// Just get the stats, and then don't do anything.
+// You can't really "read" from a socket. You "connect" to it.
+// Mostly, this is here so that reading a dir with a socket in it
+// doesn't blow up.
+
+module.exports = SocketReader
+
+var inherits = require('inherits')
+var Reader = require('./reader.js')
+
+inherits(SocketReader, Reader)
+
+function SocketReader (props) {
+ var self = this
+ if (!(self instanceof SocketReader)) {
+ throw new Error('SocketReader must be called as constructor.')
+ }
+
+ if (!(props.type === 'Socket' && props.Socket)) {
+ throw new Error('Non-socket type ' + props.type)
+ }
+
+ Reader.call(self, props)
+}
+
+SocketReader.prototype._read = function () {
+ var self = this
+ if (self._paused) return
+ // basically just a no-op, since we got all the info we have
+ // from the _stat method
+ if (!self._ended) {
+ self.emit('end')
+ self.emit('close')
+ self._ended = true
+ }
+}