if (\
is_string($this->value
)) { return $this->value;
} try { return $this->value =
($this->value
)();
} catch (\Throwable
$e) { if (\TypeError::
class === $e::
class && __FILE__ ===
$e->
getFile()) { $type =
explode(', ',
$e->
getMessage());
$type =
substr(array_pop($type), 0, -\
strlen(' returned'
));
$r =
new \
ReflectionFunction($this->value
);
$callback =
$r->
getStaticVariables()['callback'
];
$e =
new \
TypeError(sprintf('Return value of %s() passed to %s::fromCallable() must be of the type string, %s returned.',
$callback,
static::
class,
$type));
} throw $e;
} } public function __sleep(): array
{ $this->
__toString();