UNPKG

foop

Version:

interfaces that describe their intentions.

53 lines (51 loc) 4.32 kB
/** * Removes (strips) whitespace from both ends of the string. * @since 5.0.0-beta.5 * @memberOf string * @symb ✂️ * * @param {String} str The string to trim. * @return {String} Trimmed version of `str`. * * @func * @fork v0.6.0 * @category String * @sig String -> String * * {@link https://github.com/processing-js/processing-js/blob/master/src/P5Functions/commonFunctions.js#L18 processing-js-trim} * {@link https://github.com/madrobby/zepto/blob/master/src/zepto.js#L357 zepto-trim} * {@link https://github.com/ramda/ramda/blob/master/src/trim.js ramda-trim} * {@link https://github.com/lodash/lodash/blob/master/trim.js lodash-trim} * @see {@link processing-js-trim} * @see {@link lodash-trim} * @see {@link ramda-trim} * @see {@link zepto-trim} * * @example * * trim(' xyz ') * //=> 'xyz' * * map(trim, split(',', 'x, y, z')) * //=> ['x', 'y', 'z'] * */ module.exports = function trim(str /*, characters */) { return str.trim() } // polyfill // (function() { // var ws = '\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' // var zeroWidth = '\u200b' // var hasProtoTrim = (typeof String.prototype.trim === 'function') // if (!hasProtoTrim || (ws.trim() || !zeroWidth.trim())) { // return _curry1(function trim(str) { // var beginRx = new RegExp('^[' + ws + '][' + ws + ']*') // var endRx = new RegExp('[' + ws + '][' + ws + ']*$') // return str.replace(beginRx, '').replace(endRx, '') // }) // } // })() //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpbS5qcyIsInNvdXJjZXMiOlsidHJpbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlbW92ZXMgKHN0cmlwcykgd2hpdGVzcGFjZSBmcm9tIGJvdGggZW5kcyBvZiB0aGUgc3RyaW5nLlxuICogQHNpbmNlIDUuMC4wLWJldGEuNVxuICogQG1lbWJlck9mIHN0cmluZ1xuICogQHN5bWIg4pyC77iPXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0ciBUaGUgc3RyaW5nIHRvIHRyaW0uXG4gKiBAcmV0dXJuIHtTdHJpbmd9IFRyaW1tZWQgdmVyc2lvbiBvZiBgc3RyYC5cbiAqXG4gKiBAZnVuY1xuICogQGZvcmsgdjAuNi4wXG4gKiBAY2F0ZWdvcnkgU3RyaW5nXG4gKiBAc2lnIFN0cmluZyAtPiBTdHJpbmdcbiAqXG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Byb2Nlc3NpbmctanMvcHJvY2Vzc2luZy1qcy9ibG9iL21hc3Rlci9zcmMvUDVGdW5jdGlvbnMvY29tbW9uRnVuY3Rpb25zLmpzI0wxOCBwcm9jZXNzaW5nLWpzLXRyaW19XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21hZHJvYmJ5L3plcHRvL2Jsb2IvbWFzdGVyL3NyYy96ZXB0by5qcyNMMzU3IHplcHRvLXRyaW19XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3JhbWRhL3JhbWRhL2Jsb2IvbWFzdGVyL3NyYy90cmltLmpzIHJhbWRhLXRyaW19XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2xvZGFzaC9sb2Rhc2gvYmxvYi9tYXN0ZXIvdHJpbS5qcyBsb2Rhc2gtdHJpbX1cbiAqIEBzZWUge0BsaW5rIHByb2Nlc3NpbmctanMtdHJpbX1cbiAqIEBzZWUge0BsaW5rIGxvZGFzaC10cmltfVxuICogQHNlZSB7QGxpbmsgcmFtZGEtdHJpbX1cbiAqIEBzZWUge0BsaW5rIHplcHRvLXRyaW19XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICAgIHRyaW0oJyAgIHh5eiAgJylcbiAqICAgICAgLy89PiAneHl6J1xuICpcbiAqICAgICAgbWFwKHRyaW0sIHNwbGl0KCcsJywgJ3gsIHksIHonKSlcbiAqICAgICAgLy89PiBbJ3gnLCAneScsICd6J11cbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdHJpbShzdHIgLyosIGNoYXJhY3RlcnMgKi8pIHtcbiAgcmV0dXJuIHN0ci50cmltKClcbn1cblxuLy8gcG9seWZpbGxcbi8vIChmdW5jdGlvbigpIHtcbi8vICAgdmFyIHdzID0gJ1xceDA5XFx4MEFcXHgwQlxceDBDXFx4MERcXHgyMFxceEEwXFx1MTY4MFxcdTE4MEVcXHUyMDAwXFx1MjAwMVxcdTIwMDJcXHUyMDAzJyArXG4vLyAgICAgICAgICAgICdcXHUyMDA0XFx1MjAwNVxcdTIwMDZcXHUyMDA3XFx1MjAwOFxcdTIwMDlcXHUyMDBBXFx1MjAyRlxcdTIwNUZcXHUzMDAwXFx1MjAyOCcgK1xuLy8gICAgICAgICAgICAnXFx1MjAyOVxcdUZFRkYnXG4vLyAgIHZhciB6ZXJvV2lkdGggPSAnXFx1MjAwYidcbi8vICAgdmFyIGhhc1Byb3RvVHJpbSA9ICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50cmltID09PSAnZnVuY3Rpb24nKVxuLy8gICBpZiAoIWhhc1Byb3RvVHJpbSB8fCAod3MudHJpbSgpIHx8ICF6ZXJvV2lkdGgudHJpbSgpKSkge1xuLy8gICAgIHJldHVybiBfY3VycnkxKGZ1bmN0aW9uIHRyaW0oc3RyKSB7XG4vLyAgICAgICB2YXIgYmVnaW5SeCA9IG5ldyBSZWdFeHAoJ15bJyArIHdzICsgJ11bJyArIHdzICsgJ10qJylcbi8vICAgICAgIHZhciBlbmRSeCA9IG5ldyBSZWdFeHAoJ1snICsgd3MgKyAnXVsnICsgd3MgKyAnXSokJylcbi8vICAgICAgIHJldHVybiBzdHIucmVwbGFjZShiZWdpblJ4LCAnJykucmVwbGFjZShlbmRSeCwgJycpXG4vLyAgICAgfSlcbi8vICAgfVxuLy8gfSkoKVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdDQSxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsSUFBSSxDQUFDLEdBQUcsb0JBQW9CO0VBQ3BELE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRTtDQUNsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=