Skip to content

Commit f5190e3

Browse files
committed
refactor
1 parent edde572 commit f5190e3

1 file changed

Lines changed: 13 additions & 30 deletions

File tree

src/replit_river/codegen/client.py

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -764,6 +764,15 @@ def generate_individual_service(
764764
input_base_class: Literal["TypedDict"] | Literal["BaseModel"],
765765

766766
) -> Tuple[ModuleName, ClassName, dict[RenderedPath, FileContents]]:
767+
def append_type_adapter_definition(type_adapter_name: TypeName, _type: TypeExpression, module_info: list[ModuleName]):
768+
serdes.append(
769+
(
770+
[type_adapter_name],
771+
module_info,
772+
[f"{type_adapter_name.value} = TypeAdapter({render_type_expr(_type)}) # type: ignore"]
773+
)
774+
)
775+
767776
serdes: list[Tuple[list[TypeName], list[ModuleName], list[FileContents]]] = []
768777
class_name = ClassName(f"{schema_name.title()}Service")
769778
current_chunks: List[str] = [
@@ -809,13 +818,7 @@ def __init__(self, client: river.Client[Any]):
809818
input_chunks,
810819
)
811820
)
812-
serdes.append(
813-
(
814-
[input_type_type_adapter_name],
815-
module_info,
816-
[f"{input_type_type_adapter_name.value} = TypeAdapter({render_type_expr(input_type)}) # type: ignore"]
817-
)
818-
)
821+
append_type_adapter_definition(input_type_type_adapter_name, input_type, module_info)
819822
output_type, module_info, output_chunks, encoder_names = encode_type(
820823
procedure.output,
821824
TypeName(f"{name.title()}Output"),
@@ -832,14 +835,7 @@ def __init__(self, client: river.Client[Any]):
832835
)
833836
)
834837
output_type_type_adapter_name = TypeName(f"{output_type_name.value}TypeAdapter")
835-
# print('appending %r, %r' % (output_type_type_adapter_name, module_info))
836-
serdes.append(
837-
(
838-
[output_type_type_adapter_name],
839-
module_info,
840-
[f"{output_type_type_adapter_name.value} = TypeAdapter({render_type_expr(output_type)}) # type: ignore"],
841-
)
842-
)
838+
append_type_adapter_definition(output_type_type_adapter_name, output_type, module_info)
843839
output_module_info = module_info
844840
if procedure.errors:
845841
error_type, module_info, errors_chunks, encoder_names = encode_type(
@@ -866,16 +862,9 @@ def __init__(self, client: river.Client[Any]):
866862

867863
error_type_type_adapter_name = TypeName(f"{error_type.value}TypeAdapter")
868864
if error_type_type_adapter_name.value != "RiverErrorTypeAdapter":
869-
# print('error type: %r, %r, %r' % (error_type_type_adapter_name, module_info, output_module_info))
870865
if len(module_info) == 0:
871866
module_info = output_module_info
872-
serdes.append(
873-
(
874-
[error_type_type_adapter_name],
875-
module_info,
876-
[f"{error_type_type_adapter_name.value} = TypeAdapter({render_type_expr(error_type)}) # type: ignore"],
877-
)
878-
)
867+
append_type_adapter_definition(error_type_type_adapter_name, error_type, module_info)
879868
output_or_error_type = UnionTypeExpr([output_type, error_type_name])
880869

881870

@@ -915,13 +904,7 @@ def __init__(self, client: river.Client[Any]):
915904
else:
916905
init_type_name = extract_inner_type(init_type)
917906
init_type_type_adapter_name = TypeName(f"{init_type_name.value}TypeAdapter")
918-
serdes.append(
919-
(
920-
[init_type_type_adapter_name],
921-
module_info,
922-
[f"{init_type_type_adapter_name.value} = TypeAdapter({render_type_expr(init_type)}) # type: ignore"]
923-
)
924-
)
907+
append_type_adapter_definition(init_type_type_adapter_name, init_type, module_info)
925908
render_init_method = f"""\
926909
lambda x: {init_type_type_adapter_name.name})
927910
.validate_python

0 commit comments

Comments
 (0)