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.
		
		
		
		
		
			
		
			
				
					
					
						
							46 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							46 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; | |
| }
 | |
| 
 |