# optimole-wp/4.2.11/vendor/codeinwp/optimole-sdk/src/Resource/Asset.php

Optimole – Optimize Images | Convert WebP &amp; AVIF | CDN &amp; Lazy Load | Image Optimization, version 4.2.11. 54 lines.

- Page: https://pluginprobe.com/plugins/optimole-wp/4.2.11/code/vendor/codeinwp/optimole-sdk/src/Resource/Asset.php
- Raw: https://pluginprobe.com/plugins/optimole-wp/4.2.11/raw/vendor/codeinwp/optimole-sdk/src/Resource/Asset.php
- Modified: 2024-05-14T07:52:22+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/optimole-wp/4.2.11/code/vendor/codeinwp/optimole-sdk/src/Resource/Asset.php#L10-L20`.

```php
<?php

declare(strict_types=1);

/*
 * This file is part of Optimole PHP SDK.
 *
 * (c) Optimole Team <friends@optimole.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Optimole\Sdk\Resource;

class Asset extends AbstractResource
{
    /**
     * Constructor.
     */
    public function __construct(string $domain, string $source, string $cacheBuster = '')
    {
        parent::__construct($domain, $source, $cacheBuster);

        $source = strtolower($source);

        if (str_ends_with($source, '.css')) {
            $this->addProperty(new AssetProperty\TypeProperty('css'));
        } elseif (str_ends_with($source, '.js')) {
            $this->addProperty(new AssetProperty\TypeProperty('js'));
        }
    }

    /**
     * Whether to minify the asset or not.
     */
    public function minify(bool $minify = true): self
    {
        $this->addProperty(new AssetProperty\MinifyProperty($minify));

        return $this;
    }

    /**
     * Set the quality of the images linked inside the asset.
     */
    public function quality($quality = 'mauto'): self
    {
        $this->addProperty(new ImageProperty\QualityProperty($quality));

        return $this;
    }
}

```
