.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / internals / string-trim.js
1 var requireObjectCoercible = require('../internals/require-object-coercible');
2 var whitespaces = require('../internals/whitespaces');
3
4 var whitespace = '[' + whitespaces + ']';
5 var ltrim = RegExp('^' + whitespace + whitespace + '*');
6 var rtrim = RegExp(whitespace + whitespace + '*$');
7
8 // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
9 var createMethod = function (TYPE) {
10   return function ($this) {
11     var string = String(requireObjectCoercible($this));
12     if (TYPE & 1) string = string.replace(ltrim, '');
13     if (TYPE & 2) string = string.replace(rtrim, '');
14     return string;
15   };
16 };
17
18 module.exports = {
19   // `String.prototype.{ trimLeft, trimStart }` methods
20   // https://tc39.es/ecma262/#sec-string.prototype.trimstart
21   start: createMethod(1),
22   // `String.prototype.{ trimRight, trimEnd }` methods
23   // https://tc39.es/ecma262/#sec-string.prototype.trimend
24   end: createMethod(2),
25   // `String.prototype.trim` method
26   // https://tc39.es/ecma262/#sec-string.prototype.trim
27   trim: createMethod(3)
28 };