flagstaff
API reference

flagstaff/ora

Every export of flagstaff/ora, with its signature and doc comment: ora, oraPromise, spinners, Ora, plus 10 types.

import ora from 'flagstaff/ora';
import { oraPromise, spinners, Ora } from 'flagstaff/ora';

Functions

default

The default export, declared as ora.

function ora(options?: Options | string): Ora;
ParameterType
options (optional)Options | string

Returns Ora

oraPromise

Run an action under a spinner, and land on the right symbol whichever way it ends.

function oraPromise<T>(action: Promise<T> | ((spinner: Ora) => Promise<T>), options?: PromiseOptions<T> | string): Promise<T>;
ParameterType
actionPromise<T> | ((spinner: Ora) => Promise<T>)
options (optional)PromiseOptions<T> | string

Returns Promise<T>

Classes

Ora

class Ora {
    #private;
    constructor(options?: Options | string);
    get indent(): number;
    set indent(indent: number | undefined);
    get interval(): number;
    get spinner(): SpinnerDefinition;
    set spinner(spinner: SpinnerDefinition | string | undefined);
    get text(): string;
    set text(value: string | undefined);
    get prefixText(): Affix;
    set prefixText(value: Affix | undefined);
    get suffixText(): Affix;
    set suffixText(value: Affix | undefined);
    get isSpinning(): boolean;
    get color(): Color | false | undefined;
    set color(value: Color | false | undefined);
    get isEnabled(): boolean;
    set isEnabled(value: boolean);
    get isSilent(): boolean;
    set isSilent(value: boolean);
    frame(): string;
    clear(): this;
    render(): this;
    start(text?: string): this;
    stop(): this;
    succeed(text?: string): this;
    fail(text?: string): this;
    warn(text?: string): this;
    info(text?: string): this;
    stopAndPersist(options?: PersistOptions): this;
}

Constants

spinners

Every spinner cli-spinners ships, unedited — ora re-exports it and so do we.

const spinners: Record<string, SpinnerDefinition>;

Interfaces

Options

interface Options {
    text?: string;
    prefixText?: Affix;
    suffixText?: Affix;
    spinner?: SpinnerDefinition | string;
    color?: Color | false;
    hideCursor?: boolean;
    indent?: number;
    interval?: number | undefined;
    stream?: OraStream;
    isEnabled?: boolean;
    isSilent?: boolean;
    discardStdin?: boolean;
}

OraStream

What ora writes to: the runtime's stderr by default, anything stream-shaped in a test.

interface OraStream {
    write(chunk: string, encoding?: unknown, callback?: unknown): boolean;
    isTTY?: boolean;
    columns?: number;
    rows?: number;
    cursorTo?(x: number): unknown;
    moveCursor?(dx: number, dy: number): unknown;
    clearLine?(direction: number): unknown;
    once?(event: string, listener: () => void): unknown;
    removeListener?(event: string, listener: () => void): unknown;
}

PersistOptions

interface PersistOptions {
    symbol?: string;
    text?: string;
    prefixText?: Affix;
    suffixText?: Affix;
}

PromiseOptions

interface PromiseOptions<T> extends Options {
    successText?: string | ((result: T) => string);
    failText?: string | ((error: unknown) => string);
    successSymbol?: string;
    failSymbol?: string;
}

SpinnerDefinition

interface SpinnerDefinition {
    interval?: number;
    frames: string[];
}

Types

Affix

A prefix or suffix, resolved on every frame when it is a function.

type Affix = string | (() => string);

Color

type Color = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray';

PrefixTextGenerator

type PrefixTextGenerator = () => string;

Spinner

type Spinner = SpinnerDefinition;

SuffixTextGenerator

type SuffixTextGenerator = () => string;

On this page