Skip to content

Commit 9b5740a

Browse files
committed
Merge remote-tracking branch 'origin/main' into th-stricter-error-types
2 parents 26f3867 + 26ba67e commit 9b5740a

File tree

1 file changed

+30
-24
lines changed

1 file changed

+30
-24
lines changed

src/replit_river/codegen/client.py

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -764,27 +764,25 @@ def generate_individual_service(
764764
) -> Tuple[ModuleName, ClassName, dict[RenderedPath, FileContents]]:
765765
serdes: list[Tuple[list[TypeName], list[ModuleName], list[FileContents]]] = []
766766

767-
def append_type_adapter_definition(
767+
def _type_adapter_definition(
768768
type_adapter_name: TypeName,
769769
_type: TypeExpression,
770770
module_info: list[ModuleName],
771-
) -> None:
771+
) -> tuple[list[TypeName], list[ModuleName], list[FileContents]]:
772772
varname = render_type_expr(type_adapter_name)
773773
rendered_type_expr = render_type_expr(_type)
774-
serdes.append(
775-
(
776-
[type_adapter_name],
777-
module_info,
778-
[
779-
FileContents(
780-
dedent(f"""
781-
{varname}: TypeAdapter[{rendered_type_expr}] = (
782-
TypeAdapter({rendered_type_expr})
783-
)
784-
""")
785-
)
786-
],
787-
)
774+
return (
775+
[type_adapter_name],
776+
module_info,
777+
[
778+
FileContents(
779+
dedent(f"""
780+
{varname}: TypeAdapter[{rendered_type_expr}] = (
781+
TypeAdapter({rendered_type_expr})
782+
)
783+
""")
784+
)
785+
],
788786
)
789787

790788
class_name = ClassName(f"{schema_name.title()}Service")
@@ -833,8 +831,10 @@ def __init__(self, client: river.Client[Any]):
833831
input_chunks,
834832
)
835833
)
836-
append_type_adapter_definition(
837-
input_type_type_adapter_name, input_type, module_info
834+
serdes.append(
835+
_type_adapter_definition(
836+
input_type_type_adapter_name, input_type, module_info
837+
)
838838
)
839839
output_type, module_info, output_chunks, encoder_names = encode_type(
840840
procedure.output,
@@ -854,8 +854,10 @@ def __init__(self, client: river.Client[Any]):
854854
output_type_type_adapter_name = TypeName(
855855
f"{render_literal_type(output_type_name)}TypeAdapter"
856856
)
857-
append_type_adapter_definition(
858-
output_type_type_adapter_name, output_type, module_info
857+
serdes.append(
858+
_type_adapter_definition(
859+
output_type_type_adapter_name, output_type, module_info
860+
)
859861
)
860862
output_module_info = module_info
861863
if procedure.errors:
@@ -883,8 +885,10 @@ def __init__(self, client: river.Client[Any]):
883885
if error_type_type_adapter_name.value != "RiverErrorTypeAdapter":
884886
if len(module_info) == 0:
885887
module_info = output_module_info
886-
append_type_adapter_definition(
887-
error_type_type_adapter_name, error_type, module_info
888+
serdes.append(
889+
_type_adapter_definition(
890+
error_type_type_adapter_name, error_type, module_info
891+
)
888892
)
889893
output_or_error_type = UnionTypeExpr([output_type, error_type_name])
890894

@@ -928,8 +932,10 @@ def __init__(self, client: river.Client[Any]):
928932
init_type_type_adapter_name = TypeName(
929933
f"{init_type_name.value}TypeAdapter"
930934
)
931-
append_type_adapter_definition(
932-
init_type_type_adapter_name, init_type, module_info
935+
serdes.append(
936+
_type_adapter_definition(
937+
init_type_type_adapter_name, init_type, module_info
938+
)
933939
)
934940
render_init_method = f"""\
935941
lambda x: {render_type_expr(init_type_type_adapter_name)}

0 commit comments

Comments
 (0)