add support for sets

This commit is contained in:
marlon-erler
2024-07-22 11:47:32 +02:00
parent 63c49ba0fc
commit 6d126a2fa8
+6 -4
View File
@@ -17,15 +17,17 @@ export function checkMatchesObjectStructure(
const actualType = typeof objectToCheck[key]; const actualType = typeof objectToCheck[key];
if (requiredType != actualType) return false; if (requiredType != actualType) return false;
if (Array.isArray(reference[key])) { if (Array.isArray(reference[key]) || reference[key] instanceof Set) {
// only check if array is not empty // only check if array is not empty
if (objectToCheck[key].length == 0) continue; if (objectToCheck[key].length == 0) continue;
if (objectToCheck[key].size == 0) continue;
// check first item of array // check first item of array
// recurse into objects const [firstOfObjectToCheck] = objectToCheck[key];
const [fisrtOfReference] = reference[key];
const doesFirstItemMatch = checkMatchesObjectStructure( const doesFirstItemMatch = checkMatchesObjectStructure(
objectToCheck[key][0], firstOfObjectToCheck,
reference[key][0] fisrtOfReference
); );
if (doesFirstItemMatch == false) return false; if (doesFirstItemMatch == false) return false;
} else if (requiredType == "object") { } else if (requiredType == "object") {