@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
63 lines (62 loc) • 4.63 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { TranslateService } from '@ngx-translate/core';
import { Pipe } from '@angular/core';
import * as nh from '../native-helper';
/**
* Pipe allowing to concat items
* items : items to concat
* separator : a separator
* base : translate base value
* property : sub item property (if needed)
*/
export class AsiConcatTranslatePipe {
/**
* @param {?} translate
*/
constructor(translate) {
this.translate = translate;
}
/**
* @param {?} items
* @param {?} separator
* @param {?=} base
* @param {?=} property
* @return {?}
*/
transform(items, separator, base, property) {
if (nh.isEmpty(items)) {
return '';
}
/** @type {?} */
let itemsTranslate;
if (property != null) {
itemsTranslate = nh.map(items, (item) => {
return this.translate.instant(base + item[property]);
});
}
else {
itemsTranslate = nh.map(items, (item) => {
return this.translate.instant(base + item);
});
}
return nh.join(itemsTranslate, separator);
}
}
AsiConcatTranslatePipe.decorators = [
{ type: Pipe, args: [{
name: 'asiConcatTranslate',
pure: false
},] }
];
/** @nocollapse */
AsiConcatTranslatePipe.ctorParameters = () => [
{ type: TranslateService }
];
if (false) {
/** @type {?} */
AsiConcatTranslatePipe.prototype.translate;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLWNvbmNhdC10cmFuc2xhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhc2ktbmd0b29scy9saWIvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvYXNpLWNvbmNhdC10cmFuc2xhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFhdkMsTUFBTTs7OztJQUVKLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0tBQzlDOzs7Ozs7OztJQUVELFNBQVMsQ0FBQyxLQUFpQixFQUFFLFNBQWlCLEVBQUUsSUFBYSxFQUFFLFFBQWlCO1FBQzlFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxFQUFFLENBQUM7U0FDWDs7UUFDRCxJQUFJLGNBQWMsQ0FBQztRQUNuQixFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNyQixjQUFjLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUN0RCxDQUFDLENBQUM7U0FDSjtRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sY0FBYyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDNUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUM7S0FDM0M7OztZQXhCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLG9CQUFvQjtnQkFDMUIsSUFBSSxFQUFFLEtBQUs7YUFDWjs7OztZQWRRLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBuaCBmcm9tICcuLi9uYXRpdmUtaGVscGVyJztcclxuXHJcbiAvKipcclxuICogUGlwZSBhbGxvd2luZyB0byBjb25jYXQgaXRlbXNcclxuICogaXRlbXMgOiBpdGVtcyB0byBjb25jYXRcclxuICogc2VwYXJhdG9yIDogYSBzZXBhcmF0b3JcclxuICogYmFzZSA6IHRyYW5zbGF0ZSBiYXNlIHZhbHVlXHJcbiAqIHByb3BlcnR5IDogc3ViIGl0ZW0gcHJvcGVydHkgKGlmIG5lZWRlZClcclxuICovXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnYXNpQ29uY2F0VHJhbnNsYXRlJyxcclxuICBwdXJlOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNpQ29uY2F0VHJhbnNsYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKGl0ZW1zOiBBcnJheTxhbnk+LCBzZXBhcmF0b3I6IHN0cmluZywgYmFzZT86IHN0cmluZywgcHJvcGVydHk/OiBzdHJpbmcpIHtcclxuICAgIGlmIChuaC5pc0VtcHR5KGl0ZW1zKSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBsZXQgaXRlbXNUcmFuc2xhdGU7XHJcbiAgICBpZiAocHJvcGVydHkgIT0gbnVsbCkge1xyXG4gICAgICBpdGVtc1RyYW5zbGF0ZSA9IG5oLm1hcChpdGVtcywgKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChiYXNlICsgaXRlbVtwcm9wZXJ0eV0pO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGl0ZW1zVHJhbnNsYXRlID0gbmgubWFwKGl0ZW1zLCAoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGJhc2UgKyBpdGVtKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmguam9pbihpdGVtc1RyYW5zbGF0ZSwgc2VwYXJhdG9yKTtcclxuICB9XHJcbn1cclxuIl19