@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
JavaScript
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