<commit_before><?php

/**
 * This file is part of holisatis.
 *
 * (c) Gil <<EMAIL>>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace holisticagency\satis\utilities;

use Serializable;

/**
 * Satis configuration archive options utilities.
 *
 * @author James <<EMAIL>>
 */
class SatisArchiveOptions implements Serializable
{
    /**
     * Create downloads for branches if true.
     *
     * @var bool
     */
    private $enable;

    /**
     * List of required options.
     *
     * @var array
     */
    private $requiredKeys = array('directory');

    /**
     * List of optional options.
     *
     * @var array
     */
    private $optionalKeys = array(
        'format', 'prefix-url', 'skip-dev',
        'whitelist', 'blacklist', 'absolute-directory',
    );

    /**
     * Default values for archive configuration options.
     *
     * @var array
     */
    private $defaultValues = array(
        'format'    => 'zip',
        'skip-dev'  => false,
        'whitelist' => array(),
        'blacklist' => array(),
    );

    /**<commit_msg>Added checksum in Archive options<commit_after><?php

/**
 * This file is part of holisatis.
 *
 * (c) Gil <<EMAIL>>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace holisticagency\satis\utilities;

use Serializable;

/**
 * Satis configuration archive options utilities.
 *
 * @author James <<EMAIL>>
 */
class SatisArchiveOptions implements Serializable
{
    /**
     * Create downloads for branches if true.
     *
     * @var bool
     */
    private $enable;

    /**
     * List of required options.
     *
     * @var array
     */
    private $requiredKeys = array('directory');

    /**
     * List of optional options.
     *
     * @var array
     */
    private $optionalKeys = array(
        'format', 'prefix-url', 'skip-dev',
        'whitelist', 'blacklist', 'absolute-directory',
        'checksum',
    );

    /**
     * Default values for archive configuration options.
     *
     * @var array
     */
    private $defaultValues = array(
        'format'    => 'zip',
        'skip-dev'  => false,
        'whitelist' => array(),
        'blacklist' => array(),
        'checksum'  => true,
    );

    /**
{'fraction_non_alphanumeric': 0.1328289197141656, 'fraction_numerical': 0.0, 'mean_word_length': 2.1733333333333333, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 20, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5802805', 'n_tokens_mistral': 699, 'n_tokens_neox': 683, 'n_words': 203}