diff options
Diffstat (limited to 'deps/npm/node_modules/lodash/string/words.js')
-rw-r--r-- | deps/npm/node_modules/lodash/string/words.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/deps/npm/node_modules/lodash/string/words.js b/deps/npm/node_modules/lodash/string/words.js new file mode 100644 index 0000000000..3013ad6301 --- /dev/null +++ b/deps/npm/node_modules/lodash/string/words.js @@ -0,0 +1,38 @@ +var baseToString = require('../internal/baseToString'), + isIterateeCall = require('../internal/isIterateeCall'); + +/** Used to match words to create compound words. */ +var reWords = (function() { + var upper = '[A-Z\\xc0-\\xd6\\xd8-\\xde]', + lower = '[a-z\\xdf-\\xf6\\xf8-\\xff]+'; + + return RegExp(upper + '+(?=' + upper + lower + ')|' + upper + '?' + lower + '|' + upper + '+|[0-9]+', 'g'); +}()); + +/** + * Splits `string` into an array of its words. + * + * @static + * @memberOf _ + * @category String + * @param {string} [string=''] The string to inspect. + * @param {RegExp|string} [pattern] The pattern to match words. + * @param- {Object} [guard] Enables use as a callback for functions like `_.map`. + * @returns {Array} Returns the words of `string`. + * @example + * + * _.words('fred, barney, & pebbles'); + * // => ['fred', 'barney', 'pebbles'] + * + * _.words('fred, barney, & pebbles', /[^, ]+/g); + * // => ['fred', 'barney', '&', 'pebbles'] + */ +function words(string, pattern, guard) { + if (guard && isIterateeCall(string, pattern, guard)) { + pattern = undefined; + } + string = baseToString(string); + return string.match(pattern || reWords) || []; +} + +module.exports = words; |