99from utils import exceptions
1010
1111import copy
12+ from typing import TYPE_CHECKING , Any , Type , Union
13+ if TYPE_CHECKING :
14+ from command .model .configuration ._arg_builder import CMDArgBuilder
1215
1316
1417class CMDArgEnumItem (Model ):
@@ -129,12 +132,12 @@ class Options:
129132 def type (self ):
130133 return self ._get_type ()
131134
132- def _get_type (self ):
135+ def _get_type (self ) -> str :
133136 assert self .TYPE_VALUE is not None
134137 return self .TYPE_VALUE
135138
136139 @classmethod
137- def _claim_polymorphic (cls , data ) :
140+ def _claim_polymorphic (cls , data : Any ) -> bool :
138141 if cls .TYPE_VALUE is None :
139142 return False
140143
@@ -148,7 +151,7 @@ def _claim_polymorphic(cls, data):
148151 return False
149152
150153 @classmethod
151- def build_arg_base (cls , builder ) :
154+ def build_arg_base (cls , builder : "CMDArgBuilder" ) -> Any :
152155 arg_base = cls ()
153156 arg_base .nullable = builder .get_nullable ()
154157 arg_base .blank = builder .get_blank ()
@@ -171,7 +174,7 @@ def __init__(self, **kwargs):
171174 ** kwargs
172175 )
173176
174- def find_model (self , data ) :
177+ def find_model (self , data : Any ) -> Any :
175178 if self .claim_function :
176179 kls = self .claim_function (self , data )
177180 if not kls :
@@ -229,7 +232,7 @@ def __init__(self, *args, **kwargs):
229232 self .ref_schema = None
230233
231234 @classmethod
232- def _claim_polymorphic (cls , data ) :
235+ def _claim_polymorphic (cls , data : Any ) -> bool :
233236 if super ()._claim_polymorphic (data ):
234237 if isinstance (data , dict ):
235238 # distinguish with CMDArgBase and CMDArg
@@ -239,7 +242,7 @@ def _claim_polymorphic(cls, data):
239242 return False
240243
241244 @classmethod
242- def build_arg (cls , builder ) :
245+ def build_arg (cls , builder : "CMDArgBuilder" ) -> Any :
243246 arg = cls .build_arg_base (builder )
244247 assert isinstance (arg , CMDArg )
245248 arg .var = builder .get_var ()
@@ -278,7 +281,7 @@ def __init__(self, *args, **kwargs):
278281 self .implement = None
279282
280283 @classmethod
281- def _claim_polymorphic (cls , data ) :
284+ def _claim_polymorphic (cls , data : Any ) -> bool :
282285 if isinstance (data , dict ):
283286 type_value = data .get ('type' , None )
284287 if type_value is not None and type_value .startswith ("@" ):
@@ -356,7 +359,7 @@ class CMDStringArgBase(CMDArgBase):
356359 enum = ModelType (CMDArgEnum )
357360
358361 @classmethod
359- def build_arg_base (cls , builder ) :
362+ def build_arg_base (cls , builder : "CMDArgBuilder" ) -> Any :
360363 arg = super ().build_arg_base (builder )
361364 assert isinstance (arg , CMDStringArgBase )
362365 arg .fmt = builder .get_fmt ()
@@ -838,7 +841,7 @@ class CMDArrayArgBase(CMDArgBase):
838841 # default
839842 cls = CMDClassField ()
840843
841- def _get_type (self ):
844+ def _get_type (self ) -> str :
842845 return f"{ self .TYPE_VALUE } <{ self .item .type } >"
843846
844847 @classmethod
0 commit comments