|
- /// <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;
|