81 lines
1.5 KiB
TypeScript
81 lines
1.5 KiB
TypeScript
/// <reference types="node"/>
|
|
|
|
declare namespace logUpdate {
|
|
interface LogUpdate {
|
|
/**
|
|
Log to `stdout` by overwriting the previous output in the terminal.
|
|
|
|
@param text - The text to log to `stdout`.
|
|
|
|
@example
|
|
```
|
|
import logUpdate = require('log-update');
|
|
|
|
const frames = ['-', '\\', '|', '/'];
|
|
let i = 0;
|
|
|
|
setInterval(() => {
|
|
const frame = frames[i = ++i % frames.length];
|
|
|
|
logUpdate(
|
|
`
|
|
♥♥
|
|
${frame} unicorns ${frame}
|
|
♥♥
|
|
`
|
|
);
|
|
}, 80);
|
|
```
|
|
*/
|
|
(...text: string[]): void;
|
|
|
|
/**
|
|
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;
|
|
}
|
|
|
|
interface Options {
|
|
/**
|
|
Show the cursor. This can be useful when a CLI accepts input from a user.
|
|
|
|
@example
|
|
```
|
|
import logUpdate = require('log-update');
|
|
|
|
// Write output but don't hide the cursor
|
|
const log = logUpdate.create(process.stdout, {
|
|
showCursor: true
|
|
});
|
|
```
|
|
*/
|
|
readonly showCursor?: boolean;
|
|
}
|
|
}
|
|
|
|
declare const logUpdate: logUpdate.LogUpdate & {
|
|
/**
|
|
Log to `stderr` by overwriting the previous output in the terminal.
|
|
|
|
@param text - The text to log to `stderr`.
|
|
*/
|
|
readonly stderr: logUpdate.LogUpdate;
|
|
|
|
/**
|
|
Get a `logUpdate` method that logs to the specified stream.
|
|
|
|
@param stream - The stream to log to.
|
|
*/
|
|
readonly create: (
|
|
stream: NodeJS.WritableStream,
|
|
options?: logUpdate.Options
|
|
) => logUpdate.LogUpdate;
|
|
};
|
|
|
|
export = logUpdate;
|