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.
		
		
		
		
		
			
		
			
				
					
					
						
							35 lines
						
					
					
						
							743 B
						
					
					
				
			
		
		
	
	
							35 lines
						
					
					
						
							743 B
						
					
					
				'use strict'; | 
						|
 | 
						|
module.exports = (string, count = 1, options) => { | 
						|
	options = { | 
						|
		indent: ' ', | 
						|
		includeEmptyLines: false, | 
						|
		...options | 
						|
	}; | 
						|
 | 
						|
	if (typeof string !== 'string') { | 
						|
		throw new TypeError( | 
						|
			`Expected \`input\` to be a \`string\`, got \`${typeof string}\`` | 
						|
		); | 
						|
	} | 
						|
 | 
						|
	if (typeof count !== 'number') { | 
						|
		throw new TypeError( | 
						|
			`Expected \`count\` to be a \`number\`, got \`${typeof count}\`` | 
						|
		); | 
						|
	} | 
						|
 | 
						|
	if (typeof options.indent !== 'string') { | 
						|
		throw new TypeError( | 
						|
			`Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\`` | 
						|
		); | 
						|
	} | 
						|
 | 
						|
	if (count === 0) { | 
						|
		return string; | 
						|
	} | 
						|
 | 
						|
	const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm; | 
						|
 | 
						|
	return string.replace(regex, options.indent.repeat(count)); | 
						|
};
 | 
						|
 |