UNPKG

@spartacus/storefront

Version:

Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.

30 lines 3.43 kB
import { Pipe } from '@angular/core'; import * as i0 from "@angular/core"; const defaultLimit = 20; export class TruncatePipe { /** * example usage {{ exampleString | cxTruncate: [1, ''] }} */ transform(value, args) { if (!args) { return value; } let trail = '...'; const limit = args.length > 0 && args[0] && Number.isInteger(+args[0]) ? args[0] : defaultLimit; if (args.length > 1 && args[1] !== undefined) { trail = args[1]; } return value.length > limit ? value.substring(0, limit) + trail : value; } } TruncatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); TruncatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: TruncatePipe, name: "cxTruncate" }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: TruncatePipe, decorators: [{ type: Pipe, args: [{ name: 'cxTruncate', }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvc2hhcmVkL2NvbXBvbmVudHMvdHJ1bmNhdGUtdGV4dC1wb3BvdmVyL3RydW5jYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBELE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUt4QixNQUFNLE9BQU8sWUFBWTtJQUN2Qjs7T0FFRztJQUNILFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBd0I7UUFDL0MsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbEIsTUFBTSxLQUFLLEdBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDVCxDQUFDLENBQUMsWUFBWSxDQUFDO1FBRW5CLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUM1QyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUUsQ0FBQzs7eUdBckJVLFlBQVk7dUdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgZGVmYXVsdExpbWl0ID0gMjA7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2N4VHJ1bmNhdGUnLFxufSlcbmV4cG9ydCBjbGFzcyBUcnVuY2F0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLyoqXG4gICAqIGV4YW1wbGUgdXNhZ2Uge3sgZXhhbXBsZVN0cmluZyB8IGN4VHJ1bmNhdGU6IFsxLCAnJ10gfX1cbiAgICovXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBhcmdzPzogW251bWJlciwgc3RyaW5nP10pOiBzdHJpbmcge1xuICAgIGlmICghYXJncykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGxldCB0cmFpbCA9ICcuLi4nO1xuXG4gICAgY29uc3QgbGltaXQgPVxuICAgICAgYXJncy5sZW5ndGggPiAwICYmIGFyZ3NbMF0gJiYgTnVtYmVyLmlzSW50ZWdlcigrYXJnc1swXSlcbiAgICAgICAgPyBhcmdzWzBdXG4gICAgICAgIDogZGVmYXVsdExpbWl0O1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID4gMSAmJiBhcmdzWzFdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRyYWlsID0gYXJnc1sxXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gbGltaXQgPyB2YWx1ZS5zdWJzdHJpbmcoMCwgbGltaXQpICsgdHJhaWwgOiB2YWx1ZTtcbiAgfVxufVxuIl19