You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					31 lines
				
				899 B
			
		
		
			
		
	
	
					31 lines
				
				899 B
			| 
											3 years ago
										 | var $export = require('./_export'); | ||
|  | var defined = require('./_defined'); | ||
|  | var fails = require('./_fails'); | ||
|  | var spaces = require('./_string-ws'); | ||
|  | var space = '[' + spaces + ']'; | ||
|  | var non = '\u200b\u0085'; | ||
|  | var ltrim = RegExp('^' + space + space + '*'); | ||
|  | var rtrim = RegExp(space + space + '*$'); | ||
|  | 
 | ||
|  | var exporter = function (KEY, exec, ALIAS) { | ||
|  |   var exp = {}; | ||
|  |   var FORCE = fails(function () { | ||
|  |     return !!spaces[KEY]() || non[KEY]() != non; | ||
|  |   }); | ||
|  |   var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; | ||
|  |   if (ALIAS) exp[ALIAS] = fn; | ||
|  |   $export($export.P + $export.F * FORCE, 'String', exp); | ||
|  | }; | ||
|  | 
 | ||
|  | // 1 -> String#trimLeft
 | ||
|  | // 2 -> String#trimRight
 | ||
|  | // 3 -> String#trim
 | ||
|  | var trim = exporter.trim = function (string, TYPE) { | ||
|  |   string = String(defined(string)); | ||
|  |   if (TYPE & 1) string = string.replace(ltrim, ''); | ||
|  |   if (TYPE & 2) string = string.replace(rtrim, ''); | ||
|  |   return string; | ||
|  | }; | ||
|  | 
 | ||
|  | module.exports = exporter; |