Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.1.0

sorted

Sortieren Sie Listen komplexer Objekte einfach. Einfacher, aber leistungsfähiger Erweiterungsmethode.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
393
Likes
31
Pub-Punkte
140

Paket installieren

flutter pub add sorted

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das sortierte Paket bietet eine einfache und leistungsstarke Erweiterungsmethode zum Sortieren von Listen komplexer Objekte in Dart. Es erweitert die eingebaute List-Klasse mit einer intuitiven Syntax, um nach einem oder mehreren Feldern aufsteigend oder absteigend zu sortieren. Ideal für Entwickler, die mit strukturierten Daten wie Benutzerlisten, Produktkatalogen oder API-Antworten arbeiten, reduziert es Boilerplate-Code und verbessert die Lesbarkeit. Das Paket ist leichtgewichtig, plattformunabhängig und lässt sich nahtlos in Flutter- und Dart-Projekte auf Android, iOS, Web, macOS, Windows und Linux integrieren.

Anwendungsfälle

  • Benutzerdaten nach Name oder Alter sortieren
  • Produktlisten nach Preis oder Bewertung sortieren
  • API-Antwort-Arrays organisieren
  • Dynamische Listen-Sortierung in Benutzeroberflächen verarbeiten
  • Komplexe Objektsortierlogik vereinfachen

Hauptmerkmale

  • einfach zu verwendende Erweiterungsmethode
  • Unterstützt die Mehrfachfeld-Sortierung
  • Behandelt aufsteigende und absteigende Reihenfolge
  • Minimales Boilerplate
  • Funktioniert mit jedem Objekttyp
  • Plattformübergreifende Kompatibilität

Geeignet für

  • Entwickler, die eine saubere Sortiersyntax suchen
  • Projekte mit häufiger Listen-Sortierung
  • Flutter-Anwendungen mit dynamischer Datenanzeige
  • Teams, die der Codelesbarkeit Priorität einräumen
  • Dart-Entwickler vermeiden manuelle Vergleichslogik

Hinweise

  • Erfordert Dart 2.12+
  • Keine Laufzeittypsicherheit für Feldnamen
  • Beschränkt auf grundlegende Sortiermuster
  • Nicht geeignet für sehr komplexe Sortierregeln
  • Unterstützt keine benutzerdefinierten Vergleichsfunktionen über die grundlegenden Felder hinaus

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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.

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.