protected function buildCallback(callable $callback = null)
{
if ($this->outputDisabled) {
return function ($type, $data) use($callback) {
if (null !== $callback) {
call_user_func($callback, $type, $data);
}
};
}
$out = self::OUT;
return function ($type, $data) use($callback, $out) {
if ($out == $type) {
$this->addOutput($data);
} else {
$this->addErrorOutput($data);
}
if (null !== $callback) {
call_user_func($callback, $type, $data);
}
};
}