You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							47 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							47 lines
						
					
					
						
							1.0 KiB
						
					
					
				| /*!
 | |
|  * word-wrap <https://github.com/jonschlinkert/word-wrap>
 | |
|  *
 | |
|  * Copyright (c) 2014-2017, Jon Schlinkert.
 | |
|  * Released under the MIT License.
 | |
|  */
 | |
| 
 | |
| module.exports = function(str, options) {
 | |
|   options = options || {};
 | |
|   if (str == null) {
 | |
|     return str;
 | |
|   }
 | |
| 
 | |
|   var width = options.width || 50;
 | |
|   var indent = (typeof options.indent === 'string')
 | |
|     ? options.indent
 | |
|     : '  ';
 | |
| 
 | |
|   var newline = options.newline || '\n' + indent;
 | |
|   var escape = typeof options.escape === 'function'
 | |
|     ? options.escape
 | |
|     : identity;
 | |
| 
 | |
|   var regexString = '.{1,' + width + '}';
 | |
|   if (options.cut !== true) {
 | |
|     regexString += '([\\s\u200B]+|$)|[^\\s\u200B]+?([\\s\u200B]+|$)';
 | |
|   }
 | |
| 
 | |
|   var re = new RegExp(regexString, 'g');
 | |
|   var lines = str.match(re) || [];
 | |
|   var result = indent + lines.map(function(line) {
 | |
|     if (line.slice(-1) === '\n') {
 | |
|       line = line.slice(0, line.length - 1);
 | |
|     }
 | |
|     return escape(line);
 | |
|   }).join(newline);
 | |
| 
 | |
|   if (options.trim === true) {
 | |
|     result = result.replace(/[ \t]*$/gm, '');
 | |
|   }
 | |
|   return result;
 | |
| };
 | |
| 
 | |
| function identity(str) {
 | |
|   return str;
 | |
| }
 |