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.
		
		
		
		
		
			
		
			
				
					
					
						
							257 lines
						
					
					
						
							5.1 KiB
						
					
					
				
			
		
		
	
	
							257 lines
						
					
					
						
							5.1 KiB
						
					
					
				/// <reference types="node"/> | 
						|
import {SpinnerName} from 'cli-spinners'; | 
						|
 | 
						|
declare namespace ora { | 
						|
	interface Spinner { | 
						|
		readonly interval?: number; | 
						|
		readonly frames: string[]; | 
						|
	} | 
						|
 | 
						|
	type Color = | 
						|
		| 'black' | 
						|
		| 'red' | 
						|
		| 'green' | 
						|
		| 'yellow' | 
						|
		| 'blue' | 
						|
		| 'magenta' | 
						|
		| 'cyan' | 
						|
		| 'white' | 
						|
		| 'gray'; | 
						|
 | 
						|
	interface Options { | 
						|
		/** | 
						|
		Text to display after the spinner. | 
						|
		*/ | 
						|
		readonly text?: string; | 
						|
 | 
						|
		/** | 
						|
		Text to display before the spinner. | 
						|
		*/ | 
						|
		readonly prefixText?: string; | 
						|
 | 
						|
		/** | 
						|
		Name of one of the provided spinners. See [`example.js`](https://github.com/BendingBender/ora/blob/master/example.js) in this repo if you want to test out different spinners. On Windows, it will always use the line spinner as the Windows command-line doesn't have proper Unicode support. | 
						|
 | 
						|
		@default 'dots' | 
						|
 | 
						|
		Or an object like: | 
						|
 | 
						|
		@example | 
						|
		``` | 
						|
		{ | 
						|
			interval: 80, // Optional | 
						|
			frames: ['-', '+', '-'] | 
						|
		} | 
						|
		``` | 
						|
		*/ | 
						|
		readonly spinner?: SpinnerName | Spinner; | 
						|
 | 
						|
		/** | 
						|
		Color of the spinner. | 
						|
 | 
						|
		@default 'cyan' | 
						|
		*/ | 
						|
		readonly color?: Color; | 
						|
 | 
						|
		/** | 
						|
		Set to `false` to stop Ora from hiding the cursor. | 
						|
 | 
						|
		@default true | 
						|
		*/ | 
						|
		readonly hideCursor?: boolean; | 
						|
 | 
						|
		/** | 
						|
		Indent the spinner with the given number of spaces. | 
						|
 | 
						|
		@default 0 | 
						|
		*/ | 
						|
		readonly indent?: number; | 
						|
 | 
						|
		/** | 
						|
		Interval between each frame. | 
						|
 | 
						|
		Spinners provide their own recommended interval, so you don't really need to specify this. Default value: Provided by the spinner or `100`. | 
						|
		*/ | 
						|
		readonly interval?: number; | 
						|
 | 
						|
		/** | 
						|
		Stream to write the output. | 
						|
 | 
						|
		You could for example set this to `process.stdout` instead. | 
						|
 | 
						|
		@default process.stderr | 
						|
		*/ | 
						|
		readonly stream?: NodeJS.WritableStream; | 
						|
 | 
						|
		/** | 
						|
		Force enable/disable the spinner. If not specified, the spinner will be enabled if the `stream` is being run inside a TTY context (not spawned or piped) and/or not in a CI environment. | 
						|
 | 
						|
		Note that `{isEnabled: false}` doesn't mean it won't output anything. It just means it won't output the spinner, colors, and other ansi escape codes. It will still log text. | 
						|
		*/ | 
						|
		readonly isEnabled?: boolean; | 
						|
	} | 
						|
 | 
						|
	interface PersistOptions { | 
						|
		/** | 
						|
		Symbol to replace the spinner with. | 
						|
 | 
						|
		@default ' ' | 
						|
		*/ | 
						|
		readonly symbol?: string; | 
						|
 | 
						|
		/** | 
						|
		Text to be persisted after the symbol. Default: Current `text`. | 
						|
		*/ | 
						|
		readonly text?: string; | 
						|
 | 
						|
		/** | 
						|
		Text to be persisted before the symbol. Default: Current `prefixText`. | 
						|
		*/ | 
						|
		readonly prefixText?: string; | 
						|
	} | 
						|
 | 
						|
	interface Ora { | 
						|
		/** | 
						|
		A boolean of whether the instance is currently spinning. | 
						|
		*/ | 
						|
		readonly isSpinning: boolean; | 
						|
 | 
						|
		/** | 
						|
		Change the text after the spinner. | 
						|
		*/ | 
						|
		text: string; | 
						|
 | 
						|
		/** | 
						|
		Change the text before the spinner. | 
						|
		*/ | 
						|
		prefixText: string; | 
						|
 | 
						|
		/** | 
						|
		Change the spinner color. | 
						|
		*/ | 
						|
		color: Color; | 
						|
 | 
						|
		/** | 
						|
		Change the spinner. | 
						|
		*/ | 
						|
		spinner: SpinnerName | Spinner; | 
						|
 | 
						|
		/** | 
						|
		Change the spinner indent. | 
						|
		*/ | 
						|
		indent: number; | 
						|
 | 
						|
		/** | 
						|
		Start the spinner. | 
						|
 | 
						|
		@param text - Set the current text. | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		start(text?: string): Ora; | 
						|
 | 
						|
		/** | 
						|
		Stop and clear the spinner. | 
						|
 | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		stop(): Ora; | 
						|
 | 
						|
		/** | 
						|
		Stop the spinner, change it to a green `✔` and persist the current text, or `text` if provided. | 
						|
 | 
						|
		@param text - Will persist text if provided. | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		succeed(text?: string): Ora; | 
						|
 | 
						|
		/** | 
						|
		Stop the spinner, change it to a red `✖` and persist the current text, or `text` if provided. | 
						|
 | 
						|
		@param text - Will persist text if provided. | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		fail(text?: string): Ora; | 
						|
 | 
						|
		/** | 
						|
		Stop the spinner, change it to a yellow `⚠` and persist the current text, or `text` if provided. | 
						|
 | 
						|
		@param text - Will persist text if provided. | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		warn(text?: string): Ora; | 
						|
 | 
						|
		/** | 
						|
		Stop the spinner, change it to a blue `ℹ` and persist the current text, or `text` if provided. | 
						|
 | 
						|
		@param text - Will persist text if provided. | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		info(text?: string): Ora; | 
						|
 | 
						|
		/** | 
						|
		Stop the spinner and change the symbol or text. | 
						|
 | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		stopAndPersist(options?: PersistOptions): Ora; | 
						|
 | 
						|
		/** | 
						|
		Clear the spinner. | 
						|
 | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		clear(): Ora; | 
						|
 | 
						|
		/** | 
						|
		Manually render a new frame. | 
						|
 | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		render(): Ora; | 
						|
 | 
						|
		/** | 
						|
		Get a new frame. | 
						|
 | 
						|
		@returns The spinner instance. | 
						|
		*/ | 
						|
		frame(): Ora; | 
						|
	} | 
						|
} | 
						|
 | 
						|
declare const ora: { | 
						|
	/** | 
						|
	Elegant terminal spinner. | 
						|
 | 
						|
	@param options - If a string is provided, it is treated as a shortcut for `options.text`. | 
						|
 | 
						|
	@example | 
						|
	``` | 
						|
	import ora = require('ora'); | 
						|
 | 
						|
	const spinner = ora('Loading unicorns').start(); | 
						|
 | 
						|
	setTimeout(() => { | 
						|
		spinner.color = 'yellow'; | 
						|
		spinner.text = 'Loading rainbows'; | 
						|
	}, 1000); | 
						|
	``` | 
						|
	*/ | 
						|
	(options?: ora.Options | string): ora.Ora; | 
						|
 | 
						|
	/** | 
						|
	Starts a spinner for a promise. The spinner is stopped with `.succeed()` if the promise fulfills or with `.fail()` if it rejects. | 
						|
 | 
						|
	@param action - The promise to start the spinner for. | 
						|
	@param options - If a string is provided, it is treated as a shortcut for `options.text`. | 
						|
	@returns The spinner instance. | 
						|
	*/ | 
						|
	promise( | 
						|
		action: PromiseLike<unknown>, | 
						|
		options?: ora.Options | string | 
						|
	): ora.Ora; | 
						|
 | 
						|
	// TODO: Remove this for the next major release | 
						|
	default: typeof ora; | 
						|
}; | 
						|
 | 
						|
export = ora;
 | 
						|
 |