@@ -233,7 +233,7 @@ public function useStyleTagAttributes($attributes)
233
233
/**
234
234
* Use the given callback to resolve attributes for preload tags.
235
235
*
236
- * @param (callable(string, string, ?array, ?array): array)|array $attributes
236
+ * @param (callable(string, string, ?array, ?array): array|false )|array|false $attributes
237
237
* @return $this
238
238
*/
239
239
public function usePreloadTagAttributes ($ attributes )
@@ -351,8 +351,8 @@ public function __invoke($entrypoints, $buildDirectory = null)
351
351
*
352
352
* @param string $src
353
353
* @param string $url
354
- * @param ? array $chunk
355
- * @param ? array $manifest
354
+ * @param array|null $chunk
355
+ * @param array|null $manifest
356
356
* @return string
357
357
*/
358
358
protected function makeTagForChunk ($ src , $ url , $ chunk , $ manifest )
@@ -386,12 +386,16 @@ protected function makeTagForChunk($src, $url, $chunk, $manifest)
386
386
* @param string $url
387
387
* @param array $chunk
388
388
* @param array $manifest
389
- * @return string|null
389
+ * @return string
390
390
*/
391
391
protected function makePreloadTagForChunk ($ src , $ url , $ chunk , $ manifest )
392
392
{
393
393
$ attributes = $ this ->resolvePreloadTagAttributes ($ src , $ url , $ chunk , $ manifest );
394
394
395
+ if ($ attributes === false ) {
396
+ return '' ;
397
+ }
398
+
395
399
$ this ->preloadedAssets [$ url ] = $ this ->parseAttributes (
396
400
Collection::make ($ attributes )->forget ('href ' )->all ()
397
401
);
@@ -404,8 +408,8 @@ protected function makePreloadTagForChunk($src, $url, $chunk, $manifest)
404
408
*
405
409
* @param string $src
406
410
* @param string $url
407
- * @param ? array $chunk
408
- * @param ? array $manifest
411
+ * @param array|null $chunk
412
+ * @param array|null $manifest
409
413
* @return array
410
414
*/
411
415
protected function resolveScriptTagAttributes ($ src , $ url , $ chunk , $ manifest )
@@ -426,8 +430,8 @@ protected function resolveScriptTagAttributes($src, $url, $chunk, $manifest)
426
430
*
427
431
* @param string $src
428
432
* @param string $url
429
- * @param ? array $chunk
430
- * @param ? array $manifest
433
+ * @param array|null $chunk
434
+ * @param array|null $manifest
431
435
* @return array
432
436
*/
433
437
protected function resolveStylesheetTagAttributes ($ src , $ url , $ chunk , $ manifest )
@@ -450,7 +454,7 @@ protected function resolveStylesheetTagAttributes($src, $url, $chunk, $manifest)
450
454
* @param string $url
451
455
* @param array $chunk
452
456
* @param array $manifest
453
- * @return array
457
+ * @return array|false
454
458
*/
455
459
protected function resolvePreloadTagAttributes ($ src , $ url , $ chunk , $ manifest )
456
460
{
@@ -472,7 +476,11 @@ protected function resolvePreloadTagAttributes($src, $url, $chunk, $manifest)
472
476
: $ attributes ;
473
477
474
478
foreach ($ this ->preloadTagAttributesResolvers as $ resolver ) {
475
- $ attributes = array_merge ($ attributes , $ resolver ($ src , $ url , $ chunk , $ manifest ));
479
+ if (false === ($ resolvedAttributes = $ resolver ($ src , $ url , $ chunk , $ manifest ))) {
480
+ return false ;
481
+ }
482
+
483
+ $ attributes = array_merge ($ attributes , $ resolvedAttributes );
476
484
}
477
485
478
486
return $ attributes ;
0 commit comments