autoMapper = $autoMapper; $this->customMapper = $customMapper; } /** * Map a submission DTO to column row. * * @param NormalizedSubmission $submission * @param array $settings * @return array Map of columns to cell values. */ public function map(NormalizedSubmission $submission, array $settings): array { $mode = $settings['mapping_mode'] ?? 'auto'; if ($mode === 'custom') { $row = $this->customMapper->map($submission, $settings); } else { $row = $this->autoMapper->map($submission, $settings); } // Apply WordPress filter for advanced extensibility. return apply_filters('oneclickformsync_mapped_row', $row, $submission, $settings); } }