Package logo

Build Status npm Standard Shared Config

Purely and accurately overwrites the previous output in the terminal, while maintaining the history of third-party logs.

## Install ``` npm install stdout-update ``` ## Usage ```typescript import UpdateManager from 'stdout-update'; const TICKS = 60; const TIMEOUT = 80; const manager = UpdateManager.getInstance(); const frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']; const messages = ['Swapping time and space...', 'Have a good day.', "Don't panic...", 'Updating Updater...', '42']; let ticks = TICKS; let i = 0; manager.hook(); // eslint-disable-next-line no-console console.log(' - log message'); // eslint-disable-next-line no-console console.error(' - error message'); // eslint-disable-next-line no-console console.warn(' - warn message'); const id = setInterval(() => { if (--ticks < 0) { clearInterval(id); manager.update(['✔ Success', '', 'Messages:', 'this line is be deleted!!!']); manager.erase(1); manager.unhook(false); } else { const frame = frames[(i = ++i % frames.length)]; const index = Math.round(ticks / 10) % messages.length; const message = messages[index]; if (message) manager.update([`${frame} Some process...`, message]); } }, TIMEOUT); ``` ## Examples [tasktree-cli](https://github.com/keindev/tasktree) - simple terminal task tree, helps you keep track of your tasks in a tree structure. ## API Read the [API documentation](docs/api/index.md) for more information.