com.phloxui
Version:
PhloxUI Ng2+ Framework
65 lines (64 loc) • 7.66 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
export class DefaultDataComparator {
/**
* @param {?} o1
* @param {?} o2
* @return {?}
*/
compare(o1, o2) {
if ((o1 === null || typeof o1 === 'undefined') && (o2 !== null && typeof o2 !== 'undefined')) {
return 1;
}
else if ((o1 !== null && typeof o1 !== 'undefined') && (o2 === null || typeof o2 === 'undefined')) {
return -1;
}
else if ((o1 === null || typeof o1 === 'undefined') && (o2 === null || typeof o2 === 'undefined')) {
return 0;
}
if ((typeof o1) !== (typeof o2)) {
if (typeof o1 === 'object' && typeof o2 !== 'object') {
return -1;
}
else if (typeof o1 !== 'object' && typeof o2 === 'object') {
return 1;
}
}
if (typeof o1 === 'object') {
let /** @type {?} */ objId1 = o1._uuid;
let /** @type {?} */ objId2 = o2._uuid;
if ((objId1 === null || typeof objId1 === 'undefined') && (objId2 !== null && typeof objId2 !== 'undefined')) {
return 1;
}
else if ((objId1 !== null && typeof objId1 !== 'undefined') && (objId2 === null || typeof objId2 === 'undefined')) {
return -1;
}
else if ((objId1 === null || typeof objId1 === 'undefined') && (objId2 === null || typeof objId2 === 'undefined')) {
return 0;
}
else {
if (objId1 === objId2) {
return 0;
}
else if (objId1 < objId2) {
return -1;
}
else if (objId1 > objId2) {
return 1;
}
}
}
return 0;
}
/**
* @param {?} o1
* @param {?} o2
* @return {?}
*/
equals(o1, o2) {
return this.compare(o1, o2) === 0 ? true : false;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdERhdGFDb21wYXJhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L0RlZmF1bHREYXRhQ29tcGFyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTTs7Ozs7O0lBRUssT0FBTyxDQUFDLEVBQU8sRUFBRSxFQUFPO1FBQzNCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxPQUFPLEVBQUUsS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksT0FBTyxFQUFFLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNGLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDWjtRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksT0FBTyxFQUFFLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLE9BQU8sRUFBRSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDYjtRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksT0FBTyxFQUFFLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLE9BQU8sRUFBRSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ1o7UUFFRCxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2I7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDWjtTQUNKO1FBRUQsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN6QixxQkFBSSxNQUFNLEdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUM5QixxQkFBSSxNQUFNLEdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUU5QixFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0csTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNaO1lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsSCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYjtZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEgsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNaO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQ1o7Z0JBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2I7Z0JBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUNaO2FBQ0o7U0FDSjtRQUVELE1BQU0sQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7SUFHTixNQUFNLENBQUMsRUFBTyxFQUFFLEVBQU87UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7O0NBRXhEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSURhdGFDb21wYXJhdG9yIH0gZnJvbSAnLi9JRGF0YUNvbXBhcmF0b3InO1xuXG5leHBvcnQgY2xhc3MgRGVmYXVsdERhdGFDb21wYXJhdG9yIGltcGxlbWVudHMgSURhdGFDb21wYXJhdG9yPGFueT4ge1xuXG4gICAgcHVibGljIGNvbXBhcmUobzE6IGFueSwgbzI6IGFueSk6IG51bWJlciB7XG4gICAgICAgIGlmICgobzEgPT09IG51bGwgfHwgdHlwZW9mIG8xID09PSAndW5kZWZpbmVkJykgJiYgKG8yICE9PSBudWxsICYmIHR5cGVvZiBvMiAhPT0gJ3VuZGVmaW5lZCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfSBlbHNlIGlmICgobzEgIT09IG51bGwgJiYgdHlwZW9mIG8xICE9PSAndW5kZWZpbmVkJykgJiYgKG8yID09PSBudWxsIHx8IHR5cGVvZiBvMiA9PT0gJ3VuZGVmaW5lZCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH0gZWxzZSBpZiAoKG8xID09PSBudWxsIHx8IHR5cGVvZiBvMSA9PT0gJ3VuZGVmaW5lZCcpICYmIChvMiA9PT0gbnVsbCB8fCB0eXBlb2YgbzIgPT09ICd1bmRlZmluZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoKHR5cGVvZiBvMSkgIT09ICh0eXBlb2YgbzIpKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG8xID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbzIgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbzEgIT09ICdvYmplY3QnICYmIHR5cGVvZiBvMiA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbzEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBsZXQgb2JqSWQxOiBzdHJpbmcgPSBvMS5fdXVpZDtcbiAgICAgICAgICAgIGxldCBvYmpJZDI6IHN0cmluZyA9IG8yLl91dWlkO1xuXG4gICAgICAgICAgICBpZiAoKG9iaklkMSA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqSWQxID09PSAndW5kZWZpbmVkJykgJiYgKG9iaklkMiAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqSWQyICE9PSAndW5kZWZpbmVkJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoKG9iaklkMSAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqSWQxICE9PSAndW5kZWZpbmVkJykgJiYgKG9iaklkMiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqSWQyID09PSAndW5kZWZpbmVkJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKChvYmpJZDEgPT09IG51bGwgfHwgdHlwZW9mIG9iaklkMSA9PT0gJ3VuZGVmaW5lZCcpICYmIChvYmpJZDIgPT09IG51bGwgfHwgdHlwZW9mIG9iaklkMiA9PT0gJ3VuZGVmaW5lZCcpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChvYmpJZDEgPT09IG9iaklkMikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG9iaklkMSA8IG9iaklkMikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvYmpJZDEgPiBvYmpJZDIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHVibGljIGVxdWFscyhvMTogYW55LCBvMjogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUobzEsIG8yKSA9PT0gMCA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG59Il19