<commit_before><?php declare(strict_types=1);
/**
 * @author    <NAME> <<EMAIL>>
 * @copyright Copyright (c) 2019, Darvin Studio
 * @link      https://www.darvin-studio.ru
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Darvin\ContentBundle\Meta\Tag\Provider;

/**
 * Meta tag provider
 */
interface MetaTagProviderInterface
{
    /**
     * @return string
     */
    public function getHeading(): string;

    /**
     * @return string
     */
    public function getMetaTitle(): string;

    /**
     * @return string
     */
    public function getMetaDescription(): string;
}
<commit_msg>Add meta tag provider interface.<commit_after><?php declare(strict_types=1);
/**
 * @author    <NAME> <<EMAIL>>
 * @copyright Copyright (c) 2019, Darvin Studio
 * @link      https://www.darvin-studio.ru
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Darvin\ContentBundle\Meta\Tag\Provider;

/**
 * Meta tag provider
 */
interface MetaTagProviderInterface
{
    /**
     * @param object        $object           Object
     * @param string|null   $heading          Original heading
     * @param string|null   $fallback         Fallback
     * @param callable|null $templateCallback Template callback
     *
     * @return string
     */
    public function getHeading(object $object, ?string $heading, ?string $fallback = null, ?callable $templateCallback = null): string;

    /**
     * @param object        $object           Object
     * @param string|null   $metaTitle        Original meta title
     * @param string|null   $fallback         Fallback
     * @param callable|null $templateCallback Template callback
     *
     * @return string
     */
    public function getMetaTitle(object $object, ?string $metaTitle, ?string $fallback = null, ?callable $templateCallback = null): string;

    /**
     * @param object        $object           Object
     * @param string|null   $metaDescription  Original meta description
     * @param string|null   $fallback         Fallback
     * @param callable|null $templateCallback Template callback
     *
     * @return string
     */
    public function getMetaDescription(object $object, ?string $metaDescription, ?string $fallback = null, ?callable $templateCallback = null): string;
}

{'fraction_non_alphanumeric': 0.10580485796624126, 'fraction_numerical': 0.004116920543433511, 'mean_word_length': 2.814756671899529, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 9, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6123301', 'n_tokens_mistral': 654, 'n_tokens_neox': 643, 'n_words': 201}