def diff()

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