ts-generic-collections-linq
Version:
TypeScript library provides strongly-typed, queryable collections.
73 lines • 6.36 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { List } from './list';
/**
* @template T
*/
var /**
* @template T
*/
Group = /** @class */ (function () {
function Group(groups, list) {
this.list = new List();
this.groups = groups;
this.list = new List(list);
}
return Group;
}());
/**
* @template T
*/
export { Group };
if (false) {
/** @type {?} */
Group.prototype.groups;
/** @type {?} */
Group.prototype.list;
}
/** @type {?} */
export var objCompare = (/**
* @param {?} obj1
* @param {?} obj2
* @return {?}
*/
function (obj1, obj2) {
if ((typeof obj1 !== 'object' && typeof obj1 !== 'function') && (typeof obj2 !== 'object' && typeof obj2 !== 'function')) {
return obj1 === obj2;
}
//Loop through properties in object 1
for (var p in obj1) {
//Check property exists on both objects
if (obj1.hasOwnProperty(p) !== obj2.hasOwnProperty(p))
return false;
switch (typeof (obj1[p])) {
//Deep compare objects
case 'object':
if (!objCompare(obj1[p], obj2[p]))
return false;
break;
//Compare function code
case 'function':
if (typeof (obj2[p]) == 'undefined' || (p != 'compare' && obj1[p].toString() != obj2[p].toString()))
return false;
break;
//Compare values
default:
if (obj1[p] != obj2[p])
return false;
}
}
//Check object 2 for any extra properties
for (var p in obj2) {
if (typeof (obj1[p]) == 'undefined')
return false;
}
return true;
});
/** @type {?} */
export var ITEM_NOT_FOUND_MSG = "Item does not exist.";
/** @type {?} */
export var MULTIPLE_INSTANCES_FOUND_MSG = "Multiple instances of entity found.";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdHMtZ2VuZXJpYy1jb2xsZWN0aW9ucy1saW5xLyIsInNvdXJjZXMiOlsibGliL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQUU5Qjs7OztJQUlJLGVBQVksTUFBYSxFQUFFLElBQWM7UUFGekMsU0FBSSxHQUFtQixJQUFJLElBQUksRUFBSyxDQUFDO1FBR2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUksSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNMLFlBQUM7QUFBRCxDQUFDLEFBUkQsSUFRQzs7Ozs7OztJQVBHLHVCQUFjOztJQUNkLHFCQUFxQzs7O0FBUXpDLE1BQU0sS0FBSyxVQUFVOzs7OztBQUFHLFVBQVUsSUFBSSxFQUFFLElBQUk7SUFFM0MsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLENBQUMsRUFBRTtRQUN6SCxPQUFPLElBQUksS0FBSyxJQUFJLENBQUM7S0FDckI7SUFFRCxxQ0FBcUM7SUFDckMsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDbkIsdUNBQXVDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRXBFLFFBQVEsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pCLHNCQUFzQjtZQUN0QixLQUFLLFFBQVE7Z0JBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUNoRCxNQUFNO1lBQ1AsdUJBQXVCO1lBQ3ZCLEtBQUssVUFBVTtnQkFDZCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLElBQUksQ0FBQyxDQUFDLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQUUsT0FBTyxLQUFLLENBQUM7Z0JBQ2xILE1BQU07WUFDUCxnQkFBZ0I7WUFDaEI7Z0JBQ0MsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFBRSxPQUFPLEtBQUssQ0FBQztTQUN0QztLQUNEO0lBRUQseUNBQXlDO0lBQ3pDLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1FBQ25CLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVc7WUFBRSxPQUFPLEtBQUssQ0FBQztLQUNsRDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2IsQ0FBQyxDQUFBOztBQUVELE1BQU0sS0FBTyxrQkFBa0IsR0FBVyxzQkFBc0I7O0FBQ2hFLE1BQU0sS0FBTyw0QkFBNEIsR0FBVyxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRW51bWVyYWJsZSwgSUdyb3VwIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4vbGlzdCc7XHJcblxyXG5leHBvcnQgY2xhc3MgR3JvdXA8VD4gaW1wbGVtZW50cyBJR3JvdXA8VD4ge1xyXG4gICAgZ3JvdXBzOiBhbnlbXTtcclxuICAgIGxpc3Q6IElFbnVtZXJhYmxlPFQ+ID0gbmV3IExpc3Q8VD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihncm91cHM6IGFueVtdLCBsaXN0OiBBcnJheTxUPikge1xyXG4gICAgICAgIHRoaXMuZ3JvdXBzID0gZ3JvdXBzO1xyXG4gICAgICAgIHRoaXMubGlzdCA9IG5ldyBMaXN0PFQ+KGxpc3QpO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdmFyIG9iakNvbXBhcmUgPSBmdW5jdGlvbiAob2JqMSwgb2JqMikge1xyXG5cclxuXHRpZiAoKHR5cGVvZiBvYmoxICE9PSAnb2JqZWN0JyAmJiB0eXBlb2Ygb2JqMSAhPT0gJ2Z1bmN0aW9uJykgJiYgKHR5cGVvZiBvYmoyICE9PSAnb2JqZWN0JyAmJiB0eXBlb2Ygb2JqMiAhPT0gJ2Z1bmN0aW9uJykpIHtcclxuXHRcdHJldHVybiBvYmoxID09PSBvYmoyO1xyXG5cdH1cclxuXHJcblx0Ly9Mb29wIHRocm91Z2ggcHJvcGVydGllcyBpbiBvYmplY3QgMVxyXG5cdGZvciAodmFyIHAgaW4gb2JqMSkge1xyXG5cdFx0Ly9DaGVjayBwcm9wZXJ0eSBleGlzdHMgb24gYm90aCBvYmplY3RzXHJcblx0XHRpZiAob2JqMS5oYXNPd25Qcm9wZXJ0eShwKSAhPT0gb2JqMi5oYXNPd25Qcm9wZXJ0eShwKSkgcmV0dXJuIGZhbHNlO1xyXG4gXHJcblx0XHRzd2l0Y2ggKHR5cGVvZiAob2JqMVtwXSkpIHtcclxuXHRcdFx0Ly9EZWVwIGNvbXBhcmUgb2JqZWN0c1xyXG5cdFx0XHRjYXNlICdvYmplY3QnOlxyXG5cdFx0XHRcdGlmICghb2JqQ29tcGFyZShvYmoxW3BdLCBvYmoyW3BdKSkgcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHQvL0NvbXBhcmUgZnVuY3Rpb24gY29kZVxyXG5cdFx0XHRjYXNlICdmdW5jdGlvbic6XHJcblx0XHRcdFx0aWYgKHR5cGVvZiAob2JqMltwXSkgPT0gJ3VuZGVmaW5lZCcgfHwgKHAgIT0gJ2NvbXBhcmUnICYmIG9iajFbcF0udG9TdHJpbmcoKSAhPSBvYmoyW3BdLnRvU3RyaW5nKCkpKSByZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdC8vQ29tcGFyZSB2YWx1ZXNcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRpZiAob2JqMVtwXSAhPSBvYmoyW3BdKSByZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG4gXHJcblx0Ly9DaGVjayBvYmplY3QgMiBmb3IgYW55IGV4dHJhIHByb3BlcnRpZXNcclxuXHRmb3IgKHZhciBwIGluIG9iajIpIHtcclxuXHRcdGlmICh0eXBlb2YgKG9iajFbcF0pID09ICd1bmRlZmluZWQnKSByZXR1cm4gZmFsc2U7XHJcblx0fVxyXG5cdHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IElURU1fTk9UX0ZPVU5EX01TRzogc3RyaW5nID0gXCJJdGVtIGRvZXMgbm90IGV4aXN0LlwiO1xyXG5leHBvcnQgY29uc3QgTVVMVElQTEVfSU5TVEFOQ0VTX0ZPVU5EX01TRzogc3RyaW5nID0gXCJNdWx0aXBsZSBpbnN0YW5jZXMgb2YgZW50aXR5IGZvdW5kLlwiOyJdfQ==