Function partitionEntries

  • 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.

    Type Parameters

    • T

      The type of the values in the record.

    Parameters

    • record: Readonly<Record<string, T>>

      The record to partition.

    • predicate: ((entry: [string, T]) => boolean)

      The predicate function to determine which entries go where.

        • (entry): boolean
        • Parameters

          • entry: [string, T]

          Returns boolean

    Returns [match: Record<string, T>, rest: Record<string, T>]

    A tuple containing two records, the first one containing all entries that match the predicate and the second one containing all that do not.

    import { partitionEntries } from "@std/collections/partition-entries";
    import { assertEquals } from "@std/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 },
    ],
    );