Skip to content

[Request] Export type for Spinner (ReturnType<typeof spinner>) #248

@JoshuaKGoldberg

Description

@JoshuaKGoldberg

Is your feature request related to a problem? Please describe.

I'd like to be able to refer to a created spinner in code.

let s; // 👈 What type could go here?

// ...

s = spinner();

But, spinner right now has just an inferred return type:

declare const spinner: ({ indicator }?: SpinnerOptions) => {
    start: (msg?: string) => void;
    stop: (msg?: string, code?: number) => void;
    message: (msg?: string) => void;
};

...so in order to create a type, you'd have to either rewrite that or use some fancy type reference like:

type Spinner = ReturnType<typeof spinner>;

Describe the solution you'd like

Could we have a Spinner type declared in and exported from @clack/prompts, please? 🙂

Describe alternatives you've considered

🤷 I can't think of any others.

Example place I've used this: https://github.com/JoshuaKGoldberg/bingo/blob/0ffcbde7df02171a611b332b9a902492bf728382/packages/bingo/src/cli/display/createClackDisplay.ts#L11-L12

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions