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.
		
		
		
		
		
			
		
			
				
					23 lines
				
				689 B
			
		
		
			
		
	
	
					23 lines
				
				689 B
			| 
								 
											3 years ago
										 
									 | 
							
								const { EOL } = require('os')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const getFirstRegexpMatchOrDefault = (text, regexp, defaultValue) => {
							 | 
						||
| 
								 | 
							
								  regexp.lastIndex = 0 // https://stackoverflow.com/a/11477448/4536543
							 | 
						||
| 
								 | 
							
								  let match = regexp.exec(text)
							 | 
						||
| 
								 | 
							
								  if (match !== null) return match[1]
							 | 
						||
| 
								 | 
							
								  return defaultValue
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const DEFAULT_INDENT = '  '
							 | 
						||
| 
								 | 
							
								const INDENT_REGEXP = /^([ \t]+)[^\s]/m
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports.detectIndent = text =>
							 | 
						||
| 
								 | 
							
								  getFirstRegexpMatchOrDefault(text, INDENT_REGEXP, DEFAULT_INDENT)
							 | 
						||
| 
								 | 
							
								module.exports.DEFAULT_INDENT = DEFAULT_INDENT
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const DEFAULT_EOL = EOL
							 | 
						||
| 
								 | 
							
								const EOL_REGEXP = /(\r\n|\n|\r)/g
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports.detectEOL = text =>
							 | 
						||
| 
								 | 
							
								  getFirstRegexpMatchOrDefault(text, EOL_REGEXP, DEFAULT_EOL)
							 | 
						||
| 
								 | 
							
								module.exports.DEFAULT_EOL = DEFAULT_EOL
							 |