<?php

/**
 * Saves the form data to the WC customer and session.
 *
 * @package WooCommerce\PayPalCommerce\Button\Helper
 */
declare (strict_types=1);
namespace WooCommerce\PayPalCommerce\Button\Helper;

use WC_Checkout;
use WooCommerce\PayPalCommerce\Session\SessionHandler;
/**
 * Class CheckoutFormSaver
 */
class CheckoutFormSaver extends WC_Checkout
{
    /**
     * The Session handler.
     *
     * @var SessionHandler
     */
    private $session_handler;
    /**
     * CheckoutFormSaver constructor.
     *
     * @param SessionHandler $session_handler The session handler.
     */
    public function __construct(SessionHandler $session_handler)
    {
        $this->session_handler = $session_handler;
    }
    /**
     * Saves the form data to the WC customer and session.
     *
     * @param array $data The form data.
     * @return void
     */
    public function save(array $data)
    {
        foreach ($data as $key => $value) {
            $_POST[$key] = $value;
        }
        $data = $this->get_posted_data();
        $this->update_session($data);
        $this->session_handler->replace_checkout_form($data);
    }
}