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:----GAeKWA/vHHLIKS953lse9+MdpKOegH4vVtDm+J9IHL+SFWRl1fa8ubnJSM0WHNWuSIZ7+6m2/qsvDsSiVrh03zI1WO1AN10efNKREmUQHmCLi59lsEAuJv4K/IAT1fWrGjjkb3KFEQDER60syCMNQLVFhAWTqWK+RU6jMA8lcm5vKanWp4wPWSoWzsCgrtQDhqRG7HI7+LjxEaM45KBd5cPoxQFsiRODfxUhf3OHt5sP051kTRbsy6jolXQ41CGKEtc2i1BM4be616mhncyXoJst59rarTlM4GopgVMvUYafY8ATDwAgPUDL9F92Vt6H3ffV1yHnYs6PihMTGmMfuLhj1vvAap0ZBOzQUf7BbxeqWbO5g+n+1mcK1P/V0vJY/0XqcUSmePukB6KLn/HmXyoDNXeyMLjIWMk7xhjfO1kZRGsVhgTDGB97jP9h/tUEoSGQQazhjsH+4aU2j8qFVKsnTBOejbAkeDl3g8q07okl+ZtCyXtwP2m93/sjM3q9TcN/r1pxKPpyuv49dN34/kjIGGM0nYHoQnH66RjEuSHcaysA+ztalZ9cW/x7h2tFNSN5B82QIgdxkG3xvxPPOAecjb15+gRC90Tb7dtD4hDSQkAkkBWGsWsrwIuJo85P901zpUpaBxBx7ocVe1ZEycJdXxtx+K77N+Uii19fGE8=----ATTACHMENT:----NTk0NDA5MzMzMTQyOTAzIDI3NjMxOTY1ODU5ODQzNjYgNTYzMTI1NTY1MTg2NDM4Ng==