diff options
author | Myles Borins <myles.borins@gmail.com> | 2017-10-26 22:35:25 -0400 |
---|---|---|
committer | Myles Borins <myles.borins@gmail.com> | 2017-10-29 21:32:15 -0400 |
commit | ace4fe566fc3af4876c7458f983feeb5eae3df26 (patch) | |
tree | 458d847e9bd56199cd0d8b34cec126c7410fb6ca /deps/npm/node_modules/qw/qw.js | |
parent | 64168eb9b43e30e4c0b986c9b29c41be63e85df6 (diff) | |
download | node-new-ace4fe566fc3af4876c7458f983feeb5eae3df26.tar.gz |
deps: update npm to 5.5.1
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 <daijiro.wachi@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'deps/npm/node_modules/qw/qw.js')
-rw-r--r-- | deps/npm/node_modules/qw/qw.js | 43 |
1 files changed, 43 insertions, 0 deletions
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 +} |