123456789101112131415161718192021222324252627282930 |
- var $export = require('./_export')
- , defined = require('./_defined')
- , fails = require('./_fails')
- , spaces = require('./_string-ws')
- , space = '[' + spaces + ']'
- , non = '\u200b\u0085'
- , ltrim = RegExp('^' + space + space + '*')
- , rtrim = RegExp(space + space + '*$');
- var exporter = function(KEY, exec, ALIAS){
- var exp = {};
- var FORCE = fails(function(){
- return !!spaces[KEY]() || non[KEY]() != non;
- });
- var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
- if(ALIAS)exp[ALIAS] = fn;
- $export($export.P + $export.F * FORCE, 'String', exp);
- };
- // 1 -> String#trimLeft
- // 2 -> String#trimRight
- // 3 -> String#trim
- var trim = exporter.trim = function(string, TYPE){
- string = String(defined(string));
- if(TYPE & 1)string = string.replace(ltrim, '');
- if(TYPE & 2)string = string.replace(rtrim, '');
- return string;
- };
- module.exports = exporter;
|