Extract stable serialization infrastructure into VG-Core

Dieser Commit ist enthalten in:
2026-05-26 17:22:46 +02:00
Ursprung ea328ef9d1
Commit ebf184800a
3 geänderte Dateien mit 21 neuen und 21 gelöschten Zeilen
+1
Datei anzeigen
@@ -27,6 +27,7 @@
"src/background/gvl/gvl-catalog-normalizer.js",
"src/background/db/db-retention.js",
"src/background/db/db-record-locks.js",
"src/core/stable-serialize.js",
"src/background/utils.js",
"src/core/settings-storage.js",
"src/background/settings.js",
-21
Datei anzeigen
@@ -7,24 +7,3 @@ async function sha256Hex(input) {
.map((byte) => byte.toString(16).padStart(2, "0"))
.join("");
}
function stableStringify(value) {
return JSON.stringify(sortObjectKeys(value));
}
function sortObjectKeys(value) {
if (Array.isArray(value)) {
return value.map(sortObjectKeys);
}
if (value && typeof value === "object") {
return Object.keys(value)
.sort()
.reduce((result, key) => {
result[key] = sortObjectKeys(value[key]);
return result;
}, {});
}
return value;
}
+20
Datei anzeigen
@@ -0,0 +1,20 @@
function stableStringify(value) {
return JSON.stringify(sortObjectKeys(value));
}
function sortObjectKeys(value) {
if (Array.isArray(value)) {
return value.map(sortObjectKeys);
}
if (value && typeof value === "object") {
return Object.keys(value)
.sort()
.reduce((result, key) => {
result[key] = sortObjectKeys(value[key]);
return result;
}, {});
}
return value;
}