_map = $map; } public static function create(array $map): ValueMap { return new ValueMap($map); } public function __invoke($record): ?array { foreach ($this->_map as $field=>$values) { if (isset($record[$field]) && isset($values[$record[$field]])) { $record[$field] = $values[$record[$field]]; } } return $record; } }