Update compatibility.ts

This commit is contained in:
crStiv 2025-02-25 17:45:55 +01:00 committed by GitHub
parent 25d967ae55
commit 79b21ee8a8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -54,18 +54,18 @@ export function isJsonCompatibleArray(value: unknown): value is JsonCompatibleAr
return true;
}
export function isJsonCompatibleDictionary(data: unknown): data is JsonCompatibleDictionary {
if (typeof data !== "object" || data === null) {
// data must be a non-null object
export function isJsonCompatibleDictionary(value: unknown): value is JsonCompatibleDictionary {
if (typeof value !== "object" || value === null) {
// value must be a non-null object
return false;
}
// Exclude special kind of objects like Array, Date or Uint8Array
// Object.prototype.toString() returns a specified value:
// http://www.ecma-international.org/ecma-262/7.0/index.html#sec-object.prototype.tostring
if (Object.prototype.toString.call(data) !== "[object Object]") {
if (Object.prototype.toString.call(value) !== "[object Object]") {
return false;
}
return Object.values(data).every(isJsonCompatibleValue);
return Object.values(value).every(isJsonCompatibleValue);
}