feat(variables): Support to_object. (#6572)

This commit is contained in:
-LAN-
2024-07-23 16:22:06 +08:00
committed by GitHub
parent cfc408095c
commit f019bc4bd7
3 changed files with 56 additions and 9 deletions

View File

@@ -33,6 +33,15 @@ class Segment(BaseModel):
def markdown(self) -> str:
return str(self.value)
def to_object(self) -> Any:
if isinstance(self.value, Segment):
return self.value.to_object()
if isinstance(self.value, list):
return [v.to_object() for v in self.value]
if isinstance(self.value, dict):
return {k: v.to_object() for k, v in self.value.items()}
return self.value
class StringSegment(Segment):
value_type: SegmentType = SegmentType.STRING