diff --git a/lib/src/extensions/list.dart b/lib/src/extensions/list.dart index e2bf2f4..e06225b 100644 --- a/lib/src/extensions/list.dart +++ b/lib/src/extensions/list.dart @@ -3,21 +3,6 @@ /// This extension provides a `unique` method that removes duplicate entries /// from the list, optionally using a custom identifier function. /// -/// Example usage: -/// ```dart -/// final list = [1, 2, 2, 3, 4, 4]; -/// final uniqueList = list.unique(); -/// print(uniqueList); // Output: [1, 2, 3, 4] -/// -/// final people = [ -/// Person(id: 1, name: 'Alice'), -/// Person(id: 2, name: 'Bob'), -/// Person(id: 1, name: 'Alice Duplicate'), -/// ]; -/// final uniquePeople = people.unique((person) => person.id); -/// print(uniquePeople.map((p) => p.name)); // Output: ['Alice', 'Bob'] -/// ``` -/// /// The method also supports in-place filtering for efficient memory usage. extension Unique on List { /// Returns a new list with unique elements, filtered by the provided [id] function. @@ -36,6 +21,22 @@ extension Unique on List { /// Returns: /// A `List` containing unique elements based on the specified [id] or the elements /// themselves if no [id] function is provided. + /// + /// Example usage: + /// ```dart + /// final list = [1, 2, 2, 3, 4, 4]; + /// final uniqueList = list.unique(); + /// print(uniqueList); // Output: [1, 2, 3, 4] + /// + /// final people = [ + /// Person(id: 1, name: 'Alice'), + /// Person(id: 2, name: 'Bob'), + /// Person(id: 1, name: 'Alice Duplicate'), + /// ]; + /// final uniquePeople = people.unique((person) => person.id); + /// print(uniquePeople.map((p) => p.name)); // Output: ['Alice', 'Bob'] + /// ``` + /// List unique([Id Function(E element)? id, bool inplace = true]) { final Set ids = {}; final List list = inplace ? this : List.from(this);