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
			| 
											3 years ago
										 | /*! | ||
|  |  * 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; | ||
|  | } |