UNPKG

ts-generic-collections-linq

Version:

TypeScript library provides strongly-typed, queryable collections.

69 lines 6.29 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { List } from './list'; /** * @template T */ export class Group { /** * @param {?} groups * @param {?} list */ constructor(groups, list) { this.list = new List(); this.groups = groups; this.list = new List(list); } } 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 const ITEM_NOT_FOUND_MSG = "Item does not exist."; /** @type {?} */ export const MULTIPLE_INSTANCES_FOUND_MSG = "Multiple instances of entity found."; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdHMtZ2VuZXJpYy1jb2xsZWN0aW9ucy1saW5xLyIsInNvdXJjZXMiOlsibGliL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQUU5QixNQUFNLE9BQU8sS0FBSzs7Ozs7SUFJZCxZQUFZLE1BQWEsRUFBRSxJQUFjO1FBRnpDLFNBQUksR0FBbUIsSUFBSSxJQUFJLEVBQUssQ0FBQztRQUdqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFJLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDSjs7O0lBUEcsdUJBQWM7O0lBQ2QscUJBQXFDOzs7QUFRekMsTUFBTSxLQUFLLFVBQVU7Ozs7O0FBQUcsVUFBVSxJQUFJLEVBQUUsSUFBSTtJQUUzQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsQ0FBQyxFQUFFO1FBQ3pILE9BQU8sSUFBSSxLQUFLLElBQUksQ0FBQztLQUNyQjtJQUVELHFDQUFxQztJQUNyQyxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtRQUNuQix1Q0FBdUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFcEUsUUFBUSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekIsc0JBQXNCO1lBQ3RCLEtBQUssUUFBUTtnQkFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQUUsT0FBTyxLQUFLLENBQUM7Z0JBQ2hELE1BQU07WUFDUCx1QkFBdUI7WUFDdkIsS0FBSyxVQUFVO2dCQUNkLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFBRSxPQUFPLEtBQUssQ0FBQztnQkFDbEgsTUFBTTtZQUNQLGdCQUFnQjtZQUNoQjtnQkFDQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUFFLE9BQU8sS0FBSyxDQUFDO1NBQ3RDO0tBQ0Q7SUFFRCx5Q0FBeUM7SUFDekMsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDbkIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO0tBQ2xEO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDYixDQUFDLENBQUE7O0FBRUQsTUFBTSxPQUFPLGtCQUFrQixHQUFXLHNCQUFzQjs7QUFDaEUsTUFBTSxPQUFPLDRCQUE0QixHQUFXLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFbnVtZXJhYmxlLCBJR3JvdXAgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi9saXN0JztcclxuXHJcbmV4cG9ydCBjbGFzcyBHcm91cDxUPiBpbXBsZW1lbnRzIElHcm91cDxUPiB7XHJcbiAgICBncm91cHM6IGFueVtdO1xyXG4gICAgbGlzdDogSUVudW1lcmFibGU8VD4gPSBuZXcgTGlzdDxUPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGdyb3VwczogYW55W10sIGxpc3Q6IEFycmF5PFQ+KSB7XHJcbiAgICAgICAgdGhpcy5ncm91cHMgPSBncm91cHM7XHJcbiAgICAgICAgdGhpcy5saXN0ID0gbmV3IExpc3Q8VD4obGlzdCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgb2JqQ29tcGFyZSA9IGZ1bmN0aW9uIChvYmoxLCBvYmoyKSB7XHJcblxyXG5cdGlmICgodHlwZW9mIG9iajEgIT09ICdvYmplY3QnICYmIHR5cGVvZiBvYmoxICE9PSAnZnVuY3Rpb24nKSAmJiAodHlwZW9mIG9iajIgIT09ICdvYmplY3QnICYmIHR5cGVvZiBvYmoyICE9PSAnZnVuY3Rpb24nKSkge1xyXG5cdFx0cmV0dXJuIG9iajEgPT09IG9iajI7XHJcblx0fVxyXG5cclxuXHQvL0xvb3AgdGhyb3VnaCBwcm9wZXJ0aWVzIGluIG9iamVjdCAxXHJcblx0Zm9yICh2YXIgcCBpbiBvYmoxKSB7XHJcblx0XHQvL0NoZWNrIHByb3BlcnR5IGV4aXN0cyBvbiBib3RoIG9iamVjdHNcclxuXHRcdGlmIChvYmoxLmhhc093blByb3BlcnR5KHApICE9PSBvYmoyLmhhc093blByb3BlcnR5KHApKSByZXR1cm4gZmFsc2U7XHJcbiBcclxuXHRcdHN3aXRjaCAodHlwZW9mIChvYmoxW3BdKSkge1xyXG5cdFx0XHQvL0RlZXAgY29tcGFyZSBvYmplY3RzXHJcblx0XHRcdGNhc2UgJ29iamVjdCc6XHJcblx0XHRcdFx0aWYgKCFvYmpDb21wYXJlKG9iajFbcF0sIG9iajJbcF0pKSByZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdC8vQ29tcGFyZSBmdW5jdGlvbiBjb2RlXHJcblx0XHRcdGNhc2UgJ2Z1bmN0aW9uJzpcclxuXHRcdFx0XHRpZiAodHlwZW9mIChvYmoyW3BdKSA9PSAndW5kZWZpbmVkJyB8fCAocCAhPSAnY29tcGFyZScgJiYgb2JqMVtwXS50b1N0cmluZygpICE9IG9iajJbcF0udG9TdHJpbmcoKSkpIHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Ly9Db21wYXJlIHZhbHVlc1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdGlmIChvYmoxW3BdICE9IG9iajJbcF0pIHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcbiBcclxuXHQvL0NoZWNrIG9iamVjdCAyIGZvciBhbnkgZXh0cmEgcHJvcGVydGllc1xyXG5cdGZvciAodmFyIHAgaW4gb2JqMikge1xyXG5cdFx0aWYgKHR5cGVvZiAob2JqMVtwXSkgPT0gJ3VuZGVmaW5lZCcpIHJldHVybiBmYWxzZTtcclxuXHR9XHJcblx0cmV0dXJuIHRydWU7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgSVRFTV9OT1RfRk9VTkRfTVNHOiBzdHJpbmcgPSBcIkl0ZW0gZG9lcyBub3QgZXhpc3QuXCI7XHJcbmV4cG9ydCBjb25zdCBNVUxUSVBMRV9JTlNUQU5DRVNfRk9VTkRfTVNHOiBzdHJpbmcgPSBcIk11bHRpcGxlIGluc3RhbmNlcyBvZiBlbnRpdHkgZm91bmQuXCI7Il19