UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

36 lines 4.13 kB
import { Pipe, SecurityContext } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import { sanitize } from 'dompurify'; import * as i0 from "@angular/core"; import * as i1 from "@angular/platform-browser"; export class SanitizePipe { constructor(sanitizer) { this.sanitizer = sanitizer; } transform(value, type = 'html') { switch (type) { case 'html': { return this.sanitizer.bypassSecurityTrustHtml(sanitize(value ?? '')); } case 'url': { return this.sanitizer.sanitize(SecurityContext.URL, value ?? ''); } case 'style': { return this.sanitizer.sanitize(SecurityContext.STYLE, value ?? ''); } default: { throw new Error(`Invalid sanitize type specified: ${type}`); } } } static { this.ɵfac = function SanitizePipe_Factory(t) { return new (t || SanitizePipe)(i0.ɵɵdirectiveInject(i1.DomSanitizer, 16)); }; } static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclSanitize", type: SanitizePipe, pure: true, standalone: true }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SanitizePipe, [{ type: Pipe, args: [{ name: 'aclSanitize', standalone: true, }] }], () => [{ type: i1.DomSanitizer }], null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL3Nhbml0aXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFNckMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBNkIsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFHLENBQUM7SUFFeEQsU0FBUyxDQUNQLEtBQWEsRUFDYixPQUFpQyxNQUFNO1FBRXZDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RSxDQUFDO1lBQ0QsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbkUsQ0FBQztZQUNELEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLElBQUksRUFBRSxDQUFDLENBQUM7WUFDOUQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzZFQXJCVSxZQUFZO3FGQUFaLFlBQVk7O2lGQUFaLFlBQVk7Y0FKeEIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxhQUFhO2dCQUNuQixVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIFNlY3VyaXR5Q29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgc2FuaXRpemUgfSBmcm9tICdkb21wdXJpZnknO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhY2xTYW5pdGl6ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNhbml0aXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIHR5cGU6ICdodG1sJyB8ICd1cmwnIHwgJ3N0eWxlJyA9ICdodG1sJyxcbiAgKTogU2FmZUh0bWwgfCBzdHJpbmcgfCBudWxsIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2h0bWwnOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChzYW5pdGl6ZSh2YWx1ZSA/PyAnJykpO1xuICAgICAgfVxuICAgICAgY2FzZSAndXJsJzoge1xuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlVSTCwgdmFsdWUgPz8gJycpO1xuICAgICAgfVxuICAgICAgY2FzZSAnc3R5bGUnOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuU1RZTEUsIHZhbHVlID8/ICcnKTtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNhbml0aXplIHR5cGUgc3BlY2lmaWVkOiAke3R5cGV9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=