setKey($key); } if (isset($value)) { $this->setValue($value); } } /** * Add the key on a Section object * * @param string $key Section key * * @throws \SendGrid\Mail\TypeException */ public function setKey($key) { Assert::string($key, 'key'); $this->key = $key; } /** * Retrieve the key from a Section object * * @return string */ public function getKey() { return $this->key; } /** * Add the value on a Section object * * @param string $value Section value * * @throws \SendGrid\Mail\TypeException */ public function setValue($value) { Assert::string($value, 'value'); $this->value = $value; } /** * Retrieve the value from a Section object * * @return string */ public function getValue() { return $this->value; } /** * Return an array representing a Section object for the Twilio SendGrid API * * @return null|array */ public function jsonSerialize() { return array_filter( [ 'key' => $this->getKey(), 'value' => $this->getValue() ], function ($value) { return $value !== null; } ) ?: null; } }