105 lines
1.8 KiB
TypeScript
105 lines
1.8 KiB
TypeScript
|
export interface Options {
|
||
|
/**
|
||
|
Show the cursor. This can be useful when a CLI accepts input from a user.
|
||
|
|
||
|
@example
|
||
|
```
|
||
|
import {createLogUpdate} from 'log-update';
|
||
|
|
||
|
// Write output but don't hide the cursor
|
||
|
const log = createLogUpdate(process.stdout, {
|
||
|
showCursor: true
|
||
|
});
|
||
|
```
|
||
|
*/
|
||
|
readonly showCursor?: boolean;
|
||
|
}
|
||
|
|
||
|
type LogUpdateMethods = {
|
||
|
/**
|
||
|
Clear the logged output.
|
||
|
*/
|
||
|
clear(): void;
|
||
|
|
||
|
/**
|
||
|
Persist the logged output. Useful if you want to start a new log session below the current one.
|
||
|
*/
|
||
|
done(): void;
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
Log to `stdout` by overwriting the previous output in the terminal.
|
||
|
|
||
|
@param text - The text to log to `stdout`.
|
||
|
|
||
|
@example
|
||
|
```
|
||
|
import logUpdate from 'log-update';
|
||
|
|
||
|
const frames = ['-', '\\', '|', '/'];
|
||
|
let index = 0;
|
||
|
|
||
|
setInterval(() => {
|
||
|
const frame = frames[index = ++index % frames.length];
|
||
|
|
||
|
logUpdate(
|
||
|
`
|
||
|
♥♥
|
||
|
${frame} unicorns ${frame}
|
||
|
♥♥
|
||
|
`
|
||
|
);
|
||
|
}, 80);
|
||
|
```
|
||
|
*/
|
||
|
declare const logUpdate: ((...text: string[]) => void) & LogUpdateMethods;
|
||
|
|
||
|
export default logUpdate;
|
||
|
|
||
|
/**
|
||
|
Log to `stderr` by overwriting the previous output in the terminal.
|
||
|
|
||
|
@param text - The text to log to `stderr`.
|
||
|
|
||
|
@example
|
||
|
```
|
||
|
import {logUpdateStderr} from 'log-update';
|
||
|
|
||
|
const frames = ['-', '\\', '|', '/'];
|
||
|
let index = 0;
|
||
|
|
||
|
setInterval(() => {
|
||
|
const frame = frames[index = ++index % frames.length];
|
||
|
|
||
|
logUpdateStderr(
|
||
|
`
|
||
|
♥♥
|
||
|
${frame} unicorns ${frame}
|
||
|
♥♥
|
||
|
`
|
||
|
);
|
||
|
}, 80);
|
||
|
```
|
||
|
*/
|
||
|
declare const logUpdateStderr: ((...text: string[]) => void) & LogUpdateMethods;
|
||
|
|
||
|
export {logUpdateStderr};
|
||
|
|
||
|
/**
|
||
|
Get a `logUpdate` method that logs to the specified stream.
|
||
|
|
||
|
@param stream - The stream to log to.
|
||
|
|
||
|
@example
|
||
|
```
|
||
|
import {createLogUpdate} from 'log-update';
|
||
|
|
||
|
// Write output but don't hide the cursor
|
||
|
const log = createLogUpdate(process.stdout);
|
||
|
```
|
||
|
*/
|
||
|
export function createLogUpdate(
|
||
|
stream: NodeJS.WritableStream,
|
||
|
options?: Options
|
||
|
): typeof logUpdate;
|