ngx-mat-lib
Version:
A bunch of utilities and components to use in your Angular 7+ apps!
34 lines (33 loc) • 3.38 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Pipe, Injectable } from "@angular/core";
import { forEach } from "lodash";
export class XmatObjectToArrayPipe {
/**
* @template T
* @param {?} object
* @param {?=} limitTo
* @return {?}
*/
transform(object, limitTo) {
if (!object || object !== Object(object) || Array.isArray(object)) {
return void 0;
}
(limitTo !== void 0) || (limitTo = Object.keys(object).length);
/** @type {?} */
const keys = [];
forEach(Object.keys(object), (key, index) => {
keys.push({ key: key, value: object[key] });
// Breaks when limit is reached
return index < limitTo - 1;
});
return keys;
}
}
XmatObjectToArrayPipe.decorators = [
{ type: Injectable },
{ type: Pipe, args: [{ name: "objectToArray", pure: !1 },] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1hdC1vYmplY3QtdG8tYXJyYXkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXQtbGliLyIsInNvdXJjZXMiOlsibGliL3BpcGVzL3htYXQtb2JqZWN0LXRvLWFycmF5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUloRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSWpDLE1BQU0sT0FBTyxxQkFBcUI7Ozs7Ozs7SUFDaEMsU0FBUyxDQUFJLE1BQTRCLEVBQUUsT0FBZ0I7UUFDekQsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakUsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBQ0QsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDOztRQUMvRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7O1lBRTVDLE9BQU8sS0FBSyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDNUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7S0FDYjs7O1lBZkYsVUFBVTtZQUNWLElBQUksU0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG4vL1xuaW1wb3J0IHsgWG1hdFNlbGVjdCwgWG1hdEdlbmVyaWNPYmplY3QgfSBmcm9tIFwiLi4vbW9kZWxzL2luZGV4XCI7XG4vL1xuaW1wb3J0IHsgZm9yRWFjaCB9IGZyb20gXCJsb2Rhc2hcIjtcblxuQEluamVjdGFibGUoKVxuQFBpcGUoeyBuYW1lOiBcIm9iamVjdFRvQXJyYXlcIiwgcHVyZTogITEgfSlcbmV4cG9ydCBjbGFzcyBYbWF0T2JqZWN0VG9BcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtPFQ+KG9iamVjdDogWG1hdEdlbmVyaWNPYmplY3Q8VD4sIGxpbWl0VG8/OiBudW1iZXIpOiBYbWF0U2VsZWN0PFQ+W10ge1xuICAgIGlmICghb2JqZWN0IHx8IG9iamVjdCAhPT0gT2JqZWN0KG9iamVjdCkgfHwgQXJyYXkuaXNBcnJheShvYmplY3QpKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICAobGltaXRUbyAhPT0gdm9pZCAwKSB8fCAobGltaXRUbyA9IE9iamVjdC5rZXlzKG9iamVjdCkubGVuZ3RoKTtcbiAgICBjb25zdCBrZXlzID0gW107XG4gICAgZm9yRWFjaChPYmplY3Qua2V5cyhvYmplY3QpLCAoa2V5LCBpbmRleCkgPT4ge1xuICAgICAga2V5cy5wdXNoKHsga2V5OiBrZXksIHZhbHVlOiBvYmplY3Rba2V5XSB9KTtcbiAgICAgIC8vIEJyZWFrcyB3aGVuIGxpbWl0IGlzIHJlYWNoZWRcbiAgICAgIHJldHVybiBpbmRleCA8IGxpbWl0VG8gLSAxO1xuICAgIH0pO1xuICAgIHJldHVybiBrZXlzO1xuICB9XG59XG4iXX0=