recator: range construction

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-07-03 21:40:13 -04:00
parent 1d38f6bf16
commit 8d40dc8242
+2 -28
View File
@@ -32,7 +32,6 @@ use KTXF\Resource\Identifier\EntityIdentifierInterface;
use KTXF\Resource\Identifier\ResourceIdentifiers; use KTXF\Resource\Identifier\ResourceIdentifiers;
use KTXF\Resource\Provider\ResourceServiceIdentityInterface; use KTXF\Resource\Provider\ResourceServiceIdentityInterface;
use KTXF\Resource\Provider\ResourceServiceLocationInterface; use KTXF\Resource\Provider\ResourceServiceLocationInterface;
use KTXF\Resource\Range\RangeAnchorType;
use KTXF\Resource\Range\RangeType; use KTXF\Resource\Range\RangeType;
use KTXF\Resource\Sort\ISort; use KTXF\Resource\Sort\ISort;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
@@ -779,20 +778,7 @@ class Manager {
// construct range for entities // construct range for entities
$entityRange = null; $entityRange = null;
if ($range !== null && $range !== [] && isset($range['type'])) { if ($range !== null && $range !== [] && isset($range['type'])) {
$entityRange = $service->entityListRange(RangeType::from($range['type'])); $entityRange = $service->entityListRange(RangeType::from($range['type']))->jsonDeserialize($range);
// Cast to IRangeTally if the range type is TALLY
if ($entityRange->type() === RangeType::TALLY) {
/** @var IRangeTally $entityRange */
if (isset($range['anchor'])) {
$entityRange->setAnchor(RangeAnchorType::from($range['anchor']));
}
if (isset($range['position'])) {
$entityRange->setPosition($range['position']);
}
if (isset($range['tally'])) {
$entityRange->setTally($range['tally']);
}
}
} }
// retrieve entities for each collection // retrieve entities for each collection
foreach ($collectionSelected as $collectionId) { foreach ($collectionSelected as $collectionId) {
@@ -868,19 +854,7 @@ class Manager {
// construct range for entities // construct range for entities
$entityRange = null; $entityRange = null;
if ($range !== null && $range !== [] && isset($range['type'])) { if ($range !== null && $range !== [] && isset($range['type'])) {
$entityRange = $service->entityListRange(RangeType::from($range['type'])); $entityRange = $service->entityListRange(RangeType::from($range['type']))->jsonDeserialize($range);
if ($entityRange->type() === RangeType::TALLY) {
/** @var IRangeTally $entityRange */
if (isset($range['anchor'])) {
$entityRange->setAnchor(RangeAnchorType::from($range['anchor']));
}
if (isset($range['position'])) {
$entityRange->setPosition($range['position']);
}
if (isset($range['tally'])) {
$entityRange->setTally($range['tally']);
}
}
} }
// yield entities for each collection individually // yield entities for each collection individually
foreach ($collectionSelected as $collectionId) { foreach ($collectionSelected as $collectionId) {