Structural equality of two settings objects via key-sorted JSON; treats `undefined`/`null` as equivalent.
(a: unknown, b: unknown)
| 255 | |
| 256 | /** Structural equality of two settings objects via key-sorted JSON; treats `undefined`/`null` as equivalent. */ |
| 257 | function areSettingsEqual(a: unknown, b: unknown): boolean { |
| 258 | const norm = (value: unknown): string => { |
| 259 | if (value === undefined || value === null) return 'null' |
| 260 | return JSON.stringify(value, sortedKeysReplacer) |
| 261 | } |
| 262 | return norm(a) === norm(b) |
| 263 | } |
| 264 | |
| 265 | function sortedKeysReplacer(_key: string, value: unknown): unknown { |
| 266 | if (value === null || typeof value !== 'object' || Array.isArray(value)) { |
no test coverage detected