securityos/node_modules/log-update/index.d.ts

105 lines
1.8 KiB
TypeScript
Raw Normal View History

2024-09-06 15:32:35 +00:00
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;