Skip to content

Commit a70eaf3

Browse files
committed
more consistent names, simpler decorators
1 parent b49c327 commit a70eaf3

File tree

2 files changed

+4
-12
lines changed

2 files changed

+4
-12
lines changed

06-decorators.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,14 @@ class IntType(TypeChecker):
2020
required_type = int
2121

2222

23-
def type_check(**kwargs):
24-
def wrapper(cls):
25-
for var_name, checker_class in kwargs.items():
26-
setattr(cls, var_name, checker_class(var_name))
27-
return cls
28-
return wrapper
29-
30-
31-
def simple_type_check(cls):
23+
def type_check(cls):
3224
for var_name, checker in cls.__dict__.items():
3325
if isinstance(checker, TypeChecker):
3426
checker.name = var_name
3527
return cls
3628

3729

38-
@type_check(x=IntType, y=IntType)
30+
@type_check
3931
class Point:
4032
def __init__(self, x, y):
4133
self.x = x
@@ -56,7 +48,7 @@ class PointType(TypeChecker):
5648
required_type = Point
5749

5850

59-
@simple_type_check
51+
@type_check
6052
class Circle:
6153
center = PointType()
6254
radius = IntType()

14-ast.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def __set__(self, instance, value):
2121
instance.__dict__[self.name] = value
2222
2323
24-
def typed(cls):
24+
def type_check(cls):
2525
for var_name, var_type in cls.__annotations__.items():
2626
class Checker(TypeChecker):
2727
required_type = var_type

0 commit comments

Comments
 (0)