Shapes
Note
This is a point-in-time snapshot of the API documentation from January 2026. Going forward, we will not be maintaining a public copy of these references, and recommend users to refer to the built-in signature helpers available in the Hack LSP instead for complete and up-to-date information.
Interface Synopsis
namespace HH\Readonly;
abstract final class Shapes {...}
Public Methods
::at(shape() $shape, arraykey $index): mixed
Returns the value of the field $index of a readonly $shape, throws if the field is missing::idx(shape(...) $shape, arraykey $index, mixed $default = NULL): mixed
UseReadonly\Shapes::idxto retrieve a field value in a shape, when the key may or may not exist::toArray(shape() $shape): darray<arraykey, mixed>::toDict(shape() $shape): dict<arraykey, mixed>