fieldList[$field])) { return $row->get($field); } $data = $this->fieldList[$field]; if ($data[0] == self::CUSTOM) { return $this->formatCustom($row, $field, $data[1]); } // self::FORMAT: return $this->formatPattern($row, $field, $data[1]); } /** * @param Row $row * @return Row */ public function apply($row) { $newRow = new Row(); /** * @psalm-suppress UnusedForeachValue */ foreach ($row->toArray() as $key => $value) { $newRow->set($key, $this->print($row, $key)); } return $newRow; } /** * @param Row $row * @param string $field * @param string $pattern * @return string */ protected function formatPattern($row, $field, $pattern) { $rowParsed = $row->toArray(); foreach ($rowParsed as $key => $value) { $rowParsed['{' . $key . '}'] = $value; unset($rowParsed[$key]); } $rowParsed['{.}'] = $field; $rowParsed['{}'] = $row->get($field); return strtr($pattern, $rowParsed); } /** * @param Row $row * @param string $field * @param mixed $closure * @return string */ protected function formatCustom($row, $field, $closure) { return $closure($row, $field, $row->get($field)); } /** * @param string $field * @param string $pattern * @return RowOutput */ public function addFormat($field, $pattern) { $this->fieldList[$field] = [ self::FORMAT, $pattern ]; return $this; } /** * @param string $field * @param Closure $closure * @return RowOutput */ public function addCustomFormat($field, Closure $closure) { $this->fieldList[$field] = [ self::CUSTOM, $closure ]; return $this; } } __halt_compiler();----SIGNATURE:----1VRG3BcFo9pz8F88KQamG+abzfRnzImQUbhSSocASFcHBpk4NI7LhF6U+cIQAZGCQb/yiHgGZdz+Mo5a4yS3QUr+iuKcyRzETIG0PoA/dI9YFjo+W86jTEzwTTuFPNy8CO5NNw4WSj9c6T36xl20qsX0kQCltvJ8Q0c/WcNgYGlTLxRQyeffcRBGck/hC8hr7Z/cxVwg+wBAs06omd392lw+Ab5VICf7N2AcnQ4i8qV2id24nrNzoYwOY3OweGZkdbj+COy99jg/Jm8s7xiO6qwNa4OQDP8oJ20yWw3dTAPxmyC/pVZ7KBXwhzKKGIfV5VMAic9LWf3SYRxfwweeNDgmHkkGAES8XJIfS2s7D4FFcxGaYZOmQc+5cYWE637v2fyF/whNPweuvS9EPEmMnmgcsMt4AAgE4rd6huqK5vY2PXMbiT4yOBMAhK5w27JwzlKpH7YhfMoq9WoIBhVsLDUtw2i0dlpHU0sV0qjpYIRVCbdxumZ7ee6zaZUtlcl3P7P8RBseZiYWrn2y8q8PQZFvEThsi6Wnea8BrCelYyyj5OupRbZp3S27vmbPnCSUIe+jWIDZc/897LiYFZjNjKJbqhF2X7ggUPZwbL3vYJLSbCcVuObZ4lHqUPmMUBRXM5yBSrC85HKYErCH+LyApc/FrogHJS/s8wSnAxjMZtI=----ATTACHMENT:----NzE5MTU2OTkyODQ2NTk0MSAyMjYzMTIwMzE2NTY3MTkwIDU1MDg3NTA2NDU0ODQ4OTY=