0.2.5 • Published 8 months ago

@truffle/spinners v0.2.5

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

@truffle/spinners

This is used to manage multiple CLI spinners. It is essentially just a wrapper around the spinnies library that keeps a single instance of the spinnies object in module-level scope.

Usage

Typical example

import { Spinner } from "@truffle/spinners";

const spinner = new Spinner("unique-spinner-name", "watch me spin!");

try {
  await someLongRunningTask();
  spinner.succeed("Phew! 😅");
} catch {
  spinner.fail("Whoops, got too dizzy and fell over! 😵");
}

Hide on completion

import { Spinner } from "@truffle/spinners";

const spinner = new Spinner("unique-spinner-name", "Now you see me");

await someLongRunningTask();
spinner.remove();

Text updates

import { Spinner } from "@truffle/spinners";

const spinner = new Spinner("unique-spinner-name", "Reticulating splines...");

try {
  await reticulateSplines();

  spinner.text = "Perturbing Matrices";
  Promise.all(matrices.map(perturb));

  spinner.text = "Charging Ozone Layer";
  await ozoneLayer.charge();

  spinner.succeed();
} catch {
  spinner.fail("Darn it!");
}