22 lines
1.2 KiB
Plaintext
22 lines
1.2 KiB
Plaintext
'use strict';
|
|
|
|
var RequireObjectCoercible = require('es-abstract/2023/RequireObjectCoercible');
|
|
var ToString = require('es-abstract/2023/ToString');
|
|
var callBound = require('call-bind/callBound');
|
|
var $replace = callBound('String.prototype.replace');
|
|
|
|
var mvsIsWS = (/^\s$/).test('\u180E');
|
|
/* eslint-disable no-control-regex */
|
|
var leftWhitespace = mvsIsWS
|
|
? /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/
|
|
: /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/;
|
|
var rightWhitespace = mvsIsWS
|
|
? /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/
|
|
: /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/;
|
|
/* eslint-enable no-control-regex */
|
|
|
|
module.exports = function trim() {
|
|
var S = ToString(RequireObjectCoercible(this));
|
|
return $replace($replace(S, leftWhitespace, ''), rightWhitespace, '');
|
|
};
|