quick_state 0.0.1 copy "quick_state: ^0.0.1" to clipboard
quick_state: ^0.0.1 copied to clipboard

A dynamic State Manager.

O Quick é um gerenciador de estado dinâmico fundamentado em Singleton que permite o gerenciamento de variáveis de forma global e uma grande integração com o flutter_secure_storage o que posibilita uma extrema facilidade e praticidade na persistência de dados do seu app, como cache, tokens, informações que são utilizadas a todo momento e que agora serão facilmete acessivéis. A curva de aprendizado é muito curta assim como a implementação, mas ainda assim é possível realizar implementações mais robutas que resultam em um maior controle e emuma maior performance.

Features #

-notify(dynamic dependency): Notifica um ouvinte específico para atualizar seu estado.

notifyAll(): Notifica todos os ouvintes para atualizar seus estados.

statusOf(String key): Retorna o status de um Worker.

setStatus(String key, dynamic status): Define o status de um Worker.

set(String key, dynamic value): Define um valor associado a uma key no Quick e retorna uma referência para essa key.

make(String key, Function(dynamic) maker): Cria um valor usando uma função maker para uma key no Quick e retorna uma referência para essa key.

get(String key): Obtém o valor associado a uma key no Quick.

getAs

store(String key, dynamic value): Armazena um valor no dispositivo usando flutter_secure_storage.

fromStore

free(String key): Remove uma key e seu valor do Quick.

ref(String key): Retorna uma referência para uma key no Quick.

clear(): Remove todos os valores do Quick.

clearWithout(List

lock(String key): Bloqueia uma key específica para evitar alterações.

unlock(String key): Desbloqueia uma key anteriormente bloqueada.

on(String key, Function(dynamic params, Function(dynamic) setStatus) work): Define um trabalho a ser executado para uma key no Quick.

off(String key): Remove um trabalho associado a uma key no Quick.

call(String key, {dynamic params}): Executa o trabalho associado a uma key no Quick e atualiza o status.

caller(String key, {dynamic params}): Retorna uma função que pode ser usada para executar o trabalho associado a uma key no Quick.

bind(dynamic obj): Retorna a instância Singleton de um objeto.

dispose(dynamic obj): Remove a instância Singleton de um objeto.

watcher(Widget Function() build, {List

builder({Widget Function(BuildContext context) builder, List

switcher({dynamic status, Map<dynamic, Widget> cases, List

Getting started #

O Quick não necessita de setup, apenas use onde precisar! :)

Usage #

void main() {
  Quick.set('contador', 3);
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    Quick.set('contador', 57);
    return MaterialApp(
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyWidget(),
    );
  }
}

class MyWidget extends StatelessWidget {
  const MyWidget({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Contador Flutter'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'Contagem:',
              style: TextStyle(fontSize: 20),
            ),
            Quick.watcher(
              () => Text(
                "Meu contador vale ${Quick.get('contador')}!",
                style: const TextStyle(fontSize: 36, fontWeight: FontWeight.bold),
              ),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () => Quick.make('contador', (c) => c + 1),
        tooltip: 'Incrementar',
        child: const Icon(Icons.add),
      ),
    );
  }
}

Additional information #

Me chamo Felipe Kaian, sou o autor deste pacote, vocês podem me econtrar no LinkedIn ou através do email felipekaianmutti@gmail.com, podem trazer melhorias, sugestões e feedbacks, quanto mais melhor, espero que esse pacote ajude nossa comunidade Flutter a crescer cada vez mais!

1
likes
100
points
23
downloads

Publisher

unverified uploader

Weekly Downloads

A dynamic State Manager.

Repository (GitHub)
View/report issues

Documentation

API reference

License

unknown (license)

Dependencies

flutter, flutter_secure_storage

More

Packages that depend on quick_state