Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.1.0

hydrated

Um BehaviorSubject automaticamente persistido com hidratação simples para Flutter. Destinado a ser usado com o padrão BLoC.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
385
Curtidas
29
Pontos Pub
130

Instalar pacote

flutter pub add hydrated

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Hydrated é um pacote Flutter que fornece um BehaviorSubject automaticamente persistido, permitindo a persistência de estado entre reinícios do aplicativo. Projetado para uso com o padrão BLoC, simplifica a gestão de estado ao salvar e restaurar automaticamente o estado no armazenamento local. O pacote garante resiliência de dados sem exigir serialização manual ou lógica de armazenamento, tornando-o ideal para manter preferências do usuário, dados de sessão ou informações em cache. Suporta todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux.

Casos de uso

  • Persistência de preferências do usuário
  • Armazenar em cache o estado do aplicativo
  • Manter dados de sessão
  • Restaurando o estado da interface após reiniciar
  • Gerenciando cenários de primeiro offline

Principais recursos

  • Persistência automática de estado
  • Serialização embutida
  • Integração sem falhas com BLoC
  • Suporte multiplataforma
  • Boilerplate mínimo

Indicado para

  • Gerenciamento de estado baseado em BLoC
  • Aplicativos que precisam reter dados offline
  • Desenvolvedores em busca de persistência simples
  • Aplicativos com estado com configuração mínima
  • Projetos que exigem recuperação confiável de dados

Considerações

  • Requer serialização correta de objetos de estado
  • Pode aumentar o tempo inicial de carregamento devido à leitura/gravação no disco
  • Não adequado para grandes conjuntos de dados
  • Limitado a tipos simples de estado
  • Depende dos mecanismos específicos de armazenamento da plataforma

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Hydrated

Version Build License style: solid

Hydrated provides a Subject that automatically persists to Flutter's local storage and hydrates on creation!

Easy to consume

All values are persisted with shared_preferences and restored with automatic hydration.

final count$ = HydratedSubject<int>("count", seedValue: 0);

/// count$ will automagically be hydrated with 42 next time it is created
count$.add(42);

Ready for BLoC

class HydratedBloc {
  final _count$ = HydratedSubject<int>("count", seedValue: 0);

  ValueObservable<int> get count$ => _count$.stream;
  Sink<int> get setCount => _count$.sink;

  dispose() {
    _count$.close();
  }
}

Supports simple types and serialized classes

We support all shared_preferences types.

  • int
  • double
  • bool
  • String
  • List<String>
final count$ = HydratedSubject<int>("count");

We also support serialized classes with hydrate and persist arguments.

final user$ = HydratedSubject<User>(
  "user",
  hydrate: (String s) => User.fromJson(s),
  persist: (User user) => user.toJson(),
);

Reliable

Hydrated is mock tested with all supported types and is dogfooded by its creator.

Extensible

Hydrated supports any key-value data storages -- just implement the KeyValueStore interface and you will be able to use hive, flutter_secure_storage or any other persistence solution of your choice.

class MyAwesomeKeyValueStore implements KeyValueStore {
  /// your implementation here...
}

final user = HydratedSubject<User>(
  "user",
  hydrate: (String s) => User.fromJson(s),
  persist: (User user) => user.toJson(),
  keyValueStore: MyAwesomeKeyValueStore()
);

Demo

demo of Hydrated BehaviorSubject between app restarts

Original developer

hydrated was originally developed by @lukepighetti.

Categorias

Dependências

Lista de dependências 2 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.