quick_state 0.0.1 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!