public function createMappedAsset(string
$logicalPath, string
$sourcePath): ?MappedAsset
{ if (\
in_array($logicalPath,
$this->assetsBeingCreated, true
)) { throw new CircularAssetsException(sprintf('Circular reference detected while creating asset for "%s": "%s".',
$logicalPath,
implode(' -> ',
$this->assetsBeingCreated
).' -> '.
$logicalPath));
} if (!
isset($this->assetsCache
[$logicalPath])) { $this->assetsBeingCreated
[] =
$logicalPath;
$asset =
new MappedAsset($logicalPath,
$sourcePath,
$this->assetsPathResolver->
resolvePublicPath($logicalPath));
[$digest,
$isPredigested] =
$this->
getDigest($asset);
$asset =
new MappedAsset( $asset->logicalPath,
$asset->sourcePath,
$asset->publicPathWithoutDigest,
$this->
getPublicPath($asset),
$this->
calculateContent($asset),
$digest,
$isPredigested,
$asset->
getDependencies(),
$asset->
getFileDependencies(),
);