Requires the Hack Standard Library to be installed.
Facebook Engineer?

This function is available as C\nfirst() in Facebook's www repository.

Returns the first element of the given Traversable, or null if the Traversable is null or empty

namespace HH\Lib\C;

function nfirst<T>(
  ?Traversable<T> $traversable,
): ?T;
  • For non-null Traversables, see C\first.
  • For non-empty Traversables, see C\firstx.
  • For single-element Traversables, see C\onlyx.

Time complexity: O(1) Space complexity: O(1)


  • ?Traversable<T> $traversable


  • ?T