mh-two-thousand-and-two
2024-04-12 7fc6dbf547b8899d949b67cdec36b96a7d1701c7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'use strict';
 
var trimStart = require('string.prototype.trimstart');
var trimEnd = require('string.prototype.trimend');
 
var $TypeError = require('es-errors/type');
 
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;
};