0.0.2 • Published 6 years ago

@atlassian/terminal-dispatch-state v0.0.2

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

terminal-dispatch-state

Build dynamic terminal interfaces by updating the state.

npm.io

API

import { Store } from '@atlassian/terminal-dispatch-state';
import ora from 'ora'; // if you want to show a spinner

const store = new Store();
const state = [
  'line1',
  'line2',
  'line3',
];

store.update(state); // renders three lines in the terminal

state.push('line4');
store.update(state); // does not render anything because state is the same object

const newState = [...state];
store.update(newState); // adds one line

const spinner = ora('Loading unicorns');
const newStateWithUnicorns = [
  ...newState,
  { spinner, isRunning: true }
]
store.update([...newState, progress]); // adds ora spinner with text

store.stop();