partitionEntries
import { partitionEntries } from "jsr:@ende/collections";function
function partitionEntries<T>(record: Readonly<Record<string, T>>, predicate: (entry: [string, T]) => boolean): [Record<string, T>, Record<string, T>]Returns a tuple of two records with the first one containing all entries of the given record that match the given predicate and the second one containing all that do not.
record: Readonly<Record<string, T>>The record to partition.
predicate: (entry: [string, T]) => booleanThe predicate function to determine which entries go where.
Returns
A tuple containing two records, the first one containing all entries that match the predicate and the second one containing all that do not.
Example: Basic usage
import { partitionEntries } from "@ende/collections/partition-entries";
import { assertEquals } from "@ende/assert";
const menu = {
Salad: 11,
Soup: 8,
Pasta: 13,
};
const myOptions = partitionEntries(
menu,
([item, price]) => item !== "Pasta" && price < 10,
);
assertEquals(
myOptions,
[
{ Soup: 8 },
{ Salad: 11, Pasta: 13 },
],
);