UNPKG

angular-pipes

Version:
49 lines 4.79 kB
// Inspired from https://github.com/a8m/angular-filter/blob/master/src/_filter/string/truncate.js import * as tslib_1 from "tslib"; import { Pipe, NgModule } from '@angular/core'; import { isString, isUndefined } from '../utils/utils'; var TruncatePipe = /** @class */ (function () { function TruncatePipe() { } TruncatePipe.prototype.transform = function (input, length, suffix, preserve) { if (!isString(input)) { return input; } length = isUndefined(length) ? input.length : length; if (input.length <= length) { return input; } preserve = preserve || false; suffix = suffix || ''; var index = length; if (preserve) { if (input.indexOf(' ', length) === -1) { index = input.length; } else { index = input.indexOf(' ', length); } } return input.substring(0, index) + suffix; }; TruncatePipe = tslib_1.__decorate([ Pipe({ name: 'truncate', }) ], TruncatePipe); return TruncatePipe; }()); export { TruncatePipe }; var NgTruncatePipeModule = /** @class */ (function () { function NgTruncatePipeModule() { } NgTruncatePipeModule = tslib_1.__decorate([ NgModule({ declarations: [TruncatePipe], exports: [TruncatePipe], }) ], NgTruncatePipeModule); return NgTruncatePipeModule; }()); export { NgTruncatePipeModule }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGlwZXMvIiwic291cmNlcyI6WyJzdHJpbmcvdHJ1bmNhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpR0FBaUc7O0FBRWpHLE9BQU8sRUFBRSxJQUFJLEVBQWlCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3ZEO0lBQUE7SUEwQkEsQ0FBQztJQXpCQyxnQ0FBUyxHQUFULFVBQVUsS0FBVSxFQUFFLE1BQWUsRUFBRSxNQUFlLEVBQUUsUUFBa0I7UUFDeEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRXJELElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxNQUFNLEVBQUU7WUFDMUIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELFFBQVEsR0FBRyxRQUFRLElBQUksS0FBSyxDQUFDO1FBQzdCLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUVuQixJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNwQztTQUNGO1FBRUQsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDNUMsQ0FBQztJQXpCVSxZQUFZO1FBSHhCLElBQUksQ0FBQztZQUNKLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUM7T0FDVyxZQUFZLENBMEJ4QjtJQUFELG1CQUFDO0NBQUEsQUExQkQsSUEwQkM7U0ExQlksWUFBWTtBQWdDekI7SUFBQTtJQUFtQyxDQUFDO0lBQXZCLG9CQUFvQjtRQUpoQyxRQUFRLENBQUM7WUFDUixZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7WUFDNUIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO1NBQ3hCLENBQUM7T0FDVyxvQkFBb0IsQ0FBRztJQUFELDJCQUFDO0NBQUEsQUFBcEMsSUFBb0M7U0FBdkIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSW5zcGlyZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYThtL2FuZ3VsYXItZmlsdGVyL2Jsb2IvbWFzdGVyL3NyYy9fZmlsdGVyL3N0cmluZy90cnVuY2F0ZS5qc1xyXG5cclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNTdHJpbmcsIGlzVW5kZWZpbmVkIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICd0cnVuY2F0ZScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVuY2F0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oaW5wdXQ6IGFueSwgbGVuZ3RoPzogbnVtYmVyLCBzdWZmaXg/OiBzdHJpbmcsIHByZXNlcnZlPzogYm9vbGVhbik6IGFueSB7XHJcbiAgICBpZiAoIWlzU3RyaW5nKGlucHV0KSkge1xyXG4gICAgICByZXR1cm4gaW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGVuZ3RoID0gaXNVbmRlZmluZWQobGVuZ3RoKSA/IGlucHV0Lmxlbmd0aCA6IGxlbmd0aDtcclxuXHJcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IGxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gaW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJlc2VydmUgPSBwcmVzZXJ2ZSB8fCBmYWxzZTtcclxuICAgIHN1ZmZpeCA9IHN1ZmZpeCB8fCAnJztcclxuICAgIGxldCBpbmRleCA9IGxlbmd0aDtcclxuXHJcbiAgICBpZiAocHJlc2VydmUpIHtcclxuICAgICAgaWYgKGlucHV0LmluZGV4T2YoJyAnLCBsZW5ndGgpID09PSAtMSkge1xyXG4gICAgICAgIGluZGV4ID0gaW5wdXQubGVuZ3RoO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGluZGV4ID0gaW5wdXQuaW5kZXhPZignICcsIGxlbmd0aCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaW5wdXQuc3Vic3RyaW5nKDAsIGluZGV4KSArIHN1ZmZpeDtcclxuICB9XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVHJ1bmNhdGVQaXBlXSxcclxuICBleHBvcnRzOiBbVHJ1bmNhdGVQaXBlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVHJ1bmNhdGVQaXBlTW9kdWxlIHt9XHJcbiJdfQ==