Skip to content

Commit 725a214

Browse files
Alter field renaming to use Annotated (PEP593) extensions instead of old-style value reflection
1 parent fa382a7 commit 725a214

File tree

1 file changed

+13
-31
lines changed

1 file changed

+13
-31
lines changed

src/replit_river/codegen/client.py

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -646,42 +646,24 @@ def extract_props(tpe: RiverType) -> list[dict[str, RiverType]]:
646646
case LiteralTypeExpr(literal_value):
647647
field_value = repr(literal_value)
648648
if name not in type.required:
649+
type_name = UnionTypeExpr(
650+
[
651+
type_name,
652+
NoneTypeExpr(),
653+
]
654+
)
649655
value = ""
650656
if base_model != "TypedDict":
651-
value = dedent(
652-
f"""\
653-
= Field(
654-
default=None,
655-
alias={repr(name)}, # type: ignore
656-
)
657-
"""
658-
)
659-
current_chunks.append(
660-
f" kind: {
661-
render_type_expr(
662-
UnionTypeExpr(
663-
[
664-
type_name,
665-
NoneTypeExpr(),
666-
]
667-
)
668-
)
669-
}{value}"
670-
)
657+
value = f"= {repr(None)}"
671658
else:
672659
value = ""
673660
if base_model != "TypedDict":
674-
value = dedent(
675-
f"""\
676-
= Field(
677-
{field_value},
678-
alias={repr(name)}, # type: ignore
679-
)
680-
"""
681-
)
682-
current_chunks.append(
683-
f" kind: {render_type_expr(type_name)}{value}"
684-
)
661+
value = f"= {field_value}"
662+
current_chunks.append(
663+
f" kind: Annotated[{render_type_expr(type_name)}, Field(alias={
664+
repr(name)
665+
})]{value}"
666+
)
685667
else:
686668
if name not in type.required:
687669
if base_model == "TypedDict":

0 commit comments

Comments
 (0)