|
@@ -10,6 +10,7 @@ from core.variables import (
|
|
|
ArrayNumberVariable,
|
|
|
ArrayObjectSegment,
|
|
|
ArrayObjectVariable,
|
|
|
+ ArraySegment,
|
|
|
ArrayStringSegment,
|
|
|
ArrayStringVariable,
|
|
|
FileSegment,
|
|
@@ -79,7 +80,7 @@ def build_segment(value: Any, /) -> Segment:
|
|
|
if isinstance(value, list):
|
|
|
items = [build_segment(item) for item in value]
|
|
|
types = {item.value_type for item in items}
|
|
|
- if len(types) != 1:
|
|
|
+ if len(types) != 1 or all(isinstance(item, ArraySegment) for item in items):
|
|
|
return ArrayAnySegment(value=value)
|
|
|
match types.pop():
|
|
|
case SegmentType.STRING:
|