NodeJS Loading Spinner

JS
S
JavaScript

Simple NodeJS Loading Spinner by 'ora'. https://www.npmjs.com/package/ora

1// lib/spinner.js
2const ora = require('ora')
3function spinner(message) {
4  const options = {
5    text: message,
6    // spinner: 'simpleDotsScrolling',
7    color: 'cyan'
8  }
9
10  this.oraSpinner = ora(options)
11  this.start = () => {
12    this.oraSpinner.start()
13    this.oraSpinner.render();
14    return this;
15  }
16  this.remove = () => {
17    this.oraSpinner.stop()
18  }
19  this.succeed = (succedMessage) => {
20    this.oraSpinner.text = succedMessage; 
21    this.oraSpinner.succeed()
22  }
23  this.failed = (failedMessage) => {
24    this.oraSpinner.text = failedMessage; 
25    this.oraSpinner.fail()
26  }
27
28  return this;
29}
30module.exports = spinner;
31
32
33// app.js
34'use strict'
35const spinner = require('./lib/spinner');
36// Loader
37const firstSpinner = new spinner('loading.. first spinner')
38  .start();
39
40const secondSpinner = new spinner('loading.. second spinner')
41  .start();
42
43const thirdSpinner = new spinner('loading.. third spinner')
44  .start();
45
46setTimeout(() => {
47  firstSpinner.succeed('completed 1');
48  secondSpinner.failed('failed 2');
49  thirdSpinner.succeed('completed 3');
50}, 2000);  

Created on 2/4/2018