. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Core\Utils\Client; use Espo\Core\Utils\Metadata; class LoaderParamsProvider { public function __construct( private Metadata $metadata ) {} public function getLibsConfig(): object { return (object) $this->metadata->get(['app', 'jsLibs'], []); } public function getAliasMap(): object { $map = (object) []; /** @var array> $libs */ $libs = $this->metadata->get(['app', 'jsLibs'], []); foreach ($libs as $name => $item) { /** @var ?string[] $aliases */ $aliases = $item['aliases'] ?? null; $map->$name = 'lib!' . $name; if ($aliases) { foreach ($aliases as $alias) { $map->$alias = 'lib!' . $name; } } } return $map; } }