in src/aaz_dev/command/model/configuration/_format.py [0:0]
def diff(self, old, level):
if type(self) is not type(old):
return f"Type: {type(old)} != {type(self)}"
diff = {}
if level >= CMDDiffLevelEnum.BreakingChange:
if self.multiple_of and (not old.multiple_of or
self.multiple_of != 0 and old.multiple_of % self.multiple_of != 0):
diff["multiple_of"] = f"from {old.multiple_of} to {self.multiple_of}"
if self.maximum and (not old.maximum or old.maximum > self.maximum):
diff["maximum"] = f"from {old.maximum} to {self.maximum}"
if self.maximum and self.maximum == old.maximum and self.exclusive_maximum != old.exclusive_maximum:
diff["exclusive_maximum"] = f"from {old.exclusive_maximum} to {self.exclusive_maximum}"
if self.minimum and (not old.minimum or old.minimum < self.minimum):
diff["minimum"] = f"from {old.minimum} to {self.minimum}"
if self.minimum and self.minimum == old.minimum and self.exclusive_minimum != old.exclusive_minimum:
diff["exclusive_minimum"] = f"from {old.exclusive_minimum} to {self.exclusive_minimum}"
if level >= CMDDiffLevelEnum.Structure:
if self.multiple_of != old.multiple_of:
diff["multiple_of"] = f"{old.multiple_of} != {self.multiple_of}"
if self.maximum != old.maximum:
diff["maximum"] = f"{old.maximum} != {self.maximum}"
if self.exclusive_maximum != old.exclusive_maximum:
diff["exclusive_maximum"] = f"{old.exclusive_maximum} != {self.exclusive_maximum}"
if self.minimum != old.minimum:
diff["minimum"] = f"{old.minimum} != {self.minimum}"
if self.exclusive_minimum != old.exclusive_minimum:
diff["exclusive_minimum"] = f"{old.exclusive_minimum} != {self.exclusive_minimum}"
return diff