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;
							 |