@@ -986,6 +986,7 @@ def __init__(
986986 self ._g = error_code_group
987987 if success and isinstance (value , ResultErr ):
988988 success = False
989+ self ._g = value ._g
989990 if _empty_init :
990991 self ._success = None
991992 self ._Ok = ""
@@ -1011,8 +1012,8 @@ def __init__(
10111012 )
10121013
10131014 @classmethod
1014- def Ok (cls , value ):
1015- return cls (value )
1015+ def Ok (cls , value , error_code_group = 1 ):
1016+ return cls (value , error_code_group = error_code_group )
10161017
10171018 @classmethod
10181019 def Err (cls , error_msg , error_code = 1 , error_code_group = 1 ):
@@ -1094,10 +1095,10 @@ def apply(self, ok_func, *args, **kwargs):
10941095 try :
10951096 return Result (ok_func (self ._Ok , * args , ** kwargs ), error_code_group = self ._g )
10961097 except Exception as e :
1097- err = Result .Err ("Result.apply exception." , self .error_code ("Apply" ))
1098+ err = Result .Err ("Result.apply exception." , self .error_code ("Apply" ), self . _g )
10981099 err .add_Err_msg (f"{ type (e ).__name__ } : { e } " , self .error_code ("Apply" ), add_traceback = False )
10991100 return err
1100- res = Result . Err (self ._Err )
1101+ res = Result (self ._Err )
11011102 res .add_Err_msg ("Result.apply on Err." , self .error_code ("Apply" ))
11021103 return res
11031104
@@ -1125,7 +1126,7 @@ def apply_or_else(self, err_func, ok_func, *args, **kwargs):
11251126 try :
11261127 return Result (err_func (err , * args , ** kwargs ), error_code_group = self ._g )
11271128 except Exception as e :
1128- err = Result .Err ("Result.apply_or_else exception." , self .error_code ("Apply" ))
1129+ err = Result .Err ("Result.apply_or_else exception." , self .error_code ("Apply" ), self . _g )
11291130 err .add_Err_msg (f"{ type (e ).__name__ } : { e } " , self .error_code ("Apply" ), add_traceback = False )
11301131 return err
11311132
@@ -1134,7 +1135,7 @@ def apply_Err(self, err_func, *args, **kwargs):
11341135 if self ._success :
11351136 return self .copy ()
11361137 try :
1137- return Result . Ok (err_func (self ._Err , * args , ** kwargs ))
1138+ return Result (err_func (self ._Err , * args , ** kwargs ), error_code_group = self . _g )
11381139 except Exception as e :
11391140 err = self .copy ()
11401141 err .add_Err_msg ("Result.apply_err exception." , self .error_code ("Map" ), add_traceback = True )
@@ -1145,7 +1146,7 @@ def map(self, ok_func):
11451146 self ._empty_error ()
11461147 if self ._success :
11471148 return Result (ok_func (self ._Ok ), error_code_group = self ._g )
1148- res = Result . Err (self ._Err )
1149+ res = Result (self ._Err )
11491150 res .add_Err_msg ("Result.map on Err." , self .error_code ("Map" ))
11501151 return res
11511152
@@ -1165,7 +1166,7 @@ def map_Err(self, err_func):
11651166 self ._empty_error ()
11661167 if self ._success :
11671168 return self .copy ()
1168- return Result . Ok (err_func (self ._Err ), error_code_group = self ._g )
1169+ return Result (err_func (self ._Err ), error_code_group = self ._g )
11691170
11701171 def iter (self ):
11711172 self ._empty_error ()
0 commit comments