@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
41 lines (40 loc) • 3.14 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Pipe } from '@angular/core';
import * as nh from '../native-helper';
/**
* Pipe allowing to concat items
* items : items to concat
* separator : a separator
* property : sub item property (if needed)
*/
export class AsiConcatPipe {
/**
* @param {?} items
* @param {?} separator
* @param {?=} property
* @return {?}
*/
transform(items, separator, property) {
if (nh.isEmpty(items)) {
return '';
}
if (property != null) {
/** @type {?} */
let itemsProperties = nh.map(items, (item) => {
return item[property];
});
return nh.join(itemsProperties, separator);
}
return nh.join(items, separator);
}
}
AsiConcatPipe.decorators = [
{ type: Pipe, args: [{
name: 'asiConcat',
pure: false
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLWNvbmNhdC5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFzaS1uZ3Rvb2xzL2xpYi8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9hc2ktY29uY2F0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFZdkMsTUFBTTs7Ozs7OztJQUVKLFNBQVMsQ0FBQyxLQUFpQixFQUFFLFNBQWlCLEVBQUUsUUFBaUI7UUFDL0QsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsTUFBTSxDQUFDLEVBQUUsQ0FBQztTQUNYO1FBQ0QsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7O1lBQ3JCLElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdkIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ2xDOzs7WUFqQkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsS0FBSzthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBuaCBmcm9tICcuLi9uYXRpdmUtaGVscGVyJztcclxuXHJcbi8qKlxyXG4gKiBQaXBlIGFsbG93aW5nIHRvIGNvbmNhdCBpdGVtc1xyXG4gKiBpdGVtcyA6IGl0ZW1zIHRvIGNvbmNhdFxyXG4gKiBzZXBhcmF0b3IgOiBhIHNlcGFyYXRvclxyXG4gKiBwcm9wZXJ0eSA6IHN1YiBpdGVtIHByb3BlcnR5IChpZiBuZWVkZWQpXHJcbiAqL1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2FzaUNvbmNhdCcsXHJcbiAgcHVyZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEFzaUNvbmNhdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKGl0ZW1zOiBBcnJheTxhbnk+LCBzZXBhcmF0b3I6IHN0cmluZywgcHJvcGVydHk/OiBzdHJpbmcpIHtcclxuICAgIGlmIChuaC5pc0VtcHR5KGl0ZW1zKSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcGVydHkgIT0gbnVsbCkge1xyXG4gICAgICBsZXQgaXRlbXNQcm9wZXJ0aWVzID0gbmgubWFwKGl0ZW1zLCAoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBpdGVtW3Byb3BlcnR5XTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBuaC5qb2luKGl0ZW1zUHJvcGVydGllcywgc2VwYXJhdG9yKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuaC5qb2luKGl0ZW1zLCBzZXBhcmF0b3IpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19