35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/**
 | 
						|
 * @license
 | 
						|
 * Copyright Google Inc. All Rights Reserved.
 | 
						|
 *
 | 
						|
 * Use of this source code is governed by an MIT-style license that can be
 | 
						|
 * found in the LICENSE file at https://angular.io/license
 | 
						|
 */
 | 
						|
 | 
						|
type Inquirer = typeof import('inquirer');
 | 
						|
 | 
						|
let resolvedInquirerModule: Inquirer|null;
 | 
						|
 | 
						|
try {
 | 
						|
  // "inquirer" is the prompt module also used by the devkit schematics CLI
 | 
						|
  // in order to show prompts for schematics. We transitively depend on this
 | 
						|
  // module, but don't want to throw an exception if the module is not
 | 
						|
  // installed for some reason. In that case prompts are just not supported.
 | 
						|
  resolvedInquirerModule = require('inquirer');
 | 
						|
} catch (e) {
 | 
						|
  resolvedInquirerModule = null;
 | 
						|
}
 | 
						|
 | 
						|
/** Whether prompts are currently supported. */
 | 
						|
export function supportsPrompt(): boolean {
 | 
						|
  return !!resolvedInquirerModule && !!process.stdin.isTTY;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Gets the resolved instance of "inquirer" which can be used to programmatically
 | 
						|
 * create prompts.
 | 
						|
 */
 | 
						|
export function getInquirer(): Inquirer {
 | 
						|
  return resolvedInquirerModule!;
 | 
						|
}
 |