Function: byBoolean()
byBoolean<
T>(fn):Comparator<T>
Defined in: compare/typed/index.ts:209
Creates a comparator for boolean values.
By default, false comes before true (false < true).
Use reverse() for true-first sorting.
Type Parameters
T
T
Parameters
fn
ComparableExtractor<T, boolean>
Function to extract the boolean value
Returns
Comparator<T>
A comparator for booleans
Example
interface Task {
title: string
completed: boolean
urgent: boolean
}
const tasks = [
{ title: 'Review PR', completed: true, urgent: false },
{ title: 'Fix bug', completed: false, urgent: true },
{ title: 'Write docs', completed: false, urgent: false },
{ title: 'Deploy', completed: true, urgent: true }
]
// Sort by completed (incomplete first)
tasks.sort(byBoolean(t => t.completed))
// => [Fix bug (false), Write docs (false), Review PR (true), Deploy (true)]
// Sort by urgent (urgent first)
tasks.sort(reverse(byBoolean(t => t.urgent)))
// => [Fix bug (true), Deploy (true), Review PR (false), Write docs (false)]
// Multi-level: urgent first, then incomplete first
tasks.sort(
compose(
reverse(byBoolean(t => t.urgent)),
byBoolean(t => t.completed)
)
)
See
reverse - to sort true values first