File tree Expand file tree Collapse file tree 1 file changed +10
-4
lines changed
Expand file tree Collapse file tree 1 file changed +10
-4
lines changed Original file line number Diff line number Diff line change 11from dataclasses import dataclass
2- from typing import NewType
2+ from typing import NewType , assert_never
33
44TypeName = NewType ("TypeName" , str )
55ModuleName = NewType ("ModuleName" , str )
@@ -45,8 +45,10 @@ def render_type_expr(value: TypeExpression) -> str:
4545 return f"Literal[{ repr (inner )} ]"
4646 case UnionTypeExpr (inner ):
4747 return " | " .join (render_type_expr (x ) for x in inner )
48+ case str (name ):
49+ return TypeName (name )
4850 case other :
49- return other
51+ assert_never ( other )
5052
5153
5254def extract_inner_type (value : TypeExpression ) -> TypeName :
@@ -61,8 +63,10 @@ def extract_inner_type(value: TypeExpression) -> TypeName:
6163 raise ValueError (
6264 f"Attempting to extract from a union, currently not possible: { value } "
6365 )
66+ case str (name ):
67+ return TypeName (name )
6468 case other :
65- return other
69+ assert_never ( other )
6670
6771
6872def ensure_literal_type (value : TypeExpression ) -> TypeName :
@@ -83,5 +87,7 @@ def ensure_literal_type(value: TypeExpression) -> TypeName:
8387 raise ValueError (
8488 f"Unexpected expression when expecting a type name: { value } "
8589 )
90+ case str (name ):
91+ return TypeName (name )
8692 case other :
87- return other
93+ assert_never ( other )
You can’t perform that action at this time.
0 commit comments