<?php
/**
 * Recording-focused admin formatting.
 *
 * @package ScheduledChanges
 */

namespace ScheduledChanges\Repository;

// phpcs:disable Squiz.Commenting.FunctionComment.ParamCommentFullStop -- Compact forwarding annotations document the facade surface inline.

/** Formats recording workspace and diff rows. */
final class AdminRecordingDisplayFormatter {
	private AdminDashboardValueFormatter $values;

	/** @param AdminDashboardValueFormatter $values Shared value formatter. */
	public function __construct( AdminDashboardValueFormatter $values ) {
		$this->values = $values;
	}

	/**
	 * @param array<string,mixed> $row Row.
	 * @return array<string,mixed>
	 */
	public function recordingRow( array $row, callable $target_row, callable $reference_id, callable $owner_name, callable $display_text ): array {
		return $this->values->recordingRow( $row, $target_row, $reference_id, $owner_name, $display_text );
	}
}
