Merge remote-tracking branch 'upstream/cli-from-storage-json' into integration

This commit is contained in:
J. Nick Koston
2026-05-12 17:54:11 -05:00
9 changed files with 635 additions and 8 deletions
+9 -1
View File
@@ -119,7 +119,15 @@ from esphome.util import Registry # noqa: E402
def sort_obj(obj):
if isinstance(obj, dict):
return {k: sort_obj(v) for k, v in sorted(obj.items(), key=lambda x: str(x[0]))}
is_enum = obj.get(S_TYPE) == "enum"
result = {}
for k, v in sorted(obj.items(), key=lambda x: str(x[0])):
if is_enum and k == "values" and isinstance(v, dict):
# Preserve source order of enum options
result[k] = {vk: sort_obj(vv) for vk, vv in v.items()}
else:
result[k] = sort_obj(v)
return result
if isinstance(obj, list):
return [sort_obj(item) for item in obj]
return obj