Infers query results from filter and SK for the non-index query overload.
Narrowing strategy (respects DynamoDB's AND semantics):
If the filter specifies a top-level type value, narrow by that — then intersect
with $or narrowing and skCondition narrowing if present.
Otherwise, if top-level filter keys narrow to specific entities, use that — then
intersect with $or narrowing and skCondition narrowing if present.
Otherwise, if $or blocks resolve to specific entities (by type or keys), use that —
then intersect with skCondition narrowing if present.
Otherwise, if skCondition matches an exact entity name or $beginsWith an entity name, narrow by that.
Otherwise, return the full QueryResults<T> union.
skCondition is always intersected with other narrowing signals because it is a
DynamoDB key condition that physically limits which items are scanned, unlike
filter expressions which are applied post-scan.
When multiple narrowing signals resolve to different entity sets, the intersection
is taken. An empty intersection produces never[], reflecting that no DynamoDB
record can satisfy all combined conditions.
Infers query results from filter and SK for the non-index query overload.
Narrowing strategy (respects DynamoDB's AND semantics):
typevalue, narrow by that — then intersect with$ornarrowing andskConditionnarrowing if present.$ornarrowing andskConditionnarrowing if present.$orblocks resolve to specific entities (by type or keys), use that — then intersect withskConditionnarrowing if present.skConditionmatches an exact entity name or$beginsWithan entity name, narrow by that.QueryResults<T>union.skConditionis always intersected with other narrowing signals because it is a DynamoDB key condition that physically limits which items are scanned, unlike filter expressions which are applied post-scan.When multiple narrowing signals resolve to different entity sets, the intersection is taken. An empty intersection produces
never[], reflecting that no DynamoDB record can satisfy all combined conditions.