@@ -484,23 +484,34 @@ def clear_errors(self):
484484 core .BNClearDiffStateErrors (self .handle )
485485
486486 def generate_diff (
487- self , base : DatabaseObject , left : DatabaseObject , right : DatabaseObject
487+ self , base : Optional [ DatabaseObject ] , left : Optional [ DatabaseObject ] , right : Optional [ DatabaseObject ]
488488 ) -> Optional ['DiffObject' ]:
489489 """Generate a three-way diff database objects"""
490490 handle = core .BNDiffStateGenerateDiff (
491- self .handle , base .handle , left .handle , right .handle
491+ self .handle ,
492+ base .handle if base is not None else None ,
493+ left .handle if left is not None else None ,
494+ right .handle if right is not None else None
492495 )
493496 if handle is None :
494497 return None
495498 return DiffObject (handle = handle )
496499
497500 def apply_diff (
498- self , diff : 'DiffObject' , base : DatabaseObject , left : DatabaseObject ,
499- right : DatabaseObject , result : DatabaseObject
501+ self ,
502+ diff : 'DiffObject' ,
503+ base : Optional [DatabaseObject ],
504+ left : Optional [DatabaseObject ],
505+ right : Optional [DatabaseObject ],
506+ result : DatabaseObject
500507 ) -> bool :
501508 """Apply a diff to database objects"""
502509 return core .BNDiffStateApplyDiff (
503- self .handle , diff .handle , base .handle , left .handle , right .handle ,
510+ self .handle ,
511+ diff .handle ,
512+ base .handle if base is not None else None ,
513+ left .handle if left is not None else None ,
514+ right .handle if right is not None else None ,
504515 result .handle
505516 )
506517
0 commit comments