UNPKG

@pepperi/lib

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.1.

158 lines 16.4 kB
import { Pipe } from "@angular/core"; import * as i0 from "@angular/core"; import * as i1 from "@angular/platform-browser"; export class CapitalizePipe { transform(value) { if (value) { return value.charAt(0).toUpperCase() + value.slice(1); } return value; } } CapitalizePipe.ɵfac = function CapitalizePipe_Factory(t) { return new (t || CapitalizePipe)(); }; CapitalizePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "capitalize", type: CapitalizePipe, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CapitalizePipe, [{ type: Pipe, args: [{ name: 'capitalize' }] }], null, null); })(); export class EncodePipe { transform(value) { if (value) { const v = btoa(value); return v; } return value; } } EncodePipe.ɵfac = function EncodePipe_Factory(t) { return new (t || EncodePipe)(); }; EncodePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "encodePipe", type: EncodePipe, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(EncodePipe, [{ type: Pipe, args: [{ name: 'encodePipe' }] }], null, null); })(); export class EscapePipe { transform(value) { if (value) { const v = escape(value); return v; } return value; } } EscapePipe.ɵfac = function EscapePipe_Factory(t) { return new (t || EscapePipe)(); }; EscapePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "escapePipe", type: EscapePipe, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(EscapePipe, [{ type: Pipe, args: [{ name: 'escapePipe' }] }], null, null); })(); export class ReplaceLineBreaks { transform(value) { const newValue = value.replace(/(<br\ ?\/?>)/g, ' '); return newValue; } } ReplaceLineBreaks.ɵfac = function ReplaceLineBreaks_Factory(t) { return new (t || ReplaceLineBreaks)(); }; ReplaceLineBreaks.ɵpipe = i0.ɵɵdefinePipe({ name: "replaceLineBreaks", type: ReplaceLineBreaks, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(ReplaceLineBreaks, [{ type: Pipe, args: [{ name: 'replaceLineBreaks' }] }], null, null); })(); export class DateFormatter { transform(value, culture, showTime = false) { let res = ''; value = new Date(value); if (value) { res = value.toLocaleDateString(culture || 'en-US'); if (showTime) { res += ' ' + value.toLocaleTimeString((culture || 'en-US'), { hour: '2-digit', minute: '2-digit' }); } } return res; } } DateFormatter.ɵfac = function DateFormatter_Factory(t) { return new (t || DateFormatter)(); }; DateFormatter.ɵpipe = i0.ɵɵdefinePipe({ name: "dateFormatter", type: DateFormatter, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(DateFormatter, [{ type: Pipe, args: [{ name: 'dateFormatter' }] }], null, null); })(); export class DateStringFormatter { transform(value, culture, showTime = false) { let res = ''; const tmpDate = new Date(value); if (value) { res = tmpDate.toLocaleDateString(culture || 'en-US'); if (showTime) { res += ' ' + tmpDate.toLocaleTimeString(culture || 'en-US'); } } return res; } } DateStringFormatter.ɵfac = function DateStringFormatter_Factory(t) { return new (t || DateStringFormatter)(); }; DateStringFormatter.ɵpipe = i0.ɵɵdefinePipe({ name: "dateStringFormatter", type: DateStringFormatter, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(DateStringFormatter, [{ type: Pipe, args: [{ name: 'dateStringFormatter' }] }], null, null); })(); export class SafeHtmlPipe { constructor(sanitizer) { this.sanitizer = sanitizer; } transform(html) { return this.sanitizer.bypassSecurityTrustHtml(html); } } SafeHtmlPipe.ɵfac = function SafeHtmlPipe_Factory(t) { return new (t || SafeHtmlPipe)(i0.ɵɵdirectiveInject(i1.DomSanitizer)); }; SafeHtmlPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "safeHtml", type: SafeHtmlPipe, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SafeHtmlPipe, [{ type: Pipe, args: [{ name: 'safeHtml' }] }], function () { return [{ type: i1.DomSanitizer }]; }, null); })(); export class SafePipe { constructor(sanitizer) { this.sanitizer = sanitizer; } transform(value, type) { switch (type) { case 'html': return this.sanitizer.bypassSecurityTrustHtml(value); case 'style': return this.sanitizer.bypassSecurityTrustStyle(value); case 'script': return this.sanitizer.bypassSecurityTrustScript(value); case 'url': return this.sanitizer.bypassSecurityTrustUrl(value); case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value); default: throw new Error(`Invalid safe type specified: ${type}`); } } } SafePipe.ɵfac = function SafePipe_Factory(t) { return new (t || SafePipe)(i0.ɵɵdirectiveInject(i1.DomSanitizer)); }; SafePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "safe", type: SafePipe, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SafePipe, [{ type: Pipe, args: [{ name: 'safe' }] }], function () { return [{ type: i1.DomSanitizer }]; }, null); })(); export class SplitUppercase { transform(value) { const newValue = value.replace(/([a-z])([A-Z])/g, '$1 $2'); return newValue; } } SplitUppercase.ɵfac = function SplitUppercase_Factory(t) { return new (t || SplitUppercase)(); }; SplitUppercase.ɵpipe = i0.ɵɵdefinePipe({ name: "splitUppercase", type: SplitUppercase, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SplitUppercase, [{ type: Pipe, args: [{ name: 'splitUppercase' }] }], null, null); })(); export class ToNumber { transform(value) { return parseInt(value); } } ToNumber.ɵfac = function ToNumber_Factory(t) { return new (t || ToNumber)(); }; ToNumber.ɵpipe = i0.ɵɵdefinePipe({ name: "toNumber", type: ToNumber, pure: true }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(ToNumber, [{ type: Pipe, args: [{ name: 'toNumber' }] }], null, null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGVwcGVyaS1saWIvc3JjL2NvcmUvY29tbW9uL3BpcGVzL2NvbW1vbi1waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7O0FBSWxELE1BQU0sT0FBTyxjQUFjO0lBRXZCLFNBQVMsQ0FBQyxLQUFVO1FBQ2hCLElBQUksS0FBSyxFQUFFO1lBQ1AsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs0RUFQUSxjQUFjO21FQUFkLGNBQWM7a0RBQWQsY0FBYztjQUQxQixJQUFJO2VBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFOztBQWE1QixNQUFNLE9BQU8sVUFBVTtJQUVuQixTQUFTLENBQUMsS0FBVTtRQUNoQixJQUFJLEtBQUssRUFBRTtZQUNQLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixPQUFPLENBQUMsQ0FBQztTQUNaO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7b0VBUlEsVUFBVTsrREFBVixVQUFVO2tEQUFWLFVBQVU7Y0FEdEIsSUFBSTtlQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRTs7QUFlNUIsTUFBTSxPQUFPLFVBQVU7SUFFbkIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxLQUFLLEVBQUU7WUFDUCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7O29FQVJRLFVBQVU7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SUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV0RSxLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVoRSxLQUFLLGFBQWEsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVoRixPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBRXBFO0lBQ0wsQ0FBQzs7Z0VBbEJRLFFBQVE7dURBQVIsUUFBUTtrREFBUixRQUFRO2NBSHBCLElBQUk7ZUFBQztnQkFDRixJQUFJLEVBQUUsTUFBTTthQUNmOztBQXVCRCxNQUFNLE9BQU8sY0FBYztJQUN2QixTQUFTLENBQUMsS0FBYTtRQUNuQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7OzRFQUpRLGNBQWM7dUVBQWQsY0FBYztrREFBZCxjQUFjO2NBRDFCLElBQUk7ZUFBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTs7QUFTaEMsTUFBTSxPQUFPLFFBQVE7SUFDakIsU0FBUyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7Z0VBSFEsUUFBUTsyREFBUixRQUFRO2tEQUFSLFFBQVE7Y0FEcEIsSUFBSTtlQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCwgU2FmZVN0eWxlLCBTYWZlU2NyaXB0LCBTYWZlVXJsLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ2NhcGl0YWxpemUnIH0pXHJcbmV4cG9ydCBjbGFzcyBDYXBpdGFsaXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbHVlLnNsaWNlKDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdlbmNvZGVQaXBlJyB9KVxyXG5leHBvcnQgY2xhc3MgRW5jb2RlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHYgPSBidG9hKHZhbHVlKTtcclxuICAgICAgICAgICAgcmV0dXJuIHY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxufVxyXG5cclxuZGVjbGFyZSBmdW5jdGlvbiBlc2NhcGUoczogc3RyaW5nKTogc3RyaW5nO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnZXNjYXBlUGlwZScgfSlcclxuZXhwb3J0IGNsYXNzIEVzY2FwZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBjb25zdCB2ID0gZXNjYXBlKHZhbHVlKTtcclxuICAgICAgICAgICAgcmV0dXJuIHY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxufVxyXG5cclxuQFBpcGUoeyBuYW1lOiAncmVwbGFjZUxpbmVCcmVha3MnIH0pXHJcbmV4cG9ydCBjbGFzcyBSZXBsYWNlTGluZUJyZWFrcyBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdmFsdWUucmVwbGFjZSgvKDxiclxcID9cXC8/PikvZywgJyAnKTtcclxuICAgICAgICByZXR1cm4gbmV3VmFsdWU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBQaXBlKHsgbmFtZTogJ2RhdGVGb3JtYXR0ZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlRm9ybWF0dGVyIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IERhdGUsIGN1bHR1cmU6IGFueSwgc2hvd1RpbWU6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHJlcyA9ICcnO1xyXG4gICAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXMgPSB2YWx1ZS50b0xvY2FsZURhdGVTdHJpbmcoY3VsdHVyZSB8fCAnZW4tVVMnKTtcclxuICAgICAgICAgICAgaWYgKHNob3dUaW1lKSB7XHJcbiAgICAgICAgICAgICAgICByZXMgKz0gJyAnICsgdmFsdWUudG9Mb2NhbGVUaW1lU3RyaW5nKChjdWx0dXJlIHx8ICdlbi1VUycpLCB7IGhvdXI6ICcyLWRpZ2l0JywgbWludXRlOiAnMi1kaWdpdCcgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlcztcclxuICAgIH1cclxufVxyXG5cclxuQFBpcGUoeyBuYW1lOiAnZGF0ZVN0cmluZ0Zvcm1hdHRlcicgfSlcclxuZXhwb3J0IGNsYXNzIERhdGVTdHJpbmdGb3JtYXR0ZXIgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBjdWx0dXJlOiBhbnksIHNob3dUaW1lOiBib29sZWFuID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCByZXMgPSAnJztcclxuICAgICAgICBjb25zdCB0bXBEYXRlID0gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXMgPSB0bXBEYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhjdWx0dXJlIHx8ICdlbi1VUycpO1xyXG4gICAgICAgICAgICBpZiAoc2hvd1RpbWUpIHtcclxuICAgICAgICAgICAgICAgIHJlcyArPSAnICcgKyB0bXBEYXRlLnRvTG9jYWxlVGltZVN0cmluZyhjdWx0dXJlIHx8ICdlbi1VUycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBQaXBlKHsgbmFtZTogJ3NhZmVIdG1sJyB9KVxyXG5leHBvcnQgY2xhc3MgU2FmZUh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cclxuXHJcbiAgICB0cmFuc2Zvcm0oaHRtbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sKTtcclxuICAgIH1cclxufVxyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ3NhZmUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHR5cGU6IHN0cmluZyk6IFNhZmVIdG1sIHwgU2FmZVN0eWxlIHwgU2FmZVNjcmlwdCB8IFNhZmVVcmwgfCBTYWZlUmVzb3VyY2VVcmwge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICdodG1sJzogcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIGNhc2UgJ3N0eWxlJzogcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZSh2YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBjYXNlICdzY3JpcHQnOiByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFNjcmlwdCh2YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBjYXNlICd1cmwnOiByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh2YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBjYXNlICdyZXNvdXJjZVVybCc6IHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodmFsdWUpO1xyXG5cclxuICAgICAgICAgICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNhZmUgdHlwZSBzcGVjaWZpZWQ6ICR7dHlwZX1gKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdzcGxpdFVwcGVyY2FzZScgfSlcclxuZXhwb3J0IGNsYXNzIFNwbGl0VXBwZXJjYXNlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCAnJDEgJDInKTtcclxuICAgICAgICByZXR1cm4gbmV3VmFsdWU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBQaXBlKHsgbmFtZTogJ3RvTnVtYmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgVG9OdW1iZXIgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUpO1xyXG4gICAgfVxyXG59Il19