AbsintheUtils.Helpers.Sorting (absinthe_utils v0.0.1-main-413ca15b56c2636667dc5f1b7898f81da11032b0)

View Source

Generic sorting utils.

Summary

Functions

Sorts an unsorted_enumerable based on sorted_enumerable. Use mappers to specify getters for each element in the enumerable, for example retrieving the id of a struct.

Functions

sort_alike(unsorted_enumerable, sorted_enumerable, unsorted_enumerable_mapper \\ & &1, sorted_enumerable_mapper \\ & &1)

Sorts an unsorted_enumerable based on sorted_enumerable. Use mappers to specify getters for each element in the enumerable, for example retrieving the id of a struct.

Examples

iex> Sorting.sort_alike([:b, :c, :a], [:a, :b, :c])
[:a, :b, :c]

iex> Sorting.sort_alike([%{id: 1}, %{id: 2}], [2, 1], & &1.id)
[%{id: 2}, %{id: 1}]