summaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/pause/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/pause/index.js')
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/pause/index.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/pause/index.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/pause/index.js
new file mode 100644
index 00000000..8bc7d958
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/pause/index.js
@@ -0,0 +1,61 @@
+/*!
+ * pause
+ * Copyright(c) 2012 TJ Holowaychuk
+ * Copyright(c) 2015 Douglas Christopher Wilson
+ * MIT Licensed
+ */
+
+'use strict'
+
+/**
+ * Module exports.
+ * @public
+ */
+
+module.exports = pause
+
+/**
+ * Pause the data events on a stream.
+ *
+ * @param {object} stream
+ * @public
+ */
+
+function pause(stream) {
+ var events = []
+ var onData = createEventListener('data', events)
+ var onEnd = createEventListener('end', events)
+
+ // buffer data
+ stream.on('data', onData)
+
+ // buffer end
+ stream.on('end', onEnd)
+
+ return {
+ end: function end() {
+ stream.removeListener('data', onData)
+ stream.removeListener('end', onEnd)
+ },
+ resume: function resume() {
+ this.end()
+
+ for (var i = 0; i < events.length; i++) {
+ stream.emit.apply(stream, events[i])
+ }
+ }
+ }
+}
+
+function createEventListener(name, events) {
+ return function onEvent() {
+ var args = new Array(arguments.length + 1)
+
+ args[0] = name
+ for (var i = 0; i < arguments.length; i++) {
+ args[i + 1] = arguments[i]
+ }
+
+ events.push(args)
+ }
+}