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.
		
		
		
		
		
			
		
			
				
					
					
						
							29 lines
						
					
					
						
							804 B
						
					
					
				
			
		
		
	
	
							29 lines
						
					
					
						
							804 B
						
					
					
				'use strict'; | 
						|
 | 
						|
var trimStart = require('string.prototype.trimstart'); | 
						|
var trimEnd = require('string.prototype.trimend'); | 
						|
 | 
						|
var GetIntrinsic = require('get-intrinsic'); | 
						|
 | 
						|
var $TypeError = GetIntrinsic('%TypeError%'); | 
						|
 | 
						|
var RequireObjectCoercible = require('./RequireObjectCoercible'); | 
						|
var ToString = require('./ToString'); | 
						|
 | 
						|
// https://262.ecma-international.org/10.0/#sec-trimstring | 
						|
 | 
						|
module.exports = function TrimString(string, where) { | 
						|
	var str = RequireObjectCoercible(string); | 
						|
	var S = ToString(str); | 
						|
	var T; | 
						|
	if (where === 'start') { | 
						|
		T = trimStart(S); | 
						|
	} else if (where === 'end') { | 
						|
		T = trimEnd(S); | 
						|
	} else if (where === 'start+end') { | 
						|
		T = trimStart(trimEnd(S)); | 
						|
	} else { | 
						|
		throw new $TypeError('Assertion failed: invalid `where` value; must be "start", "end", or "start+end"'); | 
						|
	} | 
						|
	return T; | 
						|
};
 | 
						|
 |