保誠-保戶業務員媒合平台
tomasysh
2022-05-25 43d0eed31f4b2a59e23c06ceba3616aac3f549f6
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
28
29
'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;
};