ngx-easy-table
Version:
Angular easy table
42 lines • 3.01 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { from } from 'rxjs';
import { flatMap, groupBy, reduce } from 'rxjs/operators';
export class GroupRowsService {
/**
* @template T
* @param {?} data
* @param {?} groupRowsBy
* @return {?}
*/
static doGroupRows(data, groupRowsBy) {
/** @type {?} */
const grouped = [];
from(data).pipe(groupBy((/**
* @param {?} row
* @return {?}
*/
(row) => row[groupRowsBy])), flatMap((/**
* @param {?} group
* @return {?}
*/
(group) => group.pipe(reduce((/**
* @param {?} acc
* @param {?} curr
* @return {?}
*/
(acc, curr) => [...acc, curr]), []))))).subscribe((/**
* @param {?} row
* @return {?}
*/
(row) => grouped.push(row)));
return grouped;
}
}
GroupRowsService.decorators = [
{ type: Injectable }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcm93cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWVhc3ktdGFibGUvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZ3JvdXAtcm93cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUQsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7OztJQUNwQixNQUFNLENBQUMsV0FBVyxDQUFJLElBQVMsRUFBRSxXQUFtQjs7Y0FDbkQsT0FBTyxHQUFVLEVBQUU7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDYixPQUFPOzs7O1FBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBQyxFQUNsQyxPQUFPOzs7O1FBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzNCLE1BQU07Ozs7O1FBQUMsQ0FBQyxHQUFRLEVBQUUsSUFBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUNsRCxFQUFDLENBQ0gsQ0FBQyxTQUFTOzs7O1FBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztRQUV4QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzs7WUFaRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmxhdE1hcCwgZ3JvdXBCeSwgcmVkdWNlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR3JvdXBSb3dzU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgZG9Hcm91cFJvd3M8VD4oZGF0YTogVFtdLCBncm91cFJvd3NCeTogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IGdyb3VwZWQ6IGFueVtdID0gW107XG4gICAgZnJvbShkYXRhKS5waXBlKFxuICAgICAgZ3JvdXBCeSgocm93KSA9PiByb3dbZ3JvdXBSb3dzQnldKSxcbiAgICAgIGZsYXRNYXAoKGdyb3VwKSA9PiBncm91cC5waXBlKFxuICAgICAgICByZWR1Y2UoKGFjYzogVFtdLCBjdXJyOiBUKSA9PiBbLi4uYWNjLCBjdXJyXSwgW10pLFxuICAgICAgKSksXG4gICAgKS5zdWJzY3JpYmUoKHJvdykgPT4gZ3JvdXBlZC5wdXNoKHJvdykpO1xuXG4gICAgcmV0dXJuIGdyb3VwZWQ7XG4gIH1cbn1cbiJdfQ==