def _statements_equal()

in migration/bring-your-own-role/byor.py [0:0]


def _statements_equal(statement1, statement2):
    # Helper function to sort nested structures in trust policy
    def sort_nested(item):
        if isinstance(item, dict):
            return {k: sort_nested(v) for k, v in sorted(item.items())}
        elif isinstance(item, list):
            return sorted(sort_nested(i) for i in item)
        else:
            return item

    # Sort all nested structures
    sorted_statement1 = sort_nested(statement1)
    sorted_statement2 = sort_nested(statement2)
    return json.dumps(sorted_statement1, sort_keys=True) == json.dumps(sorted_statement2, sort_keys=True)