From ace4fe566fc3af4876c7458f983feeb5eae3df26 Mon Sep 17 00:00:00 2001 From: Myles Borins Date: Thu, 26 Oct 2017 22:35:25 -0400 Subject: deps: update npm to 5.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes: https://github.com/nodejs/node/pull/16280 PR-URL: https://github.com/nodejs/node/pull/16509 Fixes: https://github.com/nodejs/node/issues/14161 Reviewed-By: Daijiro Wachi Reviewed-By: Anna Henningsen Reviewed-By: Michaƫl Zasso --- deps/npm/node_modules/qw/qw.js | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 deps/npm/node_modules/qw/qw.js (limited to 'deps/npm/node_modules/qw/qw.js') diff --git a/deps/npm/node_modules/qw/qw.js b/deps/npm/node_modules/qw/qw.js new file mode 100644 index 0000000000..239e5a565e --- /dev/null +++ b/deps/npm/node_modules/qw/qw.js @@ -0,0 +1,43 @@ +'use strict' +module.exports = qw + +function appendLast (arr, str) { + var last = arr.length - 1 + if (last < 0) { + arr.push(str) + } else { + var lastValue = String(arr[last]) + return arr[last] = lastValue + String(str) + } +} + +function qw () { + const args = Object.assign([], arguments[0]) + const values = [].slice.call(arguments, 1) + const words = [] + let lastWordWasValue = false + while (args.length) { + const arg = args.shift() + const concatValue = arg.length === 0 || arg.slice(-1) !== ' ' + if (arg.trim() !== '') { + const theseWords = arg.replace(/^\s+|\s+$/g, '').replace(/\s+/g, ' ').split(/ /) + if (lastWordWasValue && arg[0] !== ' ') { + appendLast(words, theseWords.shift()) + } + words.push.apply(words, theseWords) + } + + if (values.length) { + const val = values.shift() + if (concatValue) { + appendLast(words, val) + } else { + words.push(val) + } + lastWordWasValue = true + } else { + lastWordWasValue = false + } + } + return words +} -- cgit v1.2.1