ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
34 lines • 3.54 kB
JavaScript
/**
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { Pipe } from '@angular/core';
import { sum } from 'ng-zorro-antd/core/util';
export class NzAggregatePipe {
transform(value, method) {
if (!Array.isArray(value)) {
return value;
}
if (value.length === 0) {
return undefined;
}
switch (method) {
case 'sum':
return sum(value);
case 'avg':
return sum(value) / value.length;
case 'max':
return Math.max(...value);
case 'min':
return Math.min(...value);
default:
throw Error(`Invalid Pipe Arguments: Aggregate pipe doesn't support this type`);
}
}
}
NzAggregatePipe.decorators = [
{ type: Pipe, args: [{
name: 'nzAggregate'
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotYWdncmVnYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL3BpcGVzL256LWFnZ3JlZ2F0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU85QyxNQUFNLE9BQU8sZUFBZTtJQUMxQixTQUFTLENBQUMsS0FBZSxFQUFFLE1BQXVCO1FBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsUUFBUSxNQUFNLEVBQUU7WUFDZCxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEIsS0FBSyxLQUFLO2dCQUNSLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDbkMsS0FBSyxLQUFLO2dCQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUM1QjtnQkFDRSxNQUFNLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1NBQ25GO0lBQ0gsQ0FBQzs7O1lBekJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsYUFBYTthQUNwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgc3VtIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3V0aWwnO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGVNZXRob2QgPSAnc3VtJyB8ICdtYXgnIHwgJ21pbicgfCAnYXZnJztcblxuQFBpcGUoe1xuICBuYW1lOiAnbnpBZ2dyZWdhdGUnXG59KVxuZXhwb3J0IGNsYXNzIE56QWdncmVnYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlcltdLCBtZXRob2Q6IEFnZ3JlZ2F0ZU1ldGhvZCk6IHVuZGVmaW5lZCB8IG51bWJlciB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgIGNhc2UgJ3N1bSc6XG4gICAgICAgIHJldHVybiBzdW0odmFsdWUpO1xuICAgICAgY2FzZSAnYXZnJzpcbiAgICAgICAgcmV0dXJuIHN1bSh2YWx1ZSkgLyB2YWx1ZS5sZW5ndGg7XG4gICAgICBjYXNlICdtYXgnOlxuICAgICAgICByZXR1cm4gTWF0aC5tYXgoLi4udmFsdWUpO1xuICAgICAgY2FzZSAnbWluJzpcbiAgICAgICAgcmV0dXJuIE1hdGgubWluKC4uLnZhbHVlKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIFBpcGUgQXJndW1lbnRzOiBBZ2dyZWdhdGUgcGlwZSBkb2Vzbid0IHN1cHBvcnQgdGhpcyB0eXBlYCk7XG4gICAgfVxuICB9XG59XG4iXX0=