UNPKG

ng-custom-pipe

Version:

An Angular Library, that gives you a hussle free experience on data operation using pipes

33 lines 3.61 kB
/** Copyright 2023 Infosys Ltd. */ import { Pipe } from '@angular/core'; import * as i0 from "@angular/core"; export class GroupByPipe { transform(value, col) { let result = []; let group = []; value.forEach((row) => { let key = row[col]; if (!group.includes(key)) { result.push({ key: key, value: [row] }); group.push(key); } else { result.forEach(ar => { if (ar.key === key) { ar.value.push(row); } }); } }); return result; } } GroupByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GroupByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); GroupByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: GroupByPipe, name: "groupBy" }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GroupByPipe, decorators: [{ type: Pipe, args: [{ name: 'groupBy' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWN1c3RvbS1waXBlL3NyYy9saWIvYWdncmVnYXRlL2dyb3VwLWJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sV0FBVztJQUV0QixTQUFTLENBQUMsS0FBZSxFQUFFLEdBQVc7UUFDcEMsSUFBSSxNQUFNLEdBQWtDLEVBQUUsQ0FBQztRQUMvQyxJQUFJLEtBQUssR0FBYSxFQUFFLENBQUM7UUFFekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBQyxFQUFFO1lBQ3RCLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFDO2dCQUN0QyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO2lCQUFNO2dCQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ2hCLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBRyxHQUFHLEVBQUU7d0JBQ2QsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3RCO2dCQUNMLENBQUMsQ0FBQyxDQUFBO2FBQ0w7UUFDTCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O3dHQXBCVSxXQUFXO3NHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQ29weXJpZ2h0IDIwMjMgSW5mb3N5cyBMdGQuICovXHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZ3JvdXBCeSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyb3VwQnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogT2JqZWN0W10sIGNvbDogc3RyaW5nKTogeyBrZXk6IGFueTsgdmFsdWU6IGFueVtdOyB9W10ge1xyXG4gICAgbGV0IHJlc3VsdDogeyBrZXk6IGFueTsgdmFsdWU6IGFueVtdOyB9W10gPSBbXTtcclxuICAgIGxldCBncm91cDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICB2YWx1ZS5mb3JFYWNoKChyb3c6IGFueSk9PiB7XHJcbiAgICAgICAgbGV0IGtleSA9IHJvd1tjb2xdO1xyXG4gICAgICAgIGlmKCFncm91cC5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtrZXk6IGtleSwgdmFsdWU6IFtyb3ddfSk7XHJcbiAgICAgICAgICAgIGdyb3VwLnB1c2goa2V5KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXN1bHQuZm9yRWFjaChhciA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYXIua2V5PT09a2V5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXIudmFsdWUucHVzaChyb3cpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbn1cclxuIl19