# disco/1.4.14/vendor/inpsyde/assets/src/Loader/ArrayLoader.php

Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO, version 1.4.14. 56 lines.

- Page: https://pluginprobe.com/plugins/disco/1.4.14/code/vendor/inpsyde/assets/src/Loader/ArrayLoader.php
- Raw: https://pluginprobe.com/plugins/disco/1.4.14/raw/vendor/inpsyde/assets/src/Loader/ArrayLoader.php
- Modified: 2024-09-18T11:17:48+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/disco/1.4.14/code/vendor/inpsyde/assets/src/Loader/ArrayLoader.php#L10-L20`.

```php
<?php

/*
 * This file is part of the Assets package.
 *
 * (c) Inpsyde GmbH
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

declare(strict_types=1);

namespace Inpsyde\Assets\Loader;

use Inpsyde\Assets\AssetFactory;
use Inpsyde\Assets\Asset;
use Inpsyde\Assets\BaseAsset;
use Inpsyde\Assets\ConfigureAutodiscoverVersionTrait;

/**
 * @package Inpsyde\Assets\Loader
 */
class ArrayLoader implements LoaderInterface
{
    use ConfigureAutodiscoverVersionTrait;

    /**
     * @param mixed $resource
     *
     * @return array
     *
     * phpcs:disable Inpsyde.CodeQuality.ArgumentTypeDeclaration
     * @psalm-suppress MixedArgument
     */
    public function load($resource): array
    {
        $assets = array_map(
            [AssetFactory::class, 'create'],
            (array) $resource
        );

        return array_map(
            function (Asset $asset): Asset {
                if ($asset instanceof BaseAsset) {
                    $this->autodiscoverVersion
                        ? $asset->enableAutodiscoverVersion()
                        : $asset->disableAutodiscoverVersion();
                }
                return $asset;
            },
            $assets
        );
    }
}

```
