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.
		
		
		
		
		
			
		
			
				
					
					
						
							30 lines
						
					
					
						
							745 B
						
					
					
				
			
		
		
	
	
							30 lines
						
					
					
						
							745 B
						
					
					
				'use strict'; | 
						|
const renderers = { | 
						|
	silent: require('listr-silent-renderer'), | 
						|
	verbose: require('listr-verbose-renderer'), | 
						|
	default: require('listr-update-renderer') | 
						|
}; | 
						|
 | 
						|
const isRendererSupported = renderer => process.stdout.isTTY === true || renderer.nonTTY === true; | 
						|
 | 
						|
const getRendererClass = renderer => { | 
						|
	if (typeof renderer === 'string') { | 
						|
		return renderers[renderer] || renderers.default; | 
						|
	} | 
						|
 | 
						|
	return typeof renderer === 'function' ? renderer : renderers.default; | 
						|
}; | 
						|
 | 
						|
exports.getRenderer = (renderer, fallbackRenderer) => { | 
						|
	let ret = getRendererClass(renderer); | 
						|
 | 
						|
	if (!isRendererSupported(ret)) { | 
						|
		ret = getRendererClass(fallbackRenderer); | 
						|
 | 
						|
		if (!ret || !isRendererSupported(ret)) { | 
						|
			ret = renderers.verbose; | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	return ret; | 
						|
};
 | 
						|
 |