system-prompts-and-models-o.../unified-ai-platform/node_modules/ora/readme.md
dopeuni444 b5a22951ae nhj
more
2025-07-31 12:23:33 +04:00

141 lines
3.0 KiB
Markdown

# ora
> Elegant terminal spinner
<p align="center">
<br>
<img src="screenshot.svg" width="500">
<br>
</p>
## Install
```
$ npm install ora
```
## Usage
```js
const ora = require('ora');
const spinner = ora('Loading unicorns').start();
setTimeout(() => {
spinner.color = 'yellow';
spinner.text = 'Loading rainbows';
}, 1000);
```
## API
### ora(text)
### ora(options)
If a string is provided, it is treated as a shortcut for [`options.text`](#text).
#### options
Type: `object`
##### text
Type: `string`
Text to display after the spinner.
##### prefixText
Type: `string | () => 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.
##### spinner
Type: `string | object`\
Default: `'dots'` <img src="screenshot-spinner.gif" width="14">
Name of one of the [provided spinners](https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json). See `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.
Or an object like:
```js
{
interval: 80, // Optional
frames: ['-', '+', '-']
}
```
##### color
Type: `string`\
Default: `'cyan'`\
Values: `'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray'`
Color of the spinner.
##### hideCursor
Type: `boolean`\
Default: `true`
Set to `false` to stop Ora from hiding the cursor.
##### indent
Type: `number`\
Default: `0`
Indent the spinner with the given number of spaces.
##### interval
Type: `number`\
Default: Provided by the spinner or `100`
Interval between each frame.
Spinners provide their own recommended interval, so you don't really need to specify this.
##### stream
Type: `stream.Writable`\
Default: `process.stderr`
Stream to write the output.
You could for example set this to `process.stdout` instead.
##### isEnabled
Type: `boolean`
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.
##### isSilent
Type: `boolean`\
Default: `false`
Disable the spinner and all log text. All output is suppressed and `isEnabled` will be considered `false`.
##### discardStdin
Type: `boolean`\
Default: `true`
Discard stdin input (except Ctrl+C) while running if it's TTY. This prevents the spinner from twitching on input, outputting broken lines on <kbd>Enter</kbd> 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.
### Instance
#### .start(text?)
Start the spinner. Returns the instance. Set the current text if `text` is provided.
#### .stop()
Stop and clear the spinner. Returns the inst