Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.10.0

normalize

Normalização e desnormalização de respostas do GraphQL em Dart

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
486 mil
Curtidas
16
Pontos Pub
130

Instalar pacote

flutter pub add normalize

Visão geral do pacote

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

O pacote normalize fornece utilitários para normalizar e denormalizar respostas do GraphQL em Dart, permitindo gerenciamento eficiente de dados e coerência de cache. Foi projetado para funcionar sem problemas com o cliente GraphQL Ferry, transformando dados GraphQL aninhados em uma estrutura plana e normalizada que evita duplicações e simplifica as atualizações de estado. Isso melhora o desempenho e a consistência ao lidar com consultas e mutações complexas. O pacote suporta todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux.

Casos de uso

  • Armazenando em cache os resultados da consulta GraphQL
  • Gerenciando estruturas de dados aninhadas
  • Melhorando a eficiência da atualização de estado
  • Sincronizando o estado do lado do cliente com respostas do servidor
  • Otimizando o desempenho em aplicativos de grande escala

Principais recursos

  • Normalização de dados planos
  • Deduplicação automática de entidades
  • Suporte a relacionamentos de objeto GraphQL
  • Integração com o cliente Ferry
  • Compatibilidade multiplataforma

Indicado para

  • Clientes GraphQL usando Ferry
  • Aplicativos com dados aninhados complexos
  • Desenvolvedores priorizando o desempenho do cache
  • Gerenciamento de estado com dados normalizados
  • Aplicações full-stack Dart/Flutter

Considerações

  • Requer familiaridade com estruturas de dados GraphQL
  • Melhor usado com o Ferry ou clientes semelhantes
  • Pode aumentar a complexidade da configuração inicial
  • Limitado a casos de uso específicos do GraphQL
  • Não adequado para formatos de dados não-GraphQL

README original

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

A simple, powerful GraphQL Client for Flutter and Dart

MIT License PRs Welcome Watch on GitHub Star on GitHub Watch on GitHub Discord

Documentation 📖

Features

  1. ✅ Fully Typed: work faster and safer with compile time checks and IDE autocomplete, including fully typed Cache reads and writes.
  2. 🔄 Built-In Code Generators: automatically generated immutable data classes for all your GraphQL Operations and Fragments, based on your schema.
  3. 🌐 Customizable Network Interface: highly customizable network interface using gql_link, allowing you to compose and extend Links.
  4. ✨ Normalized Optimistic Cache: keep data in sync with cache normalization and update your UI instantly with optimistic data.
  5. 💾 Multiple Data Stores: extensible Store interface with built-in MemoryStore and HiveStore (which uses hive for offline persistence).
  6. 📄 Refetch & Pagination: easily update responses with new data or combine multiple responses, allowing for seamless pagination.
  7. 📱 Flutter Widgets: Widgets for Queries, Mutations, and Subscriptions, available out of the box.
  8. 🧈 Smooth: Run queries in a separate Isolate to free up resources on the UI thread

Packages

This repo is a monorepo for ferry and related packages.

Pub Package Description
version package:ferry Stream-based GraphQL Client
version package:ferry_cache Normalized, strongly typed, optimistic cache
version package:ferry_exec Strongly typed GraphQL execution interface
version package:ferry_flutter Flutter Widgets for GraphQL Operations
version package:ferry_generator Dart Type Generator for GraphQL Operations
version package:ferry_store Data Persistence for ferry's cache
version package:ferry_hive_store Hive implementation of ferry_store
version package:normalize Normalization / denormalization of GraphQL data

Categorias

Dependências

Lista de dependências 2 itens

Repositório-fonte

Projetos que usam este pacote