Skip to content

discriminateEntryKey

Applies a predicate to an object entry key and narrows the tuple type when the predicate is a type guard.

Interactive example

Syntax

Classic signature

typescript
function discriminateEntryKey<
  GenericEntry extends readonly [string, unknown],
  GenericPredicateEntryKey extends GenericEntry[0]
>(
  entry: GenericEntry,
  thePredicate: (input: GenericEntry[0]) => input is GenericPredicateEntryKey
): entry is Extract<CleanObjectEntry<GenericEntry>, [GenericPredicateEntryKey, unknown]>;

Curried signature

typescript
function discriminateEntryKey<
  GenericEntry extends readonly [string, unknown],
  GenericPredicateEntryKey extends GenericEntry[0]
>(
  thePredicate: (input: GenericEntry[0]) => input is GenericPredicateEntryKey
): (entry: GenericEntry) => entry is Extract<CleanObjectEntry<GenericEntry>, [GenericPredicateEntryKey, unknown]>;

Parameters

  • entry: Key-value tuple to inspect.
  • thePredicate: Predicate applied to the first tuple item, the key.

Return value

A boolean. When thePredicate is a type guard, the result also narrows the tuple type to entries whose key matches the predicate.

See also

Released under the MIT license.