37 lines
		
	
	
		
			806 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			806 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\mapper\item;
 | |
| 
 | |
| use nur\A;
 | |
| use nur\mapper\base\Consumer;
 | |
| use nur\msg;
 | |
| 
 | |
| class LoggerConsumer extends Consumer {
 | |
|   function section(string $title) {
 | |
|     msg::section($title);
 | |
|   }
 | |
| 
 | |
|   static function to_string($item): string {
 | |
|     if (A::is_assoc($item)) {
 | |
|       $parts = [];
 | |
|       foreach ($item as $key => $part) {
 | |
|         $parts[] = "$key => ".self::to_string($part);
 | |
|       }
 | |
|       return "{ ".implode(", ", $parts)." }";
 | |
|     } elseif (A::is_seq($item)) {
 | |
|       $parts = [];
 | |
|       foreach ($item as $key => $part) {
 | |
|         $parts[] = self::to_string($part);
 | |
|       }
 | |
|       return implode(", ", $parts);
 | |
|     } elseif (is_string($item)) {
 | |
|       return $item;
 | |
|     } else {
 | |
|       return var_export($item, true);
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   function cook($item) {
 | |
|     msg::info(self::to_string($item));
 | |
|   }
 | |
| }
 |