Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / lodash / string / trimRight.js
1 var baseToString = require('../internal/baseToString'),
2     charsRightIndex = require('../internal/charsRightIndex'),
3     isIterateeCall = require('../internal/isIterateeCall'),
4     trimmedRightIndex = require('../internal/trimmedRightIndex');
5
6 /**
7  * Removes trailing whitespace or specified characters from `string`.
8  *
9  * @static
10  * @memberOf _
11  * @category String
12  * @param {string} [string=''] The string to trim.
13  * @param {string} [chars=whitespace] The characters to trim.
14  * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
15  * @returns {string} Returns the trimmed string.
16  * @example
17  *
18  * _.trimRight('  abc  ');
19  * // => '  abc'
20  *
21  * _.trimRight('-_-abc-_-', '_-');
22  * // => '-_-abc'
23  */
24 function trimRight(string, chars, guard) {
25   var value = string;
26   string = baseToString(string);
27   if (!string) {
28     return string;
29   }
30   if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
31     return string.slice(0, trimmedRightIndex(string) + 1);
32   }
33   return string.slice(0, charsRightIndex(string, (chars + '')) + 1);
34 }
35
36 module.exports = trimRight;