@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
32 lines • 3.34 kB
JavaScript
import { Pipe } from '@angular/core';
import { upperFirst } from 'lodash-es';
import * as i0 from "@angular/core";
/*
* Humanize any string
* Usage:
* 'something' | humanize
*/
export class HumanizePipe {
static humanize(str = '') {
str = str
.replace(/\./g, ' ')
.replace(/c8y[\s,_]*/gi, '')
.replace(/_/g, ' ')
.replace(/([A-Z][a-z])/g, ' $1')
.replace(/^\$\.?/, '')
.replace(/^\s*/, '')
.replace(/\s*$/, '')
.replace(/\s+/g, ' ');
return upperFirst(str);
}
transform(str) {
return HumanizePipe.humanize(str);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HumanizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: HumanizePipe, isStandalone: true, name: "humanize" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HumanizePipe, decorators: [{
type: Pipe,
args: [{ name: 'humanize', standalone: true }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW5pemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL2h1bWFuaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFdkM7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLEVBQUU7UUFDdEIsR0FBRyxHQUFHLEdBQUc7YUFDTixPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQzthQUNuQixPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQzthQUMzQixPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQzthQUNsQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQzthQUMvQixPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQzthQUNyQixPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQzthQUNuQixPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQzthQUNuQixPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXhCLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBVztRQUNuQixPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0FqQlUsWUFBWTs2R0FBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXBwZXJGaXJzdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8qXG4gKiBIdW1hbml6ZSBhbnkgc3RyaW5nXG4gKiBVc2FnZTpcbiAqICAgJ3NvbWV0aGluZycgfCBodW1hbml6ZVxuICovXG5AUGlwZSh7IG5hbWU6ICdodW1hbml6ZScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBIdW1hbml6ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgc3RhdGljIGh1bWFuaXplKHN0ciA9ICcnKTogc3RyaW5nIHtcbiAgICBzdHIgPSBzdHJcbiAgICAgIC5yZXBsYWNlKC9cXC4vZywgJyAnKVxuICAgICAgLnJlcGxhY2UoL2M4eVtcXHMsX10qL2dpLCAnJylcbiAgICAgIC5yZXBsYWNlKC9fL2csICcgJylcbiAgICAgIC5yZXBsYWNlKC8oW0EtWl1bYS16XSkvZywgJyAkMScpXG4gICAgICAucmVwbGFjZSgvXlxcJFxcLj8vLCAnJylcbiAgICAgIC5yZXBsYWNlKC9eXFxzKi8sICcnKVxuICAgICAgLnJlcGxhY2UoL1xccyokLywgJycpXG4gICAgICAucmVwbGFjZSgvXFxzKy9nLCAnICcpO1xuXG4gICAgcmV0dXJuIHVwcGVyRmlyc3Qoc3RyKTtcbiAgfVxuXG4gIHRyYW5zZm9ybShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEh1bWFuaXplUGlwZS5odW1hbml6ZShzdHIpO1xuICB9XG59XG4iXX0=