FLUTTER ECOSYSTEM

mvitlov/cli_spin

Um pacote Dart que melhora a experiência do usuário exibindo um spinner elegante de terminal para operações síncronas e assíncronas.

Capa do projeto cli_spin
Stars
9
Forks
0
Último push (UTC)
18 de out. de 2023
Status do projeto
Ativo
Marin Vitlov GitHub avatar
GITHUB User

Marin Vitlov ↗

Flutter ❤️

ABOUT YOU SE & Co. KGZagrebSite oficial ↗
LinguagensDart

Pacotes publicados por este repositório

Dependências usadas

Lista de dependências 5 itens
  • ansi_strip^0.1.1+1
  • string_width^0.1.5
  • lintsDesenvolvimento^2.0.0
  • mocktailDesenvolvimento^1.0.1
  • testDesenvolvimento^1.21.0

README original

Texto original em inglês. Visite o GitHub para a versão atual.

Expandir / recolher README

A Dart package that enhances the user experience by displaying a sleek terminal spinner for both sync and async operations.

preview

Features

  • 80+ predefined spinners accessible via CliSpinners
  • Easily change color of spinners and/or text with use of CliSpinnerColor helper
  • Define your own character sets (frames) and intervals for your custom spinners
  • Custom spinner text (w/ separate suffix and prefix options)
  • Start/stop methods
  • Stop and persist the spinner with custom text and symbol
  • Predefiend success, fail, warn and info methods (cross-platform compatible)

Getting started

TODO: List prerequisites and provide or point to information on how to start using the package.

Usage example

import 'dart:async';
import 'package:cli_spin/cli_spin.dart';

void main() {
  // Instantiate spinner
  final spinner = CliSpin(
    text: 'Loading data...',
    spinner: CliSpinners.line,
  ).start(); // Chaining methods

  Timer(Duration(milliseconds: 1000), () {
    // Change spinner color
    spinner.color = CliSpinnerColor.yellow; 
    
    // Change spinner text
    spinner.text = 'Still loading, please wait...';

    Timer(Duration(milliseconds: 1000), () {
      // Alias for `stopAndPersist(...)` method
      spinner.success('Data loaded successfully.');
    });
  });
}

Additional information

Inspired by the ora library written in Javascript.