diff options
Diffstat (limited to 'school/node_modules/lodash/trimEnd.js')
-rw-r--r-- | school/node_modules/lodash/trimEnd.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/school/node_modules/lodash/trimEnd.js b/school/node_modules/lodash/trimEnd.js new file mode 100644 index 0000000..8dcd493 --- /dev/null +++ b/school/node_modules/lodash/trimEnd.js @@ -0,0 +1,41 @@ +var baseToString = require('./_baseToString'), + castSlice = require('./_castSlice'), + charsEndIndex = require('./_charsEndIndex'), + stringToArray = require('./_stringToArray'), + toString = require('./toString'), + trimmedEndIndex = require('./_trimmedEndIndex'); + +/** + * Removes trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trimEnd(' abc '); + * // => ' abc' + * + * _.trimEnd('-_-abc-_-', '_-'); + * // => '-_-abc' + */ +function trimEnd(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.slice(0, trimmedEndIndex(string) + 1); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; + + return castSlice(strSymbols, 0, end).join(''); +} + +module.exports = trimEnd; |