move invalid parameters validation to javascript and remove validation from android

This commit is contained in:
Omer Levy
2017-10-09 03:42:57 +03:00
parent 29ebbbcc00
commit a085733e03
4 changed files with 83 additions and 46 deletions

View File

@@ -70,6 +70,43 @@ export function deepExists(object: Object,
return tmp !== undefined;
}
/**
* Deep Check if obj1 keys are contained in obj2
* @param obj1
* @param obj2
* @returns {boolean}
*/
export function areObjectKeysContainedInOther(obj1 : Object, obj2: Object): boolean {
if (!isObject(obj1) || !isObject(obj2)) {
return false;
}
const keys1 = Object.keys(obj1);
const keys2 = Object.keys(obj2);
if (isArrayContainedInOther(keys1, keys2)) {
return keys1.filter((key) => {
return isObject(obj1[key]);
}).reduce((acc, cur) => {
return acc && areObjectKeysContainedInOther(obj1[cur], obj2[cur]);
}, true);
}
return false;
}
/**
* Check if arr1 is contained in arr2
* @param arr1
* @param arr2
* @returns {boolean}
*/
export function isArrayContainedInOther(arr1: Array, arr2: Array): boolean {
if (!Array.isArray(arr1) || !Array.isArray(arr2)) {
return false;
}
return arr1.reduce((acc, cur) => {
return acc && arr2.includes(cur);
}, true);
}
/**
* Simple is object check.
* @param item