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.
|
|
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';
type PrefixTextGenerator = () => string;
interface Options { /** Text to display after the spinner. */ readonly text?: string;
/** Text or a function that returns text to display before the spinner. No prefix text will be displayed if set to an empty string. */ readonly prefixText?: string | PrefixTextGenerator;
/** Name of one of the provided spinners. See [`example.js`](https://github.com/BendingBender/ora/blob/main/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: 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;
/** Disable the spinner and all log text. All output is suppressed and `isEnabled` will be considered `false`.
@default false */ readonly isSilent?: boolean;
/** Discard stdin input (except Ctrl+C) while running if it's TTY. This prevents the spinner from twitching on input, outputting broken lines on `Enter` key presses, and prevents buffering of input while the spinner is running.
This has no effect on Windows as there's no good way to implement discarding stdin properly there.
@default true */ readonly discardStdin?: 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 or a function that returns text to be persisted before the symbol. No prefix text will be displayed if set to an empty string.
Default: Current `prefixText`. */ readonly prefixText?: string | PrefixTextGenerator; }
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 or function that returns text before the spinner. No prefix text will be displayed if set to an empty string. */ prefixText: string | PrefixTextGenerator;
/** 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 text. */ frame(): string; } }
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; };
export = ora;
|