<html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><?php

// phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure.
namespace Yoast\WP\SEO\Dashboard\Domain\Traffic;

use Yoast\WP\SEO\Dashboard\Domain\Data_Provider\Data_Interface;

/**
 * Domain object that represents a single Traffic record.
 */
class Traffic_Data implements Data_Interface {

	/**
	 * The sessions, if any.
	 *
	 * @var int|null
	 */
	private $sessions;

	/**
	 * The total users, if any.
	 *
	 * @var int|null
	 */
	private $total_users;

	/**
	 * The array representation of this domain object.
	 *
	 * @return array<string, int>
	 */
	public function to_array(): array {
		$result = [];

		if ( $this->sessions !== null ) {
			$result['sessions'] = $this->sessions;
		}

		if ( $this->total_users !== null ) {
			$result['total_users'] = $this->total_users;
		}

		return $result;
	}

