notBlank( 'displayName "%s" is blank, but was expected to contain a value.' ); $this->id = $id; $this->displayName = $displayName; parent::__construct( $name ); } public static function hydrate( array $data ): self { Assert::that( $data, 'PublicKeyCredentialUserEntity hydration does not contain "%s".' ) ->keyExists( 'id' ) ->keyExists( 'displayName' ) ->keyExists( 'name' ); return new self( BinaryString::from_ascii_fast( $data['id'] ), $data['displayName'], $data['name'] ); } public function get_id(): BinaryString { return $this->id; } public function get_display_name(): string { return $this->displayName; } public function jsonSerialize(): array { return \ITSEC_Lib::recursively_json_serialize( get_object_vars( $this ) ); } }