summaryrefslogtreecommitdiffstats
path: root/node_modules/npm-run-all/lib/create-prefix-transform-stream.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/npm-run-all/lib/create-prefix-transform-stream.js')
-rw-r--r--node_modules/npm-run-all/lib/create-prefix-transform-stream.js89
1 files changed, 0 insertions, 89 deletions
diff --git a/node_modules/npm-run-all/lib/create-prefix-transform-stream.js b/node_modules/npm-run-all/lib/create-prefix-transform-stream.js
deleted file mode 100644
index cb2c360..0000000
--- a/node_modules/npm-run-all/lib/create-prefix-transform-stream.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * @module create-prefix-transform-stream
- * @author Toru Nagashima
- * @copyright 2016 Toru Nagashima. All rights reserved.
- * See LICENSE file in root directory for full license.
- */
-"use strict"
-
-//------------------------------------------------------------------------------
-// Requirements
-//------------------------------------------------------------------------------
-
-const stream = require("stream")
-
-//------------------------------------------------------------------------------
-// Helpers
-//------------------------------------------------------------------------------
-
-const ALL_BR = /\n/g
-
-/**
- * The transform stream to insert a specific prefix.
- *
- * Several streams can exist for the same output stream.
- * This stream will insert the prefix if the last output came from other instance.
- * To do that, this stream is using a shared state object.
- *
- * @private
- */
-class PrefixTransform extends stream.Transform {
- /**
- * @param {string} prefix - A prefix text to be inserted.
- * @param {object} state - A state object.
- * @param {string} state.lastPrefix - The last prefix which is printed.
- * @param {boolean} state.lastIsLinebreak -The flag to check whether the last output is a line break or not.
- */
- constructor(prefix, state) {
- super()
-
- this.prefix = prefix
- this.state = state
- }
-
- /**
- * Transforms the output chunk.
- *
- * @param {string|Buffer} chunk - A chunk to be transformed.
- * @param {string} _encoding - The encoding of the chunk.
- * @param {function} callback - A callback function that is called when done.
- * @returns {void}
- */
- _transform(chunk, _encoding, callback) {
- const prefix = this.prefix
- const nPrefix = `\n${prefix}`
- const state = this.state
- const firstPrefix =
- state.lastIsLinebreak ? prefix :
- (state.lastPrefix !== prefix) ? "\n" :
- /* otherwise */ ""
- const prefixed = `${firstPrefix}${chunk}`.replace(ALL_BR, nPrefix)
- const index = prefixed.indexOf(prefix, Math.max(0, prefixed.length - prefix.length))
-
- state.lastPrefix = prefix
- state.lastIsLinebreak = (index !== -1)
-
- callback(null, (index !== -1) ? prefixed.slice(0, index) : prefixed)
- }
-}
-
-//------------------------------------------------------------------------------
-// Public API
-//------------------------------------------------------------------------------
-
-/**
- * Create a transform stream to insert the specific prefix.
- *
- * Several streams can exist for the same output stream.
- * This stream will insert the prefix if the last output came from other instance.
- * To do that, this stream is using a shared state object.
- *
- * @param {string} prefix - A prefix text to be inserted.
- * @param {object} state - A state object.
- * @param {string} state.lastPrefix - The last prefix which is printed.
- * @param {boolean} state.lastIsLinebreak -The flag to check whether the last output is a line break or not.
- * @returns {stream.Transform} The created transform stream.
- */
-module.exports = function createPrefixTransform(prefix, state) {
- return new PrefixTransform(prefix, state)
-}