@@ -177,9 +177,10 @@ public function hasItem($key)
177
177
}
178
178
179
179
foreach ($ this ->getTagVersions ([$ itemTags ]) as $ tag => $ version ) {
180
- if ($ itemTags [$ tag ] !== $ version && 1 !== $ itemTags [$ tag ] - $ version ) {
181
- return false ;
180
+ if ($ itemTags [$ tag ] === $ version || \is_int ( $ itemTags [ $ tag ] && \is_int ( $ version ) && 1 === $ itemTags [$ tag ] - $ version) ) {
181
+ continue ;
182
182
}
183
+ return false ;
183
184
}
184
185
185
186
return true ;
@@ -366,10 +367,11 @@ private function generateItems(iterable $items, array $tagKeys)
366
367
367
368
foreach ($ itemTags as $ key => $ tags ) {
368
369
foreach ($ tags as $ tag => $ version ) {
369
- if ($ tagVersions [$ tag ] !== $ version && 1 !== $ version - $ tagVersions [$ tag ]) {
370
- unset($ itemTags [$ key ]);
371
- continue 2 ;
370
+ if ($ tagVersions [$ tag ] === $ version || \is_int ($ version ) && \is_int ($ tagVersions [$ tag ]) && 1 === $ version - $ tagVersions [$ tag ]) {
371
+ continue ;
372
372
}
373
+ unset($ itemTags [$ key ]);
374
+ continue 2 ;
373
375
}
374
376
}
375
377
$ tagVersions = $ tagKeys = null ;
@@ -408,7 +410,7 @@ private function getTagVersions(array $tagsByKey, array &$invalidatedTags = [])
408
410
$ tags = [];
409
411
foreach ($ tagVersions as $ tag => $ version ) {
410
412
$ tags [$ tag .static ::TAGS_PREFIX ] = $ tag ;
411
- if ($ fetchTagVersions || !isset ($ this ->knownTagVersions [$ tag ])) {
413
+ if ($ fetchTagVersions || !isset ($ this ->knownTagVersions [$ tag ]) || ! \is_int ( $ version ) ) {
412
414
$ fetchTagVersions = true ;
413
415
continue ;
414
416
}
@@ -430,6 +432,10 @@ private function getTagVersions(array $tagsByKey, array &$invalidatedTags = [])
430
432
if (isset ($ invalidatedTags [$ tag ])) {
431
433
$ invalidatedTags [$ tag ] = $ version ->set (++$ tagVersions [$ tag ]);
432
434
}
435
+ if (!\is_int ($ tagVersions [$ tag ])) {
436
+ unset($ this ->knownTagVersions [$ tag ]);
437
+ continue ;
438
+ }
433
439
$ this ->knownTagVersions [$ tag ] = [$ now , $ tagVersions [$ tag ]];
434
440
}
435
441
0 commit comments