mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-08 04:52:30 +00:00
Improve codegen
Avoid on-import modification of classes. This makes it possible to have multiple namespaces work together. Implement equality on all generated types. This enables support in tests as well feeling similar to dataclasses. Make generated code constructors keyword-only. This increases readability and reduces risk of breakage during upgrades.
This commit is contained in:
@@ -115,7 +115,7 @@ def generate(fs: FakeFs, tl: ParsedTl) -> None:
|
||||
params = "".join(
|
||||
f", {p.name}: {param_type_fmt(p.ty)}" for p in property_params
|
||||
)
|
||||
writer.write(f" def __init__(_s{params}) -> None:")
|
||||
writer.write(f" def __init__(_s, *{params}) -> None:")
|
||||
for p in property_params:
|
||||
writer.write(f" _s.{p.name} = {p.name}")
|
||||
|
||||
@@ -183,7 +183,4 @@ def generate(fs: FakeFs, tl: ParsedTl) -> None:
|
||||
for name in sorted(generated_type_names):
|
||||
writer.write(f" types.{name},")
|
||||
writer.write("))}")
|
||||
writer.write(
|
||||
"Reader._get_ty = TYPE_MAPPING.get # type: ignore [method-assign, assignment]"
|
||||
)
|
||||
writer.write(f"__all__ = ['LAYER', 'TYPE_MAPPING']")
|
||||
|
Reference in New Issue
Block a user