<?PHP
declare(strict_types = 1);

/**
 * Autoloader for musdb.
 *
 * @param string $className Name of the class to load.
 *
 * @return void
 */
\spl_autoload_register(function(string $className):void {

    // Try using class map as defined through /scripts/buildClassMap.php

    foreach (array_merge([__DIR__ . '/../tests', __DIR__ . '/../src', __DIR__ . '/../../MDErrorReporter', __DIR__ . '/../../MDErrorReporter/exceptions', __DIR__ . '/../../MDErrorReporter/exceptions/generic', __DIR__ . '/../../MDErrorReporter/exceptions/updates']) as $classDir) {

        if (\file_exists("$classDir/$className.php")) {
            include "$classDir/$className.php";
            return;
        }

    }

});