00001 var baseToString = require('./_baseToString'), 00002 castSlice = require('./_castSlice'), 00003 charsEndIndex = require('./_charsEndIndex'), 00004 charsStartIndex = require('./_charsStartIndex'), 00005 stringToArray = require('./_stringToArray'), 00006 toString = require('./toString'); 00007 00009 var reTrim = /^\s+|\s+$/g; 00010 00033 function trim(string, chars, guard) { 00034 string = toString(string); 00035 if (string && (guard || chars === undefined)) { 00036 return string.replace(reTrim, ''); 00037 } 00038 if (!string || !(chars = baseToString(chars))) { 00039 return string; 00040 } 00041 var strSymbols = stringToArray(string), 00042 chrSymbols = stringToArray(chars), 00043 start = charsStartIndex(strSymbols, chrSymbols), 00044 end = charsEndIndex(strSymbols, chrSymbols) + 1; 00045 00046 return castSlice(strSymbols, start, end).join(''); 00047 } 00048 00049 module.exports = trim;