Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.1.0

sorted

Ordene listas de objetos complexos com facilidade. Método de extensão simples, mas poderoso.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
393
Curtidas
31
Pontos Pub
140

Instalar pacote

flutter pub add sorted

Visão geral do pacote

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

O pacote sorted fornece um método de extensão simples e poderoso para ordenar listas de objetos complexos em Dart. Ele aprimora a classe List embutida com uma sintaxe intuitiva para ordenar por um ou vários campos, suportando tanto ordem crescente quanto decrescente. Ideal para desenvolvedores que trabalham com dados estruturados, como listas de usuários, catálogos de produtos ou respostas de API, reduzindo o código repetitivo e melhorando a legibilidade. O pacote é leve, independente de plataforma e se integra perfeitamente a projetos Flutter e Dart em Android, iOS, Web, macOS, Windows e Linux.

Casos de uso

  • Ordenar dados do usuário por nome ou idade
  • Ordenar listas de produtos por preço ou classificação
  • Organizando matrizes de resposta da API
  • Manipulação da ordenação dinâmica de listas na interface do usuário
  • Simplificando a lógica complexa de ordenação de objetos

Principais recursos

  • método de extensão fácil de usar
  • Suporta ordenação multi-campo
  • Gerencia a ordem crescente e decrescente
  • Boilerplate mínimo
  • Funciona com qualquer tipo de objeto
  • Compatibilidade multiplataforma

Indicado para

  • Desenvolvedores em busca de uma sintaxe limpa para ordenação
  • Projetos com classificação frequente de listas
  • Aplicativos Flutter com exibição de dados dinâmicos
  • Equipes que priorizam a legibilidade do código
  • Desenvolvedores Dart evitando lógica de comparador manual

Considerações

  • Requer Dart 2.12+
  • Nenhuma segurança de tipo em tempo de execução para nomes de campo
  • Limitado a padrões básicos de ordenação
  • Não adequado para regras de classificação altamente complexas
  • Não suporta funções de comparação personalizadas além dos campos básicos

README original

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

sorted

Package on pub.dev Test suite

Sort lists of complex objects with ease. Simple but powerful extension method.

auctions.sorted([
    SortedOrdered<Auction, AuctionStatus>(
        (action) => auction.buyerContext.status,
        [AuctionStatus.live, AuctionStatus.won, AuctionStatus.lost],
    ),
    SortedComparable<Auction, DateTime>((auction) => auction.endedAt),
    SortedComparable<Auction, DateTime>(
        (auction) => auction.endedAt,
        invert: true,
    )
]);

Usage

Add the package to your pubspec.yaml:

dependencies:
  sorted: <newest version>

Import the package:

import 'package:sorted/sorted.dart';

Call sorted extension method on any list and pass sorting rules of your choice. Order matters, so if first rule considers two items equal, next one will decide and so on.

Sorting rules

All rules have an optional named argument invert which inverts the sorting order.

SortedOrdered
SortedOrdered<Auction, AuctionStatus>(
  (auction) => auction.buyerContext.status,
  [AuctionStatus.live, AuctionStatus.won, AuctionStatus.lost],
)

Sorts items by the mapped property value in an order passed as a second argument. In this example, live auctions will be first, then won, and then lost.

SortedGroupOrdered
SortedOrdered<Road, RoadType>(
  (road) => road.type,
  [
    [RoadType.nationalHighway, RoadType.stateHighway],
    [RoadType.district],
    [RoadType.dirt],
  ],
)

Sorts items by the mapped property value in the order of order groups, but all values withing a certain group are considered equal.

SortedComparable
SortedComparable<User, String>((user) => user.lastName)

Sorts items by the mapped property value using Comparable.compare which is basically a.compareTo(b). Sorts strings alphabetically, numbers ascending, etc.

SortedComparator
SortedComparator<Auction, String>(
  (auction) => auction.buyerContext.status,
  (a, b) =>  /* your custom compare function */,
)

Sorts items by the mapped property value using a custom comparator provided as a second argument.

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.