Skip to content

Commit dcec28b

Browse files
authored
fix complex type repr (#165)
Why === ``` File "/Users/jzhao/projects/ai-infra/.venv/lib/python3.12/site-packages/replit_river/codegen/client.py", line 408, in encode_type raise ValueError(f"What does it mean to have {_o2} here?") ^^^^^ File "/Users/jzhao/projects/ai-infra/.venv/lib/python3.12/site-packages/replit_river/codegen/typing.py", line 33, in __str__ raise Exception("Complex type must be put through render_type_expr!") Exception: Complex type must be put through render_type_expr! ``` What changed ============ render the error correctly Test plan ========= codegen doesnt crash
1 parent d3bf487 commit dcec28b

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/replit_river/codegen/client.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,11 @@ def {_field_name}(
405405
| UnionTypeExpr
406406
| LiteralType
407407
) = other
408-
raise ValueError(f"What does it mean to have {_o2} here?")
408+
raise ValueError(
409+
f"What does it mean to have {
410+
render_type_expr(_o2)
411+
} here?"
412+
)
409413
if permit_unknown_members:
410414
union = _make_open_union_type_expr(any_of)
411415
else:
@@ -496,7 +500,7 @@ def extract_props(tpe: RiverType) -> list[dict[str, RiverType]]:
496500
typeddict_encoder.append("None")
497501
return (NoneTypeExpr(), [], [], set())
498502
elif type.type == "Date":
499-
typeddict_encoder.append("TODO: dstewart")
503+
typeddict_encoder.append("datetime.datetime")
500504
return (LiteralType("datetime.datetime"), [], [], set())
501505
elif type.type == "array" and type.items:
502506
type_name, module_info, type_chunks, encoder_names = encode_type(

0 commit comments

Comments
 (0)