/** * Complete a Scalar or Enum by serializing to a valid value, returning * null if serialization is not possible. * * @param LeafType $returnType * @param $result * @return mixed * @throws \Exception */ private static function completeLeafValue(LeafType $returnType, &$result) { $serializedResult = $returnType->serialize($result); if ($serializedResult === null) { throw new InvariantViolation('Expected a value of type "' . Utils::printSafe($returnType) . '" but received: ' . Utils::printSafe($result)); } return $serializedResult; }